Re: [PATCH 1/1] gpio: core: Decouple open drain/source flag with active low/high

From: Andy Shevchenko
Date: Thu Apr 06 2017 - 12:10:52 EST


On Thu, Apr 6, 2017 at 4:35 PM, Laxman Dewangan <ldewangan@xxxxxxxxxx> wrote:
> Currently, the GPIO interface is said to Open Drain if it is Single
> Ended and active LOW. Similarly, it is said as Open Source if it is
> Single Ended and active HIGH.
>
> The active HIGH/LOW is used in the interface for setting the pin
> state to HIGH or LOW when enabling/disabling the interface.
>
> In Open Drain interface, pin is set to HIGH by putting pin in
> high impedance and LOW by driving to the LOW.
>
> In Open Source interface, pin is set to HIGH by driving pin to
> HIGH and set to LOW by putting pin in high impedance.
>
> With above, the Open Drain/Source is unrelated to the active LOW/HIGH
> in interface. There is interface where the enable/disable of interface
> is ether active LOW or HIGH but it is Open Drain type.
>
> Hence decouple the Open Drain with Single Ended + Active LOW and
> Open Source with Single Ended + Active HIGH.
>
> Adding different flag for the Open Drain/Open Source which is valid
> only when Single ended flag is enabled.

> if (single_ended) {
> - if (active_low)
> + if (open_drain)

This breaks ACPI case, right?

--
With Best Regards,
Andy Shevchenko