On Fri, Sep 25, 2015 at 04:29:44PM +0200, Thierry Reding wrote:
On Thu, Sep 24, 2015 at 07:02:36PM +0200, Thierry Reding wrote:
From: Thierry Reding treding@nvidia.com
Some modules register several sub-drivers. Provide a helper that makes it easy to register and unregister a list of sub-drivers, as well as unwind properly on error.
Cc: Greg Kroah-Hartman gregkh@linuxfoundation.org Signed-off-by: Thierry Reding treding@nvidia.com
Documentation/driver-model/platform.txt | 11 ++++++ drivers/base/platform.c | 60 +++++++++++++++++++++++++++++++++ include/linux/platform_device.h | 5 +++ 3 files changed, 76 insertions(+)
Hi Greg,
In addition to patches 2-6 I have about two dozen patches across various subsystems that make use of this. I didn't want to spam everyone with all of them before you've given an indication about what you think about this patch.
The diffstat of the conversions I did is this:
drivers/crypto/n2_core.c | 17 +++++++---------- drivers/edac/mpc85xx_edac.c | 16 ++++++++-------- drivers/edac/mv64x60_edac.c | 39 +++++++++++---------------------------- drivers/gpio/gpio-mpc5200.c | 17 +++++++---------- drivers/gpu/drm/armada/armada_drv.c | 16 +++++++--------- drivers/gpu/drm/exynos/exynos_drm_drv.c | 42 ++++++++---------------------------------- drivers/gpu/drm/omapdrm/omap_drv.c | 24 +++++++----------------- drivers/gpu/host1x/dev.c | 17 +++++++---------- drivers/input/misc/sparcspkr.c | 18 +++++++----------- drivers/iommu/msm_iommu_dev.c | 25 +++++++------------------ drivers/leds/leds-sunfire.c | 23 +++++++---------------- drivers/mfd/sta2x11-mfd.c | 36 ++++++++++-------------------------- drivers/net/ethernet/adi/bfin_mac.c | 14 +++++++------- drivers/net/ethernet/broadcom/bcm63xx_enet.c | 28 ++++++++-------------------- drivers/net/ethernet/freescale/fec_mpc52xx.c | 22 +++++++++------------- drivers/net/ethernet/marvell/mv643xx_eth.c | 19 +++++++------------ drivers/pinctrl/pinctrl-adi2.c | 24 ++++++++---------------- drivers/pinctrl/pinctrl-at91.c | 14 +++++++------- drivers/regulator/lp8788-ldo.c | 16 +++++++--------- drivers/regulator/wm831x-dcdc.c | 31 +++++++++---------------------- drivers/regulator/wm831x-ldo.c | 27 ++++++++------------------- drivers/tty/serial/mpsc.c | 19 ++++++++----------- drivers/usb/gadget/udc/dummy_hcd.c | 17 ++++++++--------- drivers/video/fbdev/s3c2410fb.c | 15 +++++++-------- 24 files changed, 186 insertions(+), 350 deletions(-)
That's not too thrilling but in many cases this fixes a potential bug if a driver fails to register and the code doesn't properly unregister any previously registered drivers.
Anyway, if you think this is worth merging, how would you like to go about it? Do you want Acked-bys on all the patches and merge them through your tree? Perhaps the easiest would be to just merge this patch and then take the other patches through the maintainer trees after the core patch has landed?
The last thing is the easiest, but you have to wait a release cycle for that. Or I can take the whole series if you want to, just cc: the proper subsystem maintainers when you send them. It's up to you.
thanks,
greg k-h