lkml.org 
[lkml]   [2018]   [Mar]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/2] nvmem: Add RAVE SP EEPROM driver
Hi Andrey,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16-rc6 next-20180322]
[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/Andrey-Smirnov/dt-bindings-nvmem-Add-binding-for-RAVE-SP-EEPROM-driver/20180323-130858
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=sh

Note: the linux-review/Andrey-Smirnov/dt-bindings-nvmem-Add-binding-for-RAVE-SP-EEPROM-driver/20180323-130858 HEAD c74df185f384be5ad59649d893da92e2df54b967 builds fine.
It only hurts bisectibility.

All errors (new ones prefixed by >>):

drivers/nvmem/rave-sp-eeprom.c: In function 'rave_sp_eeprom_probe':
>> drivers/nvmem/rave-sp-eeprom.c:315:13: error: 'SZ_8K' undeclared (first use in this function)
if (size > SZ_8K)
^~~~~
drivers/nvmem/rave-sp-eeprom.c:315:13: note: each undeclared identifier is reported only once for each function it appears in
drivers/nvmem/rave-sp-eeprom.c:332:10: error: implicit declaration of function 'devm_nvmem_register'; did you mean 'nvmem_register'? [-Werror=implicit-function-declaration]
nvmem = devm_nvmem_register(dev, &config);
^~~~~~~~~~~~~~~~~~~
nvmem_register
drivers/nvmem/rave-sp-eeprom.c:332:8: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
nvmem = devm_nvmem_register(dev, &config);
^
cc1: some warnings being treated as errors

vim +/SZ_8K +315 drivers/nvmem/rave-sp-eeprom.c

281
282 static int rave_sp_eeprom_probe(struct platform_device *pdev)
283 {
284 struct device *dev = &pdev->dev;
285 struct rave_sp *sp = dev_get_drvdata(dev->parent);
286 struct device_node *np = dev->of_node;
287 struct nvmem_config config = { 0 };
288 struct rave_sp_eeprom *eeprom;
289 struct nvmem_device *nvmem;
290 u32 reg[2], size;
291
292 if (of_property_read_u32_array(np, "reg", reg, ARRAY_SIZE(reg))) {
293 dev_err(dev, "Failed to parse \"reg\" property\n");
294 return -EINVAL;
295 }
296
297 size = reg[1];
298 /*
299 * Per ICD, we have no more than 2 bytes to specify EEPROM
300 * page.
301 */
302 if (size > U16_MAX * RAVE_SP_EEPROM_PAGE_SIZE) {
303 dev_err(dev, "Specified size is too big\n");
304 return -EINVAL;
305 }
306
307 eeprom = devm_kzalloc(dev, sizeof(*eeprom), GFP_KERNEL);
308 if (!eeprom)
309 return -ENOMEM;
310
311 eeprom->address = reg[0];
312 eeprom->sp = sp;
313 eeprom->dev = dev;
314
> 315 if (size > SZ_8K)
316 eeprom->header_size = RAVE_SP_EEPROM_HEADER_BIG;
317 else
318 eeprom->header_size = RAVE_SP_EEPROM_HEADER_SMALL;
319
320 mutex_init(&eeprom->mutex);
321
322 config.id = -1;
323 config.name = dev->of_node->name;
324 config.priv = eeprom;
325 config.dev = dev;
326 config.size = size;
327 config.reg_read = rave_sp_eeprom_reg_read;
328 config.reg_write = rave_sp_eeprom_reg_write;
329 config.word_size = 1;
330 config.stride = 1;
331
332 nvmem = devm_nvmem_register(dev, &config);
333
334 return PTR_ERR_OR_ZERO(nvmem);
335 }
336

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[unhandled content-type:application/gzip]
\
 
 \ /
  Last update: 2018-03-23 11:23    [W:0.048 / U:25.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site