aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorMoritz Fischer <mdf@kernel.org>2019-02-07 12:52:10 -0500
committerDavid S. Miller <davem@davemloft.net>2019-02-07 21:11:58 -0500
commit71bd106d2567675668e253cba3960e3c4bf2e80e (patch)
treee8f34fc458693dd53076ee2993ddb0402966ef0e /include/linux
parenta4751093a26c6bbdff86c113e7f76cf4eaf22210 (diff)
net: fixed-phy: Add fixed_phy_register_with_gpiod() API
Add fixed_phy_register_with_gpiod() API. It lets users create a fixed_phy instance that uses a GPIO descriptor which was obtained externally e.g. through platform data. This enables platform devices (non-DT based) to use GPIOs for link status. Signed-off-by: Moritz Fischer <mdf@kernel.org> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/phy_fixed.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/phy_fixed.h b/include/linux/phy_fixed.h
index c78fc203db43..1e5d86ebdaeb 100644
--- a/include/linux/phy_fixed.h
+++ b/include/linux/phy_fixed.h
@@ -19,6 +19,12 @@ extern int fixed_phy_add(unsigned int irq, int phy_id,
19extern struct phy_device *fixed_phy_register(unsigned int irq, 19extern struct phy_device *fixed_phy_register(unsigned int irq,
20 struct fixed_phy_status *status, 20 struct fixed_phy_status *status,
21 struct device_node *np); 21 struct device_node *np);
22
23extern struct phy_device *
24fixed_phy_register_with_gpiod(unsigned int irq,
25 struct fixed_phy_status *status,
26 struct gpio_desc *gpiod);
27
22extern void fixed_phy_unregister(struct phy_device *phydev); 28extern void fixed_phy_unregister(struct phy_device *phydev);
23extern int fixed_phy_set_link_update(struct phy_device *phydev, 29extern int fixed_phy_set_link_update(struct phy_device *phydev,
24 int (*link_update)(struct net_device *, 30 int (*link_update)(struct net_device *,
@@ -35,6 +41,15 @@ static inline struct phy_device *fixed_phy_register(unsigned int irq,
35{ 41{
36 return ERR_PTR(-ENODEV); 42 return ERR_PTR(-ENODEV);
37} 43}
44
45static inline struct phy_device *
46fixed_phy_register_with_gpiod(unsigned int irq,
47 struct fixed_phy_status *status,
48 struct gpio_desc *gpiod)
49{
50 return ERR_PTR(-ENODEV);
51}
52
38static inline void fixed_phy_unregister(struct phy_device *phydev) 53static inline void fixed_phy_unregister(struct phy_device *phydev)
39{ 54{
40} 55}