On Thu, Apr 13, 2017 at 12:27 PM, Nandor Han <nandor.han@ge.com> wrote:
> This is a simple driver that provides a /sys/class/gpio> interface for controlling and configuring the GPIO lines.> It does not provide support for chip select or interrupts.>> Signed-off-by: Nandor Han <nandor.han@ge.com>> Signed-off-by: Semi Malinen <semi.malinen@ge.com>
I almost want to make the driver depend on !GPIO_SYSFS because
of this commit message.
DO NOT USE OR ENCOURAGE THE USE OF THE GPIO SYSFS
INTERFACE.
Use the character device.
Use the example in tools/gpio/* as a guideline and testbed.
Use libgpiod as a rich userspace.
And the commit message should state that this is a driver
for such and such Exar hardware instead.
Thanks.
> +#include <linux/bitops.h>> +#include <linux/gpio/driver.h>> +#include <linux/kernel.h>> +#include <linux/module.h>> +#include <linux/mutex.h>> +#include <linux/of_device.h>> +#include <linux/of_gpio.h>> +#include <linux/spi/spi.h>> +#include <linux/regmap.h>
You are missing
#include <linux/seq_file.h>
and that is why the build robot is complaining.
Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

On Mon, Apr 24, 2017 at 3:47 PM, Linus Walleij <linus.walleij@linaro.org> wrote:
> On Thu, Apr 13, 2017 at 12:27 PM, Nandor Han <nandor.han@ge.com> wrote:>>> This is a simple driver that provides a /sys/class/gpio>> interface for controlling and configuring the GPIO lines.>> It does not provide support for chip select or interrupts.>>>> Signed-off-by: Nandor Han <nandor.han@ge.com>>> Signed-off-by: Semi Malinen <semi.malinen@ge.com>>> I almost want to make the driver depend on !GPIO_SYSFS because> of this commit message.>> DO NOT USE OR ENCOURAGE THE USE OF THE GPIO SYSFS> INTERFACE.>> Use the character device.
I doubt you will be able to convince the majority of people toggling
GPIOs via a simple shell script to switch to write a complex C
program. Not to mention cross compilation and the libraries
dependencies here.
Is there some good cli tools to access the new char device? If they
are shipped with most distros, that would reduce the pain.
Best,
--
Benjamin Henrion <bhenrion at ffii.org>
FFII Brussels - +32-484-566109 - +32-2-3500762
"In July 2005, after several failed attempts to legalise software
patents in Europe, the patent establishment changed its strategy.
Instead of explicitly seeking to sanction the patentability of
software, they are now seeking to create a central European patent
court, which would establish and enforce patentability rules in their
favor, without any possibility of correction by competing courts or
democratically elected legislators."
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

Hi Benjamin,
On Tue, Apr 25, 2017 at 9:07 AM, Benjamin Henrion <zoobab@gmail.com> wrote:
> On Mon, Apr 24, 2017 at 3:47 PM, Linus Walleij <linus.walleij@linaro.org> wrote:>> On Thu, Apr 13, 2017 at 12:27 PM, Nandor Han <nandor.han@ge.com> wrote:>>>>> This is a simple driver that provides a /sys/class/gpio>>> interface for controlling and configuring the GPIO lines.>>> It does not provide support for chip select or interrupts.>>>>>> Signed-off-by: Nandor Han <nandor.han@ge.com>>>> Signed-off-by: Semi Malinen <semi.malinen@ge.com>>>>> I almost want to make the driver depend on !GPIO_SYSFS because>> of this commit message.>>>> DO NOT USE OR ENCOURAGE THE USE OF THE GPIO SYSFS>> INTERFACE.>>>> Use the character device.>> I doubt you will be able to convince the majority of people toggling> GPIOs via a simple shell script to switch to write a complex C> program. Not to mention cross compilation and the libraries> dependencies here.>> Is there some good cli tools to access the new char device? If they> are shipped with most distros, that would reduce the pain.
https://github.com/brgl/libgpiod
A bit early to expect it to be shipped with all distros, though.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

On Tue, Apr 25, 2017 at 9:07 AM, Benjamin Henrion <zoobab@gmail.com> wrote:
> I doubt you will be able to convince the majority of people toggling> GPIOs via a simple shell script to switch to write a complex C> program. Not to mention cross compilation and the libraries> dependencies here.
I do not need to convince anyone, I'm not into politics.
The way to attract users to the character device is by offering better
features... so we smack in the following goodies:
- Need a userspace ABI? No more need to select CONFIG_GPIO_SYSFS!
The chardev is always there for any gpio chip in newer kernels!
Board vendors would have to actively delete core code to disable it!
- Need open drain? The chardev will support that, the sysfs will never.
- Need to set/get multiple lines with a single context switch? Chardev
does this. Also the set operation will turn into a single register write
if your driver implements .set_multiple()
- All future needs: line biasing? Schmitt triggers? Drive strengths?
All that will use the character device, and the sysfs ABI will never
support any of it.
> Is there some good cli tools to access the new char device? If they> are shipped with most distros, that would reduce the pain.
I have those that come with the kernel:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/gpio
Then libgpiod as mentioned:
https://github.com/brgl/libgpiod/tree/master/src/tools
Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

On Tue, Apr 25, 2017 at 10:15 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
>> Is there some good cli tools to access the new char device? If they>> are shipped with most distros, that would reduce the pain.>> https://github.com/brgl/libgpiod>> A bit early to expect it to be shipped with all distros, though.
Buildroot has it.
For kernel development it is quite enough.