The driver's init function don't do anything besides registering the platform driver, and the exit function which is not included in the driver should only do driver unregister. Because of this module_platform_driver() macro could just be used instead of having separate functions. Currently the macro is not being used because the driver is initialized at subsys init call level but this isn't necessary since platform devices are defined in the DT as dependencies so there's no need for init calls order. Signed-off-by: Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx> --- drivers/staging/mt7621-gpio/gpio-mt7621.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/staging/mt7621-gpio/gpio-mt7621.c b/drivers/staging/mt7621-gpio/gpio-mt7621.c index 6416936..d41cc3e 100644 --- a/drivers/staging/mt7621-gpio/gpio-mt7621.c +++ b/drivers/staging/mt7621-gpio/gpio-mt7621.c @@ -379,10 +379,4 @@ static struct platform_driver mediatek_gpio_driver = { }, }; -static int __init -mediatek_gpio_init(void) -{ - return platform_driver_register(&mediatek_gpio_driver); -} - -subsys_initcall(mediatek_gpio_init); +module_platform_driver(mediatek_gpio_driver); -- 2.7.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel