net: phy: add module_phy_driver macro
Add helper macro for PHY drivers which do not do anything special in module init/exit. This will allow us to eliminate a lot of boilerplate code. Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c647cc3fd5
commit
c31accd159
|
@ -772,4 +772,28 @@ int __init mdio_bus_init(void);
|
||||||
void mdio_bus_exit(void);
|
void mdio_bus_exit(void);
|
||||||
|
|
||||||
extern struct bus_type mdio_bus_type;
|
extern struct bus_type mdio_bus_type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* module_phy_driver() - Helper macro for registering PHY drivers
|
||||||
|
* @__phy_drivers: array of PHY drivers to register
|
||||||
|
*
|
||||||
|
* Helper macro for PHY drivers which do not do anything special in module
|
||||||
|
* init/exit. Each module may only use this macro once, and calling it
|
||||||
|
* replaces module_init() and module_exit().
|
||||||
|
*/
|
||||||
|
#define phy_module_driver(__phy_drivers, __count) \
|
||||||
|
static int __init phy_module_init(void) \
|
||||||
|
{ \
|
||||||
|
return phy_drivers_register(__phy_drivers, __count); \
|
||||||
|
} \
|
||||||
|
module_init(phy_module_init); \
|
||||||
|
static void __exit phy_module_exit(void) \
|
||||||
|
{ \
|
||||||
|
phy_drivers_unregister(__phy_drivers, __count); \
|
||||||
|
} \
|
||||||
|
module_exit(phy_module_exit)
|
||||||
|
|
||||||
|
#define module_phy_driver(__phy_drivers) \
|
||||||
|
phy_module_driver(__phy_drivers, ARRAY_SIZE(__phy_drivers))
|
||||||
|
|
||||||
#endif /* __PHY_H */
|
#endif /* __PHY_H */
|
||||||
|
|
Loading…
Reference in New Issue