[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMRc=Med1gSg_ALsb_J2G5QXQ=438CiqG4GT-NYQT-uDF_cPHA@mail.gmail.com>
Date: Thu, 13 Sep 2018 10:39:48 +0200
From: Bartosz Golaszewski <brgl@...ev.pl>
To: kbuild test robot <lkp@...el.com>
Cc: kbuild-all@...org,
Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
"David S . Miller" <davem@...emloft.net>,
Mauro Carvalho Chehab <mchehab+samsung@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Arnd Bergmann <arnd@...db.de>,
Jonathan Corbet <corbet@....net>, Sekhar Nori <nsekhar@...com>,
Kevin Hilman <khilman@...nel.org>,
David Lechner <david@...hnology.com>,
Boris Brezillon <boris.brezillon@...tlin.com>,
Andrew Lunn <andrew@...n.ch>, Alban Bedel <albeu@...e.fr>,
Maxime Ripard <maxime.ripard@...tlin.com>,
Chen-Yu Tsai <wens@...e.org>,
linux-doc <linux-doc@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
Bartosz Golaszewski <bgolaszewski@...libre.com>
Subject: Re: [PATCH v3 08/21] nvmem: sunxi_sid: use devm_nvmem_register()
2018-09-13 3:38 GMT+02:00 kbuild test robot <lkp@...el.com>:
> Hi Bartosz,
>
> I love your patch! Perhaps something to improve:
>
> [auto build test WARNING on linus/master]
> [also build test WARNING on v4.19-rc3 next-20180912]
> [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/Bartosz-Golaszewski/nvmem-rework-of-the-subsystem-for-non-DT-users/20180913-071053
> config: arm-sunxi_defconfig (attached as .config)
> compiler: arm-linux-gnueabi-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
> GCC_VERSION=7.2.0 make.cross ARCH=arm
>
> All warnings (new ones prefixed by >>):
>
> drivers/nvmem/sunxi_sid.c: In function 'sunxi_sid_probe':
>>> drivers/nvmem/sunxi_sid.c:190:18: warning: passing argument 1 of 'PTR_ERR' makes pointer from integer without a cast [-Wint-conversion]
> return PTR_ERR(-EINVAL);
> ^
> In file included from include/linux/kernfs.h:11:0,
> from include/linux/sysfs.h:16,
> from include/linux/kobject.h:20,
> from include/linux/device.h:16,
> from drivers/nvmem/sunxi_sid.c:18:
> include/linux/err.h:29:33: note: expected 'const void *' but argument is of type 'int'
> static inline long __must_check PTR_ERR(__force const void *ptr)
> ^~~~~~~
> drivers/nvmem/sunxi_sid.c:157:6: warning: unused variable 'ret' [-Wunused-variable]
> int ret, i, size;
> ^~~
>
> vim +/PTR_ERR +190 drivers/nvmem/sunxi_sid.c
>
> 150
> 151 static int sunxi_sid_probe(struct platform_device *pdev)
> 152 {
> 153 struct device *dev = &pdev->dev;
> 154 struct resource *res;
> 155 struct nvmem_device *nvmem;
> 156 struct sunxi_sid *sid;
> 157 int ret, i, size;
> 158 char *randomness;
> 159 const struct sunxi_sid_cfg *cfg;
> 160
> 161 sid = devm_kzalloc(dev, sizeof(*sid), GFP_KERNEL);
> 162 if (!sid)
> 163 return -ENOMEM;
> 164
> 165 cfg = of_device_get_match_data(dev);
> 166 if (!cfg)
> 167 return -EINVAL;
> 168 sid->value_offset = cfg->value_offset;
> 169
> 170 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> 171 sid->base = devm_ioremap_resource(dev, res);
> 172 if (IS_ERR(sid->base))
> 173 return PTR_ERR(sid->base);
> 174
> 175 size = cfg->size;
> 176
> 177 econfig.size = size;
> 178 econfig.dev = dev;
> 179 if (cfg->need_register_readout)
> 180 econfig.reg_read = sun8i_sid_read_by_reg;
> 181 else
> 182 econfig.reg_read = sunxi_sid_read;
> 183 econfig.priv = sid;
> 184 nvmem = devm_nvmem_register(dev, &econfig);
> 185 if (IS_ERR(nvmem))
> 186 return PTR_ERR(nvmem);
> 187
> 188 randomness = kzalloc(size, GFP_KERNEL);
> 189 if (!randomness)
> > 190 return PTR_ERR(-EINVAL);
Will fix in v4. I think this should also return -ENOMEM, not -EINVAL.
Bart
> 191
> 192 for (i = 0; i < size; i++)
> 193 econfig.reg_read(sid, i, &randomness[i], 1);
> 194
> 195 add_device_randomness(randomness, size);
> 196 kfree(randomness);
> 197
> 198 platform_set_drvdata(pdev, nvmem);
> 199
> 200 return 0;
> 201 }
> 202
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
Powered by blists - more mailing lists