* [sashal-linux-stable:pending-4.4 29/69] drivers/regulator/tps65910-regulator.c:1212:11: error: implicit declaration of function 'dev_err_probe'; did you mean 'device_reprobe'?
@ 2021-09-13 1:07 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-09-13 1:07 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 8306 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-4.4
head: 1f942289a34c4addb1ba3d6595dbd91e6e1500a7
commit: 479df1758a097d18090190d1c96c21f6de6862e5 [29/69] regulator: tps65910: Silence deferred probe error
config: arc-randconfig-r043-20210913 (attached as .config)
compiler: arc-elf-gcc (GCC) 7.5.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://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/commit/?id=479df1758a097d18090190d1c96c21f6de6862e5
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-4.4
git checkout 479df1758a097d18090190d1c96c21f6de6862e5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
In file included from arch/arc/include/asm/atomic.h:16:0,
from include/linux/atomic.h:4,
from include/linux/debug_locks.h:5,
from include/linux/lockdep.h:23,
from include/linux/spinlock_types.h:18,
from include/linux/spinlock.h:81,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/linux/stat.h:18,
from include/linux/module.h:10,
from drivers/regulator/tps65910-regulator.c:17:
arch/arc/include/asm/cmpxchg.h: In function '__cmpxchg':
arch/arc/include/asm/cmpxchg.h:61:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (prev == expected)
^~
drivers/regulator/tps65910-regulator.c: In function 'tps65910_probe':
>> drivers/regulator/tps65910-regulator.c:1212:11: error: implicit declaration of function 'dev_err_probe'; did you mean 'device_reprobe'? [-Werror=implicit-function-declaration]
return dev_err_probe(tps65910->dev, PTR_ERR(rdev),
^~~~~~~~~~~~~
device_reprobe
cc1: some warnings being treated as errors
vim +1212 drivers/regulator/tps65910-regulator.c
1075
1076 static int tps65910_probe(struct platform_device *pdev)
1077 {
1078 struct tps65910 *tps65910 = dev_get_drvdata(pdev->dev.parent);
1079 struct regulator_config config = { };
1080 struct tps_info *info;
1081 struct regulator_dev *rdev;
1082 struct tps65910_reg *pmic;
1083 struct tps65910_board *pmic_plat_data;
1084 struct of_regulator_match *tps65910_reg_matches = NULL;
1085 int i, err;
1086
1087 pmic_plat_data = dev_get_platdata(tps65910->dev);
1088 if (!pmic_plat_data && tps65910->dev->of_node)
1089 pmic_plat_data = tps65910_parse_dt_reg_data(pdev,
1090 &tps65910_reg_matches);
1091
1092 if (!pmic_plat_data) {
1093 dev_err(&pdev->dev, "Platform data not found\n");
1094 return -EINVAL;
1095 }
1096
1097 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL);
1098 if (!pmic)
1099 return -ENOMEM;
1100
1101 pmic->mfd = tps65910;
1102 platform_set_drvdata(pdev, pmic);
1103
1104 /* Give control of all register to control port */
1105 err = tps65910_reg_set_bits(pmic->mfd, TPS65910_DEVCTRL,
1106 DEVCTRL_SR_CTL_I2C_SEL_MASK);
1107 if (err < 0)
1108 return err;
1109
1110 switch (tps65910_chip_id(tps65910)) {
1111 case TPS65910:
1112 pmic->get_ctrl_reg = &tps65910_get_ctrl_register;
1113 pmic->num_regulators = ARRAY_SIZE(tps65910_regs);
1114 pmic->ext_sleep_control = tps65910_ext_sleep_control;
1115 info = tps65910_regs;
1116 /* Work around silicon erratum SWCZ010: output programmed
1117 * voltage level can go higher than expected or crash
1118 * Workaround: use no synchronization of DCDC clocks
1119 */
1120 tps65910_reg_clear_bits(pmic->mfd, TPS65910_DCDCCTRL,
1121 DCDCCTRL_DCDCCKSYNC_MASK);
1122 break;
1123 case TPS65911:
1124 pmic->get_ctrl_reg = &tps65911_get_ctrl_register;
1125 pmic->num_regulators = ARRAY_SIZE(tps65911_regs);
1126 pmic->ext_sleep_control = tps65911_ext_sleep_control;
1127 info = tps65911_regs;
1128 break;
1129 default:
1130 dev_err(&pdev->dev, "Invalid tps chip version\n");
1131 return -ENODEV;
1132 }
1133
1134 pmic->desc = devm_kzalloc(&pdev->dev, pmic->num_regulators *
1135 sizeof(struct regulator_desc), GFP_KERNEL);
1136 if (!pmic->desc)
1137 return -ENOMEM;
1138
1139 pmic->info = devm_kzalloc(&pdev->dev, pmic->num_regulators *
1140 sizeof(struct tps_info *), GFP_KERNEL);
1141 if (!pmic->info)
1142 return -ENOMEM;
1143
1144 pmic->rdev = devm_kzalloc(&pdev->dev, pmic->num_regulators *
1145 sizeof(struct regulator_dev *), GFP_KERNEL);
1146 if (!pmic->rdev)
1147 return -ENOMEM;
1148
1149 for (i = 0; i < pmic->num_regulators && i < TPS65910_NUM_REGS;
1150 i++, info++) {
1151 /* Register the regulators */
1152 pmic->info[i] = info;
1153
1154 pmic->desc[i].name = info->name;
1155 pmic->desc[i].supply_name = info->vin_name;
1156 pmic->desc[i].id = i;
1157 pmic->desc[i].n_voltages = info->n_voltages;
1158 pmic->desc[i].enable_time = info->enable_time_us;
1159
1160 if (i == TPS65910_REG_VDD1 || i == TPS65910_REG_VDD2) {
1161 pmic->desc[i].ops = &tps65910_ops_dcdc;
1162 pmic->desc[i].n_voltages = VDD1_2_NUM_VOLT_FINE *
1163 VDD1_2_NUM_VOLT_COARSE;
1164 pmic->desc[i].ramp_delay = 12500;
1165 } else if (i == TPS65910_REG_VDD3) {
1166 if (tps65910_chip_id(tps65910) == TPS65910) {
1167 pmic->desc[i].ops = &tps65910_ops_vdd3;
1168 pmic->desc[i].volt_table = info->voltage_table;
1169 } else {
1170 pmic->desc[i].ops = &tps65910_ops_dcdc;
1171 pmic->desc[i].ramp_delay = 5000;
1172 }
1173 } else if (i == TPS65910_REG_VBB &&
1174 tps65910_chip_id(tps65910) == TPS65910) {
1175 pmic->desc[i].ops = &tps65910_ops_vbb;
1176 pmic->desc[i].volt_table = info->voltage_table;
1177 } else {
1178 if (tps65910_chip_id(tps65910) == TPS65910) {
1179 pmic->desc[i].ops = &tps65910_ops;
1180 pmic->desc[i].volt_table = info->voltage_table;
1181 } else {
1182 pmic->desc[i].ops = &tps65911_ops;
1183 }
1184 }
1185
1186 err = tps65910_set_ext_sleep_config(pmic, i,
1187 pmic_plat_data->regulator_ext_sleep_control[i]);
1188 /*
1189 * Failing on regulator for configuring externally control
1190 * is not a serious issue, just throw warning.
1191 */
1192 if (err < 0)
1193 dev_warn(tps65910->dev,
1194 "Failed to initialise ext control config\n");
1195
1196 pmic->desc[i].type = REGULATOR_VOLTAGE;
1197 pmic->desc[i].owner = THIS_MODULE;
1198 pmic->desc[i].enable_reg = pmic->get_ctrl_reg(i);
1199 pmic->desc[i].enable_mask = TPS65910_SUPPLY_STATE_ENABLED;
1200
1201 config.dev = tps65910->dev;
1202 config.init_data = pmic_plat_data->tps65910_pmic_init_data[i];
1203 config.driver_data = pmic;
1204 config.regmap = tps65910->regmap;
1205
1206 if (tps65910_reg_matches)
1207 config.of_node = tps65910_reg_matches[i].of_node;
1208
1209 rdev = devm_regulator_register(&pdev->dev, &pmic->desc[i],
1210 &config);
1211 if (IS_ERR(rdev))
> 1212 return dev_err_probe(tps65910->dev, PTR_ERR(rdev),
1213 "failed to register %s regulator\n",
1214 pdev->name);
1215
1216 /* Save regulator for cleanup */
1217 pmic->rdev[i] = rdev;
1218 }
1219 return 0;
1220 }
1221
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 14907 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-09-13 1:07 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-13 1:07 [sashal-linux-stable:pending-4.4 29/69] drivers/regulator/tps65910-regulator.c:1212:11: error: implicit declaration of function 'dev_err_probe'; did you mean 'device_reprobe'? 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.