[PATCH] parport: use subsys_initcall

From: Sudip Mukherjee
Date: Tue Apr 12 2016 - 11:26:30 EST


The drivers which depends on parport may sometimes try to iniitialize
and register with parport bus even before parport has actually
registered with the device layer.
The simplest solution is to mark the init function as subsys_initcall()
and load the parport before the other drivers loads.

Signed-off-by: Sudip Mukherjee <sudip.mukherjee@xxxxxxxxxxxxxxx>
---

Linus suggested to only mark parport_bus_init() as subsys_initcall()
but since we are supporting both the device model code and the old code
so to load parport properly we should have parport_default_proc_register()
as subsys_initcall(). After we have removed all the old code then we can
have parport_bus_init().

This has been tested in the same build environment and using same config
which 0-day report was containing for the bug report of ppdev. And also
tested using latest char-misc/testing.

drivers/parport/procfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/parport/procfs.c b/drivers/parport/procfs.c
index c776333..74ed3e4 100644
--- a/drivers/parport/procfs.c
+++ b/drivers/parport/procfs.c
@@ -617,5 +617,5 @@ static void __exit parport_default_proc_unregister (void)
}
#endif

-module_init(parport_default_proc_register)
+subsys_initcall(parport_default_proc_register)
module_exit(parport_default_proc_unregister)
--
1.9.1