[PATCH 00/51] video: fbdev: Convert to platform remove callback returning void

Helge Deller deller at gmx.de
Sun Mar 19 18:04:54 UTC 2023


Hello Uwe,

On 3/19/23 00:53, Uwe Kleine-König wrote:
> this series adapts the platform drivers below drivers/video/fbdev to use the
> .remove_new() callback. Compared to the traditional .remove() callback
> .remove_new() returns no value. This is a good thing because the driver core
> doesn't (and cannot) cope for errors during remove. The only effect of a
> non-zero return value in .remove() is that the driver core emits a warning. The
> device is removed anyhow and an early return from .remove() usually yields a
> resource leak.
>
> By changing the remove callback to return void driver authors cannot
> reasonably assume any more that there is some kind of cleanup later.
>
> The first patch simplifies the remove callback of one driver to obviously
> always return zero. After that all drivers are converted trivially to
> .remove_new().

Thanks for that patch series. It's a nice cleanup.
I've applied it to the fbdev "for-next" git tree for now to get some compile testing.
I hope that's ok for you.

Regarding the new "remove_new" struct member I'd prefer a better name but don't
have any idea yet...

Helge

>
> Best regards
> Uwe
>
> Uwe Kleine-König (51):
>    video: fbdev: au1100fb: Drop if with an always false condition
>    video: fbdev: arcfb: Convert to platform remove callback returning
>      void
>    video: fbdev: au1100fb: Convert to platform remove callback returning
>      void
>    video: fbdev: au1200fb: Convert to platform remove callback returning
>      void
>    video: fbdev: broadsheetfb: Convert to platform remove callback
>      returning void
>    video: fbdev: bw2: Convert to platform remove callback returning void
>    video: fbdev: cg14: Convert to platform remove callback returning void
>    video: fbdev: cg3: Convert to platform remove callback returning void
>    video: fbdev: cg6: Convert to platform remove callback returning void
>    video: fbdev: clps711x-fb: Convert to platform remove callback
>      returning void
>    video: fbdev: cobalt_lcdfb: Convert to platform remove callback
>      returning void
>    video: fbdev: da8xx-fb: Convert to platform remove callback returning
>      void
>    video: fbdev: efifb: Convert to platform remove callback returning
>      void
>    video: fbdev: ep93xx-fb: Convert to platform remove callback returning
>      void
>    video: fbdev: ffb: Convert to platform remove callback returning void
>    video: fbdev: fsl-diu-fb: Convert to platform remove callback
>      returning void
>    video: fbdev: gbefb: Convert to platform remove callback returning
>      void
>    video: fbdev: goldfishfb: Convert to platform remove callback
>      returning void
>    video: fbdev: grvga: Convert to platform remove callback returning
>      void
>    video: fbdev: hecubafb: Convert to platform remove callback returning
>      void
>    video: fbdev: hgafb: Convert to platform remove callback returning
>      void
>    video: fbdev: hitfb: Convert to platform remove callback returning
>      void
>    video: fbdev: imxfb: Convert to platform remove callback returning
>      void
>    video: fbdev: leo: Convert to platform remove callback returning void
>    video: fbdev: mb862xx: Convert to platform remove callback returning
>      void
>    video: fbdev: metronomefb: Convert to platform remove callback
>      returning void
>    video: fbdev: mx3fb: Convert to platform remove callback returning
>      void
>    video: fbdev: ocfb: Convert to platform remove callback returning void
>    video: fbdev: offb: Convert to platform remove callback returning void
>    video: fbdev: omapfb: Convert to platform remove callback returning
>      void
>    video: fbdev: p9100: Convert to platform remove callback returning
>      void
>    video: fbdev: platinumfb: Convert to platform remove callback
>      returning void
>    video: fbdev: pxa168fb: Convert to platform remove callback returning
>      void
>    video: fbdev: pxa3xx-gcu: Convert to platform remove callback
>      returning void
>    video: fbdev: pxafb: Convert to platform remove callback returning
>      void
>    video: fbdev: s1d13xxxfb: Convert to platform remove callback
>      returning void
>    video: fbdev: s3c-fb: Convert to platform remove callback returning
>      void
>    video: fbdev: sh7760fb: Convert to platform remove callback returning
>      void
>    video: fbdev: sh_mobile_lcdcfb: Convert to platform remove callback
>      returning void
>    video: fbdev: simplefb: Convert to platform remove callback returning
>      void
>    video: fbdev: sm501fb: Convert to platform remove callback returning
>      void
>    video: fbdev: tcx: Convert to platform remove callback returning void
>    video: fbdev: uvesafb: Convert to platform remove callback returning
>      void
>    video: fbdev: vesafb: Convert to platform remove callback returning
>      void
>    video: fbdev: vfb: Convert to platform remove callback returning void
>    video: fbdev: vga16fb: Convert to platform remove callback returning
>      void
>    video: fbdev: via: Convert to platform remove callback returning void
>    video: fbdev: vt8500lcdfb: Convert to platform remove callback
>      returning void
>    video: fbdev: wm8505fb: Convert to platform remove callback returning
>      void
>    video: fbdev: wmt_ge_rops: Convert to platform remove callback
>      returning void
>    video: fbdev: xilinxfb: Convert to platform remove callback returning
>      void
>
>   drivers/video/fbdev/arcfb.c                    |  5 ++---
>   drivers/video/fbdev/au1100fb.c                 | 11 +++--------
>   drivers/video/fbdev/au1200fb.c                 |  6 ++----
>   drivers/video/fbdev/broadsheetfb.c             |  5 ++---
>   drivers/video/fbdev/bw2.c                      |  6 ++----
>   drivers/video/fbdev/cg14.c                     |  6 ++----
>   drivers/video/fbdev/cg3.c                      |  6 ++----
>   drivers/video/fbdev/cg6.c                      |  6 ++----
>   drivers/video/fbdev/clps711x-fb.c              |  6 ++----
>   drivers/video/fbdev/cobalt_lcdfb.c             |  6 ++----
>   drivers/video/fbdev/da8xx-fb.c                 |  6 ++----
>   drivers/video/fbdev/efifb.c                    |  6 ++----
>   drivers/video/fbdev/ep93xx-fb.c                |  6 ++----
>   drivers/video/fbdev/ffb.c                      |  6 ++----
>   drivers/video/fbdev/fsl-diu-fb.c               |  6 ++----
>   drivers/video/fbdev/gbefb.c                    |  6 ++----
>   drivers/video/fbdev/goldfishfb.c               |  5 ++---
>   drivers/video/fbdev/grvga.c                    |  6 ++----
>   drivers/video/fbdev/hecubafb.c                 |  5 ++---
>   drivers/video/fbdev/hgafb.c                    |  6 ++----
>   drivers/video/fbdev/hitfb.c                    |  6 ++----
>   drivers/video/fbdev/imxfb.c                    |  6 ++----
>   drivers/video/fbdev/leo.c                      |  6 ++----
>   drivers/video/fbdev/mb862xx/mb862xxfbdrv.c     |  5 ++---
>   drivers/video/fbdev/metronomefb.c              |  5 ++---
>   drivers/video/fbdev/mx3fb.c                    |  5 ++---
>   drivers/video/fbdev/ocfb.c                     |  6 ++----
>   drivers/video/fbdev/offb.c                     |  8 +++-----
>   drivers/video/fbdev/omap/omapfb_main.c         |  6 ++----
>   drivers/video/fbdev/omap2/omapfb/dss/core.c    |  6 ++----
>   drivers/video/fbdev/omap2/omapfb/dss/dispc.c   |  5 ++---
>   drivers/video/fbdev/omap2/omapfb/dss/dpi.c     |  5 ++---
>   drivers/video/fbdev/omap2/omapfb/dss/dsi.c     |  5 ++---
>   drivers/video/fbdev/omap2/omapfb/dss/dss.c     |  5 ++---
>   drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c   |  5 ++---
>   drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c   |  5 ++---
>   drivers/video/fbdev/omap2/omapfb/dss/sdi.c     |  5 ++---
>   drivers/video/fbdev/omap2/omapfb/dss/venc.c    |  5 ++---
>   drivers/video/fbdev/omap2/omapfb/omapfb-main.c |  6 ++----
>   drivers/video/fbdev/p9100.c                    |  6 ++----
>   drivers/video/fbdev/platinumfb.c               |  6 ++----
>   drivers/video/fbdev/pxa168fb.c                 |  8 +++-----
>   drivers/video/fbdev/pxa3xx-gcu.c               |  6 ++----
>   drivers/video/fbdev/pxafb.c                    |  8 +++-----
>   drivers/video/fbdev/s1d13xxxfb.c               |  5 ++---
>   drivers/video/fbdev/s3c-fb.c                   |  6 ++----
>   drivers/video/fbdev/sh7760fb.c                 |  6 ++----
>   drivers/video/fbdev/sh_mobile_lcdcfb.c         |  5 ++---
>   drivers/video/fbdev/simplefb.c                 |  6 ++----
>   drivers/video/fbdev/sm501fb.c                  |  6 ++----
>   drivers/video/fbdev/tcx.c                      |  6 ++----
>   drivers/video/fbdev/uvesafb.c                  |  6 ++----
>   drivers/video/fbdev/vesafb.c                   |  6 ++----
>   drivers/video/fbdev/vfb.c                      |  5 ++---
>   drivers/video/fbdev/vga16fb.c                  |  6 ++----
>   drivers/video/fbdev/via/via-gpio.c             |  5 ++---
>   drivers/video/fbdev/via/via_i2c.c              |  5 ++---
>   drivers/video/fbdev/vt8500lcdfb.c              |  6 ++----
>   drivers/video/fbdev/wm8505fb.c                 |  6 ++----
>   drivers/video/fbdev/wmt_ge_rops.c              |  5 ++---
>   drivers/video/fbdev/xilinxfb.c                 |  6 ++----
>   61 files changed, 126 insertions(+), 230 deletions(-)
>
> base-commit: fe15c26ee26efa11741a7b632e9f23b01aca4cc6



More information about the dri-devel mailing list