Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1598085 > unrolled thread

[PATCH 1/2] extcon: int3496: Use gpiod_get instead of gpiod_get_index

Started byHans de Goede <hdegoede@redhat.com>
First post2017-03-10 22:00 +0100
Last post2017-03-13 06:10 +0100
Articles 6 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [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

#1598085 — [PATCH 1/2] extcon: int3496: Use gpiod_get instead of gpiod_get_index

FromHans de Goede <hdegoede@redhat.com>
Date2017-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]


#1598086 — [PATCH 2/2] extcon: int3496: Explicitly set the id pin to direction-input

FromHans de Goede <hdegoede@redhat.com>
Date2017-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]


#1598142 — Re: [PATCH 2/2] extcon: int3496: Explicitly set the id pin to direction-input

FromAndy Shevchenko <andy.shevchenko@gmail.com>
Date2017-03-10 23:20 +0100
SubjectRe: [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]


#1598911 — Re: [PATCH 2/2] extcon: int3496: Explicitly set the id pin to direction-input

FromHans de Goede <hdegoede@redhat.com>
Date2017-03-13 08:30 +0100
SubjectRe: [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]


#1598140

FromAndy Shevchenko <andy.shevchenko@gmail.com>
Date2017-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]


#1598847 — Re: [PATCH 1/2] extcon: int3496: Use gpiod_get instead of gpiod_get_index

FromChanwoo Choi <cw00.choi@samsung.com>
Date2017-03-13 06:10 +0100
SubjectRe: [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