summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2020-10-14 12:46:27 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2020-10-14 12:46:27 +0200
commitefab7dbedba741db63c200a5f12f19f82178d05c (patch)
tree1df83130dde3c3b7a6b54c270c0c034eda67c614 /include
parentb7d1cc08cc3842697b5148d1a9d244c2c19dc834 (diff)
parent13f237e2d84c875d9f4bcbdfe513a18a269ceaee (diff)
downloadbarebox-efab7dbedba741db63c200a5f12f19f82178d05c.tar.gz
barebox-efab7dbedba741db63c200a5f12f19f82178d05c.tar.xz
Merge branch 'for-next/driver-macro' into master
Diffstat (limited to 'include')
-rw-r--r--include/driver.h6
-rw-r--r--include/linux/phy.h20
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);