Blame view

include/linux/phy_fixed.h 1.64 KB
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  /* SPDX-License-Identifier: GPL-2.0 */
7c32f470f   Vitaly Bordug   PHY fixed driver:...
2
3
  #ifndef __PHY_FIXED_H
  #define __PHY_FIXED_H
7c32f470f   Vitaly Bordug   PHY fixed driver:...
4
  struct fixed_phy_status {
a79d8e93d   Vitaly Bordug   phy/fixed.c: rewo...
5
6
7
8
9
  	int link;
  	int speed;
  	int duplex;
  	int pause;
  	int asym_pause;
7c32f470f   Vitaly Bordug   PHY fixed driver:...
10
  };
a75951217   Thomas Petazzoni   net: phy: extend ...
11
  struct device_node;
6539c44d0   David S. Miller   net: Allow FIXED_...
12
  #if IS_ENABLED(CONFIG_FIXED_PHY)
a79d8e93d   Vitaly Bordug   phy/fixed.c: rewo...
13
  extern int fixed_phy_add(unsigned int irq, int phy_id,
a5597008d   Andrew Lunn   phy: fixed_phy: A...
14
15
  			 struct fixed_phy_status *status,
  			 int link_gpio);
fd2ef0ba3   Petri Gynther   net: phy: adjust ...
16
17
  extern struct phy_device *fixed_phy_register(unsigned int irq,
  					     struct fixed_phy_status *status,
a5597008d   Andrew Lunn   phy: fixed_phy: A...
18
  					     int link_gpio,
fd2ef0ba3   Petri Gynther   net: phy: adjust ...
19
  					     struct device_node *np);
5bcbe0f35   Andrew Lunn   phy: fixed: Fix r...
20
  extern void fixed_phy_unregister(struct phy_device *phydev);
464c3668f   Florian Fainelli   net: phy: provide...
21
22
23
  extern int fixed_phy_set_link_update(struct phy_device *phydev,
  			int (*link_update)(struct net_device *,
  					   struct fixed_phy_status *));
a3bebdce4   Stas Sergeev   add fixed_phy_upd...
24
25
26
  extern int fixed_phy_update_state(struct phy_device *phydev,
  			   const struct fixed_phy_status *status,
  			   const struct fixed_phy_status *changed);
a79d8e93d   Vitaly Bordug   phy/fixed.c: rewo...
27
28
  #else
  static inline int fixed_phy_add(unsigned int irq, int phy_id,
a5597008d   Andrew Lunn   phy: fixed_phy: A...
29
30
  				struct fixed_phy_status *status,
  				int link_gpio)
a79d8e93d   Vitaly Bordug   phy/fixed.c: rewo...
31
32
33
  {
  	return -ENODEV;
  }
fd2ef0ba3   Petri Gynther   net: phy: adjust ...
34
35
  static inline struct phy_device *fixed_phy_register(unsigned int irq,
  						struct fixed_phy_status *status,
a5597008d   Andrew Lunn   phy: fixed_phy: A...
36
  						int gpio_link,
fd2ef0ba3   Petri Gynther   net: phy: adjust ...
37
  						struct device_node *np)
a75951217   Thomas Petazzoni   net: phy: extend ...
38
  {
fd2ef0ba3   Petri Gynther   net: phy: adjust ...
39
  	return ERR_PTR(-ENODEV);
a75951217   Thomas Petazzoni   net: phy: extend ...
40
  }
5bcbe0f35   Andrew Lunn   phy: fixed: Fix r...
41
  static inline void fixed_phy_unregister(struct phy_device *phydev)
46cfd6ea2   Konrad Zapalowicz   net: phy: fix spa...
42
  {
46cfd6ea2   Konrad Zapalowicz   net: phy: fix spa...
43
  }
464c3668f   Florian Fainelli   net: phy: provide...
44
  static inline int fixed_phy_set_link_update(struct phy_device *phydev,
a79d8e93d   Vitaly Bordug   phy/fixed.c: rewo...
45
  			int (*link_update)(struct net_device *,
464c3668f   Florian Fainelli   net: phy: provide...
46
47
48
49
  					   struct fixed_phy_status *))
  {
  	return -ENODEV;
  }
a3bebdce4   Stas Sergeev   add fixed_phy_upd...
50
51
52
53
54
55
  static inline int fixed_phy_update_state(struct phy_device *phydev,
  			   const struct fixed_phy_status *status,
  			   const struct fixed_phy_status *changed)
  {
  	return -ENODEV;
  }
464c3668f   Florian Fainelli   net: phy: provide...
56
  #endif /* CONFIG_FIXED_PHY */
7c32f470f   Vitaly Bordug   PHY fixed driver:...
57
58
  
  #endif /* __PHY_FIXED_H */