All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: MyungJoo Ham <myungjoo.ham@samsung.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	linux-usb@vger.kernel.org, Felipe Balbi <balbi@kernel.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Roger Quadros <rogerq@ti.com>,
	linux-pm@vger.kernel.org, "Rafael J. Wysocki" <rafael@kernel.org>,
	Sebastian Reichel <sre@kernel.org>,
	linux-omap@vger.kernel.org, Darren Hart <dvhart@infradead.org>,
	platform-driver-x86@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org, Chen-Yu Tsai <wens@csie.org>,
	Hans de Goede <hdegoede@redhat.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: [PATCH v1 5/5] usb: dwc3: drd: Add support for DR detection through extcon
Date: Sat, 10 Nov 2018 20:11:01 +0200	[thread overview]
Message-ID: <20181110181101.24557-5-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20181110181101.24557-1-andriy.shevchenko@linux.intel.com>

Allow extcon device, found by name, to provide DR status for USB.
This is needed, for example, in case of Intel Merrifield platform,
where the Intel Basin Cove PMIC provides an extcon device to communicate
the detected role.

Note, that the "linux,extcon-name" property name is only for kernel
internal use by X86/ACPI platform code and as such is not documented
in the device tree bindings.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/usb/dwc3/drd.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/usb/dwc3/drd.c b/drivers/usb/dwc3/drd.c
index 5dc4cddd5b68..d6b47829fdca 100644
--- a/drivers/usb/dwc3/drd.c
+++ b/drivers/usb/dwc3/drd.c
@@ -485,10 +485,20 @@ static struct extcon_dev *dwc3_get_extcon(struct dwc3 *dwc)
 	struct device *dev = dwc->dev;
 	struct device_node *np_phy, *np_conn;
 	struct extcon_dev *edev;
+	const char *name;
 
 	if (device_property_read_bool(dev, "extcon"))
 		return extcon_get_edev_by_phandle(dev, 0);
 
+	/*
+	 * Device tree platforms should get extcon via phandle.
+	 * On ACPI platforms, we get the name from a device property.
+	 * This device property is for kernel internal use only and
+	 * is expected to be set by the glue code.
+	 */
+	if (device_property_read_string(dev, "linux,extcon-name", &name) == 0)
+		return extcon_get_extcon_dev(name);
+
 	np_phy = of_parse_phandle(dev->of_node, "phys", 0);
 	np_conn = of_graph_get_remote_node(np_phy, -1, -1);
 
-- 
2.19.1


WARNING: multiple messages have this Message-ID (diff)
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: MyungJoo Ham <myungjoo.ham@samsung.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	linux-usb@vger.kernel.org, Felipe Balbi <balbi@kernel.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Roger Quadros <rogerq@ti.com>,
	linux-pm@vger.kernel.org, "Rafael J. Wysocki" <rafael@kernel.org>,
	Sebastian Reichel <sre@kernel.org>,
	linux-omap@vger.kernel.org, Darren Hart <dvhart@infradead.org>,
	platform-driver-x86@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org, Chen-Yu Tsai <wens@csie.org>,
	Hans de Goede <hdegoede@redhat.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: [v1,5/5] usb: dwc3: drd: Add support for DR detection through extcon
Date: Sat, 10 Nov 2018 20:11:01 +0200	[thread overview]
Message-ID: <20181110181101.24557-5-andriy.shevchenko@linux.intel.com> (raw)

Allow extcon device, found by name, to provide DR status for USB.
This is needed, for example, in case of Intel Merrifield platform,
where the Intel Basin Cove PMIC provides an extcon device to communicate
the detected role.

Note, that the "linux,extcon-name" property name is only for kernel
internal use by X86/ACPI platform code and as such is not documented
in the device tree bindings.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/usb/dwc3/drd.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/usb/dwc3/drd.c b/drivers/usb/dwc3/drd.c
index 5dc4cddd5b68..d6b47829fdca 100644
--- a/drivers/usb/dwc3/drd.c
+++ b/drivers/usb/dwc3/drd.c
@@ -485,10 +485,20 @@ static struct extcon_dev *dwc3_get_extcon(struct dwc3 *dwc)
 	struct device *dev = dwc->dev;
 	struct device_node *np_phy, *np_conn;
 	struct extcon_dev *edev;
+	const char *name;
 
 	if (device_property_read_bool(dev, "extcon"))
 		return extcon_get_edev_by_phandle(dev, 0);
 
+	/*
+	 * Device tree platforms should get extcon via phandle.
+	 * On ACPI platforms, we get the name from a device property.
+	 * This device property is for kernel internal use only and
+	 * is expected to be set by the glue code.
+	 */
+	if (device_property_read_string(dev, "linux,extcon-name", &name) == 0)
+		return extcon_get_extcon_dev(name);
+
 	np_phy = of_parse_phandle(dev->of_node, "phys", 0);
 	np_conn = of_graph_get_remote_node(np_phy, -1, -1);
 

  parent reply	other threads:[~2018-11-10 18:11 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-10 18:10 [PATCH v1 1/5] drivercore: Revert "deferral race condition fix" Andy Shevchenko
2018-11-10 18:10 ` [v1,1/5] " Andy Shevchenko
2018-11-10 18:10 ` [PATCH v1 2/5] extcon: Return -EPROBE_DEFER when extcon device is not found Andy Shevchenko
2018-11-10 18:10   ` [v1,2/5] " Andy Shevchenko
2018-11-10 18:39   ` [PATCH v1 2/5] " Guenter Roeck
2018-11-10 18:39     ` [v1,2/5] " Guenter Roeck
2018-11-11  0:06   ` [PATCH v1 2/5] " Sebastian Reichel
2018-11-11  0:06     ` [v1,2/5] " Sebastian Reichel
2018-11-12  0:24   ` [PATCH v1 2/5] " Chanwoo Choi
2018-11-12  0:24     ` [v1,2/5] " Chanwoo Choi
2018-11-13 23:52     ` [PATCH v1 2/5] " Chanwoo Choi
2018-11-13 23:52       ` [v1,2/5] " Chanwoo Choi
2018-11-14  8:35       ` [PATCH v1 2/5] " Andy Shevchenko
2018-11-14  8:35         ` [v1,2/5] " Andy Shevchenko
2018-11-14  9:13         ` [PATCH v1 2/5] " Chanwoo Choi
2018-11-14  9:13           ` [v1,2/5] " Chanwoo Choi
2018-11-14  9:36           ` [PATCH v1 2/5] " Andy Shevchenko
2018-11-14  9:36             ` [v1,2/5] " Andy Shevchenko
2018-11-14  9:48             ` [PATCH v1 2/5] " Chanwoo Choi
2018-11-14  9:48               ` [v1,2/5] " Chanwoo Choi
2018-11-14 10:20               ` [PATCH v1 2/5] " Andy Shevchenko
2018-11-14 10:20                 ` [v1,2/5] " Andy Shevchenko
2018-11-14 11:05                 ` [PATCH v1 2/5] " Chanwoo Choi
2018-11-14 11:05                   ` [v1,2/5] " Chanwoo Choi
2018-11-14 11:17                   ` [PATCH v1 2/5] " Andy Shevchenko
2018-11-14 11:17                     ` [v1,2/5] " Andy Shevchenko
2018-11-14 14:04                     ` [PATCH v1 2/5] " Andy Shevchenko
2018-11-14 14:04                       ` [v1,2/5] " Andy Shevchenko
2018-11-15  1:16                       ` [PATCH v1 2/5] " Chanwoo Choi
2018-11-15  1:16                         ` [v1,2/5] " Chanwoo Choi
2018-11-12 11:47   ` [PATCH v1 2/5] " Heikki Krogerus
2018-11-12 11:47     ` [v1,2/5] " Heikki Krogerus
2018-11-10 18:10 ` [PATCH v1 3/5] staging: typec: fusb302: Rename fcs,extcon-name to linux,extcon-name Andy Shevchenko
2018-11-10 18:10   ` [v1,3/5] " Andy Shevchenko
2018-11-10 18:40   ` [PATCH v1 3/5] " Guenter Roeck
2018-11-10 18:40     ` [v1,3/5] " Guenter Roeck
2018-11-10 18:11 ` [PATCH v1 4/5] usb: dwc3: drd: Switch to device property for 'extcon' handling Andy Shevchenko
2018-11-10 18:11   ` [v1,4/5] " Andy Shevchenko
2018-11-12 11:47   ` [PATCH v1 4/5] " Felipe Balbi
2018-11-12 11:47     ` [v1,4/5] " Felipe Balbi
2018-11-12 11:47     ` [PATCH v1 4/5] " Felipe Balbi
2018-11-10 18:11 ` Andy Shevchenko [this message]
2018-11-10 18:11   ` [v1,5/5] usb: dwc3: drd: Add support for DR detection through extcon Andy Shevchenko
2018-11-10 18:26 ` [PATCH v1 1/5] drivercore: Revert "deferral race condition fix" Greg Kroah-Hartman
2018-11-10 18:26   ` [v1,1/5] " Greg Kroah-Hartman
2018-11-10 18:36   ` [PATCH v1 1/5] " Andy Shevchenko
2018-11-10 18:36     ` [v1,1/5] " Andy Shevchenko
2018-11-11 11:45     ` [PATCH v1 1/5] " Hans de Goede
2018-11-11 11:45       ` [v1,1/5] " Hans de Goede
2018-11-11 13:04 ` [PATCH v1 1/5] " Andy Shevchenko
2018-11-11 19:26   ` Rob Herring
2018-11-11 23:53     ` Andy Shevchenko
2018-11-14 23:25     ` Grant Likely
2018-11-12 16:11 ` Peter Ujfalusi
2018-11-12 16:11   ` [v1,1/5] " Peter Ujfalusi
2018-11-12 16:11   ` [PATCH v1 1/5] " Peter Ujfalusi
2018-11-14  0:33   ` Mark Brown
2018-11-14  0:33     ` [v1,1/5] " Mark Brown
2018-11-14  8:45     ` [PATCH v1 1/5] " Andy Shevchenko
2018-11-14  8:45       ` [v1,1/5] " Andy Shevchenko
2018-11-14  8:45       ` [PATCH v1 1/5] " Andy Shevchenko
2018-11-14 10:19       ` Peter Ujfalusi
2018-11-14 10:19         ` [v1,1/5] " Peter Ujfalusi
2018-11-14 10:19         ` [PATCH v1 1/5] " Peter Ujfalusi

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=20181110181101.24557-5-andriy.shevchenko@linux.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=balbi@kernel.org \
    --cc=cw00.choi@samsung.com \
    --cc=dvhart@infradead.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hdegoede@redhat.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=myungjoo.ham@samsung.com \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=rogerq@ti.com \
    --cc=sre@kernel.org \
    --cc=wens@csie.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 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.