devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/4] phy: rcar-gen3-usb2: add support for r8a77995
@ 2017-10-10  9:41 Yoshihiro Shimoda
  2017-10-10  9:41 ` [PATCH v5 1/4] phy: rcar-gen3-usb2: check dr_mode for otg mode Yoshihiro Shimoda
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Yoshihiro Shimoda @ 2017-10-10  9:41 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

This patch set is based on the latest phy.git / next branch
(the commit id = 415060b21f318e009d865b4bcbf8f220ebc36964)

After this patch set is applied, a usb 2.0 host node that is combined
with usb 2.0 peripheral needs 'dr_mode = "otg";' property.

Changes from v4:
 - Remove the role_show() modification in patch 2.
 - Remove a new function rcar_gen3_otg_change_role() in patch 2 because adding
   this will be complecated patch code and this is unnecessary for now.
 - Add a new function rcar_gen3_get_phy_mode() to get current phy mode
   for comparing the new mode into a line in patch 2.
 - Rebase patch 3.

Changes from v3:
 - Use enum phy_mode in patch 2.
 - Remove "can_role_swap" parameter and revise the commit log in patch 2
   because a case of "can_role_swap = true" and "has_otg = false" is
   not supported for role swap at the moment.
 - Changes the name of "has_otg" to "has_otg_pins" in patch 3.
 - Use of_device_get_match_data() instead of of_match_device()
 - Add "Reviewed-by:" into patch No.1, 2 and 4. (Simon-san, Thanks!)
  - Since patch No.3 is changed in big at v4, I dropped his "Reviewed-by".

Changes from v2:
 - Revise the commit log ("SoCs" is not third-person singular present).

Changes from v1:
 - Revise typo "wronly" to "wrongly".
 - Remove RCAR_GEN3_PHY_HAS_DEDICATED_PINS from generic gen3 entry in
   patch 3/4
 - Remove the driver change from patch 4/4.
 - Revise the commit log of patch 4/4.

Yoshihiro Shimoda (4):
  phy: rcar-gen3-usb2: check dr_mode for otg mode
  phy: rcar-gen3-usb2: use enum phy_mode in the role_store()
  phy: rcar-gen3-usb2: add SoC-specific parameter for dedicated pins
  phy: rcar-gen3-usb2: add binding for r8a77995

 .../devicetree/bindings/phy/rcar-gen3-phy-usb2.txt |  2 +
 drivers/phy/renesas/phy-rcar-gen3-usb2.c           | 70 ++++++++++++++--------
 2 files changed, 48 insertions(+), 24 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v5 1/4] phy: rcar-gen3-usb2: check dr_mode for otg mode
  2017-10-10  9:41 [PATCH v5 0/4] phy: rcar-gen3-usb2: add support for r8a77995 Yoshihiro Shimoda
@ 2017-10-10  9:41 ` Yoshihiro Shimoda
  2017-10-10  9:41 ` [PATCH v5 2/4] phy: rcar-gen3-usb2: use enum phy_mode in the role_store() Yoshihiro Shimoda
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Yoshihiro Shimoda @ 2017-10-10  9:41 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

The previous code assumed a channel has otg capability if a channel
has interrupt property. But, it is not good because:
 - Battery charging feature also needs interrupt property.
 - Some R-Car Gen3 SoCs (e.g. R-Car D3) don't have OTG capability.

So, this patch checks whether usb 2.0 host node has dr_mode property or
not. If it has 'dr_mode = "otg";', this driver enables otg capability.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
 drivers/phy/renesas/phy-rcar-gen3-usb2.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
index 54c3429..e00e99a 100644
--- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
@@ -1,7 +1,7 @@
 /*
  * Renesas R-Car Gen3 for USB2.0 PHY driver
  *
- * Copyright (C) 2015 Renesas Electronics Corporation
+ * Copyright (C) 2015-2017 Renesas Electronics Corporation
  *
  * This is based on the phy-rcar-gen2 driver:
  * Copyright (C) 2014 Renesas Solutions Corp.
@@ -22,6 +22,7 @@
 #include <linux/platform_device.h>
 #include <linux/pm_runtime.h>
 #include <linux/regulator/consumer.h>
+#include <linux/usb/of.h>
 #include <linux/workqueue.h>
 
 /******* USB2.0 Host registers (original offset is +0x200) *******/
@@ -415,13 +416,16 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
 	/* call request_irq for OTG */
 	irq = platform_get_irq(pdev, 0);
 	if (irq >= 0) {
-		int ret;
-
 		INIT_WORK(&channel->work, rcar_gen3_phy_usb2_work);
 		irq = devm_request_irq(dev, irq, rcar_gen3_phy_usb2_irq,
 				       IRQF_SHARED, dev_name(dev), channel);
 		if (irq < 0)
 			dev_err(dev, "No irq handler (%d)\n", irq);
+	}
+
+	if (of_usb_get_dr_mode_by_phy(dev->of_node, 0) == USB_DR_MODE_OTG) {
+		int ret;
+
 		channel->has_otg = true;
 		channel->extcon = devm_extcon_dev_allocate(dev,
 							rcar_gen3_phy_cable);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v5 2/4] phy: rcar-gen3-usb2: use enum phy_mode in the role_store()
  2017-10-10  9:41 [PATCH v5 0/4] phy: rcar-gen3-usb2: add support for r8a77995 Yoshihiro Shimoda
  2017-10-10  9:41 ` [PATCH v5 1/4] phy: rcar-gen3-usb2: check dr_mode for otg mode Yoshihiro Shimoda
@ 2017-10-10  9:41 ` Yoshihiro Shimoda
  2017-10-11  7:29   ` Simon Horman
  2017-10-11  8:27   ` Kishon Vijay Abraham I
  2017-10-10  9:41 ` [PATCH v5 3/4] phy: rcar-gen3-usb2: add SoC-specific parameter for dedicated pins Yoshihiro Shimoda
  2017-10-10  9:41 ` [PATCH v5 4/4] phy: rcar-gen3-usb2: add binding for r8a77995 Yoshihiro Shimoda
  3 siblings, 2 replies; 8+ messages in thread
From: Yoshihiro Shimoda @ 2017-10-10  9:41 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

This patch modifies the role_store() to use "enum phy_mode" instead
of the local "bool" for host/device mode selection.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 drivers/phy/renesas/phy-rcar-gen3-usb2.c | 29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
index e00e99a..7314b49 100644
--- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
@@ -219,33 +219,40 @@ static bool rcar_gen3_is_host(struct rcar_gen3_chan *ch)
 	return !(readl(ch->base + USB2_COMMCTRL) & USB2_COMMCTRL_OTG_PERI);
 }
 
+static enum phy_mode rcar_gen3_get_phy_mode(struct rcar_gen3_chan *ch)
+{
+	if (rcar_gen3_is_host(ch))
+		return PHY_MODE_USB_HOST;
+	else
+		return PHY_MODE_USB_DEVICE;
+}
+
 static ssize_t role_store(struct device *dev, struct device_attribute *attr,
 			  const char *buf, size_t count)
 {
 	struct rcar_gen3_chan *ch = dev_get_drvdata(dev);
-	bool is_b_device, is_host, new_mode_is_host;
+	bool is_b_device;
+	enum phy_mode cur_mode, new_mode;
 
 	if (!ch->has_otg || !ch->phy->init_count)
 		return -EIO;
 
-	/*
-	 * is_b_device: true is B-Device. false is A-Device.
-	 * If {new_mode_}is_host: true is Host mode. false is Peripheral mode.
-	 */
-	is_b_device = rcar_gen3_check_id(ch);
-	is_host = rcar_gen3_is_host(ch);
 	if (!strncmp(buf, "host", strlen("host")))
-		new_mode_is_host = true;
+		new_mode = PHY_MODE_USB_HOST;
 	else if (!strncmp(buf, "peripheral", strlen("peripheral")))
-		new_mode_is_host = false;
+		new_mode = PHY_MODE_USB_DEVICE;
 	else
 		return -EINVAL;
 
+	/* is_b_device: true is B-Device. false is A-Device. */
+	is_b_device = rcar_gen3_check_id(ch);
+	cur_mode = rcar_gen3_get_phy_mode(ch);
+
 	/* If current and new mode is the same, this returns the error */
-	if (is_host == new_mode_is_host)
+	if (cur_mode == new_mode)
 		return -EINVAL;
 
-	if (new_mode_is_host) {		/* And is_host must be false */
+	if (new_mode == PHY_MODE_USB_HOST) { /* And is_host must be false */
 		if (!is_b_device)	/* A-Peripheral */
 			rcar_gen3_init_from_a_peri_to_a_host(ch);
 		else			/* B-Peripheral */
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v5 3/4] phy: rcar-gen3-usb2: add SoC-specific parameter for dedicated pins
  2017-10-10  9:41 [PATCH v5 0/4] phy: rcar-gen3-usb2: add support for r8a77995 Yoshihiro Shimoda
  2017-10-10  9:41 ` [PATCH v5 1/4] phy: rcar-gen3-usb2: check dr_mode for otg mode Yoshihiro Shimoda
  2017-10-10  9:41 ` [PATCH v5 2/4] phy: rcar-gen3-usb2: use enum phy_mode in the role_store() Yoshihiro Shimoda
@ 2017-10-10  9:41 ` Yoshihiro Shimoda
  2017-10-10  9:41 ` [PATCH v5 4/4] phy: rcar-gen3-usb2: add binding for r8a77995 Yoshihiro Shimoda
  3 siblings, 0 replies; 8+ messages in thread
From: Yoshihiro Shimoda @ 2017-10-10  9:41 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

This patch adds SoC-specific parameter to avoid reading/writing
specific registers wrongly if this driver runs on a SoC which doesn't
have dedicated pins (e.g. R-Car D3). This patch also changes the
value "has_otg" to "has_otg_pins" for slightly easier reading of
the code.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
 drivers/phy/renesas/phy-rcar-gen3-usb2.c | 31 +++++++++++++++++++++----------
 1 file changed, 21 insertions(+), 10 deletions(-)

diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
index 7314b49..eb9786e 100644
--- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
@@ -18,6 +18,7 @@
 #include <linux/module.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
+#include <linux/of_device.h>
 #include <linux/phy/phy.h>
 #include <linux/platform_device.h>
 #include <linux/pm_runtime.h>
@@ -80,6 +81,8 @@
 #define USB2_ADPCTRL_IDPULLUP		BIT(5)	/* 1 = ID sampling is enabled */
 #define USB2_ADPCTRL_DRVVBUS		BIT(4)
 
+#define RCAR_GEN3_PHY_HAS_DEDICATED_PINS	1
+
 struct rcar_gen3_chan {
 	void __iomem *base;
 	struct extcon_dev *extcon;
@@ -87,7 +90,7 @@ struct rcar_gen3_chan {
 	struct regulator *vbus;
 	struct work_struct work;
 	bool extcon_host;
-	bool has_otg;
+	bool has_otg_pins;
 };
 
 static void rcar_gen3_phy_usb2_work(struct work_struct *work)
@@ -234,7 +237,7 @@ static ssize_t role_store(struct device *dev, struct device_attribute *attr,
 	bool is_b_device;
 	enum phy_mode cur_mode, new_mode;
 
-	if (!ch->has_otg || !ch->phy->init_count)
+	if (!ch->has_otg_pins || !ch->phy->init_count)
 		return -EIO;
 
 	if (!strncmp(buf, "host", strlen("host")))
@@ -272,7 +275,7 @@ static ssize_t role_show(struct device *dev, struct device_attribute *attr,
 {
 	struct rcar_gen3_chan *ch = dev_get_drvdata(dev);
 
-	if (!ch->has_otg || !ch->phy->init_count)
+	if (!ch->has_otg_pins || !ch->phy->init_count)
 		return -EIO;
 
 	return sprintf(buf, "%s\n", rcar_gen3_is_host(ch) ? "host" :
@@ -311,7 +314,7 @@ static int rcar_gen3_phy_usb2_init(struct phy *p)
 	writel(USB2_OC_TIMSET_INIT, usb2_base + USB2_OC_TIMSET);
 
 	/* Initialize otg part */
-	if (channel->has_otg)
+	if (channel->has_otg_pins)
 		rcar_gen3_init_otg(channel);
 
 	return 0;
@@ -385,9 +388,17 @@ static irqreturn_t rcar_gen3_phy_usb2_irq(int irq, void *_ch)
 }
 
 static const struct of_device_id rcar_gen3_phy_usb2_match_table[] = {
-	{ .compatible = "renesas,usb2-phy-r8a7795" },
-	{ .compatible = "renesas,usb2-phy-r8a7796" },
-	{ .compatible = "renesas,rcar-gen3-usb2-phy" },
+	{
+		.compatible = "renesas,usb2-phy-r8a7795",
+		.data = (void *)RCAR_GEN3_PHY_HAS_DEDICATED_PINS,
+	},
+	{
+		.compatible = "renesas,usb2-phy-r8a7796",
+		.data = (void *)RCAR_GEN3_PHY_HAS_DEDICATED_PINS,
+	},
+	{
+		.compatible = "renesas,rcar-gen3-usb2-phy",
+	},
 	{ }
 };
 MODULE_DEVICE_TABLE(of, rcar_gen3_phy_usb2_match_table);
@@ -433,7 +444,7 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
 	if (of_usb_get_dr_mode_by_phy(dev->of_node, 0) == USB_DR_MODE_OTG) {
 		int ret;
 
-		channel->has_otg = true;
+		channel->has_otg_pins = (uintptr_t)of_device_get_match_data(dev);
 		channel->extcon = devm_extcon_dev_allocate(dev,
 							rcar_gen3_phy_cable);
 		if (IS_ERR(channel->extcon))
@@ -475,7 +486,7 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
 		dev_err(dev, "Failed to register PHY provider\n");
 		ret = PTR_ERR(provider);
 		goto error;
-	} else if (channel->has_otg) {
+	} else if (channel->has_otg_pins) {
 		int ret;
 
 		ret = device_create_file(dev, &dev_attr_role);
@@ -495,7 +506,7 @@ static int rcar_gen3_phy_usb2_remove(struct platform_device *pdev)
 {
 	struct rcar_gen3_chan *channel = platform_get_drvdata(pdev);
 
-	if (channel->has_otg)
+	if (channel->has_otg_pins)
 		device_remove_file(&pdev->dev, &dev_attr_role);
 
 	pm_runtime_disable(&pdev->dev);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v5 4/4] phy: rcar-gen3-usb2: add binding for r8a77995
  2017-10-10  9:41 [PATCH v5 0/4] phy: rcar-gen3-usb2: add support for r8a77995 Yoshihiro Shimoda
                   ` (2 preceding siblings ...)
  2017-10-10  9:41 ` [PATCH v5 3/4] phy: rcar-gen3-usb2: add SoC-specific parameter for dedicated pins Yoshihiro Shimoda
@ 2017-10-10  9:41 ` Yoshihiro Shimoda
  3 siblings, 0 replies; 8+ messages in thread
From: Yoshihiro Shimoda @ 2017-10-10  9:41 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

This patch adds binding for r8a77995 (R-Car D3). Since r8a77995 doesn't
have dedicated pins (ID, VBUS), this will match against the generic
fallback on R-Car D3.

For now, this driver doesn't support usb role swap for r8a77995.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
 Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt b/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt
index ace9cce..99b651b 100644
--- a/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt
+++ b/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt
@@ -8,6 +8,8 @@ Required properties:
 	      SoC.
 	      "renesas,usb2-phy-r8a7796" if the device is a part of an R8A7796
 	      SoC.
+	      "renesas,usb2-phy-r8a77995" if the device is a part of an
+	      R8A77995 SoC.
 	      "renesas,rcar-gen3-usb2-phy" for a generic R-Car Gen3 compatible device.
 
 	      When compatible with the generic version, nodes must list the
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v5 2/4] phy: rcar-gen3-usb2: use enum phy_mode in the role_store()
  2017-10-10  9:41 ` [PATCH v5 2/4] phy: rcar-gen3-usb2: use enum phy_mode in the role_store() Yoshihiro Shimoda
@ 2017-10-11  7:29   ` Simon Horman
  2017-10-11  8:27   ` Kishon Vijay Abraham I
  1 sibling, 0 replies; 8+ messages in thread
From: Simon Horman @ 2017-10-11  7:29 UTC (permalink / raw)
  To: Yoshihiro Shimoda
  Cc: kishon, robh+dt, mark.rutland, linux-kernel, devicetree,
	linux-renesas-soc

On Tue, Oct 10, 2017 at 06:41:28PM +0900, Yoshihiro Shimoda wrote:
> This patch modifies the role_store() to use "enum phy_mode" instead
> of the local "bool" for host/device mode selection.
> 
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Thanks for the updates, this looks nice to me.

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v5 2/4] phy: rcar-gen3-usb2: use enum phy_mode in the role_store()
  2017-10-10  9:41 ` [PATCH v5 2/4] phy: rcar-gen3-usb2: use enum phy_mode in the role_store() Yoshihiro Shimoda
  2017-10-11  7:29   ` Simon Horman
@ 2017-10-11  8:27   ` Kishon Vijay Abraham I
  2017-10-12 10:47     ` Yoshihiro Shimoda
  1 sibling, 1 reply; 8+ messages in thread
From: Kishon Vijay Abraham I @ 2017-10-11  8:27 UTC (permalink / raw)
  To: Yoshihiro Shimoda, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc

Hi,

On Tuesday 10 October 2017 03:11 PM, Yoshihiro Shimoda wrote:
> This patch modifies the role_store() to use "enum phy_mode" instead
> of the local "bool" for host/device mode selection.

looks good except for one minor comment..
> 
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> ---
>  drivers/phy/renesas/phy-rcar-gen3-usb2.c | 29 ++++++++++++++++++-----------
>  1 file changed, 18 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> index e00e99a..7314b49 100644
> --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> @@ -219,33 +219,40 @@ static bool rcar_gen3_is_host(struct rcar_gen3_chan *ch)
>  	return !(readl(ch->base + USB2_COMMCTRL) & USB2_COMMCTRL_OTG_PERI);
>  }
>  
> +static enum phy_mode rcar_gen3_get_phy_mode(struct rcar_gen3_chan *ch)
> +{
> +	if (rcar_gen3_is_host(ch))
> +		return PHY_MODE_USB_HOST;
> +	else

the else here is not required.

Thanks
Kishon

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH v5 2/4] phy: rcar-gen3-usb2: use enum phy_mode in the role_store()
  2017-10-11  8:27   ` Kishon Vijay Abraham I
@ 2017-10-12 10:47     ` Yoshihiro Shimoda
  0 siblings, 0 replies; 8+ messages in thread
From: Yoshihiro Shimoda @ 2017-10-12 10:47 UTC (permalink / raw)
  To: Kishon Vijay Abraham I, robh+dt@kernel.org, mark.rutland@arm.com
  Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-renesas-soc@vger.kernel.org

Hi,

> From: Kishon Vijay Abraham I [mailto:kishon@ti.com], Sent: Wednesday, October 11, 2017 5:28 PM
> 
> Hi,
> 
> On Tuesday 10 October 2017 03:11 PM, Yoshihiro Shimoda wrote:
> > This patch modifies the role_store() to use "enum phy_mode" instead
> > of the local "bool" for host/device mode selection.
> 
> looks good except for one minor comment..

Thank you for your review!

> > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> > ---
> >  drivers/phy/renesas/phy-rcar-gen3-usb2.c | 29 ++++++++++++++++++-----------
> >  1 file changed, 18 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> > index e00e99a..7314b49 100644
> > --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> > +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> > @@ -219,33 +219,40 @@ static bool rcar_gen3_is_host(struct rcar_gen3_chan *ch)
> >  	return !(readl(ch->base + USB2_COMMCTRL) & USB2_COMMCTRL_OTG_PERI);
> >  }
> >
> > +static enum phy_mode rcar_gen3_get_phy_mode(struct rcar_gen3_chan *ch)
> > +{
> > +	if (rcar_gen3_is_host(ch))
> > +		return PHY_MODE_USB_HOST;
> > +	else
> 
> the else here is not required.

I got it. I sent v6 patch set a few hour ago.

Best regards,
Yoshihiro Shimoda

> Thanks
> Kishon

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-10-12 10:47 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-10  9:41 [PATCH v5 0/4] phy: rcar-gen3-usb2: add support for r8a77995 Yoshihiro Shimoda
2017-10-10  9:41 ` [PATCH v5 1/4] phy: rcar-gen3-usb2: check dr_mode for otg mode Yoshihiro Shimoda
2017-10-10  9:41 ` [PATCH v5 2/4] phy: rcar-gen3-usb2: use enum phy_mode in the role_store() Yoshihiro Shimoda
2017-10-11  7:29   ` Simon Horman
2017-10-11  8:27   ` Kishon Vijay Abraham I
2017-10-12 10:47     ` Yoshihiro Shimoda
2017-10-10  9:41 ` [PATCH v5 3/4] phy: rcar-gen3-usb2: add SoC-specific parameter for dedicated pins Yoshihiro Shimoda
2017-10-10  9:41 ` [PATCH v5 4/4] phy: rcar-gen3-usb2: add binding for r8a77995 Yoshihiro Shimoda

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).