Hi,
On 28-02-18 15:27, Andy Shevchenko wrote:
On Tue, 2018-02-27 at 12:59 +0900, Chanwoo Choi wrote:
Hi,
On 2018년 02월 27일 04:34, Andy Shevchenko wrote:
The commit 70216fd937fe introduced a workaround for incorrect
You better to specify the commit id and patch name as following:
commit 70216fd937fe -> commit 70216fd937fe ("extcon: int3496: Set the
id pin to direction-input if necessary")
Will fix in v2.
Note I'm currently running some tests with this patch, should be
done in an hour max.
Regards,
Hans
IoRestriction mode in ACPI table.
Now, when GPIO ACPI library does it in generic way, just set
I recommend that you specify clearly which patch you mention
about GPIO ACPI library.
Do you mean list all of them? It's a bit hard to choose one.
an appropriate quirk flag instead.
Cc: Hans de Goede <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/extcon/extcon-intel-int3496.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/extcon/extcon-intel-int3496.c
b/drivers/extcon/extcon-intel-int3496.c
index 191e99f06a9a..acaccb128fc4 100644
--- a/drivers/extcon/extcon-intel-int3496.c
+++ b/drivers/extcon/extcon-intel-int3496.c
@@ -50,7 +50,11 @@ static const struct acpi_gpio_params vbus_gpios =
{ INT3496_GPIO_VBUS_EN, 0, fal
static const struct acpi_gpio_params mux_gpios = {
INT3496_GPIO_USB_MUX, 0, false };
static const struct acpi_gpio_mapping acpi_int3496_default_gpios[]
= {
- { "id-gpios", &id_gpios, 1 },
+ /*
+ * Some platforms have a bug in ACPI GPIO description
making IRQ
+ * GPIO to be output only. Ask the GPIO core to ignore this
limit.
+ */
+ { "id-gpios", &id_gpios, 1,
ACPI_GPIO_QUIRK_NO_IO_RESTRICTION },
{ "vbus-gpios", &vbus_gpios, 1 },
{ "mux-gpios", &mux_gpios, 1 },
{ },
@@ -112,9 +116,6 @@ static int int3496_probe(struct platform_device
*pdev)
ret = PTR_ERR(data->gpio_usb_id);
dev_err(dev, "can't request USB ID GPIO: %d\n",
ret);
return ret;
- } else if (gpiod_get_direction(data->gpio_usb_id) !=
GPIOF_DIR_IN) {
- dev_warn(dev, FW_BUG "USB ID GPIO not in input
mode, fixing\n");
- gpiod_direction_input(data->gpio_usb_id);
}
data->usb_id_irq = gpiod_to_irq(data->gpio_usb_id);