lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202408080631.rKnoa41D-lkp@intel.com>
Date: Thu, 8 Aug 2024 07:00:07 +0800
From: kernel test robot <lkp@...el.com>
To: Christophe JAILLET <christophe.jaillet@...adoo.fr>,
	"David S. Miller" <davem@...emloft.net>,
	Eric Dumazet <edumazet@...gle.com>,
	Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>
Cc: oe-kbuild-all@...ts.linux.dev, netdev@...r.kernel.org,
	linux-kernel@...r.kernel.org, kernel-janitors@...r.kernel.org,
	Christophe JAILLET <christophe.jaillet@...adoo.fr>
Subject: Re: [PATCH net-next] net: ibm/emac: Constify struct mii_phy_def

Hi Christophe,

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/Christophe-JAILLET/net-ibm-emac-Constify-struct-mii_phy_def/20240807-195146
base:   net-next/main
patch link:    https://lore.kernel.org/r/dfc7876d660d700a840e64c35de0a6519e117539.1723031352.git.christophe.jaillet%40wanadoo.fr
patch subject: [PATCH net-next] net: ibm/emac: Constify struct mii_phy_def
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20240808/202408080631.rKnoa41D-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240808/202408080631.rKnoa41D-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408080631.rKnoa41D-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/net/ethernet/ibm/emac/core.c: In function 'emac_dt_phy_connect':
>> drivers/net/ethernet/ibm/emac/core.c:2648:30: error: assignment of member 'phy_id' in read-only object
    2648 |         dev->phy.def->phy_id = dev->phy_dev->drv->phy_id;
         |                              ^
>> drivers/net/ethernet/ibm/emac/core.c:2649:35: error: assignment of member 'phy_id_mask' in read-only object
    2649 |         dev->phy.def->phy_id_mask = dev->phy_dev->drv->phy_id_mask;
         |                                   ^
>> drivers/net/ethernet/ibm/emac/core.c:2650:28: error: assignment of member 'name' in read-only object
    2650 |         dev->phy.def->name = dev->phy_dev->drv->name;
         |                            ^
>> drivers/net/ethernet/ibm/emac/core.c:2651:27: error: assignment of member 'ops' in read-only object
    2651 |         dev->phy.def->ops = &emac_dt_mdio_phy_ops;
         |                           ^
   drivers/net/ethernet/ibm/emac/core.c: In function 'emac_init_phy':
>> drivers/net/ethernet/ibm/emac/core.c:2818:32: error: assignment of member 'features' in read-only object
    2818 |         dev->phy.def->features &= ~dev->phy_feat_exc;
         |                                ^~


vim +/phy_id +2648 drivers/net/ethernet/ibm/emac/core.c

a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2632  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2633  static int emac_dt_phy_connect(struct emac_instance *dev,
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2634  			       struct device_node *phy_handle)
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2635  {
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2636  	dev->phy.def = devm_kzalloc(&dev->ofdev->dev, sizeof(*dev->phy.def),
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2637  				    GFP_KERNEL);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2638  	if (!dev->phy.def)
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2639  		return -ENOMEM;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2640  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2641  	dev->phy_dev = of_phy_connect(dev->ndev, phy_handle, &emac_adjust_link,
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2642  				      0, dev->phy_mode);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2643  	if (!dev->phy_dev) {
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2644  		dev_err(&dev->ofdev->dev, "failed to connect to PHY.\n");
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2645  		return -ENODEV;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2646  	}
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2647  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20 @2648  	dev->phy.def->phy_id = dev->phy_dev->drv->phy_id;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20 @2649  	dev->phy.def->phy_id_mask = dev->phy_dev->drv->phy_id_mask;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20 @2650  	dev->phy.def->name = dev->phy_dev->drv->name;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20 @2651  	dev->phy.def->ops = &emac_dt_mdio_phy_ops;
3c1bcc8614db10 drivers/net/ethernet/ibm/emac/core.c Andrew Lunn         2018-11-10  2652  	ethtool_convert_link_mode_to_legacy_u32(&dev->phy.features,
3c1bcc8614db10 drivers/net/ethernet/ibm/emac/core.c Andrew Lunn         2018-11-10  2653  						dev->phy_dev->supported);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2654  	dev->phy.address = dev->phy_dev->mdio.addr;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2655  	dev->phy.mode = dev->phy_dev->interface;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2656  	return 0;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2657  }
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2658  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2659  static int emac_dt_phy_probe(struct emac_instance *dev)
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2660  {
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2661  	struct device_node *np = dev->ofdev->dev.of_node;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2662  	struct device_node *phy_handle;
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2663  	int res = 1;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2664  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2665  	phy_handle = of_parse_phandle(np, "phy-handle", 0);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2666  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2667  	if (phy_handle) {
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2668  		res = emac_dt_mdio_probe(dev);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2669  		if (!res) {
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2670  			res = emac_dt_phy_connect(dev, phy_handle);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2671  			if (res)
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2672  				mdiobus_unregister(dev->mii_bus);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2673  		}
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2674  	}
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2675  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2676  	of_node_put(phy_handle);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2677  	return res;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2678  }
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2679  
fe17dc1e2bae85 drivers/net/ethernet/ibm/emac/core.c Bill Pemberton      2012-12-03  2680  static int emac_init_phy(struct emac_instance *dev)
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2681  {
61c7a080a5a061 drivers/net/ibm_newemac/core.c       Grant Likely        2010-04-13  2682  	struct device_node *np = dev->ofdev->dev.of_node;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2683  	struct net_device *ndev = dev->ndev;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2684  	u32 phy_map, adv;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2685  	int i;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2686  
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2687  	dev->phy.dev = ndev;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2688  	dev->phy.mode = dev->phy_mode;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2689  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2690  	/* PHY-less configuration. */
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2691  	if ((dev->phy_address == 0xffffffff && dev->phy_map == 0xffffffff) ||
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2692  	    of_phy_is_fixed_link(np)) {
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2693  		emac_reset(dev);
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2694  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2695  		/* PHY-less configuration. */
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2696  		dev->phy.address = -1;
9e3cb29497561c drivers/net/ibm_newemac/core.c       Victor Gallardo     2008-10-01  2697  		dev->phy.features = SUPPORTED_MII;
9e3cb29497561c drivers/net/ibm_newemac/core.c       Victor Gallardo     2008-10-01  2698  		if (emac_phy_supports_gige(dev->phy_mode))
9e3cb29497561c drivers/net/ibm_newemac/core.c       Victor Gallardo     2008-10-01  2699  			dev->phy.features |= SUPPORTED_1000baseT_Full;
9e3cb29497561c drivers/net/ibm_newemac/core.c       Victor Gallardo     2008-10-01  2700  		else
9e3cb29497561c drivers/net/ibm_newemac/core.c       Victor Gallardo     2008-10-01  2701  			dev->phy.features |= SUPPORTED_100baseT_Full;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2702  		dev->phy.pause = 1;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2703  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2704  		if (of_phy_is_fixed_link(np)) {
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2705  			int res = emac_dt_mdio_probe(dev);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2706  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2707  			if (res)
08e39982ef64f8 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2018-09-17  2708  				return res;
08e39982ef64f8 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2018-09-17  2709  
08e39982ef64f8 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2018-09-17  2710  			res = of_phy_register_fixed_link(np);
08e39982ef64f8 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2018-09-17  2711  			dev->phy_dev = of_phy_find_device(np);
08e39982ef64f8 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2018-09-17  2712  			if (res || !dev->phy_dev) {
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2713  				mdiobus_unregister(dev->mii_bus);
08e39982ef64f8 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2018-09-17  2714  				return res ? res : -EINVAL;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2715  			}
08e39982ef64f8 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2018-09-17  2716  			emac_adjust_link(dev->ndev);
08e39982ef64f8 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2018-09-17  2717  			put_device(&dev->phy_dev->mdio.dev);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2718  		}
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2719  		return 0;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2720  	}
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2721  
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2722  	mutex_lock(&emac_phy_map_lock);
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2723  	phy_map = dev->phy_map | busy_phy_map;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2724  
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2725  	DBG(dev, "PHY maps %08x %08x" NL, dev->phy_map, busy_phy_map);
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2726  
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2727  	dev->phy.mdio_read = emac_mdio_read;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2728  	dev->phy.mdio_write = emac_mdio_write;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2729  
0925ab5d385b6c drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2730  	/* Enable internal clock source */
0925ab5d385b6c drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2731  #ifdef CONFIG_PPC_DCR_NATIVE
0925ab5d385b6c drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2732  	if (emac_has_feature(dev, EMAC_FTR_440GX_PHY_CLK_FIX))
0925ab5d385b6c drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2733  		dcri_clrset(SDR0, SDR0_MFR, 0, SDR0_MFR_ECS);
11121e3008a928 drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2734  #endif
11121e3008a928 drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2735  	/* PHY clock workaround */
11121e3008a928 drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2736  	emac_rx_clk_tx(dev);
11121e3008a928 drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2737  
11121e3008a928 drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2738  	/* Enable internal clock source on 440GX*/
11121e3008a928 drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2739  #ifdef CONFIG_PPC_DCR_NATIVE
11121e3008a928 drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2740  	if (emac_has_feature(dev, EMAC_FTR_440GX_PHY_CLK_FIX))
11121e3008a928 drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2741  		dcri_clrset(SDR0, SDR0_MFR, 0, SDR0_MFR_ECS);
0925ab5d385b6c drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2742  #endif
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2743  	/* Configure EMAC with defaults so we can at least use MDIO
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2744  	 * This is needed mostly for 440GX
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2745  	 */
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2746  	if (emac_phy_gpcs(dev->phy.mode)) {
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2747  		/* XXX
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2748  		 * Make GPCS PHY address equal to EMAC index.
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2749  		 * We probably should take into account busy_phy_map
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2750  		 * and/or phy_map here.
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2751  		 *
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2752  		 * Note that the busy_phy_map is currently global
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2753  		 * while it should probably be per-ASIC...
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2754  		 */
9e3cb29497561c drivers/net/ibm_newemac/core.c       Victor Gallardo     2008-10-01  2755  		dev->phy.gpcs_address = dev->gpcs_address;
9e3cb29497561c drivers/net/ibm_newemac/core.c       Victor Gallardo     2008-10-01  2756  		if (dev->phy.gpcs_address == 0xffffffff)
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2757  			dev->phy.address = dev->cell_index;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2758  	}
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2759  
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2760  	emac_configure(dev);
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2761  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2762  	if (emac_has_feature(dev, EMAC_FTR_HAS_RGMII)) {
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2763  		int res = emac_dt_phy_probe(dev);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2764  
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2765  		switch (res) {
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2766  		case 1:
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2767  			/* No phy-handle property configured.
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2768  			 * Continue with the existing phy probe
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2769  			 * and setup code.
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2770  			 */
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2771  			break;
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2772  
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2773  		case 0:
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2774  			mutex_unlock(&emac_phy_map_lock);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2775  			goto init_phy;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2776  
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2777  		default:
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2778  			mutex_unlock(&emac_phy_map_lock);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2779  			dev_err(&dev->ofdev->dev, "failed to attach dt phy (%d).\n",
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2780  				res);
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2781  			return res;
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2782  		}
b793f081674e36 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-03-06  2783  	}
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2784  
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2785  	if (dev->phy_address != 0xffffffff)
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2786  		phy_map = ~(1 << dev->phy_address);
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2787  
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2788  	for (i = 0; i < 0x20; phy_map >>= 1, ++i)
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2789  		if (!(phy_map & 1)) {
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2790  			int r;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2791  			busy_phy_map |= 1 << i;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2792  
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2793  			/* Quick check if there is a PHY at the address */
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2794  			r = emac_mdio_read(dev->ndev, i, MII_BMCR);
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2795  			if (r == 0xffff || r < 0)
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2796  				continue;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2797  			if (!emac_mii_phy_probe(&dev->phy, i))
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2798  				break;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2799  		}
0925ab5d385b6c drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2800  
0925ab5d385b6c drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2801  	/* Enable external clock source */
0925ab5d385b6c drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2802  #ifdef CONFIG_PPC_DCR_NATIVE
0925ab5d385b6c drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2803  	if (emac_has_feature(dev, EMAC_FTR_440GX_PHY_CLK_FIX))
0925ab5d385b6c drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2804  		dcri_clrset(SDR0, SDR0_MFR, SDR0_MFR_ECS, 0);
0925ab5d385b6c drivers/net/ibm_newemac/core.c       Valentine Barshak   2008-04-22  2805  #endif
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2806  	mutex_unlock(&emac_phy_map_lock);
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2807  	if (i == 0x20) {
f7ce91038d5278 drivers/net/ethernet/ibm/emac/core.c Rob Herring         2017-07-18  2808  		printk(KERN_WARNING "%pOF: can't find PHY!\n", np);
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2809  		return -ENXIO;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2810  	}
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2811  
a577ca6badb526 drivers/net/ethernet/ibm/emac/core.c Christian Lamparter 2017-02-20  2812   init_phy:
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2813  	/* Init PHY */
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2814  	if (dev->phy.def->ops->init)
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2815  		dev->phy.def->ops->init(&dev->phy);
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2816  
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2817  	/* Disable any PHY features not supported by the platform */
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23 @2818  	dev->phy.def->features &= ~dev->phy_feat_exc;
ae5d33723e3253 drivers/net/ethernet/ibm/emac/core.c Duc Dang            2012-03-05  2819  	dev->phy.features &= ~dev->phy_feat_exc;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2820  
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2821  	/* Setup initial link parameters */
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2822  	if (dev->phy.features & SUPPORTED_Autoneg) {
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2823  		adv = dev->phy.features;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2824  		if (!emac_has_feature(dev, EMAC_FTR_NO_FLOW_CONTROL_40x))
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2825  			adv |= ADVERTISED_Pause | ADVERTISED_Asym_Pause;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2826  		/* Restart autonegotiation */
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2827  		dev->phy.def->ops->setup_aneg(&dev->phy, adv);
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2828  	} else {
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2829  		u32 f = dev->phy.def->features;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2830  		int speed = SPEED_10, fd = DUPLEX_HALF;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2831  
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2832  		/* Select highest supported speed/duplex */
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2833  		if (f & SUPPORTED_1000baseT_Full) {
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2834  			speed = SPEED_1000;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2835  			fd = DUPLEX_FULL;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2836  		} else if (f & SUPPORTED_1000baseT_Half)
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2837  			speed = SPEED_1000;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2838  		else if (f & SUPPORTED_100baseT_Full) {
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2839  			speed = SPEED_100;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2840  			fd = DUPLEX_FULL;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2841  		} else if (f & SUPPORTED_100baseT_Half)
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2842  			speed = SPEED_100;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2843  		else if (f & SUPPORTED_10baseT_Full)
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2844  			fd = DUPLEX_FULL;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2845  
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2846  		/* Force link parameters */
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2847  		dev->phy.def->ops->setup_forced(&dev->phy, speed, fd);
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2848  	}
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2849  	return 0;
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2850  }
1d3bb996481e11 drivers/net/ibm_newemac/core.c       David Gibson        2007-08-23  2851  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ