* [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'
@ 2026-08-02 20:39 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-02 20:39 UTC (permalink / raw)
To: Daniel Palmer; +Cc: oe-kbuild-all
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/202608030456.VNY66Cjk-lkp@intel.com/config)
compiler: nios2-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260803/202608030456.VNY66Cjk-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/202608030456.VNY66Cjk-lkp@intel.com/
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 <daniel@0x0f.com>
:::::: CC: Daniel Palmer <daniel@0x0f.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-02 20:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-02 20:39 [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
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.