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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux