Hi, [auto build test ERROR on hwmon/hwmon-next] [also build test ERROR on v4.7-rc5 next-20160629] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Guenter-Roeck/hwmon-lm75-Handle-cleanup-with-devm_add_action/20160630-114916 base: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next config: m32r-m32104ut_defconfig (attached as .config) compiler: m32r-linux-gcc (GCC) 4.9.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m32r All error/warnings (new ones prefixed by >>): >> drivers/hwmon/lm75.c:198:21: error: variable 'lm75_regmap_config' has initializer but incomplete type static const struct regmap_config lm75_regmap_config = { ^ >> drivers/hwmon/lm75.c:199:2: error: unknown field 'reg_bits' specified in initializer .reg_bits = 8, ^ >> drivers/hwmon/lm75.c:199:2: warning: excess elements in struct initializer drivers/hwmon/lm75.c:199:2: warning: (near initialization for 'lm75_regmap_config') >> drivers/hwmon/lm75.c:200:2: error: unknown field 'val_bits' specified in initializer .val_bits = 16, ^ drivers/hwmon/lm75.c:200:2: warning: excess elements in struct initializer drivers/hwmon/lm75.c:200:2: warning: (near initialization for 'lm75_regmap_config') >> drivers/hwmon/lm75.c:201:2: error: unknown field 'max_register' specified in initializer .max_register = LM75_REG_MAX, ^ drivers/hwmon/lm75.c:201:2: warning: excess elements in struct initializer drivers/hwmon/lm75.c:201:2: warning: (near initialization for 'lm75_regmap_config') >> drivers/hwmon/lm75.c:202:2: error: unknown field 'writeable_reg' specified in initializer .writeable_reg = lm75_is_writeable_reg, ^ drivers/hwmon/lm75.c:202:2: warning: excess elements in struct initializer drivers/hwmon/lm75.c:202:2: warning: (near initialization for 'lm75_regmap_config') >> drivers/hwmon/lm75.c:203:2: error: unknown field 'volatile_reg' specified in initializer .volatile_reg = lm75_is_volatile_reg, ^ drivers/hwmon/lm75.c:203:2: warning: excess elements in struct initializer drivers/hwmon/lm75.c:203:2: warning: (near initialization for 'lm75_regmap_config') >> drivers/hwmon/lm75.c:204:2: error: unknown field 'val_format_endian' specified in initializer .val_format_endian = REGMAP_ENDIAN_BIG, ^ >> drivers/hwmon/lm75.c:204:23: error: 'REGMAP_ENDIAN_BIG' undeclared here (not in a function) .val_format_endian = REGMAP_ENDIAN_BIG, ^ drivers/hwmon/lm75.c:204:2: warning: excess elements in struct initializer .val_format_endian = REGMAP_ENDIAN_BIG, ^ drivers/hwmon/lm75.c:204:2: warning: (near initialization for 'lm75_regmap_config') >> drivers/hwmon/lm75.c:205:2: error: unknown field 'cache_type' specified in initializer .cache_type = REGCACHE_RBTREE, ^ drivers/hwmon/lm75.c:205:2: warning: excess elements in struct initializer drivers/hwmon/lm75.c:205:2: warning: (near initialization for 'lm75_regmap_config') >> drivers/hwmon/lm75.c:206:2: error: unknown field 'use_single_rw' specified in initializer .use_single_rw = true, ^ drivers/hwmon/lm75.c:206:2: warning: excess elements in struct initializer drivers/hwmon/lm75.c:206:2: warning: (near initialization for 'lm75_regmap_config') drivers/hwmon/lm75.c: In function 'lm75_probe': >> drivers/hwmon/lm75.c:238:2: error: implicit declaration of function 'devm_regmap_init_i2c' [-Werror=implicit-function-declaration] data->regmap = devm_regmap_init_i2c(client, &lm75_regmap_config); ^ >> drivers/hwmon/lm75.c:238:15: warning: assignment makes pointer from integer without a cast data->regmap = devm_regmap_init_i2c(client, &lm75_regmap_config); ^ cc1: some warnings being treated as errors vim +/lm75_regmap_config +198 drivers/hwmon/lm75.c 192 193 static bool lm75_is_volatile_reg(struct device *dev, unsigned int reg) 194 { 195 return reg == LM75_REG_TEMP; 196 } 197 > 198 static const struct regmap_config lm75_regmap_config = { > 199 .reg_bits = 8, > 200 .val_bits = 16, > 201 .max_register = LM75_REG_MAX, > 202 .writeable_reg = lm75_is_writeable_reg, > 203 .volatile_reg = lm75_is_volatile_reg, > 204 .val_format_endian = REGMAP_ENDIAN_BIG, > 205 .cache_type = REGCACHE_RBTREE, > 206 .use_single_rw = true, 207 }; 208 209 static void lm75_remove(void *data) 210 { 211 struct lm75_data *lm75 = data; 212 struct i2c_client *client = lm75->client; 213 214 i2c_smbus_write_byte_data(client, LM75_REG_CONF, lm75->orig_conf); 215 } 216 217 static int 218 lm75_probe(struct i2c_client *client, const struct i2c_device_id *id) 219 { 220 struct device *dev = &client->dev; 221 struct device *hwmon_dev; 222 struct lm75_data *data; 223 int status; 224 u8 set_mask, clr_mask; 225 int new; 226 enum lm75_type kind = id->driver_data; 227 228 if (!i2c_check_functionality(client->adapter, 229 I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA)) 230 return -EIO; 231 232 data = devm_kzalloc(dev, sizeof(struct lm75_data), GFP_KERNEL); 233 if (!data) 234 return -ENOMEM; 235 236 data->client = client; 237 > 238 data->regmap = devm_regmap_init_i2c(client, &lm75_regmap_config); 239 if (IS_ERR(data->regmap)) 240 return PTR_ERR(data->regmap); 241 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data