@@ -1318,23 +1318,17 @@ EXPORT_SYMBOL(fbtft_probe_common);
* @info: Framebuffer
*
* Unregisters and releases the framebuffer
- *
- * Return: 0 if successful, negative if error
*/
-int fbtft_remove_common(struct device *dev, struct fb_info *info)
+void fbtft_remove_common(struct device *dev, struct fb_info *info)
{
struct fbtft_par *par;
- if (!info)
- return -EINVAL;
par = info->par;
if (par)
fbtft_par_dbg(DEBUG_DRIVER_INIT_FUNCTIONS, par,
"%s()\n", __func__);
fbtft_unregister_framebuffer(info);
fbtft_framebuffer_release(info);
-
- return 0;
}
EXPORT_SYMBOL(fbtft_remove_common);
@@ -283,7 +283,8 @@ static int fbtft_driver_remove_spi(struct spi_device *spi) \
{ \
struct fb_info *info = spi_get_drvdata(spi); \
\
- return fbtft_remove_common(&spi->dev, info); \
+ fbtft_remove_common(&spi->dev, info); \
+ return 0; \
} \
\
static int fbtft_driver_probe_pdev(struct platform_device *pdev) \
@@ -295,7 +296,8 @@ static int fbtft_driver_remove_pdev(struct platform_device *pdev) \
{ \
struct fb_info *info = platform_get_drvdata(pdev); \
\
- return fbtft_remove_common(&pdev->dev, info); \
+ fbtft_remove_common(&pdev->dev, info); \
+ return 0; \
} \
\
static const struct of_device_id dt_ids[] = { \
fbtft_remove_common() is only called with a non-NULL fb_info. (All callers are in remove callbacks and the matching probe callbacks set driver data accordingly.) So fbtft_remove_common() always returns zero. Make it return void instead which makes it easier to see in the callers that there is no error to handle. Also the return value of platform and spi remove callbacks is ignored anyway and not freeing resources in .remove() is a bad idea. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> --- drivers/staging/fbtft/fbtft-core.c | 8 +------- drivers/staging/fbtft/fbtft.h | 6 ++++-- 2 files changed, 5 insertions(+), 9 deletions(-)