Re: [patch v6 0/3] JTAG driver introduction

From: Linus Walleij
Date: Sun Aug 27 2017 - 18:30:15 EST


On Fri, Aug 25, 2017 at 6:52 PM, Rick Altherr <raltherr@xxxxxxxxxx> wrote:

>> Incidentally, people are sending patches to expose the FTDI
>> expanders as common GPIO chips under Linux, so we can
>> internally in the kernel or from the usersapce character device
>> access them as "some GPIOs".
>
> I know my team at Google has an internal patch for exactly that. FTDI
> expanders are complicated as they can be used as UART, GPIO, I2C, SPI
> depending on configuration. Our project was using a mix of I2C and
> GPIO so I directly my team to approach it as an MFD. I'd like to see
> all of these use cases handled by the kernel but I understand the
> other viewpoint of relying on libusb for cross-platform compatiblity.

Hm. I see. But I see people pushing the in-kernel method so I think
it will eventually win out.

>>>> In my worst nightmare they export GPIO lines using
>>>> the horrid ABI in /sys/gpio/*
>>>
>>> https://sourceforge.net/p/openocd/code/ci/v0.10.0/tree/src/jtag/drivers/sysfsgpio.c
>>
>> Gnah!
>> Whoever writes a slot-in replacement making the character device
>> take precendence wins lots of karma.
>
> If they show up at Linux Plumbers or visit San Jose, I'll take them to
> dinner. I didn't see any docs for the chardev in Documentation. I
> _think_ I understand how it works from reading the relevant sections
> of gpiolib.c but I can see how users end up using sysfs instead.

I intended tools/gpio/* to be the documentation:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/gpio

If we need more written documentation we can do it I guess,

Yours,
Linus Walleij