Message ID | 6ad490fa-61ad-48b8-9660-bb525f756f41@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: phy: move PHY package code to its own source file | expand |
Hi Heiner,
kernel test robot noticed the following build errors:
[auto build test ERROR on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Heiner-Kallweit/net-phy-move-PHY-package-code-from-phy_device-c-to-own-source-file/20250301-055302
base: net-next/main
patch link: https://lore.kernel.org/r/6ad490fa-61ad-48b8-9660-bb525f756f41%40gmail.com
patch subject: [PATCH net-next v2 8/8] net: phy: remove remaining PHY package related definitions from phy.h
config: arc-randconfig-001-20250302 (https://download.01.org/0day-ci/archive/20250302/202503020420.v2TkGxj1-lkp@intel.com/config)
compiler: arceb-elf-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250302/202503020420.v2TkGxj1-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202503020420.v2TkGxj1-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/net/phy/bcm54140.c: In function 'bcm54140_base_read_rdb':
drivers/net/phy/bcm54140.c:436:15: error: implicit declaration of function '__phy_package_write'; did you mean '__phy_package_write_mmd'? [-Werror=implicit-function-declaration]
436 | ret = __phy_package_write(phydev, BCM54140_BASE_ADDR,
| ^~~~~~~~~~~~~~~~~~~
| __phy_package_write_mmd
drivers/net/phy/bcm54140.c:441:15: error: implicit declaration of function '__phy_package_read'; did you mean '__phy_package_read_mmd'? [-Werror=implicit-function-declaration]
441 | ret = __phy_package_read(phydev, BCM54140_BASE_ADDR,
| ^~~~~~~~~~~~~~~~~~
| __phy_package_read_mmd
drivers/net/phy/bcm54140.c: In function 'bcm54140_probe':
>> drivers/net/phy/bcm54140.c:594:9: error: implicit declaration of function 'devm_phy_package_join' [-Werror=implicit-function-declaration]
594 | devm_phy_package_join(&phydev->mdio.dev, phydev, priv->base_addr, 0);
| ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/devm_phy_package_join +594 drivers/net/phy/bcm54140.c
6937602ed3f9eb Michael Walle 2020-04-20 578
6937602ed3f9eb Michael Walle 2020-04-20 579 static int bcm54140_probe(struct phy_device *phydev)
6937602ed3f9eb Michael Walle 2020-04-20 580 {
6937602ed3f9eb Michael Walle 2020-04-20 581 struct bcm54140_priv *priv;
6937602ed3f9eb Michael Walle 2020-04-20 582 int ret;
6937602ed3f9eb Michael Walle 2020-04-20 583
6937602ed3f9eb Michael Walle 2020-04-20 584 priv = devm_kzalloc(&phydev->mdio.dev, sizeof(*priv), GFP_KERNEL);
6937602ed3f9eb Michael Walle 2020-04-20 585 if (!priv)
6937602ed3f9eb Michael Walle 2020-04-20 586 return -ENOMEM;
6937602ed3f9eb Michael Walle 2020-04-20 587
6937602ed3f9eb Michael Walle 2020-04-20 588 phydev->priv = priv;
6937602ed3f9eb Michael Walle 2020-04-20 589
6937602ed3f9eb Michael Walle 2020-04-20 590 ret = bcm54140_get_base_addr_and_port(phydev);
6937602ed3f9eb Michael Walle 2020-04-20 591 if (ret)
6937602ed3f9eb Michael Walle 2020-04-20 592 return ret;
6937602ed3f9eb Michael Walle 2020-04-20 593
dc9989f173289f Michael Walle 2020-05-06 @594 devm_phy_package_join(&phydev->mdio.dev, phydev, priv->base_addr, 0);
dc9989f173289f Michael Walle 2020-05-06 595
diff --git a/drivers/net/phy/phy_package.c b/drivers/net/phy/phy_package.c index 12c92d26e..c738f76e8 100644 --- a/drivers/net/phy/phy_package.c +++ b/drivers/net/phy/phy_package.c @@ -9,6 +9,37 @@ #include "phylib.h" #include "phylib-internal.h" +/** + * struct phy_package_shared - Shared information in PHY packages + * @base_addr: Base PHY address of PHY package used to combine PHYs + * in one package and for offset calculation of phy_package_read/write + * @np: Pointer to the Device Node if PHY package defined in DT + * @refcnt: Number of PHYs connected to this shared data + * @flags: Initialization of PHY package + * @priv_size: Size of the shared private data @priv + * @priv: Driver private data shared across a PHY package + * + * Represents a shared structure between different phydev's in the same + * package, for example a quad PHY. See phy_package_join() and + * phy_package_leave(). + */ +struct phy_package_shared { + u8 base_addr; + /* With PHY package defined in DT this points to the PHY package node */ + struct device_node *np; + refcount_t refcnt; + unsigned long flags; + size_t priv_size; + + /* private data pointer */ + /* note that this pointer is shared between different phydevs and + * the user has to take care of appropriate locking. It is allocated + * and freed automatically by phy_package_join() and + * phy_package_leave(). + */ + void *priv; +}; + struct device_node *phy_package_get_node(struct phy_device *phydev) { return phydev->shared->np; diff --git a/drivers/net/phy/phylib.h b/drivers/net/phy/phylib.h index 06c50d275..f0e499fed 100644 --- a/drivers/net/phy/phylib.h +++ b/drivers/net/phy/phylib.h @@ -17,5 +17,12 @@ int __phy_package_write(struct phy_device *phydev, unsigned int addr_offset, u32 regnum, u16 val); bool phy_package_init_once(struct phy_device *phydev); bool phy_package_probe_once(struct phy_device *phydev); +int phy_package_join(struct phy_device *phydev, int base_addr, size_t priv_size); +int of_phy_package_join(struct phy_device *phydev, size_t priv_size); +void phy_package_leave(struct phy_device *phydev); +int devm_phy_package_join(struct device *dev, struct phy_device *phydev, + int base_addr, size_t priv_size); +int devm_of_phy_package_join(struct device *dev, struct phy_device *phydev, + size_t priv_size); #endif /* __PHYLIB_H */ diff --git a/include/linux/phy.h b/include/linux/phy.h index 2b12d1bef..c4a6385fa 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -319,37 +319,6 @@ struct mdio_bus_stats { struct u64_stats_sync syncp; }; -/** - * struct phy_package_shared - Shared information in PHY packages - * @base_addr: Base PHY address of PHY package used to combine PHYs - * in one package and for offset calculation of phy_package_read/write - * @np: Pointer to the Device Node if PHY package defined in DT - * @refcnt: Number of PHYs connected to this shared data - * @flags: Initialization of PHY package - * @priv_size: Size of the shared private data @priv - * @priv: Driver private data shared across a PHY package - * - * Represents a shared structure between different phydev's in the same - * package, for example a quad PHY. See phy_package_join() and - * phy_package_leave(). - */ -struct phy_package_shared { - u8 base_addr; - /* With PHY package defined in DT this points to the PHY package node */ - struct device_node *np; - refcount_t refcnt; - unsigned long flags; - size_t priv_size; - - /* private data pointer */ - /* note that this pointer is shared between different phydevs and - * the user has to take care of appropriate locking. It is allocated - * and freed automatically by phy_package_join() and - * phy_package_leave(). - */ - void *priv; -}; - /** * struct mii_bus - Represents an MDIO bus * @@ -2109,13 +2078,6 @@ int phy_ethtool_get_link_ksettings(struct net_device *ndev, int phy_ethtool_set_link_ksettings(struct net_device *ndev, const struct ethtool_link_ksettings *cmd); int phy_ethtool_nway_reset(struct net_device *ndev); -int phy_package_join(struct phy_device *phydev, int base_addr, size_t priv_size); -int of_phy_package_join(struct phy_device *phydev, size_t priv_size); -void phy_package_leave(struct phy_device *phydev); -int devm_phy_package_join(struct device *dev, struct phy_device *phydev, - int base_addr, size_t priv_size); -int devm_of_phy_package_join(struct device *dev, struct phy_device *phydev, - size_t priv_size); int __init mdio_bus_init(void); void mdio_bus_exit(void);
Move definition of struct phy_package_shared to phy_package.c, and move remaining PHY package related declarations from phy.h to phylib.h, thus making them accessible for PHY drivers only. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> --- drivers/net/phy/phy_package.c | 31 ++++++++++++++++++++++++++++ drivers/net/phy/phylib.h | 7 +++++++ include/linux/phy.h | 38 ----------------------------------- 3 files changed, 38 insertions(+), 38 deletions(-)