All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yu Chen <chenyu56@huawei.com>
To: <linux-usb@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Cc: <john.stultz@linaro.org>, <suzhuangluan@hisilicon.com>,
	<kongfei@hisilicon.com>, <liuyu712@hisilicon.com>,
	<wanghu17@hisilicon.com>, <butao@hisilicon.com>,
	<chenyao11@huawei.com>, <fangshengzhou@hisilicon.com>,
	<lipengcheng8@huawei.com>, <songxiaowei@hisilicon.com>,
	<xuyiping@hisilicon.com>, <xuyoujun4@huawei.com>,
	<yudongbin@hisilicon.com>, <zangleigang@hisilicon.com>,
	Yu Chen <chenyu56@huawei.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>
Subject: [PATCH v6 09/13] usb: roles: Add usb role switch notifier.
Date: Sat, 20 Apr 2019 14:40:15 +0800	[thread overview]
Message-ID: <20190420064019.57522-10-chenyu56@huawei.com> (raw)
In-Reply-To: <20190420064019.57522-1-chenyu56@huawei.com>

This patch adds notifier for drivers want to be informed of the usb role
switch.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: John Stultz <john.stultz@linaro.org>
Suggested-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Yu Chen <chenyu56@huawei.com>
---
v5:
* Split the patch into two patches, the first one introduces stubs for
* the
exiting functions, and this patch adds notifier functions.
v6:
* Fold a fix in form John Stultz <john.stultz@linaro.org>.
---
---
 drivers/usb/roles/class.c | 35 ++++++++++++++++++++++++++++++++++-
 include/linux/usb/role.h  | 16 ++++++++++++++++
 2 files changed, 50 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/roles/class.c b/drivers/usb/roles/class.c
index f45d8df5cfb8..5bc60f478725 100644
--- a/drivers/usb/roles/class.c
+++ b/drivers/usb/roles/class.c
@@ -20,6 +20,7 @@ struct usb_role_switch {
 	struct device dev;
 	struct mutex lock; /* device lock*/
 	enum usb_role role;
+	struct blocking_notifier_head nh;
 
 	/* From descriptor */
 	struct device *usb2_port;
@@ -49,8 +50,10 @@ int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role)
 	mutex_lock(&sw->lock);
 
 	ret = sw->set(sw->dev.parent, role);
-	if (!ret)
+	if (!ret) {
 		sw->role = role;
+		blocking_notifier_call_chain(&sw->nh, role, NULL);
+	}
 
 	mutex_unlock(&sw->lock);
 
@@ -58,6 +61,35 @@ int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role)
 }
 EXPORT_SYMBOL_GPL(usb_role_switch_set_role);
 
+int usb_role_switch_register_notifier(struct usb_role_switch *sw,
+				      struct notifier_block *nb)
+{
+	int ret = blocking_notifier_chain_register(&sw->nh, nb);
+	enum usb_role role;
+
+	if (ret)
+		return ret;
+
+	/* Initialize the notifier that was just registered */
+	mutex_lock(&sw->lock);
+	if (sw->get)
+		role = sw->get(sw->dev.parent);
+	else
+		role = sw->role;
+	blocking_notifier_call_chain(&sw->nh, role, NULL);
+	mutex_unlock(&sw->lock);
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(usb_role_switch_register_notifier);
+
+int usb_role_switch_unregister_notifier(struct usb_role_switch *sw,
+					struct notifier_block *nb)
+{
+	return blocking_notifier_chain_unregister(&sw->nh, nb);
+}
+EXPORT_SYMBOL_GPL(usb_role_switch_unregister_notifier);
+
 /**
  * usb_role_switch_get_role - Get the USB role for a switch
  * @sw: USB role switch
@@ -271,6 +303,7 @@ usb_role_switch_register(struct device *parent,
 		return ERR_PTR(-ENOMEM);
 
 	mutex_init(&sw->lock);
+	BLOCKING_INIT_NOTIFIER_HEAD(&sw->nh);
 
 	sw->allow_userspace_control = desc->allow_userspace_control;
 	sw->usb2_port = desc->usb2_port;
diff --git a/include/linux/usb/role.h b/include/linux/usb/role.h
index da2b9641b877..99d8b8e4fe61 100644
--- a/include/linux/usb/role.h
+++ b/include/linux/usb/role.h
@@ -53,6 +53,10 @@ struct usb_role_switch *
 usb_role_switch_register(struct device *parent,
 			 const struct usb_role_switch_desc *desc);
 void usb_role_switch_unregister(struct usb_role_switch *sw);
+int usb_role_switch_register_notifier(struct usb_role_switch *sw,
+				      struct notifier_block *nb);
+int usb_role_switch_unregister_notifier(struct usb_role_switch *sw,
+					struct notifier_block *nb);
 #else
 static inline int usb_role_switch_set_role(struct usb_role_switch *sw,
 		enum usb_role role)
@@ -80,6 +84,18 @@ usb_role_switch_register(struct device *parent,
 }
 
 static inline void usb_role_switch_unregister(struct usb_role_switch *sw) { }
+
+static int usb_role_switch_register_notifier(struct usb_role_switch *sw,
+				      struct notifier_block *nb)
+{
+	return -ENODEV;
+}
+
+static int usb_role_switch_unregister_notifier(struct usb_role_switch *sw,
+					struct notifier_block *nb)
+{
+	return -ENODEV;
+}
 #endif
 
 #endif /* __LINUX_USB_ROLE_H */
-- 
2.15.0-rc2


WARNING: multiple messages have this Message-ID (diff)
From: Yu Chen <chenyu56@huawei.com>
To: linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: john.stultz@linaro.org, suzhuangluan@hisilicon.com,
	kongfei@hisilicon.com, liuyu712@hisilicon.com,
	wanghu17@hisilicon.com, butao@hisilicon.com,
	chenyao11@huawei.com, fangshengzhou@hisilicon.com,
	lipengcheng8@huawei.com, songxiaowei@hisilicon.com,
	xuyiping@hisilicon.com, xuyoujun4@huawei.com,
	yudongbin@hisilicon.com, zangleigang@hisilicon.com,
	Yu Chen <chenyu56@huawei.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Andy Shevchenko <andy.shevchenko@gmail.com>
Subject: [PATCH v6 09/13] usb: roles: Add usb role switch notifier.
Date: Sat, 20 Apr 2019 14:40:15 +0800	[thread overview]
Message-ID: <20190420064019.57522-10-chenyu56@huawei.com> (raw)
In-Reply-To: <20190420064019.57522-1-chenyu56@huawei.com>

This patch adds notifier for drivers want to be informed of the usb role
switch.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: John Stultz <john.stultz@linaro.org>
Suggested-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Yu Chen <chenyu56@huawei.com>
---
v5:
* Split the patch into two patches, the first one introduces stubs for
* the
exiting functions, and this patch adds notifier functions.
v6:
* Fold a fix in form John Stultz <john.stultz@linaro.org>.
---
---
 drivers/usb/roles/class.c | 35 ++++++++++++++++++++++++++++++++++-
 include/linux/usb/role.h  | 16 ++++++++++++++++
 2 files changed, 50 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/roles/class.c b/drivers/usb/roles/class.c
index f45d8df5cfb8..5bc60f478725 100644
--- a/drivers/usb/roles/class.c
+++ b/drivers/usb/roles/class.c
@@ -20,6 +20,7 @@ struct usb_role_switch {
 	struct device dev;
 	struct mutex lock; /* device lock*/
 	enum usb_role role;
+	struct blocking_notifier_head nh;
 
 	/* From descriptor */
 	struct device *usb2_port;
@@ -49,8 +50,10 @@ int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role)
 	mutex_lock(&sw->lock);
 
 	ret = sw->set(sw->dev.parent, role);
-	if (!ret)
+	if (!ret) {
 		sw->role = role;
+		blocking_notifier_call_chain(&sw->nh, role, NULL);
+	}
 
 	mutex_unlock(&sw->lock);
 
@@ -58,6 +61,35 @@ int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role)
 }
 EXPORT_SYMBOL_GPL(usb_role_switch_set_role);
 
+int usb_role_switch_register_notifier(struct usb_role_switch *sw,
+				      struct notifier_block *nb)
+{
+	int ret = blocking_notifier_chain_register(&sw->nh, nb);
+	enum usb_role role;
+
+	if (ret)
+		return ret;
+
+	/* Initialize the notifier that was just registered */
+	mutex_lock(&sw->lock);
+	if (sw->get)
+		role = sw->get(sw->dev.parent);
+	else
+		role = sw->role;
+	blocking_notifier_call_chain(&sw->nh, role, NULL);
+	mutex_unlock(&sw->lock);
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(usb_role_switch_register_notifier);
+
+int usb_role_switch_unregister_notifier(struct usb_role_switch *sw,
+					struct notifier_block *nb)
+{
+	return blocking_notifier_chain_unregister(&sw->nh, nb);
+}
+EXPORT_SYMBOL_GPL(usb_role_switch_unregister_notifier);
+
 /**
  * usb_role_switch_get_role - Get the USB role for a switch
  * @sw: USB role switch
@@ -271,6 +303,7 @@ usb_role_switch_register(struct device *parent,
 		return ERR_PTR(-ENOMEM);
 
 	mutex_init(&sw->lock);
+	BLOCKING_INIT_NOTIFIER_HEAD(&sw->nh);
 
 	sw->allow_userspace_control = desc->allow_userspace_control;
 	sw->usb2_port = desc->usb2_port;
diff --git a/include/linux/usb/role.h b/include/linux/usb/role.h
index da2b9641b877..99d8b8e4fe61 100644
--- a/include/linux/usb/role.h
+++ b/include/linux/usb/role.h
@@ -53,6 +53,10 @@ struct usb_role_switch *
 usb_role_switch_register(struct device *parent,
 			 const struct usb_role_switch_desc *desc);
 void usb_role_switch_unregister(struct usb_role_switch *sw);
+int usb_role_switch_register_notifier(struct usb_role_switch *sw,
+				      struct notifier_block *nb);
+int usb_role_switch_unregister_notifier(struct usb_role_switch *sw,
+					struct notifier_block *nb);
 #else
 static inline int usb_role_switch_set_role(struct usb_role_switch *sw,
 		enum usb_role role)
@@ -80,6 +84,18 @@ usb_role_switch_register(struct device *parent,
 }
 
 static inline void usb_role_switch_unregister(struct usb_role_switch *sw) { }
+
+static int usb_role_switch_register_notifier(struct usb_role_switch *sw,
+				      struct notifier_block *nb)
+{
+	return -ENODEV;
+}
+
+static int usb_role_switch_unregister_notifier(struct usb_role_switch *sw,
+					struct notifier_block *nb)
+{
+	return -ENODEV;
+}
 #endif
 
 #endif /* __LINUX_USB_ROLE_H */
-- 
2.15.0-rc2

WARNING: multiple messages have this Message-ID (diff)
From: Yu Chen <chenyu56@huawei.com>
To: linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: john.stultz@linaro.org, suzhuangluan@hisilicon.com,
	kongfei@hisilicon.com, liuyu712@hisilicon.com,
	wanghu17@hisilicon.com, butao@hisilicon.com,
	chenyao11@huawei.com, fangshengzhou@hisilicon.com,
	lipengcheng8@huawei.com, songxiaowei@hisilicon.com,
	xuyiping@hisilicon.com, xuyoujun4@huawei.com,
	yudongbin@hisilicon.com, zangleigang@hisilicon.com,
	Yu Chen <chenyu56@huawei.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Andy Shevchenko <andy.shevchenko@gmail.com>
Subject: [v6,09/13] usb: roles: Add usb role switch notifier.
Date: Sat, 20 Apr 2019 14:40:15 +0800	[thread overview]
Message-ID: <20190420064019.57522-10-chenyu56@huawei.com> (raw)

This patch adds notifier for drivers want to be informed of the usb role
switch.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: John Stultz <john.stultz@linaro.org>
Suggested-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Yu Chen <chenyu56@huawei.com>
---
v5:
* Split the patch into two patches, the first one introduces stubs for
* the
exiting functions, and this patch adds notifier functions.
v6:
* Fold a fix in form John Stultz <john.stultz@linaro.org>.
---
---
 drivers/usb/roles/class.c | 35 ++++++++++++++++++++++++++++++++++-
 include/linux/usb/role.h  | 16 ++++++++++++++++
 2 files changed, 50 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/roles/class.c b/drivers/usb/roles/class.c
index f45d8df5cfb8..5bc60f478725 100644
--- a/drivers/usb/roles/class.c
+++ b/drivers/usb/roles/class.c
@@ -20,6 +20,7 @@ struct usb_role_switch {
 	struct device dev;
 	struct mutex lock; /* device lock*/
 	enum usb_role role;
+	struct blocking_notifier_head nh;
 
 	/* From descriptor */
 	struct device *usb2_port;
@@ -49,8 +50,10 @@ int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role)
 	mutex_lock(&sw->lock);
 
 	ret = sw->set(sw->dev.parent, role);
-	if (!ret)
+	if (!ret) {
 		sw->role = role;
+		blocking_notifier_call_chain(&sw->nh, role, NULL);
+	}
 
 	mutex_unlock(&sw->lock);
 
@@ -58,6 +61,35 @@ int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role)
 }
 EXPORT_SYMBOL_GPL(usb_role_switch_set_role);
 
+int usb_role_switch_register_notifier(struct usb_role_switch *sw,
+				      struct notifier_block *nb)
+{
+	int ret = blocking_notifier_chain_register(&sw->nh, nb);
+	enum usb_role role;
+
+	if (ret)
+		return ret;
+
+	/* Initialize the notifier that was just registered */
+	mutex_lock(&sw->lock);
+	if (sw->get)
+		role = sw->get(sw->dev.parent);
+	else
+		role = sw->role;
+	blocking_notifier_call_chain(&sw->nh, role, NULL);
+	mutex_unlock(&sw->lock);
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(usb_role_switch_register_notifier);
+
+int usb_role_switch_unregister_notifier(struct usb_role_switch *sw,
+					struct notifier_block *nb)
+{
+	return blocking_notifier_chain_unregister(&sw->nh, nb);
+}
+EXPORT_SYMBOL_GPL(usb_role_switch_unregister_notifier);
+
 /**
  * usb_role_switch_get_role - Get the USB role for a switch
  * @sw: USB role switch
@@ -271,6 +303,7 @@ usb_role_switch_register(struct device *parent,
 		return ERR_PTR(-ENOMEM);
 
 	mutex_init(&sw->lock);
+	BLOCKING_INIT_NOTIFIER_HEAD(&sw->nh);
 
 	sw->allow_userspace_control = desc->allow_userspace_control;
 	sw->usb2_port = desc->usb2_port;
diff --git a/include/linux/usb/role.h b/include/linux/usb/role.h
index da2b9641b877..99d8b8e4fe61 100644
--- a/include/linux/usb/role.h
+++ b/include/linux/usb/role.h
@@ -53,6 +53,10 @@ struct usb_role_switch *
 usb_role_switch_register(struct device *parent,
 			 const struct usb_role_switch_desc *desc);
 void usb_role_switch_unregister(struct usb_role_switch *sw);
+int usb_role_switch_register_notifier(struct usb_role_switch *sw,
+				      struct notifier_block *nb);
+int usb_role_switch_unregister_notifier(struct usb_role_switch *sw,
+					struct notifier_block *nb);
 #else
 static inline int usb_role_switch_set_role(struct usb_role_switch *sw,
 		enum usb_role role)
@@ -80,6 +84,18 @@ usb_role_switch_register(struct device *parent,
 }
 
 static inline void usb_role_switch_unregister(struct usb_role_switch *sw) { }
+
+static int usb_role_switch_register_notifier(struct usb_role_switch *sw,
+				      struct notifier_block *nb)
+{
+	return -ENODEV;
+}
+
+static int usb_role_switch_unregister_notifier(struct usb_role_switch *sw,
+					struct notifier_block *nb)
+{
+	return -ENODEV;
+}
 #endif
 
 #endif /* __LINUX_USB_ROLE_H */

  parent reply	other threads:[~2019-04-20  6:41 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-20  6:40 [PATCH v6 00/13] Add support for usb on Hikey960 Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 ` [PATCH v6 01/13] dt-bindings: phy: Add support for HiSilicon's hi3660 USB PHY Yu Chen
2019-04-20  6:40   ` [v6,01/13] " Yu Chen
2019-04-20  6:40   ` [PATCH v6 01/13] " Yu Chen
2019-04-20  6:40 ` [PATCH v6 02/13] dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960 Yu Chen
2019-04-20  6:40   ` [v6,02/13] " Yu Chen
2019-04-20  6:40   ` [PATCH v6 02/13] " Yu Chen
2019-04-25 21:35   ` Rob Herring
2019-04-25 21:35     ` [v6,02/13] " Rob Herring
2019-04-30  6:07     ` [PATCH v6 02/13] " Chen Yu
2019-04-30  6:07       ` [v6,02/13] " Yu Chen
2019-04-30  6:07       ` [PATCH v6 02/13] " Chen Yu
2019-05-01 16:27       ` Rob Herring
2019-05-01 16:27         ` [v6,02/13] " Rob Herring
2019-04-20  6:40 ` [PATCH v6 03/13] usb: dwc3: dwc3-of-simple: Add support for dwc3 of Hisilicon Soc Platform Yu Chen
2019-04-20  6:40   ` [v6,03/13] " Yu Chen
2019-04-20  6:40   ` [PATCH v6 03/13] " Yu Chen
2019-04-25 21:36   ` Rob Herring
2019-04-25 21:36     ` [v6,03/13] " Rob Herring
2019-04-20  6:40 ` [PATCH v6 04/13] usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc Yu Chen
2019-04-20  6:40   ` [v6,04/13] " Yu Chen
2019-04-20  6:40   ` [PATCH v6 04/13] " Yu Chen
2020-09-07 13:06   ` Mauro Carvalho Chehab
2020-09-07 14:04     ` Felipe Balbi
2020-09-07 14:50       ` Mauro Carvalho Chehab
2020-09-08  6:09         ` Felipe Balbi
2020-09-08  6:49           ` Mauro Carvalho Chehab
2020-09-08 17:40           ` Thinh Nguyen
2020-09-08  6:42       ` Mauro Carvalho Chehab
2019-04-20  6:40 ` [PATCH v6 05/13] usb: dwc3: Execute GCTL Core Soft Reset while switch mdoe " Yu Chen
2019-04-20  6:40   ` [v6,05/13] " Yu Chen
2019-04-20  6:40   ` [PATCH v6 05/13] " Yu Chen
2019-04-20  6:40 ` [PATCH v6 06/13] usb: dwc3: Increase timeout for CmdAct cleared by device controller Yu Chen
2019-04-20  6:40   ` [v6,06/13] " Yu Chen
2019-04-20  6:40   ` [PATCH v6 06/13] " Yu Chen
2019-04-20  6:40 ` [PATCH v6 07/13] phy: Add usb phy support for hi3660 Soc of Hisilicon Yu Chen
2019-04-20  6:40   ` [v6,07/13] " Yu Chen
2019-04-20  6:40   ` [PATCH v6 07/13] " Yu Chen
2019-04-20  6:40 ` [PATCH v6 08/13] usb: roles: Introduce stubs for the exiting functions in role.h Yu Chen
2019-04-20  6:40   ` [v6,08/13] " Yu Chen
2019-04-20  6:40   ` [PATCH v6 08/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen [this message]
2019-04-20  6:40   ` [v6,09/13] usb: roles: Add usb role switch notifier Yu Chen
2019-04-20  6:40   ` [PATCH v6 09/13] " Yu Chen
2019-04-20  6:40 ` [PATCH v6 10/13] usb: dwc3: Registering a role switch in the DRD code Yu Chen
2019-04-20  6:40   ` [v6,10/13] " Yu Chen
2019-04-20  6:40   ` [PATCH v6 10/13] " Yu Chen
2019-04-20  6:40 ` [PATCH v6 11/13] hikey960: Support usb functionality of Hikey960 Yu Chen
2019-04-20  6:40   ` [v6,11/13] " Yu Chen
2019-04-20  6:40   ` [PATCH v6 11/13] " Yu Chen
2019-04-20  6:40 ` [PATCH v6 12/13] usb: gadget: Add configfs attribuite for controling match_existing_only Yu Chen
2019-04-20  6:40   ` [v6,12/13] " Yu Chen
2019-04-20  6:40   ` [PATCH v6 12/13] " Yu Chen
2019-04-20  6:40 ` [PATCH v6 13/13] dts: hi3660: Add support for usb on Hikey960 Yu Chen
2019-04-20  6:40   ` Yu Chen
2019-04-20  6:40   ` [v6,13/13] " Yu Chen
2019-04-20  6:40   ` [PATCH v6 13/13] " Yu Chen
2019-04-25 22:00   ` Rob Herring
2019-04-25 22:00     ` Rob Herring
2019-04-25 22:00     ` [v6,13/13] " Rob Herring
2019-04-30  7:15     ` [PATCH v6 13/13] " Chen Yu
2019-04-30  7:15       ` Chen Yu
2019-04-30  7:15       ` [v6,13/13] " Yu Chen
2019-05-02  5:44       ` [PATCH v6 13/13] " shufan_lee(李書帆)
2019-05-02  5:44         ` shufan_lee(李書帆)
2019-05-02  5:44         ` [v6,13/13] " shufan_lee(李書帆)
2019-05-02  5:44         ` [PATCH v6 13/13] " shufan_lee(李書帆)
2019-04-29 15:42 ` [PATCH v6 00/13] " Valentin Schneider

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=20190420064019.57522-10-chenyu56@huawei.com \
    --to=chenyu56@huawei.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=butao@hisilicon.com \
    --cc=chenyao11@huawei.com \
    --cc=devicetree@vger.kernel.org \
    --cc=fangshengzhou@hisilicon.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hdegoede@redhat.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=john.stultz@linaro.org \
    --cc=kongfei@hisilicon.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lipengcheng8@huawei.com \
    --cc=liuyu712@hisilicon.com \
    --cc=songxiaowei@hisilicon.com \
    --cc=suzhuangluan@hisilicon.com \
    --cc=wanghu17@hisilicon.com \
    --cc=xuyiping@hisilicon.com \
    --cc=xuyoujun4@huawei.com \
    --cc=yudongbin@hisilicon.com \
    --cc=zangleigang@hisilicon.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.