RE: [PATCH 1/3] iio: adc: ti-ads8344: properly byte swap value

From: Xia, Hui
Date: Tue Apr 21 2020 - 03:25:07 EST




>-----Original Message-----
>From: Li, Philip <philip.li@xxxxxxxxx>
>Sent: 2020å4æ19æ 10:50
>To: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
>Cc: lkp <lkp@xxxxxxxxx>; Jonathan Cameron <jic23@xxxxxxxxxx>; kbuild-
>all@xxxxxxxxxxxx; Hartmut Knaack <knaack.h@xxxxxx>; Lars-Peter Clausen
><lars@xxxxxxxxxx>; Peter Meerwald-Stadler <pmeerw@xxxxxxxxxx>; Gregory
>CLEMENT <gregory.clement@xxxxxxxxxxx>; linux-iio@xxxxxxxxxxxxxxx; linux-
>kernel@xxxxxxxxxxxxxxx
>Subject: Re: [PATCH 1/3] iio: adc: ti-ads8344: properly byte swap value
>
>On Thu, Apr 16, 2020 at 10:50:23PM +0200, Alexandre Belloni wrote:
>> Hi,
>>
>> On 16/04/2020 14:22:03+0800, kbuild test robot wrote:
>> > Hi Alexandre,
>> >
>> > I love your patch! Yet something to improve:
>> >
>> > [auto build test ERROR on iio/togreg] [also build test ERROR on
>> > v5.7-rc1 next-20200415] [if your patch is applied to the wrong git
>> > tree, please drop us a note to help improve the system. BTW, we also
>> > suggest to use '--base' option to specify the base tree in git
>> > format-patch, please see https://stackoverflow.com/a/37406982]
>> >
>> > url: https://github.com/0day-ci/linux/commits/Alexandre-Belloni/iio-adc-ti-
>ads8344-improve-the-driver/20200416-073357
>> > base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
>> > config: c6x-allyesconfig (attached as .config)
>> > compiler: c6x-elf-gcc (GCC) 9.3.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
>> > COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0
>> > make.cross ARCH=c6x
>> >
>>
>> I spent some time to reproduce and this is actually not that trivial
>> because your toolchains are linked with libisl22 and most
>> distributions still ship an older version. Maybe you can do something about that?
>Thanks for the feedback, we will resolve this to use old version in earliest time.
The cross toolchains has been updated to link with libisl19 the stable version. Please remove the old toolchain and make.cross again.
Feel free to let us know if still have problem. Thanks.

>
>>
>> > If you fix the issue, kindly add following tag as appropriate
>> > Reported-by: kbuild test robot <lkp@xxxxxxxxx>
>> >
>> > All errors (new ones prefixed by >>):
>> >
>> >
>> > vim +/302 +96 drivers/iio/adc/ti-ads8344.c
>> >
>> > 72
>> > 73 static int ads8344_adc_conversion(struct ads8344 *adc, int
>channel,
>> > 74 bool differential)
>> > 75 {
>> > 76 struct spi_device *spi = adc->spi;
>> > 77 int ret;
>> > 78 u8 buf[3];
>> > 79
>> > 80 adc->tx_buf = ADS8344_START;
>> > 81 if (!differential)
>> > 82 adc->tx_buf |= ADS8344_SINGLE_END;
>> > 83 adc->tx_buf |= ADS8344_CHANNEL(channel);
>> > 84 adc->tx_buf |= ADS8344_CLOCK_INTERNAL;
>> > 85
>> > 86 ret = spi_write(spi, &adc->tx_buf, 1);
>> > 87 if (ret)
>> > 88 return ret;
>> > 89
>> > 90 udelay(9);
>> > 91
>> > 92 ret = spi_read(spi, buf, sizeof(buf));
>> > 93 if (ret)
>> > 94 return ret;
>> > 95
>> > > 96 return buf[0] << 9 | buf[1] << 1 |Âbuf[2] >> 7;
>> > 97 }
>> > 98
>> >
>>
>> I take it this is a false positive as I don't get any errors when
>> building this driver with the provided toolchain. However, I see a few
>> "internal compiler error: in priority, at haifa-sched.c:1599"
>>
>> --
>> Alexandre Belloni, Bootlin
>> Embedded Linux and Kernel engineering
>> https://bootlin.com
>>