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.