lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <554ebf0a-2304-6fd0-555a-0ce1b4615bf0@theobroma-systems.com>
Date:   Mon, 21 Nov 2022 16:06:21 +0100
From:   Quentin Schulz <quentin.schulz@...obroma-systems.com>
To:     Hans de Goede <hdegoede@...hat.com>,
        Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc:     Quentin Schulz <foss+kernel@...il.net>, hadess@...ess.net,
        robh+dt@...nel.org, krzysztof.kozlowski+dt@...aro.org,
        shawnguo@...nel.org, s.hauer@...gutronix.de, kernel@...gutronix.de,
        festevam@...il.com, linux-imx@....com, wens@...e.org,
        jernej.skrabec@...il.com, samuel@...lland.org, agross@...nel.org,
        andersson@...nel.org, konrad.dybcio@...ainline.org,
        heiko@...ech.de, linux-input@...r.kernel.org,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        devicetree <devicetree@...r.kernel.org>,
        arm-mail-list <linux-arm-kernel@...ts.infradead.org>,
        linux-sunxi@...ts.linux.dev, linux-arm-msm@...r.kernel.org,
        "open list:ARM/Rockchip SoC..." <linux-rockchip@...ts.infradead.org>
Subject: Re: [RFC PATCH 1/7] Input: goodix - fix reset polarity

Hi Hans,

Sorry for the delay.

On 11/3/22 20:28, Hans de Goede wrote:
[...]
> Ok, so I've been taking a look at how we can invert the 'x' passed
> to the gpiod_direction_output(ts->gpiod_rst, x) calls and not break
> things with ACPI.
> 
> The rst pin is looked up through a acpi_gpio_mapping which
> contains acpi_gpio_params as one of the per pin parameters
> and that does have an active_low flag.
> 

I just read the kernel docs about GPIO and ACPI and I'm not entirely 
sure this is always 100% safe to do:

https://docs.kernel.org/firmware-guide/acpi/gpio-properties.html

Specifically:
"""
The GpioIo() resource unfortunately doesn't explicitly provide an 
initial state of the output pin which driver should use during its 
initialization.

Linux tries to use common sense here and derives the state from the bias 
and polarity settings. The table below shows the expectations:

=========  =============  ==============
Pull Bias     Polarity     Requested...
=========  =============  ==============
Implicit     x            AS IS (assumed firmware configured for us)
Explicit     x (no _DSD)  as Pull Bias (Up == High, Down == Low),
                           assuming non-active (Polarity = !Pull Bias)
Down         Low          as low, assuming active
Down         High         as low, assuming non-active
Up           Low          as high, assuming non-active
Up           High         as high, assuming active
=========  =============  ==============
"""

But since we actually override this during our devm_gpiod_get_optional 
by passing forcing the flag to be either GPIOD_IN or GPIOD_ASIS, we 
should be good for this driver IIUC?

Thanks for the pointers,
Cheers,
Quentin

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ