[chenxing:mstar_v6_5_reorder 385/700] drivers/phy/mstar/phy-msc313-usb.c:200:9: warning: ignoring return value of 'regulator_enable' declared with attribute 'warn_unused_result'

kernel test robot <[email protected]> Mon, 03 Aug 2026 04:39:14 +0800
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
Hi Daniel,

First bad commit (maybe != root cause):

tree:   https://github.com/linux-chenxing/linux.git mstar_v6_5_reorder
head:   1a5c60e65ea399670a5384b869c4958338af2799
commit: fc183ea8feb9dae42fc1d3174dea8c4fbccb256b [385/700] phy: mstar: mipi dphy
config: nios2-allmodconfig (https://download.01.org/0day-ci/archive/20260803/[email protected]/config)
compiler: nios2-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260803/[email protected]/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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

   drivers/phy/mstar/phy-msc313-usb.c: In function 'msc313_usb_phy_probe':
   drivers/phy/mstar/phy-msc313-usb.c:160:17: warning: ignoring return value of 'devm_request_irq' declared with attribute 'warn_unused_result' [-Wunused-result]
     160 |                 devm_request_irq(&pdev->dev, irq, msc313_usb_phy_irq, IRQF_SHARED,
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     161 |                                 dev_name(&pdev->dev), msc313_usb_phy);
         |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/phy/mstar/phy-msc313-usb.c:200:9: warning: ignoring return value of 'regulator_enable' declared with attribute 'warn_unused_result' [-Wunused-result]
     200 |         regulator_enable(msc313_usb_phy->vbus);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/phy/mstar/phy-msc313-usb.c:15:
   At top level:
>> include/linux/usb/mstar_utmi.h:80:25: warning: 'mstar_utmi_pwrctrl_pwrdwn_field' defined but not used [-Wunused-variable]
      80 | static struct reg_field mstar_utmi_pwrctrl_pwrdwn_field = REG_FIELD(REG_PWRCTRL, PWRCTRL_REG_PDN, PWRCTRL_REG_PDN);
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +200 drivers/phy/mstar/phy-msc313-usb.c

707b79e71be8aa Daniel Palmer 2019-06-25  105  
707b79e71be8aa Daniel Palmer 2019-06-25  106  static int msc313_usb_phy_probe(struct platform_device *pdev)
707b79e71be8aa Daniel Palmer 2019-06-25  107  {
707b79e71be8aa Daniel Palmer 2019-06-25  108  	struct device *dev = &pdev->dev;
707b79e71be8aa Daniel Palmer 2019-06-25  109  	struct phy_provider *phy_provider;
707b79e71be8aa Daniel Palmer 2019-06-25  110  	struct msc313_usb_phy *msc313_usb_phy;
707b79e71be8aa Daniel Palmer 2019-06-25  111  	int i, irq;
707b79e71be8aa Daniel Palmer 2019-06-25  112  	bool swap;
707b79e71be8aa Daniel Palmer 2019-06-25  113  
707b79e71be8aa Daniel Palmer 2019-06-25  114  	msc313_usb_phy = devm_kzalloc(dev, sizeof(*msc313_usb_phy), GFP_KERNEL);
707b79e71be8aa Daniel Palmer 2019-06-25  115  	if (!msc313_usb_phy)
707b79e71be8aa Daniel Palmer 2019-06-25  116  		return  -ENOMEM;
707b79e71be8aa Daniel Palmer 2019-06-25  117  
707b79e71be8aa Daniel Palmer 2019-06-25  118  	msc313_usb_phy->dev = dev;
707b79e71be8aa Daniel Palmer 2019-06-25  119  
707b79e71be8aa Daniel Palmer 2019-06-25  120  	msc313_usb_phy->utmi = syscon_regmap_lookup_by_phandle(dev->of_node, "mstar,utmi");
707b79e71be8aa Daniel Palmer 2019-06-25  121  	if(IS_ERR(msc313_usb_phy->utmi)){
707b79e71be8aa Daniel Palmer 2019-06-25  122  		return PTR_ERR(msc313_usb_phy->utmi);
707b79e71be8aa Daniel Palmer 2019-06-25  123  	}
707b79e71be8aa Daniel Palmer 2019-06-25  124  
707b79e71be8aa Daniel Palmer 2019-06-25  125  	msc313_usb_phy->usbc = syscon_regmap_lookup_by_phandle(dev->of_node, "mstar,usbc");
707b79e71be8aa Daniel Palmer 2019-06-25  126  	if (IS_ERR(msc313_usb_phy->usbc))
707b79e71be8aa Daniel Palmer 2019-06-25  127  		return PTR_ERR(msc313_usb_phy->usbc);
707b79e71be8aa Daniel Palmer 2019-06-25  128  
707b79e71be8aa Daniel Palmer 2019-06-25  129  	irq = irq_of_parse_and_map(pdev->dev.of_node, 0);
707b79e71be8aa Daniel Palmer 2019-06-25  130  	if (!irq){
707b79e71be8aa Daniel Palmer 2019-06-25  131  		dev_warn(&pdev->dev, "no interrupt provided");
707b79e71be8aa Daniel Palmer 2019-06-25  132  	}
707b79e71be8aa Daniel Palmer 2019-06-25  133  
707b79e71be8aa Daniel Palmer 2019-06-25  134  	// hack for m5, these seem to be the reset values for i3
707b79e71be8aa Daniel Palmer 2019-06-25  135  	regmap_write(msc313_usb_phy->usbc, MSTAR_USBC_REG_RSTCTRL,
707b79e71be8aa Daniel Palmer 2019-06-25  136  			0x228);
707b79e71be8aa Daniel Palmer 2019-06-25  137  	regmap_write(msc313_usb_phy->utmi, MSTAR_UTMI_REG_PLL_TEST1,
707b79e71be8aa Daniel Palmer 2019-06-25  138  				0x2088);
707b79e71be8aa Daniel Palmer 2019-06-25  139  	regmap_write(msc313_usb_phy->utmi, MSTAR_UTMI_REG_PLL_TEST0,
707b79e71be8aa Daniel Palmer 2019-06-25  140  				0x8051);
707b79e71be8aa Daniel Palmer 2019-06-25  141  	regmap_write(msc313_usb_phy->utmi, MSTAR_UTMI_REG_CONFIG,
707b79e71be8aa Daniel Palmer 2019-06-25  142  			0x2084);
707b79e71be8aa Daniel Palmer 2019-06-25  143  
707b79e71be8aa Daniel Palmer 2019-06-25  144  	//FIXME for some reason this doesn't update the registers.
707b79e71be8aa Daniel Palmer 2019-06-25  145  	// some voodoo that is enabled for the msc313 in the vendor sdk
707b79e71be8aa Daniel Palmer 2019-06-25  146  	regmap_write(msc313_usb_phy->usbc, MSTAR_USBC_REG_MIUCFG0,
707b79e71be8aa Daniel Palmer 2019-06-25  147  					0x0);
707b79e71be8aa Daniel Palmer 2019-06-25  148  	regmap_write(msc313_usb_phy->usbc, MSTAR_USBC_REG_MIUCFG1,
707b79e71be8aa Daniel Palmer 2019-06-25  149  					0xffff);
707b79e71be8aa Daniel Palmer 2019-06-25  150  	regmap_write(msc313_usb_phy->usbc, MSTAR_USBC_REG_MIUCFG2,
707b79e71be8aa Daniel Palmer 2019-06-25  151  					BIT(8) | 0xff);
707b79e71be8aa Daniel Palmer 2019-06-25  152  
707b79e71be8aa Daniel Palmer 2019-06-25  153  	// clear any existing interrupts and then enable
707b79e71be8aa Daniel Palmer 2019-06-25  154  	// the interrupt
707b79e71be8aa Daniel Palmer 2019-06-25  155  	regmap_write(msc313_usb_phy->usbc, MSTAR_USBC_REG_INTEN,
707b79e71be8aa Daniel Palmer 2019-06-25  156  			MSTAR_USBC_INT_MASK);
707b79e71be8aa Daniel Palmer 2019-06-25  157  	regmap_write(msc313_usb_phy->usbc, MSTAR_USBC_REG_INTSTS,
707b79e71be8aa Daniel Palmer 2019-06-25  158                          MSTAR_USBC_INT_MASK);
707b79e71be8aa Daniel Palmer 2019-06-25  159  	if(irq){
707b79e71be8aa Daniel Palmer 2019-06-25  160  		devm_request_irq(&pdev->dev, irq, msc313_usb_phy_irq, IRQF_SHARED,
707b79e71be8aa Daniel Palmer 2019-06-25  161  				dev_name(&pdev->dev), msc313_usb_phy);
707b79e71be8aa Daniel Palmer 2019-06-25  162  	}
707b79e71be8aa Daniel Palmer 2019-06-25  163  
707b79e71be8aa Daniel Palmer 2019-06-25  164  	// power up hacks
707b79e71be8aa Daniel Palmer 2019-06-25  165  	regmap_write(msc313_usb_phy->utmi, REG_CLKCTRL, 0x0c2f);
707b79e71be8aa Daniel Palmer 2019-06-25  166  	regmap_write(msc313_usb_phy->utmi, REG_CLKCTRL, 0x040f);
707b79e71be8aa Daniel Palmer 2019-06-25  167  	regmap_write(msc313_usb_phy->utmi, REG_PWRCTRL, 0x7f05);
707b79e71be8aa Daniel Palmer 2019-06-25  168  
707b79e71be8aa Daniel Palmer 2019-06-25  169  	msc313_usb_phy_switch_port(msc313_usb_phy);
707b79e71be8aa Daniel Palmer 2019-06-25  170  
707b79e71be8aa Daniel Palmer 2019-06-25  171  	regmap_write(msc313_usb_phy->utmi, REG_CLKCTRL, 0x0426);
707b79e71be8aa Daniel Palmer 2019-06-25  172  	regmap_write(msc313_usb_phy->utmi, REG_PWRCTRL, 0x6bc3);
707b79e71be8aa Daniel Palmer 2019-06-25  173  	regmap_write(msc313_usb_phy->utmi, REG_PWRCTRL, 0x69c3);
707b79e71be8aa Daniel Palmer 2019-06-25  174  	regmap_write(msc313_usb_phy->utmi, REG_PWRCTRL, 0x0001);
707b79e71be8aa Daniel Palmer 2019-06-25  175  
707b79e71be8aa Daniel Palmer 2019-06-25  176  	regmap_write(msc313_usb_phy->utmi, REG_EYESETTING1, 0x0210);
707b79e71be8aa Daniel Palmer 2019-06-25  177  	regmap_write(msc313_usb_phy->utmi, REG_EYESETTING2, 0x8100);
707b79e71be8aa Daniel Palmer 2019-06-25  178  
707b79e71be8aa Daniel Palmer 2019-06-25  179  
707b79e71be8aa Daniel Palmer 2019-06-25  180  	msc313_usb_phy_do_calibration(msc313_usb_phy);
707b79e71be8aa Daniel Palmer 2019-06-25  181  
707b79e71be8aa Daniel Palmer 2019-06-25  182  	swap = of_property_read_bool(dev->of_node, "mstar,utmi-dxswap");
707b79e71be8aa Daniel Palmer 2019-06-25  183  
707b79e71be8aa Daniel Palmer 2019-06-25  184  	if(swap)
707b79e71be8aa Daniel Palmer 2019-06-25  185  		dev_info(dev, "enabling data line swap");
707b79e71be8aa Daniel Palmer 2019-06-25  186  	regmap_update_bits(msc313_usb_phy->utmi, MSTAR_UTMI_REG_CLKINV,
707b79e71be8aa Daniel Palmer 2019-06-25  187  			MSTAR_UTMI_REG_CLKINV_DPDNSWP, swap ? MSTAR_UTMI_REG_CLKINV_DPDNSWP : 0);
707b79e71be8aa Daniel Palmer 2019-06-25  188  
707b79e71be8aa Daniel Palmer 2019-06-25  189  	//regmap_update_bits(msc313_usb_phy->regmap, REG_PWRCTRL, PWRCTRL_UPLL_PDN, 0);
707b79e71be8aa Daniel Palmer 2019-06-25  190  
707b79e71be8aa Daniel Palmer 2019-06-25  191  	for(i = 0; i < NUM_PORTS; i++){
707b79e71be8aa Daniel Palmer 2019-06-25  192  		msc313_usb_phy->ports[i] = devm_phy_create(dev, NULL, &msc313_usb_phy_ops);
707b79e71be8aa Daniel Palmer 2019-06-25  193  		if (IS_ERR(msc313_usb_phy->ports[i])) {
707b79e71be8aa Daniel Palmer 2019-06-25  194  			return PTR_ERR(msc313_usb_phy->ports[i]);
707b79e71be8aa Daniel Palmer 2019-06-25  195  		}
707b79e71be8aa Daniel Palmer 2019-06-25  196  		phy_set_drvdata(msc313_usb_phy->ports[i], msc313_usb_phy);
707b79e71be8aa Daniel Palmer 2019-06-25  197  	}
707b79e71be8aa Daniel Palmer 2019-06-25  198  
707b79e71be8aa Daniel Palmer 2019-06-25  199  	msc313_usb_phy->vbus = devm_regulator_get(dev, "vbus");
707b79e71be8aa Daniel Palmer 2019-06-25 @200  	regulator_enable(msc313_usb_phy->vbus);
707b79e71be8aa Daniel Palmer 2019-06-25  201  
707b79e71be8aa Daniel Palmer 2019-06-25  202  	dev_set_drvdata(dev, msc313_usb_phy);
707b79e71be8aa Daniel Palmer 2019-06-25  203  
707b79e71be8aa Daniel Palmer 2019-06-25  204  	phy_provider = devm_of_phy_provider_register(&pdev->dev,
707b79e71be8aa Daniel Palmer 2019-06-25  205  						     msc313_usb_phy_xlate);
707b79e71be8aa Daniel Palmer 2019-06-25  206  	return PTR_ERR_OR_ZERO(phy_provider);
707b79e71be8aa Daniel Palmer 2019-06-25  207  }
707b79e71be8aa Daniel Palmer 2019-06-25  208  

:::::: The code at line 200 was first introduced by commit
:::::: 707b79e71be8aa1925909c907ed8c3d6302cb669 phy: msc313 usb phy

:::::: TO: Daniel Palmer <[email protected]>
:::::: CC: Daniel Palmer <[email protected]>

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