mfd: cs42l43: Use gpiod_set_raw for GPIO operations
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 5 Dec 2024 11:58:20 +0000 (11:58 +0000)
committerLee Jones <lee@kernel.org>
Tue, 17 Dec 2024 13:17:25 +0000 (13:17 +0000)
commita57f93b786d24063d827f9c70802e2644cea493b
tree44e1dd1d5525803991ce88d53fa16f478b6049d3
parentd496ad33e637da91257699732c46dc4eac19ff13
mfd: cs42l43: Use gpiod_set_raw for GPIO operations

The GPIO framework supports specifying if a GPIO is active low or
high and will invert accordingly. Whilst specifying this is part of
the normal GPIO definition flow on device tree systems, it is a DSD
extension under ACPI, that Windows doesn't really use. This means most
ACPI systems do not set the polarity of the pin.

The current cs42l43 driver assumes it is setting the level of the line
directly, which is actually the case on all current systems and likely
most future ones. However if the part was used in a device tree system
or an ACPI system that actually used the DSD extensions this would get
inverted, causing the driver to fail probe. As the driver always knows
the polarity of its own reset line, use the raw set API making the
intention to set the level directly clear and to avoid any such future
issues.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20241205115822.2371719-2-ckeepax@opensource.cirrus.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/cs42l43.c