Re: [PATCH v5 8/9] PCI: pwrctrl: Add power control driver for tc9563

From: kernel test robot
Date: Tue Apr 15 2025 - 04:57:45 EST


Hi Krishna,

kernel test robot noticed the following build errors:

[auto build test ERROR on f4d2ef48250ad057e4f00087967b5ff366da9f39]

url: https://github.com/intel-lab-lkp/linux/commits/Krishna-Chaitanya-Chundru/dt-bindings-PCI-Add-binding-for-Toshiba-TC9563-PCIe-switch/20250414-123816
base: f4d2ef48250ad057e4f00087967b5ff366da9f39
patch link: https://lore.kernel.org/r/20250412-qps615_v4_1-v5-8-5b6a06132fec%40oss.qualcomm.com
patch subject: [PATCH v5 8/9] PCI: pwrctrl: Add power control driver for tc9563
config: sparc-allmodconfig (https://download.01.org/0day-ci/archive/20250415/202504151624.8fF601aD-lkp@xxxxxxxxx/config)
compiler: sparc64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250415/202504151624.8fF601aD-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504151624.8fF601aD-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c: In function 'tc9563_pwrctrl_set_l0s_l1_entry_delay':
>> drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c:257:34: error: implicit declaration of function 'u32_replace_bits' [-Wimplicit-function-declaration]
257 | rd_val = u32_replace_bits(rd_val, units, TC9563_ETH_L1_DELAY_MASK);
| ^~~~~~~~~~~~~~~~
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c: In function 'tc9563_pwrctrl_power_off':
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c:419:9: error: implicit declaration of function 'gpiod_set_value' [-Wimplicit-function-declaration]
419 | gpiod_set_value(ctx->reset_gpio, 1);
| ^~~~~~~~~~~~~~~
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c: In function 'tc9563_pwrctrl_probe':
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c:535:27: error: implicit declaration of function 'devm_gpiod_get'; did you mean 'em_pd_get'? [-Wimplicit-function-declaration]
535 | ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
| ^~~~~~~~~~~~~~
| em_pd_get
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c:535:56: error: 'GPIOD_OUT_HIGH' undeclared (first use in this function)
535 | ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
| ^~~~~~~~~~~~~~
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c:535:56: note: each undeclared identifier is reported only once for each function it appears in


vim +/u32_replace_bits +257 drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c

238
239 static int tc9563_pwrctrl_set_l0s_l1_entry_delay(struct tc9563_pwrctrl_ctx *ctx,
240 enum tc9563_pwrctrl_ports port, bool is_l1, u32 ns)
241 {
242 u32 rd_val, units;
243 int ret;
244
245 if (ns < 256)
246 return 0;
247
248 /* convert to units of 256ns */
249 units = ns / 256;
250
251 if (port == TC9563_ETHERNET) {
252 ret = tc9563_pwrctrl_i2c_read(ctx->client, TC9563_EMBEDDED_ETH_DELAY, &rd_val);
253 if (ret)
254 return ret;
255
256 if (is_l1)
> 257 rd_val = u32_replace_bits(rd_val, units, TC9563_ETH_L1_DELAY_MASK);
258 else
259 rd_val = u32_replace_bits(rd_val, units, TC9563_ETH_L0S_DELAY_MASK);
260
261 return tc9563_pwrctrl_i2c_write(ctx->client, TC9563_EMBEDDED_ETH_DELAY, rd_val);
262 }
263
264 ret = tc9563_pwrctrl_i2c_write(ctx->client, TC9563_PORT_SELECT, BIT(port));
265 if (ret)
266 return ret;
267
268 return tc9563_pwrctrl_i2c_write(ctx->client,
269 is_l1 ? TC9563_PORT_L1_DELAY : TC9563_PORT_L0S_DELAY, units);
270 }
271

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