All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq@ti.com>
To: "Ivan T. Ivanov" <ivan.ivanov@linaro.org>
Cc: cw00.choi@samsung.com, myungjoo.ham@samsung.com, balbi@ti.com,
	tony@atomide.com, nsekhar@ti.com, devicetree@vger.kernel.org,
	linux-usb@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 1/1] extcon: usb-gpio: Introduce gpio usb extcon driver
Date: Mon, 16 Mar 2015 15:11:17 +0200	[thread overview]
Message-ID: <5506D675.8010006@ti.com> (raw)
In-Reply-To: <1426509149.2330.5.camel@linaro.org>

Hi Ivan,

On 16/03/15 14:32, Ivan T. Ivanov wrote:
> Hi, 
> 
> On Mon, 2015-02-02 at 12:21 +0200, Roger Quadros wrote:
>> This driver observes the USB ID pin connected over a GPIO and
>> updates the USB cable extcon states accordingly.
>>
>> The existing GPIO extcon driver is not suitable for this purpose
>> as it needs to be taught to understand USB cable states and it
>> can't handle more than one cable per instance.
>>
>> For the USB case we need to handle 2 cable states.
>> 1) USB (attach/detach)
>> 2) USB-HOST (attach/detach)
>>
>> This driver can be easily updated in the future to handle VBUS
>> events in case it happens to be available on GPIO for any platform.
>>
>> Signed-off-by: Roger Quadros <rogerq@ti.com>
>> ---
>> v4:
>> - got rid of id_irqwake flag. Fail if enable/disable_irq_wake() fails
>> - changed host cable name to "USB-HOST"
> 
> I am sorry that I am getting a bit little late into this.
> 
> Isn't supposed that we have to use strings defined in 
> const char extcon_cable_name[][]?
> 
> 
>> +
>> +/* List of detectable cables */
>> +enum {
>> +       EXTCON_CABLE_USB = 0,
>> +       EXTCON_CABLE_USB_HOST,
>> +
> 
> Same here: duplicated with enum extcon_cable_name
> 
>> +       EXTCON_CABLE_END,
>> +};
>> +
>> +static const char *usb_extcon_cable[] = {
>> +       [EXTCON_CABLE_USB] = "USB",
>> +       [EXTCON_CABLE_USB_HOST] = "USB-HOST",
>> +       NULL,
>> +};

I'm not exactly sure how else it is supposed to work if we
support only a subset of cables from the global extcon_cable_name[][].

>>
> 
> <snip>
> 
>> +
>> +static int usb_extcon_probe(struct platform_device *pdev)
>> +{
>>
> 
> <snip>
> 
>> +
>> +       ret = devm_request_threaded_irq(dev, info->id_irq, NULL,
>> +                                       usb_irq_handler,
>> +                                       IRQF_TRIGGER_RISING |
>> +                                       IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
> 
> Shouldn't triggers be defined in DTS files?

Could be but we're sure that we always need the trigger for both rising/falling edges
in this case. So the usage is more appropriately decided from application point of view
rather than h/w point of view. h/w is generic GPIO.

cheers,
-roger

WARNING: multiple messages have this Message-ID (diff)
From: Roger Quadros <rogerq@ti.com>
To: "Ivan T. Ivanov" <ivan.ivanov@linaro.org>
Cc: <cw00.choi@samsung.com>, <myungjoo.ham@samsung.com>,
	<balbi@ti.com>, <tony@atomide.com>, <nsekhar@ti.com>,
	<devicetree@vger.kernel.org>, <linux-usb@vger.kernel.org>,
	<linux-omap@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 1/1] extcon: usb-gpio: Introduce gpio usb extcon driver
Date: Mon, 16 Mar 2015 15:11:17 +0200	[thread overview]
Message-ID: <5506D675.8010006@ti.com> (raw)
In-Reply-To: <1426509149.2330.5.camel@linaro.org>

Hi Ivan,

On 16/03/15 14:32, Ivan T. Ivanov wrote:
> Hi, 
> 
> On Mon, 2015-02-02 at 12:21 +0200, Roger Quadros wrote:
>> This driver observes the USB ID pin connected over a GPIO and
>> updates the USB cable extcon states accordingly.
>>
>> The existing GPIO extcon driver is not suitable for this purpose
>> as it needs to be taught to understand USB cable states and it
>> can't handle more than one cable per instance.
>>
>> For the USB case we need to handle 2 cable states.
>> 1) USB (attach/detach)
>> 2) USB-HOST (attach/detach)
>>
>> This driver can be easily updated in the future to handle VBUS
>> events in case it happens to be available on GPIO for any platform.
>>
>> Signed-off-by: Roger Quadros <rogerq@ti.com>
>> ---
>> v4:
>> - got rid of id_irqwake flag. Fail if enable/disable_irq_wake() fails
>> - changed host cable name to "USB-HOST"
> 
> I am sorry that I am getting a bit little late into this.
> 
> Isn't supposed that we have to use strings defined in 
> const char extcon_cable_name[][]?
> 
> 
>> +
>> +/* List of detectable cables */
>> +enum {
>> +       EXTCON_CABLE_USB = 0,
>> +       EXTCON_CABLE_USB_HOST,
>> +
> 
> Same here: duplicated with enum extcon_cable_name
> 
>> +       EXTCON_CABLE_END,
>> +};
>> +
>> +static const char *usb_extcon_cable[] = {
>> +       [EXTCON_CABLE_USB] = "USB",
>> +       [EXTCON_CABLE_USB_HOST] = "USB-HOST",
>> +       NULL,
>> +};

I'm not exactly sure how else it is supposed to work if we
support only a subset of cables from the global extcon_cable_name[][].

>>
> 
> <snip>
> 
>> +
>> +static int usb_extcon_probe(struct platform_device *pdev)
>> +{
>>
> 
> <snip>
> 
>> +
>> +       ret = devm_request_threaded_irq(dev, info->id_irq, NULL,
>> +                                       usb_irq_handler,
>> +                                       IRQF_TRIGGER_RISING |
>> +                                       IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
> 
> Shouldn't triggers be defined in DTS files?

Could be but we're sure that we always need the trigger for both rising/falling edges
in this case. So the usage is more appropriately decided from application point of view
rather than h/w point of view. h/w is generic GPIO.

cheers,
-roger

  reply	other threads:[~2015-03-16 13:11 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-26 12:15 [PATCH v2 0/7] extcon: usb: Introduce USB GPIO extcon driver. Fix DRA7 & AM57xx USB Roger Quadros
2015-01-26 12:15 ` Roger Quadros
     [not found] ` <1422274532-9488-1-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2015-01-26 12:15   ` [PATCH v2 1/7] extcon: usb-gpio: Introduce gpio usb extcon driver Roger Quadros
2015-01-26 12:15     ` Roger Quadros
     [not found]     ` <1422274532-9488-2-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2015-01-26 13:56       ` Chanwoo Choi
2015-01-26 13:56         ` Chanwoo Choi
2015-01-26 16:27         ` Roger Quadros
2015-01-26 16:27           ` Roger Quadros
     [not found]           ` <54C66B0D.9040109-l0cyMroinI0@public.gmane.org>
2015-01-27  1:54             ` Chanwoo Choi
2015-01-27  1:54               ` Chanwoo Choi
     [not found]               ` <54C6EFC8.1090601-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-01-27 15:38                 ` Roger Quadros
2015-01-27 15:38                   ` Roger Quadros
2015-01-28  2:19                   ` Chanwoo Choi
2015-01-28 12:12                     ` Roger Quadros
2015-01-28 12:12                       ` Roger Quadros
2015-01-28 17:09                       ` Tony Lindgren
2015-01-29 11:31                         ` Roger Quadros
2015-01-29 11:31                           ` Roger Quadros
2015-01-29 16:56                           ` Tony Lindgren
     [not found]                             ` <20150129165625.GB16250-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-01-30 10:58                               ` Roger Quadros
2015-01-30 10:58                                 ` Roger Quadros
2015-01-28 12:15     ` [PATCH v3 " Roger Quadros
2015-01-28 12:15       ` Roger Quadros
2015-01-29  1:49       ` Chanwoo Choi
2015-01-29 11:26         ` Roger Quadros
2015-01-29 11:26           ` Roger Quadros
2015-01-30  0:06           ` Chanwoo Choi
     [not found]             ` <54CACAEF.6070208-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-01-30 11:09               ` Roger Quadros
2015-01-30 11:09                 ` Roger Quadros
2015-01-30 13:57                 ` Roger Quadros
2015-01-30 13:57                   ` Roger Quadros
2015-01-30  0:11       ` Chanwoo Choi
2015-01-30 14:03         ` Roger Quadros
2015-01-30 14:03           ` Roger Quadros
     [not found]           ` <54CB8F3A.7020903-l0cyMroinI0@public.gmane.org>
2015-02-02  5:06             ` Chanwoo Choi
2015-02-02  5:06               ` Chanwoo Choi
2015-02-02 10:21       ` [PATCH v4 1/1] " Roger Quadros
2015-02-02 10:21         ` Roger Quadros
2015-02-03  1:13         ` Chanwoo Choi
2015-03-16 12:32         ` Ivan T. Ivanov
2015-03-16 13:11           ` Roger Quadros [this message]
2015-03-16 13:11             ` Roger Quadros
2015-03-16 14:23             ` Ivan T. Ivanov
2015-03-17  2:01               ` Chanwoo Choi
2015-03-17  7:52                 ` Ivan T. Ivanov
     [not found]                   ` <1426578738.2330.18.camel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-03-17  8:00                     ` Ivan T. Ivanov
2015-03-17  8:00                       ` Ivan T. Ivanov
2015-01-26 12:15   ` [PATCH v2 2/7] usb: extcon: Fix USB-Host cable name Roger Quadros
2015-01-26 12:15     ` Roger Quadros
2015-01-30 11:04     ` Roger Quadros
2015-01-30 11:04       ` Roger Quadros
2015-01-30 14:05       ` Roger Quadros
2015-01-30 14:05         ` Roger Quadros
2015-02-02  5:04         ` Chanwoo Choi
2015-02-02  9:09           ` Roger Quadros
2015-02-02  9:09             ` Roger Quadros
2015-02-02  9:55             ` Chanwoo Choi
     [not found]               ` <54CF4974.7080404-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-02-02 10:01                 ` Roger Quadros
2015-02-02 10:01                   ` Roger Quadros
     [not found]                   ` <54CF4B14.4050802-l0cyMroinI0@public.gmane.org>
2015-02-02 10:06                     ` Chanwoo Choi
2015-02-02 10:06                       ` Chanwoo Choi
2015-01-26 12:15 ` [PATCH v2 3/7] ARM: dts: dra7-evm: Add extcon nodes for USB Roger Quadros
2015-01-26 12:15   ` Roger Quadros
2015-01-26 12:15 ` [PATCH v2 4/7] ARM: dts: dra72-evm: " Roger Quadros
2015-01-26 12:15   ` Roger Quadros
2015-01-26 12:15 ` [PATCH v2 5/7] ARM: dts: am57xx-beagle-x15: " Roger Quadros
2015-01-26 12:15   ` Roger Quadros
2015-01-26 12:15 ` [PATCH v2 6/7] ARM: dts: am57xx-beagle-x15: Fix USB2 mode Roger Quadros
2015-01-26 12:15   ` Roger Quadros
2015-01-26 12:15 ` [PATCH v2 7/7] ARM: omap2plus_defconfig: Enable EXTCON_GPIO_USB Roger Quadros
2015-01-26 12:15   ` Roger Quadros
     [not found]   ` <1422274532-9488-8-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2015-03-16 17:53     ` Tony Lindgren
2015-03-16 17:53       ` Tony Lindgren
     [not found]       ` <20150316175355.GS5264-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-03-17  9:29         ` Roger Quadros
2015-03-17  9:29           ` Roger Quadros

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5506D675.8010006@ti.com \
    --to=rogerq@ti.com \
    --cc=balbi@ti.com \
    --cc=cw00.choi@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=ivan.ivanov@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=myungjoo.ham@samsung.com \
    --cc=nsekhar@ti.com \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.