From: Antony Pavlov <antonynpavlov@gmail.com> To: Alan Stern <stern@rowland.harvard.edu>, Marek Vasut <marex@denx.de> Cc: linux-mips@linux-mips.org, Wills Wang <wills.wang@live.com>, Daniel Schwierzeck <daniel.schwierzeck@gmail.com>, Alban Bedel <albeu@free.fr>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, <linux-usb@vger.kernel.org>, <linux-kernel@vger.kernel.org> Subject: Re: [RFC v5 07/15] usb: ehci: add vbus-gpio parameter Date: Thu, 18 Feb 2016 21:06:52 +0300 [thread overview] Message-ID: <20160218210652.68ae464eed8ddbffd33e7a02@gmail.com> (raw) In-Reply-To: <Pine.LNX.4.44L0.1602181111350.1280-100000@iolanthe.rowland.org> On Thu, 18 Feb 2016 11:12:43 -0500 (EST) Alan Stern <stern@rowland.harvard.edu> wrote: > On Tue, 9 Feb 2016, Antony Pavlov wrote: > > > This patch retrieves and configures the vbus control gpio via > > the device tree. > > > > This patch is based on a ehci-s5p.c commit fd81d59c90d38661 > > ("USB: ehci-s5p: Add vbus setup function to the s5p ehci glue layer"). > > > > Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> > > Cc: Alan Stern <stern@rowland.harvard.edu> > > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > Cc: linux-usb@vger.kernel.org > > Cc: linux-kernel@vger.kernel.org > > --- > > drivers/usb/host/ehci-platform.c | 22 ++++++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > > > diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c > > index bd7082f2..0d95ced 100644 > > --- a/drivers/usb/host/ehci-platform.c > > +++ b/drivers/usb/host/ehci-platform.c > > @@ -28,6 +28,7 @@ > > #include <linux/io.h> > > #include <linux/module.h> > > #include <linux/of.h> > > +#include <linux/of_gpio.h> > > #include <linux/phy/phy.h> > > #include <linux/platform_device.h> > > #include <linux/reset.h> > > @@ -142,6 +143,25 @@ static struct usb_ehci_pdata ehci_platform_defaults = { > > .power_off = ehci_platform_power_off, > > }; > > > > +static void setup_vbus_gpio(struct device *dev) > > +{ > > + int err; > > + int gpio; > > + > > + if (!dev->of_node) > > + return; > > + > > + gpio = of_get_named_gpio(dev->of_node, "vbus-gpio", 0); > > + if (!gpio_is_valid(gpio)) > > + return; > > + > > + err = devm_gpio_request_one(dev, gpio, > > + GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, > > + "ehci_vbus_gpio"); > > + if (err) > > + dev_err(dev, "can't request ehci vbus gpio %d", gpio); > > > I don't understand this. If you get an error here, what's the point of > allowing the probe to continue? Shouldn't you return an error code so > the probe will fail? Please ignore the 'usb: ehci: add vbus-gpio parameter' patch! In the new AR9331 patchseries I use chipidea USB driver (thanks to Marek for the suggestion) in the AR9331 dtsi-file: usb: usb@1b000100 { compatible = "chipidea,usb2"; reg = <0x1b000000 0x200>; interrupt-parent = <&cpuintc>; interrupts = <3>; resets = <&rst 5>; phy-names = "usb-phy"; phys = <&usb_phy>; status = "disabled"; }; so I use regulator in the TL-MR3020 board dts file: reg_usb_vbus: reg_usb_vbus { compatible = "regulator-fixed"; regulator-name = "usb_vbus"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpio = <&gpio 8 GPIO_ACTIVE_HIGH>; enable-active-high; }; &usb { dr_mode = "host"; vbus-supply = <®_usb_vbus>; status = "okay"; }; As a result there is no need in adding vbus-gpio parameter to ehci anymore! > > +} > > + > > static int ehci_platform_probe(struct platform_device *dev) > > { > > struct usb_hcd *hcd; > > @@ -174,6 +194,8 @@ static int ehci_platform_probe(struct platform_device *dev) > > return irq; > > } > > > > + setup_vbus_gpio(&dev->dev); > > + > > hcd = usb_create_hcd(&ehci_platform_hc_driver, &dev->dev, > > dev_name(&dev->dev)); > > if (!hcd) > > > -- -- Best regards, Antony Pavlov
WARNING: multiple messages have this Message-ID (diff)
From: Antony Pavlov <antonynpavlov@gmail.com> To: Alan Stern <stern@rowland.harvard.edu>, Marek Vasut <marex@denx.de> Cc: linux-mips@linux-mips.org, Wills Wang <wills.wang@live.com>, Daniel Schwierzeck <daniel.schwierzeck@gmail.com>, Alban Bedel <albeu@free.fr>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [RFC v5 07/15] usb: ehci: add vbus-gpio parameter Date: Thu, 18 Feb 2016 21:06:52 +0300 [thread overview] Message-ID: <20160218210652.68ae464eed8ddbffd33e7a02@gmail.com> (raw) Message-ID: <20160218180652.5uBD7BXZPqGt8RnpAHnfVO9zdqFKceRTBVK4F08F96k@z> (raw) In-Reply-To: <Pine.LNX.4.44L0.1602181111350.1280-100000@iolanthe.rowland.org> On Thu, 18 Feb 2016 11:12:43 -0500 (EST) Alan Stern <stern@rowland.harvard.edu> wrote: > On Tue, 9 Feb 2016, Antony Pavlov wrote: > > > This patch retrieves and configures the vbus control gpio via > > the device tree. > > > > This patch is based on a ehci-s5p.c commit fd81d59c90d38661 > > ("USB: ehci-s5p: Add vbus setup function to the s5p ehci glue layer"). > > > > Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> > > Cc: Alan Stern <stern@rowland.harvard.edu> > > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > Cc: linux-usb@vger.kernel.org > > Cc: linux-kernel@vger.kernel.org > > --- > > drivers/usb/host/ehci-platform.c | 22 ++++++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > > > diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c > > index bd7082f2..0d95ced 100644 > > --- a/drivers/usb/host/ehci-platform.c > > +++ b/drivers/usb/host/ehci-platform.c > > @@ -28,6 +28,7 @@ > > #include <linux/io.h> > > #include <linux/module.h> > > #include <linux/of.h> > > +#include <linux/of_gpio.h> > > #include <linux/phy/phy.h> > > #include <linux/platform_device.h> > > #include <linux/reset.h> > > @@ -142,6 +143,25 @@ static struct usb_ehci_pdata ehci_platform_defaults = { > > .power_off = ehci_platform_power_off, > > }; > > > > +static void setup_vbus_gpio(struct device *dev) > > +{ > > + int err; > > + int gpio; > > + > > + if (!dev->of_node) > > + return; > > + > > + gpio = of_get_named_gpio(dev->of_node, "vbus-gpio", 0); > > + if (!gpio_is_valid(gpio)) > > + return; > > + > > + err = devm_gpio_request_one(dev, gpio, > > + GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, > > + "ehci_vbus_gpio"); > > + if (err) > > + dev_err(dev, "can't request ehci vbus gpio %d", gpio); > > > I don't understand this. If you get an error here, what's the point of > allowing the probe to continue? Shouldn't you return an error code so > the probe will fail? Please ignore the 'usb: ehci: add vbus-gpio parameter' patch! In the new AR9331 patchseries I use chipidea USB driver (thanks to Marek for the suggestion) in the AR9331 dtsi-file: usb: usb@1b000100 { compatible = "chipidea,usb2"; reg = <0x1b000000 0x200>; interrupt-parent = <&cpuintc>; interrupts = <3>; resets = <&rst 5>; phy-names = "usb-phy"; phys = <&usb_phy>; status = "disabled"; }; so I use regulator in the TL-MR3020 board dts file: reg_usb_vbus: reg_usb_vbus { compatible = "regulator-fixed"; regulator-name = "usb_vbus"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpio = <&gpio 8 GPIO_ACTIVE_HIGH>; enable-active-high; }; &usb { dr_mode = "host"; vbus-supply = <®_usb_vbus>; status = "okay"; }; As a result there is no need in adding vbus-gpio parameter to ehci anymore! > > +} > > + > > static int ehci_platform_probe(struct platform_device *dev) > > { > > struct usb_hcd *hcd; > > @@ -174,6 +194,8 @@ static int ehci_platform_probe(struct platform_device *dev) > > return irq; > > } > > > > + setup_vbus_gpio(&dev->dev); > > + > > hcd = usb_create_hcd(&ehci_platform_hc_driver, &dev->dev, > > dev_name(&dev->dev)); > > if (!hcd) > > > -- -- Best regards, Antony Pavlov
next prev parent reply other threads:[~2016-02-18 17:41 UTC|newest] Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-02-09 8:13 [RFC v5 00/15] MIPS: ath79: AR9331: add devicetree support Antony Pavlov 2016-02-09 8:13 ` [RFC v5 01/15] WIP: clk: add Atheros AR933X SoCs clock driver Antony Pavlov 2016-02-09 11:05 ` Marek Vasut [not found] ` <1455005641-7079-2-git-send-email-antonynpavlov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2016-02-09 21:51 ` Alban 2016-02-09 21:51 ` Alban 2016-02-11 12:50 ` Antony Pavlov 2016-02-11 12:50 ` Antony Pavlov 2016-02-12 2:21 ` Michael Turquette 2016-02-12 2:21 ` Michael Turquette 2016-02-09 8:13 ` [RFC v5 03/15] MIPS: ath79: use clk-ath79.c driver for AR933X Antony Pavlov 2016-02-09 11:07 ` Marek Vasut 2016-02-09 22:07 ` Alban 2016-02-10 9:04 ` Antony Pavlov 2016-02-09 8:13 ` [RFC v5 04/15] WIP: MIPS: ath79: setup.c: disable platform code for OF boards Antony Pavlov 2016-02-09 11:08 ` Marek Vasut 2016-02-09 8:13 ` [RFC v5 07/15] usb: ehci: add vbus-gpio parameter Antony Pavlov 2016-02-09 11:14 ` Marek Vasut 2016-02-09 22:15 ` Alban 2016-02-10 0:00 ` Antony Pavlov 2016-02-18 16:12 ` Alan Stern 2016-02-18 16:12 ` Alan Stern 2016-02-18 16:39 ` Marek Vasut 2016-02-18 18:06 ` Antony Pavlov [this message] 2016-02-18 18:06 ` Antony Pavlov 2016-02-18 18:31 ` Sergei Shtylyov 2016-02-18 22:11 ` Antony Pavlov 2016-02-09 8:13 ` [RFC v5 08/15] MIPS: tl_mr3020: enable usb support Antony Pavlov [not found] ` <1455005641-7079-1-git-send-email-antonynpavlov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2016-02-09 8:13 ` [RFC v5 02/15] dt-bindings: clock: qca,ath79-pll: fix copy-paste typos Antony Pavlov 2016-02-09 8:13 ` Antony Pavlov [not found] ` <1455005641-7079-3-git-send-email-antonynpavlov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2016-02-09 11:05 ` Marek Vasut 2016-02-09 11:05 ` Marek Vasut 2016-02-09 21:52 ` Alban 2016-02-09 21:52 ` Alban 2016-02-12 14:52 ` Rob Herring 2016-02-12 14:52 ` Rob Herring 2016-02-09 8:13 ` [RFC v5 05/15] MIPS: dts: qca: introduce AR9331 devicetree Antony Pavlov 2016-02-09 8:13 ` Antony Pavlov [not found] ` <1455005641-7079-6-git-send-email-antonynpavlov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2016-02-09 11:12 ` Marek Vasut 2016-02-09 11:12 ` Marek Vasut 2016-02-09 8:13 ` [RFC v5 06/15] MIPS: ath79: add initial support for TP-LINK MR3020 Antony Pavlov 2016-02-09 8:13 ` Antony Pavlov [not found] ` <1455005641-7079-7-git-send-email-antonynpavlov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2016-02-09 11:13 ` Marek Vasut 2016-02-09 11:13 ` Marek Vasut 2016-02-09 8:13 ` [RFC v5 09/15] devicetree: add Dragino vendor id Antony Pavlov 2016-02-09 8:13 ` Antony Pavlov 2016-02-09 8:13 ` [RFC v5 10/15] MIPS: ath79: add initial support for Dragino MS14 (Dragino 2) Antony Pavlov 2016-02-09 8:13 ` Antony Pavlov [not found] ` <1455005641-7079-11-git-send-email-antonynpavlov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2016-02-09 11:16 ` Marek Vasut 2016-02-09 11:16 ` Marek Vasut 2016-02-09 8:13 ` [RFC v5 11/15] devicetree: add Onion Corporation vendor id Antony Pavlov 2016-02-09 8:13 ` Antony Pavlov 2016-02-09 8:13 ` [RFC v5 12/15] MIPS: ath79: add initial support for Onion Omega Antony Pavlov 2016-02-09 8:13 ` Antony Pavlov 2016-02-09 8:13 ` [RFC v5 13/15] devicetree: add DPTechnics vendor id Antony Pavlov 2016-02-09 8:13 ` Antony Pavlov [not found] ` <1455005641-7079-14-git-send-email-antonynpavlov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2016-02-12 14:53 ` Rob Herring 2016-02-12 14:53 ` Rob Herring 2016-02-09 8:14 ` [RFC v5 14/15] MIPS: ath79: add DPT-Module support Antony Pavlov 2016-02-09 8:14 ` Antony Pavlov 2016-02-09 8:14 ` [RFC v5 15/15] WIP: MIPS: ath79: add AR9331 devicetree defconfig Antony Pavlov
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=20160218210652.68ae464eed8ddbffd33e7a02@gmail.com \ --to=antonynpavlov@gmail.com \ --cc=albeu@free.fr \ --cc=daniel.schwierzeck@gmail.com \ --cc=gregkh@linuxfoundation.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mips@linux-mips.org \ --cc=linux-usb@vger.kernel.org \ --cc=marex@denx.de \ --cc=stern@rowland.harvard.edu \ --cc=wills.wang@live.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: linkBe 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.