1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * phylib header 4 */ 5 6 #ifndef __PHYLIB_H 7 #define __PHYLIB_H 8 9 struct device_node; 10 struct phy_device; 11 12 struct device_node *phy_package_get_node(struct phy_device *phydev); 13 void *phy_package_get_priv(struct phy_device *phydev); 14 int __phy_package_read(struct phy_device *phydev, unsigned int addr_offset, 15 u32 regnum); 16 int __phy_package_write(struct phy_device *phydev, unsigned int addr_offset, 17 u32 regnum, u16 val); 18 int __phy_package_read_mmd(struct phy_device *phydev, 19 unsigned int addr_offset, int devad, 20 u32 regnum); 21 int __phy_package_write_mmd(struct phy_device *phydev, 22 unsigned int addr_offset, int devad, 23 u32 regnum, u16 val); 24 bool phy_package_init_once(struct phy_device *phydev); 25 bool phy_package_probe_once(struct phy_device *phydev); 26 int phy_package_join(struct phy_device *phydev, int base_addr, size_t priv_size); 27 int of_phy_package_join(struct phy_device *phydev, size_t priv_size); 28 void phy_package_leave(struct phy_device *phydev); 29 int devm_phy_package_join(struct device *dev, struct phy_device *phydev, 30 int base_addr, size_t priv_size); 31 int devm_of_phy_package_join(struct device *dev, struct phy_device *phydev, 32 size_t priv_size); 33 34 #endif /* __PHYLIB_H */ 35