Extend device_platform_driver macro
This patch extends device_platform_driver macro, so now we allow use it with various init levels and subsystems. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
2e7d66f526
commit
943e586fe6
|
@ -395,16 +395,19 @@ extern struct bus_type platform_bus;
|
|||
|
||||
int platform_driver_register(struct driver_d *drv);
|
||||
|
||||
/* device_platform_driver() - Helper macro for drivers that don't do
|
||||
/* register_driver_macro() - Helper macro for drivers that don't do
|
||||
* anything special in module registration. This eliminates a lot of
|
||||
* boilerplate. Each module may only use this macro once.
|
||||
*/
|
||||
#define device_platform_driver(drv) \
|
||||
static int __init drv ## _register(void) \
|
||||
#define register_driver_macro(level,bus,drv) \
|
||||
static int __init drv##_register(void) \
|
||||
{ \
|
||||
return platform_driver_register(&drv); \
|
||||
return bus##_driver_register(&drv); \
|
||||
} \
|
||||
device_initcall(drv ## _register)
|
||||
level##_initcall(drv##_register)
|
||||
|
||||
#define device_platform_driver(drv) \
|
||||
register_driver_macro(device,platform,drv)
|
||||
|
||||
int platform_device_register(struct device_d *new_device);
|
||||
|
||||
|
|
Loading…
Reference in New Issue