From: Peter Chen <peter.chen-3arQi8VN3Tc@public.gmane.org>
To: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
pawel.moll-5wv7dgnIgG8@public.gmane.org,
mark.rutland-5wv7dgnIgG8@public.gmane.org,
linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
arnd-r2nGTMty4D4@public.gmane.org,
s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
mail-APzI5cXaD1zVlRWJc41N0YvC60bnQu0Y@public.gmane.org,
troy.kisky-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org,
festevam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
Peter Chen <peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Subject: [PATCH 2/3] usb: chipidea: host: let the hcd know's parent device node
Date: Thu, 3 Mar 2016 18:01:15 +0800 [thread overview]
Message-ID: <1456999276-6315-3-git-send-email-peter.chen@nxp.com> (raw)
In-Reply-To: <1456999276-6315-1-git-send-email-peter.chen-3arQi8VN3Tc@public.gmane.org>
From: Peter Chen <peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Since the hcd (chipidea core device) has no device node, so
if we want to describe the child node under the hcd, we had
to put it under its parent's node (glue layer device), and
in the code, we need to let the hcd knows glue layer's code,
then the USB core can handle this node.
Signed-off-by: Peter Chen <peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
---
drivers/usb/chipidea/host.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c
index 053bac9..55120ef 100644
--- a/drivers/usb/chipidea/host.c
+++ b/drivers/usb/chipidea/host.c
@@ -109,15 +109,25 @@ static int host_start(struct ci_hdrc *ci)
struct ehci_hcd *ehci;
struct ehci_ci_priv *priv;
int ret;
+ struct device *dev = ci->dev;
- if (usb_disabled())
+ if (usb_disabled() || !dev)
return -ENODEV;
- hcd = usb_create_hcd(&ci_ehci_hc_driver, ci->dev, dev_name(ci->dev));
+ /*
+ * USB Core will try to get child node under roothub,
+ * but chipidea core has no of_node, and the child node
+ * for controller is located at glue layer's node which
+ * is chipidea core's parent.
+ */
+ if (dev->parent && dev->parent->of_node)
+ dev->of_node = dev->parent->of_node;
+
+ hcd = usb_create_hcd(&ci_ehci_hc_driver, dev, dev_name(dev));
if (!hcd)
return -ENOMEM;
- dev_set_drvdata(ci->dev, ci);
+ dev_set_drvdata(dev, ci);
hcd->rsrc_start = ci->hw_bank.phys;
hcd->rsrc_len = ci->hw_bank.size;
hcd->regs = ci->hw_bank.abs;
@@ -143,7 +153,7 @@ static int host_start(struct ci_hdrc *ci)
if (ci->platdata->flags & CI_HDRC_TURN_VBUS_EARLY_ON) {
ret = regulator_enable(ci->platdata->reg_vbus);
if (ret) {
- dev_err(ci->dev,
+ dev_err(dev,
"Failed to enable vbus regulator, ret=%d\n",
ret);
goto put_hcd;
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2016-03-03 10:01 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-03 10:01 [PATCH 0/3] Add power sequence for hard-wired USB devices Peter Chen
[not found] ` <1456999276-6315-1-git-send-email-peter.chen-3arQi8VN3Tc@public.gmane.org>
2016-03-03 10:01 ` [PATCH 1/3] usb: core: add power sequence for " Peter Chen
[not found] ` <1456999276-6315-2-git-send-email-peter.chen-3arQi8VN3Tc@public.gmane.org>
2016-03-03 18:31 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1603031326310.1380-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-03-04 2:07 ` Peter Chen
2016-03-03 20:54 ` Rob Herring
[not found] ` <CAL_JsqLYHzb0ABYN_P9ZOEorT6otvn_BPNzuCFhoqwa5M4y-hw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-04 2:02 ` Peter Chen
[not found] ` <20160304020242.GB30272-Fb7DQEYuewWctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2016-03-04 2:23 ` Andrew Lunn
[not found] ` <20160304022305.GB20597-g2DYL2Zd6BY@public.gmane.org>
2016-03-04 2:37 ` Peter Chen
[not found] ` <20160304023750.GF30272-Fb7DQEYuewWctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2016-03-05 4:28 ` Rob Herring
2016-03-05 8:33 ` Peter Chen
[not found] ` <20160305083347.GA28858-Fb7DQEYuewWctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2016-03-05 14:10 ` Andrew Lunn
[not found] ` <20160305141011.GA28343-g2DYL2Zd6BY@public.gmane.org>
2016-03-14 10:42 ` Peter Chen
[not found] ` <20160314104229.GA2131-Fb7DQEYuewWctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2016-04-05 9:35 ` Peter Chen
2016-03-03 10:01 ` Peter Chen [this message]
[not found] ` <1456999276-6315-3-git-send-email-peter.chen-3arQi8VN3Tc@public.gmane.org>
2016-03-03 14:42 ` [PATCH 2/3] usb: chipidea: host: let the hcd know's parent device node Andrew Lunn
[not found] ` <20160303144247.GH15541-g2DYL2Zd6BY@public.gmane.org>
2016-03-04 1:53 ` Peter Chen
[not found] ` <20160304015326.GA30272-Fb7DQEYuewWctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2016-03-04 2:17 ` Andrew Lunn
[not found] ` <20160304021730.GA20597-g2DYL2Zd6BY@public.gmane.org>
2016-03-04 2:32 ` Peter Chen
2016-03-03 10:01 ` [PATCH 3/3] ARM: dts: imx6qdl-udoo.dtsi: fix onboard USB HUB property Peter Chen
[not found] ` <1456999276-6315-4-git-send-email-peter.chen-3arQi8VN3Tc@public.gmane.org>
2016-03-03 22:30 ` Maciej S. Szmigiero
[not found] ` <56D8BB1D.6040108-APzI5cXaD1zVlRWJc41N0YvC60bnQu0Y@public.gmane.org>
2016-03-04 2:04 ` Peter Chen
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=1456999276-6315-3-git-send-email-peter.chen@nxp.com \
--to=peter.chen-3arqi8vn3tc@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=festevam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mail-APzI5cXaD1zVlRWJc41N0YvC60bnQu0Y@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
--cc=peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org \
--cc=troy.kisky-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).