Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1598085 > unrolled thread
| Started by | Hans de Goede <hdegoede@redhat.com> |
|---|---|
| First post | 2017-03-10 22:00 +0100 |
| Last post | 2017-03-13 06:10 +0100 |
| Articles | 6 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH 1/2] extcon: int3496: Use gpiod_get instead of gpiod_get_index Hans de Goede <hdegoede@redhat.com> - 2017-03-10 22:00 +0100
[PATCH 2/2] extcon: int3496: Explicitly set the id pin to direction-input Hans de Goede <hdegoede@redhat.com> - 2017-03-10 22:00 +0100
Re: [PATCH 2/2] extcon: int3496: Explicitly set the id pin to direction-input Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-03-10 23:20 +0100
Re: [PATCH 2/2] extcon: int3496: Explicitly set the id pin to direction-input Hans de Goede <hdegoede@redhat.com> - 2017-03-13 08:30 +0100
Re: [PATCH 1/2] extcon: int3496: Use gpiod_get instead of gpiod_get_index Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-03-10 23:10 +0100
Re: [PATCH 1/2] extcon: int3496: Use gpiod_get instead of gpiod_get_index Chanwoo Choi <cw00.choi@samsung.com> - 2017-03-13 06:10 +0100
| From | Hans de Goede <hdegoede@redhat.com> |
|---|---|
| Date | 2017-03-10 22:00 +0100 |
| Subject | [PATCH 1/2] extcon: int3496: Use gpiod_get instead of gpiod_get_index |
| Message-ID | <tjzNL-P0-11@gated-at.bofh.it> |
Now that we've an acpi mapping table we should be using gpiod_get
instead of gpiod_get_index.
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/extcon/extcon-intel-int3496.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/drivers/extcon/extcon-intel-int3496.c b/drivers/extcon/extcon-intel-int3496.c
index 43ba84ea..b8ac947 100644
--- a/drivers/extcon/extcon-intel-int3496.c
+++ b/drivers/extcon/extcon-intel-int3496.c
@@ -107,9 +107,7 @@ static int int3496_probe(struct platform_device *pdev)
data->dev = dev;
INIT_DELAYED_WORK(&data->work, int3496_do_usb_id);
- data->gpio_usb_id = devm_gpiod_get_index(dev, "id",
- INT3496_GPIO_USB_ID,
- GPIOD_IN);
+ data->gpio_usb_id = devm_gpiod_get(dev, "id", GPIOD_IN);
if (IS_ERR(data->gpio_usb_id)) {
ret = PTR_ERR(data->gpio_usb_id);
dev_err(dev, "can't request USB ID GPIO: %d\n", ret);
@@ -122,15 +120,11 @@ static int int3496_probe(struct platform_device *pdev)
return data->usb_id_irq;
}
- data->gpio_vbus_en = devm_gpiod_get_index(dev, "vbus",
- INT3496_GPIO_VBUS_EN,
- GPIOD_ASIS);
+ data->gpio_vbus_en = devm_gpiod_get(dev, "vbus", GPIOD_ASIS);
if (IS_ERR(data->gpio_vbus_en))
dev_info(dev, "can't request VBUS EN GPIO\n");
- data->gpio_usb_mux = devm_gpiod_get_index(dev, "mux",
- INT3496_GPIO_USB_MUX,
- GPIOD_ASIS);
+ data->gpio_usb_mux = devm_gpiod_get(dev, "mux", GPIOD_ASIS);
if (IS_ERR(data->gpio_usb_mux))
dev_info(dev, "can't request USB MUX GPIO\n");
--
2.9.3
[toc] | [next] | [standalone]
| From | Hans de Goede <hdegoede@redhat.com> |
|---|---|
| Date | 2017-03-10 22:00 +0100 |
| Subject | [PATCH 2/2] extcon: int3496: Explicitly set the id pin to direction-input |
| Message-ID | <tjzNL-P0-13@gated-at.bofh.it> |
| In reply to | #1598085 |
With the new more strict ACPI gpio code the dsdt's IoRestriction
flags are honored on gpiod_get, but in some dsdt's it is wrong,
so explicitly call gpiod_direction_input on the id gpio.
This fixes the following errors when the int3496 code is used
together with the new more strict ACPI gpio code:
[ 2382.484415] gpio gpiochip1: (INT33FF:01): gpiochip_lock_as_irq: tried to flag a GPIO set as output for IRQ
[ 2382.484425] gpio gpiochip1: (INT33FF:01): unable to lock HW IRQ 3 for IRQ
[ 2382.484429] genirq: Failed to request resources for INT3496:00 (irq 174) on irqchip chv-gpio
[ 2382.484518] intel-int3496 INT3496:00: can't request IRQ for USB ID GPIO: -22
[ 2382.500359] intel-int3496: probe of INT3496:00 failed with error -22
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/extcon/extcon-intel-int3496.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/extcon/extcon-intel-int3496.c b/drivers/extcon/extcon-intel-int3496.c
index b8ac947..b4539d4 100644
--- a/drivers/extcon/extcon-intel-int3496.c
+++ b/drivers/extcon/extcon-intel-int3496.c
@@ -113,6 +113,7 @@ static int int3496_probe(struct platform_device *pdev)
dev_err(dev, "can't request USB ID GPIO: %d\n", ret);
return ret;
}
+ gpiod_direction_input(data->gpio_usb_id);
data->usb_id_irq = gpiod_to_irq(data->gpio_usb_id);
if (data->usb_id_irq < 0) {
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Andy Shevchenko <andy.shevchenko@gmail.com> |
|---|---|
| Date | 2017-03-10 23:20 +0100 |
| Subject | Re: [PATCH 2/2] extcon: int3496: Explicitly set the id pin to direction-input |
| Message-ID | <tjB3c-1OJ-13@gated-at.bofh.it> |
| In reply to | #1598086 |
On Fri, Mar 10, 2017 at 10:52 PM, Hans de Goede <hdegoede@redhat.com> wrote: > With the new more strict ACPI gpio code the dsdt's IoRestriction > flags are honored on gpiod_get, but in some dsdt's it is wrong, > so explicitly call gpiod_direction_input on the id gpio. > > This fixes the following errors when the int3496 code is used > together with the new more strict ACPI gpio code: > > [ 2382.484415] gpio gpiochip1: (INT33FF:01): gpiochip_lock_as_irq: tried to flag a GPIO set as output for IRQ > [ 2382.484425] gpio gpiochip1: (INT33FF:01): unable to lock HW IRQ 3 for IRQ > [ 2382.484429] genirq: Failed to request resources for INT3496:00 (irq 174) on irqchip chv-gpio > [ 2382.484518] intel-int3496 INT3496:00: can't request IRQ for USB ID GPIO: -22 > [ 2382.500359] intel-int3496: probe of INT3496:00 failed with error -22 Because my patches are not yet upstreamed I think this would be postponed. I can take it into my branch and send together with the rest. What do you think? > --- a/drivers/extcon/extcon-intel-int3496.c > +++ b/drivers/extcon/extcon-intel-int3496.c > @@ -113,6 +113,7 @@ static int int3496_probe(struct platform_device *pdev) > dev_err(dev, "can't request USB ID GPIO: %d\n", ret); > return ret; > } It would be nice to check the direction here and complain to the user loudly the firmware has a bug. > + gpiod_direction_input(data->gpio_usb_id); -- With Best Regards, Andy Shevchenko
[toc] | [prev] | [next] | [standalone]
| From | Hans de Goede <hdegoede@redhat.com> |
|---|---|
| Date | 2017-03-13 08:30 +0100 |
| Subject | Re: [PATCH 2/2] extcon: int3496: Explicitly set the id pin to direction-input |
| Message-ID | <tksAx-5ue-5@gated-at.bofh.it> |
| In reply to | #1598142 |
Hi, On 10-03-17 23:11, Andy Shevchenko wrote: > On Fri, Mar 10, 2017 at 10:52 PM, Hans de Goede <hdegoede@redhat.com> wrote: >> With the new more strict ACPI gpio code the dsdt's IoRestriction >> flags are honored on gpiod_get, but in some dsdt's it is wrong, >> so explicitly call gpiod_direction_input on the id gpio. >> >> This fixes the following errors when the int3496 code is used >> together with the new more strict ACPI gpio code: >> >> [ 2382.484415] gpio gpiochip1: (INT33FF:01): gpiochip_lock_as_irq: tried to flag a GPIO set as output for IRQ >> [ 2382.484425] gpio gpiochip1: (INT33FF:01): unable to lock HW IRQ 3 for IRQ >> [ 2382.484429] genirq: Failed to request resources for INT3496:00 (irq 174) on irqchip chv-gpio >> [ 2382.484518] intel-int3496 INT3496:00: can't request IRQ for USB ID GPIO: -22 >> [ 2382.500359] intel-int3496: probe of INT3496:00 failed with error -22 > > Because my patches are not yet upstreamed I think this would be postponed. > I can take it into my branch and send together with the rest. What do you think? It does not hurt to get it upstream already and merging patch-sets generally is a lot easier if they do not span multiple subsystems. So I think it would be better to get it upstream already as preparation for your series. > >> --- a/drivers/extcon/extcon-intel-int3496.c >> +++ b/drivers/extcon/extcon-intel-int3496.c >> @@ -113,6 +113,7 @@ static int int3496_probe(struct platform_device *pdev) >> dev_err(dev, "can't request USB ID GPIO: %d\n", ret); >> return ret; >> } > > It would be nice to check the direction here and complain to the user > loudly the firmware has a bug. Ok, I will send a v2 doing this. > >> + gpiod_direction_input(data->gpio_usb_id); > Regards, Hans
[toc] | [prev] | [next] | [standalone]
| From | Andy Shevchenko <andy.shevchenko@gmail.com> |
|---|---|
| Date | 2017-03-10 23:10 +0100 |
| Message-ID | <tjATw-1Jy-19@gated-at.bofh.it> |
| In reply to | #1598085 |
On Fri, Mar 10, 2017 at 10:52 PM, Hans de Goede <hdegoede@redhat.com> wrote:
> Now that we've an acpi mapping table we should be using gpiod_get
> instead of gpiod_get_index.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Chanwoo, this patch is essentially needed since I missed the change in
my latest patch in extcon.
> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> drivers/extcon/extcon-intel-int3496.c | 12 +++---------
> 1 file changed, 3 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/extcon/extcon-intel-int3496.c b/drivers/extcon/extcon-intel-int3496.c
> index 43ba84ea..b8ac947 100644
> --- a/drivers/extcon/extcon-intel-int3496.c
> +++ b/drivers/extcon/extcon-intel-int3496.c
> @@ -107,9 +107,7 @@ static int int3496_probe(struct platform_device *pdev)
> data->dev = dev;
> INIT_DELAYED_WORK(&data->work, int3496_do_usb_id);
>
> - data->gpio_usb_id = devm_gpiod_get_index(dev, "id",
> - INT3496_GPIO_USB_ID,
> - GPIOD_IN);
> + data->gpio_usb_id = devm_gpiod_get(dev, "id", GPIOD_IN);
> if (IS_ERR(data->gpio_usb_id)) {
> ret = PTR_ERR(data->gpio_usb_id);
> dev_err(dev, "can't request USB ID GPIO: %d\n", ret);
> @@ -122,15 +120,11 @@ static int int3496_probe(struct platform_device *pdev)
> return data->usb_id_irq;
> }
>
> - data->gpio_vbus_en = devm_gpiod_get_index(dev, "vbus",
> - INT3496_GPIO_VBUS_EN,
> - GPIOD_ASIS);
> + data->gpio_vbus_en = devm_gpiod_get(dev, "vbus", GPIOD_ASIS);
> if (IS_ERR(data->gpio_vbus_en))
> dev_info(dev, "can't request VBUS EN GPIO\n");
>
> - data->gpio_usb_mux = devm_gpiod_get_index(dev, "mux",
> - INT3496_GPIO_USB_MUX,
> - GPIOD_ASIS);
> + data->gpio_usb_mux = devm_gpiod_get(dev, "mux", GPIOD_ASIS);
> if (IS_ERR(data->gpio_usb_mux))
> dev_info(dev, "can't request USB MUX GPIO\n");
>
> --
> 2.9.3
>
--
With Best Regards,
Andy Shevchenko
[toc] | [prev] | [next] | [standalone]
| From | Chanwoo Choi <cw00.choi@samsung.com> |
|---|---|
| Date | 2017-03-13 06:10 +0100 |
| Subject | Re: [PATCH 1/2] extcon: int3496: Use gpiod_get instead of gpiod_get_index |
| Message-ID | <tkqp3-3Rm-1@gated-at.bofh.it> |
| In reply to | #1598085 |
Hi, On 2017년 03월 11일 05:52, Hans de Goede wrote: > Now that we've an acpi mapping table we should be using gpiod_get > instead of gpiod_get_index. > > Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > drivers/extcon/extcon-intel-int3496.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) Applied it. -- Best Regards, Chanwoo Choi Samsung Electronics
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web