Re: [PATCH v2 2/2] staging: iio: ad7606: move out of staging

From: kbuild test robot
Date: Fri Dec 09 2016 - 21:04:08 EST


Hi Eva,

[auto build test WARNING on iio/togreg]
[also build test WARNING on next-20161209]
[cannot apply to v4.9-rc8]
[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/Eva-Rachel-Retuya/staging-iio-ad7606-move-driver-out-of-staging/20161210-041408
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-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=xtensa

All warnings (new ones prefixed by >>):

In file included from ./arch/xtensa/include/generated/asm/div64.h:1:0,
from include/linux/kernel.h:142,
from include/linux/interrupt.h:5,
from drivers/iio/adc/ad7606.c:9:
drivers/iio/adc/ad7606.c: In function 'ad7606_probe':
include/asm-generic/div64.h:207:28: warning: comparison of distinct pointer types lacks a cast
(void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
^
drivers/iio/adc/ad7606.c:440:27: note: in expansion of macro 'do_div'
st->scale_avail[i][1] = do_div(scale, 100000000) * 10;
^
>> drivers/iio/adc/ad7606.c:440:3: warning: right shift count >= width of type
st->scale_avail[i][1] = do_div(scale, 100000000) * 10;
^
In file included from ./arch/xtensa/include/generated/asm/div64.h:1:0,
from include/linux/kernel.h:142,
from include/linux/interrupt.h:5,
from drivers/iio/adc/ad7606.c:9:
include/asm-generic/div64.h:224:11: warning: passing argument 1 of '__div64_32' from incompatible pointer type
__rem = __div64_32(&(n), __base); \
^
drivers/iio/adc/ad7606.c:440:27: note: in expansion of macro 'do_div'
st->scale_avail[i][1] = do_div(scale, 100000000) * 10;
^
include/asm-generic/div64.h:198:17: note: expected 'uint64_t *' but argument is of type 'unsigned int *'
extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor);
^

vim +440 drivers/iio/adc/ad7606.c

b9618c0c drivers/staging/iio/adc/ad7606_core.c Michael Hennerich 2011-02-22 424
e61181d0 drivers/staging/iio/adc/ad7606_core.c Michael Hennerich 2011-05-18 425 st = iio_priv(indio_dev);
e61181d0 drivers/staging/iio/adc/ad7606_core.c Michael Hennerich 2011-05-18 426
b9618c0c drivers/staging/iio/adc/ad7606_core.c Michael Hennerich 2011-02-22 427 st->dev = dev;
b9618c0c drivers/staging/iio/adc/ad7606_core.c Michael Hennerich 2011-02-22 428 st->bops = bops;
b9618c0c drivers/staging/iio/adc/ad7606_core.c Michael Hennerich 2011-02-22 429 st->base_address = base_address;
c22bfdb9 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-12-09 430 /* tied to logic low, analog input range is +/- 5V */
c22bfdb9 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-12-09 431 st->range = 0;
e79e8027 drivers/staging/iio/adc/ad7606_core.c Lars-Peter Clausen 2016-10-19 432 st->oversampling = 1;
c22bfdb9 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-12-09 433 /* Populate the scales, 2.5/2**16 then 5/2**16 */
c22bfdb9 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-12-09 434 range = 5000;
c22bfdb9 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-12-09 435 for (i = 0, j = 1; i < ARRAY_SIZE(st->scale_avail); i++, j--) {
c22bfdb9 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-12-09 436 scale = ((u64)range * 100000000) >>
c22bfdb9 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-12-09 437 ad7606_channels[1].scan_type.realbits;
c22bfdb9 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-12-09 438 scale >>= j;
c22bfdb9 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-12-09 439
c22bfdb9 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-12-09 @440 st->scale_avail[i][1] = do_div(scale, 100000000) * 10;
c22bfdb9 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-12-09 441 st->scale_avail[i][0] = scale;
c22bfdb9 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-12-09 442 }
fa23105f drivers/staging/iio/adc/ad7606.c Lars-Peter Clausen 2016-10-19 443 INIT_WORK(&st->poll_work, &ad7606_poll_bh_to_ring);
b9618c0c drivers/staging/iio/adc/ad7606_core.c Michael Hennerich 2011-02-22 444
12edb974 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-10-20 445 st->reg = devm_regulator_get(dev, "avcc");
f0879217 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-10-20 446 if (IS_ERR(st->reg))
f0879217 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-10-20 447 return PTR_ERR(st->reg);
f0879217 drivers/staging/iio/adc/ad7606.c Eva Rachel Retuya 2016-10-20 448

:::::: The code at line 440 was first introduced by commit
:::::: c22bfdb966a91ee001c3ab37b8fb070dbebb2510 staging: iio: ad7606: replace range/range_available with corresponding scale

:::::: TO: Eva Rachel Retuya <eraretuya@xxxxxxxxx>
:::::: CC: 0day robot <fengguang.wu@xxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip