LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Benson Leung <bleung@chromium.org>,
	Prashant Malani <pmalani@chromium.org>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org
Subject: [PATCH v2 6/9] usb: roles: Allow the role switches to be named
Date: Mon, 24 Feb 2020 15:14:03 +0300	[thread overview]
Message-ID: <20200224121406.2419-7-heikki.krogerus@linux.intel.com> (raw)
In-Reply-To: <20200224121406.2419-1-heikki.krogerus@linux.intel.com>

The switch devices have been named by using the name of the
parent device as base for now, but if for example the
parent device controls multiple muxes, that will not work.

Adding an optional member "name" to the switch descriptor
that can be used for naming the switch during registration.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
 drivers/usb/roles/class.c | 3 ++-
 include/linux/usb/role.h  | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/roles/class.c b/drivers/usb/roles/class.c
index 11e49213176f..c05a0caa5ee9 100644
--- a/drivers/usb/roles/class.c
+++ b/drivers/usb/roles/class.c
@@ -330,7 +330,8 @@ usb_role_switch_register(struct device *parent,
 	sw->dev.class = role_class;
 	sw->dev.type = &usb_role_dev_type;
 	dev_set_drvdata(&sw->dev, desc->driver_data);
-	dev_set_name(&sw->dev, "%s-role-switch", dev_name(parent));
+	dev_set_name(&sw->dev, "%s-role-switch",
+		     desc->name ? desc->name : dev_name(parent));
 
 	ret = device_register(&sw->dev);
 	if (ret) {
diff --git a/include/linux/usb/role.h b/include/linux/usb/role.h
index c028ba8029ad..0164fed31b06 100644
--- a/include/linux/usb/role.h
+++ b/include/linux/usb/role.h
@@ -27,6 +27,7 @@ typedef enum usb_role (*usb_role_switch_get_t)(struct usb_role_switch *sw);
  * @get: Callback for getting the role (optional)
  * @allow_userspace_control: If true userspace may change the role through sysfs
  * @driver_data: Private data pointer
+ * @name: Name for the switch (optional)
  *
  * @usb2_port and @usb3_port will point to the USB host port and @udc to the USB
  * device controller behind the USB connector with the role switch. If
@@ -43,6 +44,7 @@ struct usb_role_switch_desc {
 	usb_role_switch_get_t get;
 	bool allow_userspace_control;
 	void *driver_data;
+	const char *name;
 };
 
 
-- 
2.25.0


  parent reply	other threads:[~2020-02-24 12:14 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-24 12:13 [PATCH v2 0/9] usb: typec: Driver for Intel PMC Mux-Agent Heikki Krogerus
2020-02-24 12:13 ` [PATCH v2 1/9] usb: typec: mux: Allow the muxes to be named Heikki Krogerus
2020-02-24 12:13 ` [PATCH v2 2/9] usb: typec: mux: Add helpers for setting the mux state Heikki Krogerus
2020-02-24 12:14 ` [PATCH v2 3/9] usb: typec: mux: Allow the mux handles to be requested with fwnode Heikki Krogerus
2020-02-24 12:14 ` [PATCH v2 4/9] usb: roles: Leave the private driver data pointer to the drivers Heikki Krogerus
2020-02-24 12:14 ` [PATCH v2 5/9] usb: roles: Provide the switch drivers handle to the switch in the API Heikki Krogerus
2020-02-24 13:14   ` Peter Chen
2020-03-02  6:22     ` Peter Chen
2020-03-02  7:43       ` Heikki Krogerus
2020-03-02  8:01         ` Heikki Krogerus
2020-03-02  9:17       ` Heikki Krogerus
2020-03-02 10:14         ` Peter Chen
2020-02-24 12:14 ` Heikki Krogerus [this message]
2020-02-24 12:14 ` [PATCH v2 7/9] device property: Export fwnode_get_name() Heikki Krogerus
2020-02-24 16:09   ` Rafael J. Wysocki
2020-02-24 12:14 ` [PATCH v2 8/9] usb: typec: Add definitions for Thunderbolt 3 Alternate Mode Heikki Krogerus
2020-02-24 12:14 ` [PATCH v2 9/9] usb: typec: driver for Intel PMC mux control Heikki Krogerus

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=20200224121406.2419-7-heikki.krogerus@linux.intel.com \
    --to=heikki.krogerus@linux.intel.com \
    --cc=bleung@chromium.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=pmalani@chromium.org \
    --subject='Re: [PATCH v2 6/9] usb: roles: Allow the role switches to be named' \
    /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

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