9
0
Fork 0

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:
Alexander Shiyan 2013-03-10 10:41:30 +04:00 committed by Sascha Hauer
parent 2e7d66f526
commit 943e586fe6
1 changed files with 8 additions and 5 deletions

View File

@ -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);