linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC,2/7] usb: typec: Move mux mode type definition to limit dependency
@ 2018-05-01 22:21 Mats Karrman
  0 siblings, 0 replies; only message in thread
From: Mats Karrman @ 2018-05-01 22:21 UTC (permalink / raw)
  To: Heikki Krogerus, Hans de Goede, Guenter Roeck, Greg Kroah-Hartman
  Cc: Rob Herring, linux-usb

To avoid unnecessary dependencies on tcpm.h and to pave the way
for comming patches, move the tcpc_mux_mode enum from tcpm.h to
typec.h and change its name to typec_mux_mode (the enum constants
already follow this naming).

Signed-off-by: Mats Karrman <mats.dev.list@gmail.com>
---
 drivers/usb/typec/mux/pi3usb30532.c |  6 +++---
 drivers/usb/typec/tcpm.c            |  2 +-
 include/linux/usb/tcpm.h            | 12 ------------
 include/linux/usb/typec.h           | 11 +++++++++++
 include/linux/usb/typec_mux.h       |  4 ++--
 5 files changed, 17 insertions(+), 18 deletions(-)

diff --git a/drivers/usb/typec/mux/pi3usb30532.c b/drivers/usb/typec/mux/pi3usb30532.c
index 279f3c3..d995883 100644
--- a/drivers/usb/typec/mux/pi3usb30532.c
+++ b/drivers/usb/typec/mux/pi3usb30532.c
@@ -9,7 +9,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/mutex.h>
-#include <linux/usb/tcpm.h>
+#include <linux/usb/typec.h>
 #include <linux/usb/typec_mux.h>
 
 #define PI3USB30532_CONF			0x00
@@ -73,7 +73,7 @@ static int pi3usb30532_sw_set(struct typec_switch *sw,
 	return ret;
 }
 
-static int pi3usb30532_mux_set(struct typec_mux *mux, int state)
+static int pi3usb30532_mux_set(struct typec_mux *mux, enum typec_mux_mode mode)
 {
 	struct pi3usb30532 *pi = container_of(mux, struct pi3usb30532, mux);
 	u8 new_conf;
@@ -82,7 +82,7 @@ static int pi3usb30532_mux_set(struct typec_mux *mux, int state)
 	mutex_lock(&pi->lock);
 	new_conf = pi->conf;
 
-	switch (state) {
+	switch (mode) {
 	default:
 	case TYPEC_MUX_NONE:
 		new_conf = PI3USB30532_CONF_OPEN;
diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c
index 0451ea0..aaf6d57 100644
--- a/drivers/usb/typec/tcpm.c
+++ b/drivers/usb/typec/tcpm.c
@@ -644,7 +644,7 @@ void tcpm_pd_transmit_complete(struct tcpm_port *port,
 }
 EXPORT_SYMBOL_GPL(tcpm_pd_transmit_complete);
 
-static int tcpm_mux_set(struct tcpm_port *port, enum tcpc_mux_mode mode,
+static int tcpm_mux_set(struct tcpm_port *port, enum typec_mux_mode mode,
 			enum usb_role usb_role,
 			enum typec_orientation orientation)
 {
diff --git a/include/linux/usb/tcpm.h b/include/linux/usb/tcpm.h
index 3518965..e641e21 100644
--- a/include/linux/usb/tcpm.h
+++ b/include/linux/usb/tcpm.h
@@ -93,18 +93,6 @@ struct tcpc_config {
 	const struct typec_altmode_desc *alt_modes;
 };
 
-/* Mux modes */
-enum tcpc_mux_mode {
-	TYPEC_MUX_NONE,				/* Open switch */
-	TYPEC_MUX_2CH_USBSS,			/* 2ch USB SS */
-	TYPEC_MUX_4CH_AM,			/* 4ch Alt Mode */
-	TYPEC_MUX_2CH_USBSS_2CH_AM,		/* 2ch USB SS + 2ch Alt Mode */
-
-	// Example of additional modes that may be needed in future:
-	TYPEC_MUX_4CH_USBSS,			/* 4ch USB SS */
-	TYPEC_MUX_2CH_USBSS_2CH_AM_B,		/* 2ch USB SS + 2ch Alt Mode (e.g. DP GPU2) */
-};
-
 
 /**
  * struct tcpc_dev - Port configuration and callback functions
diff --git a/include/linux/usb/typec.h b/include/linux/usb/typec.h
index 672b39b..d356577 100644
--- a/include/linux/usb/typec.h
+++ b/include/linux/usb/typec.h
@@ -72,6 +72,17 @@ enum typec_orientation {
 	TYPEC_ORIENTATION_REVERSE,
 };
 
+enum typec_mux_mode {
+	TYPEC_MUX_NONE,				/* Open switch */
+	TYPEC_MUX_2CH_USBSS,			/* 2ch USB SS */
+	TYPEC_MUX_4CH_AM,			/* 4ch Alt Mode */
+	TYPEC_MUX_2CH_USBSS_2CH_AM,		/* 2ch USB SS + 2ch Alt Mode */
+
+	// Example of additional modes that may be needed in future:
+	TYPEC_MUX_4CH_USBSS,			/* 4ch USB SS */
+	TYPEC_MUX_2CH_USBSS_2CH_AM_B,		/* 2ch USB SS + 2ch Alt Mode (e.g. DP GPU2) */
+};
+
 /*
  * struct usb_pd_identity - USB Power Delivery identity data
  * @id_header: ID Header VDO
diff --git a/include/linux/usb/typec_mux.h b/include/linux/usb/typec_mux.h
index 12c1b05..e44137d 100644
--- a/include/linux/usb/typec_mux.h
+++ b/include/linux/usb/typec_mux.h
@@ -29,7 +29,7 @@ struct typec_switch {
  * struct typec_switch - USB Type-C connector pin mux
  * @dev: Mux device
  * @entry: List entry
- * @set: Callback to the driver for setting the state of the mux
+ * @set: Callback to the driver for setting the mode of the mux
  *
  * Pin Multiplexer/DeMultiplexer switch routing the USB Type-C connector pins to
  * different components depending on the requested mode of operation. Used with
@@ -39,7 +39,7 @@ struct typec_mux {
 	struct device *dev;
 	struct list_head entry;
 
-	int (*set)(struct typec_mux *mux, int state);
+	int (*set)(struct typec_mux *mux, enum typec_mux_mode mode);
 };
 
 struct typec_switch *typec_switch_get(struct device *dev);

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2018-05-01 22:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-01 22:21 [RFC,2/7] usb: typec: Move mux mode type definition to limit dependency Mats Karrman

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