diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2020-10-14 12:46:27 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-10-14 12:46:27 +0200 |
commit | efab7dbedba741db63c200a5f12f19f82178d05c (patch) | |
tree | 1df83130dde3c3b7a6b54c270c0c034eda67c614 /include | |
parent | b7d1cc08cc3842697b5148d1a9d244c2c19dc834 (diff) | |
parent | 13f237e2d84c875d9f4bcbdfe513a18a269ceaee (diff) | |
download | barebox-efab7dbedba741db63c200a5f12f19f82178d05c.tar.gz barebox-efab7dbedba741db63c200a5f12f19f82178d05c.tar.xz |
Merge branch 'for-next/driver-macro' into master
Diffstat (limited to 'include')
-rw-r--r-- | include/driver.h | 6 | ||||
-rw-r--r-- | include/linux/phy.h | 20 |
2 files changed, 26 insertions, 0 deletions
diff --git a/include/driver.h b/include/driver.h index 14220431f2..e2886d051d 100644 --- a/include/driver.h +++ b/include/driver.h @@ -401,6 +401,8 @@ int platform_driver_register(struct driver_d *drv); } \ level##_initcall(drv##_register) +#define core_platform_driver(drv) \ + register_driver_macro(core,platform,drv) #define postcore_platform_driver(drv) \ register_driver_macro(postcore,platform,drv) #define coredevice_platform_driver(drv) \ @@ -409,6 +411,10 @@ int platform_driver_register(struct driver_d *drv); register_driver_macro(device,platform,drv) #define console_platform_driver(drv) \ register_driver_macro(console,platform,drv) +#define mem_platform_driver(drv) \ + register_driver_macro(mem,platform,drv) +#define fs_platform_driver(drv) \ + register_driver_macro(fs,platform,drv) #define late_platform_driver(drv) \ register_driver_macro(late,platform,drv) diff --git a/include/linux/phy.h b/include/linux/phy.h index cdcb7c24f2..a4cda3e28d 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -284,6 +284,26 @@ struct phy_device *get_phy_device(struct mii_bus *bus, int addr); int phy_init(void); int phy_init_hw(struct phy_device *phydev); +#define phy_register_drivers_macro(level, drvs) \ + static int __init drvs##_register(void) \ + { \ + return phy_drivers_register(drvs, ARRAY_SIZE(drvs)); \ + } \ + level##_initcall(drvs##_register) + +#define device_phy_drivers(drvs) \ + phy_register_drivers_macro(device, drvs) + +#define phy_register_driver_macro(level, drv) \ + static int __init drv##_register(void) \ + { \ + return phy_driver_register(&drv); \ + } \ + level##_initcall(drv##_register) + +#define device_phy_driver(drv) \ + phy_register_driver_macro(device, drv) + int phy_save_page(struct phy_device *phydev); int phy_select_page(struct phy_device *phydev, int page); int phy_restore_page(struct phy_device *phydev, int oldpage, int ret); |