RE: [PATCH 10/10] drivers: misc: use module_platform_driver_probe()
From: H Hartley Sweeten <hidden>
Date: 2013-03-15 17:44:09
Also in:
linux-arm-kernel, linux-fbdev, linux-ide, linux-media, lkml
On Thursday, March 14, 2013 6:58 AM, Arnd Bergmann wrote:
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.
Arnd, Ill look at converting the ep93xx pwm driver to the PWM subsystem. The only issue is the current driver exposes a sysfs interface that I think is not available in that subsystem.
* 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 ep93xx pwm driver does not need to use platform_driver_probe(). It can be changed to use module_platform_driver() by just moving the .probe to the platform_driver. This driver was added before module_platform_driver() was available and I used the platform_driver_probe() thinking it would save a couple lines of code. I'll change this in a bit. Right now I'm trying to work out why kernel 3.8 is not booting on the ep93xx. I had 3.6.6 on my development board and 3.7 works fine but 3.8 hangs without uncompressing the kernel. Regards, Hartley