Re: [PATCH v2 04/13] bus: ts-nbus: use gpiod_multi_set_value_cansleep
From: David Lechner
Date: Fri Feb 07 2025 - 10:26:07 EST
On 2/7/25 6:17 AM, Andy Shevchenko wrote:
> +Yury.
>
> On Fri, Feb 7, 2025 at 2:15 PM Andy Shevchenko
> <andy.shevchenko@xxxxxxxxx> wrote:
>> On Fri, Feb 7, 2025 at 12:48 AM David Lechner <dlechner@xxxxxxxxxxxx> wrote:
>
> ...
>
>>> static void ts_nbus_write_byte(struct ts_nbus *ts_nbus, u8 byte)
>>> {
>>> - struct gpio_descs *gpios = ts_nbus->data;
>>> DECLARE_BITMAP(values, 8);
>>>
>>> values[0] = byte;
>>>
>>> - gpiod_set_array_value_cansleep(8, gpios->desc, gpios->info, values);
>>> + gpiod_multi_set_value_cansleep(ts_nbus->data, values);
>>
>> As I said before, this is buggy code on BE64. Needs to be fixed.
>
> Or isn't? Do we have a test case in bitmap for such a case?
>
>>> }
>
>
Maybe not the best style, but I don't think it is buggy. Bitmaps are always
handled in long-sized chunks and not cast to bytes so endianness doesn't affect
it. I didn't see an explicit test, but bitmap_read() and bitmap_write() use
array access like this so indirectly it is being tested.