root/include/linux/phy_fixed.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. fixed_phy_add
  2. fixed_phy_register
  3. fixed_phy_register_with_gpiod
  4. fixed_phy_unregister
  5. fixed_phy_set_link_update
  6. fixed_phy_change_carrier

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef __PHY_FIXED_H
   3 #define __PHY_FIXED_H
   4 
   5 struct fixed_phy_status {
   6         int link;
   7         int speed;
   8         int duplex;
   9         int pause;
  10         int asym_pause;
  11 };
  12 
  13 struct device_node;
  14 struct gpio_desc;
  15 
  16 #if IS_ENABLED(CONFIG_FIXED_PHY)
  17 extern int fixed_phy_change_carrier(struct net_device *dev, bool new_carrier);
  18 extern int fixed_phy_add(unsigned int irq, int phy_id,
  19                          struct fixed_phy_status *status);
  20 extern struct phy_device *fixed_phy_register(unsigned int irq,
  21                                              struct fixed_phy_status *status,
  22                                              struct device_node *np);
  23 
  24 extern struct phy_device *
  25 fixed_phy_register_with_gpiod(unsigned int irq,
  26                               struct fixed_phy_status *status,
  27                               struct gpio_desc *gpiod);
  28 
  29 extern void fixed_phy_unregister(struct phy_device *phydev);
  30 extern int fixed_phy_set_link_update(struct phy_device *phydev,
  31                         int (*link_update)(struct net_device *,
  32                                            struct fixed_phy_status *));
  33 #else
  34 static inline int fixed_phy_add(unsigned int irq, int phy_id,
  35                                 struct fixed_phy_status *status)
  36 {
  37         return -ENODEV;
  38 }
  39 static inline struct phy_device *fixed_phy_register(unsigned int irq,
  40                                                 struct fixed_phy_status *status,
  41                                                 struct device_node *np)
  42 {
  43         return ERR_PTR(-ENODEV);
  44 }
  45 
  46 static inline struct phy_device *
  47 fixed_phy_register_with_gpiod(unsigned int irq,
  48                               struct fixed_phy_status *status,
  49                               struct gpio_desc *gpiod)
  50 {
  51         return ERR_PTR(-ENODEV);
  52 }
  53 
  54 static inline void fixed_phy_unregister(struct phy_device *phydev)
  55 {
  56 }
  57 static inline int fixed_phy_set_link_update(struct phy_device *phydev,
  58                         int (*link_update)(struct net_device *,
  59                                            struct fixed_phy_status *))
  60 {
  61         return -ENODEV;
  62 }
  63 static inline int fixed_phy_change_carrier(struct net_device *dev, bool new_carrier)
  64 {
  65         return -EINVAL;
  66 }
  67 #endif /* CONFIG_FIXED_PHY */
  68 
  69 #endif /* __PHY_FIXED_H */

/* [<][>][^][v][top][bottom][index][help] */