On Wed, Jun 12, 2024 at 8:38 PM Bartosz Golaszewski <brgl@xxxxxxxx> wrote: > On Mon, Jun 10, 2024 at 4:57 PM Andy Shevchenko > <andy.shevchenko@xxxxxxxxx> wrote: > > Mon, Jun 10, 2024 at 03:22:32PM +0200, Bartosz Golaszewski kirjoitti: > > > On Wed, May 29, 2024 at 11:00 PM Andy Shevchenko > > > <andy.shevchenko@xxxxxxxxx> wrote: > > > > Mon, May 27, 2024 at 04:40:54PM +0200, Bartosz Golaszewski kirjoitti: ... > > > > > +static ssize_t gpio_virtuser_sysfs_emit_value_array(char *buf, > > > > > + unsigned long *values, > > > > > + size_t num_values) > > > > > +{ > > > > > + ssize_t len = 0; > > > > > + size_t i; > > > > > + > > > > > + for (i = 0; i < num_values; i++) > > > > > + len += sysfs_emit_at(buf, len, "%d", > > > > > + test_bit(i, values) ? 1 : 0); > > > > > + return len + sysfs_emit_at(buf, len, "\n"); > > > > > > > > Why not use %pb? > > > > > > Because it outputs hex? I want to output binary, can I do it? > > > > But why do you need that? You can also print a list of numbers of bits that > > set (%pbl). > > > > We have a few ABIs in the kernel that works nice and people are familiar with > > (CPU sets, IRQ affinity masks, etc). Why to reinvent the wheel? > > If I see "11001011" as output, I can immediately convert that to pins > in my head. If I see 0xcb, I need to use a calculator.