Re: [RFC] gpio: add set_active_low() function to gpio_chip

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 19, 2015 at 5:16 AM, David Cohen
<david.a.cohen@xxxxxxxxxxxxxxx> wrote:
> Some gpio controllers are capable of programming its pins' active-low
> state. Let's add this new gpio_chip function for such cases and use it
> in gpiolib.
>
> When set_active_low() is implemented, we no longer need to do soft flips
> on values from non-raw get functions.
>
> Signed-off-by: David Cohen <david.a.cohen@xxxxxxxxxxxxxxx>
> ---
>
> Hi,
>
> This is a RFC, not meant for integration (yet).
>
> We have a GPIO controller that is capable of inverting the GPIO logical value
> on hardware using a register (and GPIO voltage level if configured for output):
> - If GPIO pin is configured for input, only the logical value is affected: the
>   GPIO level stays the same but the read values are inverted (it affects even
>   interrupt event triggers).
> - If GPIO pin is configured for output, the GPIO level is also inverted.
>
> Is it acceptable to expose this functionality via new gpio chip operation
> set_active_low()?

At first I thought "why not", but then I couldn't help but ask "why?"

Handling the active low state in software is basically free and
requires no extra support. What is the benefit of handling it in
hardware that would counterbalance the complexity this adds to the
GPIO framework?

Also, wouldn't that require us to reverse this active-low logic in the
*_raw functions for them to work as expected?
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux