Re: [PATCH 1/2] mmc: cavium: Fix voltage reg. switching for card slots

From: kernel test robot
Date: Thu Nov 18 2021 - 22:50:44 EST


Hi Wojciech,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v5.16-rc1 next-20211118]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Wojciech-Bartczak/mmc-cavium-Fix-MMC-supply-switching-for-cards/20211118-063028
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: ia64-buildonly-randconfig-r005-20211119 (attached as .config)
compiler: ia64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/1a0194dde9d7f7c97c8257103835b04cbaf50f3b
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Wojciech-Bartczak/mmc-cavium-Fix-MMC-supply-switching-for-cards/20211118-063028
git checkout 1a0194dde9d7f7c97c8257103835b04cbaf50f3b
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/mmc/host/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> drivers/mmc/host/cavium.c:205: warning: expecting prototype for pre_switch(). Prototype was for switch_vqmmc() instead


vim +205 drivers/mmc/host/cavium.c

ba3869ff32e4a6 Jan Glauber 2017-03-30 195
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 196 /**
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 197 * pre_switch - Switch voltage regulators
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 198 * @prev: Current slot, can be NULL
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 199 * @next: Next slot
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 200 *
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 201 * Switch between regulators used by slots. This call has to be done
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 202 * after call to pre_switch().
ba3869ff32e4a6 Jan Glauber 2017-03-30 203 */
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 204 static void switch_vqmmc(struct cvm_mmc_slot *prev, struct cvm_mmc_slot *next)
ba3869ff32e4a6 Jan Glauber 2017-03-30 @205 {
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 206 bool same_vqmmc = false;
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 207 struct regulator *next_vqmmc;
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 208 struct regulator *prev_vqmmc;
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 209
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 210 next_vqmmc = next->mmc->supply.vqmmc;
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 211 if (prev) {
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 212 prev_vqmmc = prev->mmc->supply.vqmmc;
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 213 /* Prev slot and next slot share vqmmc? */
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 214 same_vqmmc = prev_vqmmc == next_vqmmc;
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 215 /* Disable old regulator, if not the same */
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 216 if (!same_vqmmc && !IS_ERR_OR_NULL(prev_vqmmc))
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 217 regulator_disable(prev_vqmmc);
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 218 }
ba3869ff32e4a6 Jan Glauber 2017-03-30 219
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 220 /* Enable regulator for next slot */
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 221 if (!same_vqmmc && !IS_ERR_OR_NULL(next_vqmmc)) {
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 222 int ret;
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 223
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 224 ret = regulator_enable(next_vqmmc);
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 225 if (ret)
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 226 dev_err(mmc_classdev(next->mmc),
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 227 "Can't enable vqmmc, error (%d)!\n", ret);
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 228 }
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 229 }
1a0194dde9d7f7 Wojciech Bartczak 2021-11-17 230

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip