Re: [PATCH 10/10] drivers: misc: use module_platform_driver_probe()
From: Fabio Porcedda <hidden>
Date: 2013-03-15 11:19:17
Also in:
linux-arm-kernel, linux-fbdev, linux-ide, linux-media, lkml
On Thu, Mar 14, 2013 at 3:06 PM, Sascha Hauer [off-list ref] wrote:
On Thu, Mar 14, 2013 at 01:58:05PM +0000, Arnd Bergmann wrote:quoted
On Thursday 14 March 2013, Fabio Porcedda wrote:quoted
This patch converts the drivers to use the module_platform_driver_probe() macro which makes the code smaller and a bit simpler. Signed-off-by: Fabio Porcedda <redacted> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Arnd Bergmann <arnd@arndb.de> --- drivers/misc/atmel_pwm.c | 12 +----------- drivers/misc/ep93xx_pwm.c | 13 +------------ 2 files changed, 2 insertions(+), 23 deletions(-)The patch itself seems fine, but there are two issues around it: * The PWM drivers should really get moved to drivers/pwm and converted to the new PWM subsystem. I don't know if Hartley or Hans-Christian have plans to do that already. * Regarding the use of module_platform_driver_probe, I'm a little worried about the interactions with deferred probing. I don't think there are any regressions, but we should probably make people aware that one cannot return -EPROBE_DEFER from a platform_driver_probe function.
The use of module_platform_driver_probe() doesn't change anything about that, it's exactly the same thing as using "return platform_driver_probe()". I'm right or I'm missing something? Maybe are you just speaking about the misuse of "platform_driver_probe"? Best regards Fabio Porcedda
I'm worried about this aswell. I think platform_driver_probe shouldn't be used anymore. Even if a driver does not explicitly make use of -EPROBE_DEFER, it leaks in very quickly if a driver for example uses a regulator and just returns the error value from regulator_get.
Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |