The current naming used for tcpc_mux_mode constants makes
too much assumptioms about the usage of the signals.
This patch replaces the names with generic names more closely
tied to the Type-C specifications and also adds some new ones.
At the same time TCPC_MUX_* defines are removed as they do not
fit the new concept and currently have no in-tree users.

Signed-off-by: Mats Karrman <mats.dev.l...@gmail.com>
---
 drivers/usb/typec/mux/pi3usb30532.c |  7 ++++---
 drivers/usb/typec/tcpm.c            |  2 +-
 include/linux/usb/tcpm.h            | 21 ++++++++++-----------
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/usb/typec/mux/pi3usb30532.c 
b/drivers/usb/typec/mux/pi3usb30532.c
index b0e88db..279f3c3 100644
--- a/drivers/usb/typec/mux/pi3usb30532.c
+++ b/drivers/usb/typec/mux/pi3usb30532.c
@@ -83,18 +83,19 @@ static int pi3usb30532_mux_set(struct typec_mux *mux, int 
state)
        new_conf = pi->conf;
 
        switch (state) {
+       default:
        case TYPEC_MUX_NONE:
                new_conf = PI3USB30532_CONF_OPEN;
                break;
-       case TYPEC_MUX_USB:
+       case TYPEC_MUX_2CH_USBSS:
                new_conf = (new_conf & PI3USB30532_CONF_SWAP) |
                           PI3USB30532_CONF_USB3;
                break;
-       case TYPEC_MUX_DP:
+       case TYPEC_MUX_4CH_AM:
                new_conf = (new_conf & PI3USB30532_CONF_SWAP) |
                           PI3USB30532_CONF_4LANE_DP;
                break;
-       case TYPEC_MUX_DOCK:
+       case TYPEC_MUX_2CH_USBSS_2CH_AM:
                new_conf = (new_conf & PI3USB30532_CONF_SWAP) |
                           PI3USB30532_CONF_USB3_AND_2LANE_DP;
                break;
diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c
index 7ee417a..0451ea0 100644
--- a/drivers/usb/typec/tcpm.c
+++ b/drivers/usb/typec/tcpm.c
@@ -790,7 +790,7 @@ static int tcpm_set_roles(struct tcpm_port *port, bool 
attached,
        else
                usb_role = USB_ROLE_DEVICE;
 
-       ret = tcpm_mux_set(port, TYPEC_MUX_USB, usb_role, orientation);
+       ret = tcpm_mux_set(port, TYPEC_MUX_2CH_USBSS, usb_role, orientation);
        if (ret < 0)
                return ret;
 
diff --git a/include/linux/usb/tcpm.h b/include/linux/usb/tcpm.h
index b231b93..3518965 100644
--- a/include/linux/usb/tcpm.h
+++ b/include/linux/usb/tcpm.h
@@ -93,20 +93,19 @@ struct tcpc_config {
        const struct typec_altmode_desc *alt_modes;
 };
 
-/* Mux state attributes */
-#define TCPC_MUX_USB_ENABLED           BIT(0)  /* USB enabled */
-#define TCPC_MUX_DP_ENABLED            BIT(1)  /* DP enabled */
-#define TCPC_MUX_POLARITY_INVERTED     BIT(2)  /* Polarity inverted */
-
-/* Mux modes, decoded to attributes */
+/* Mux modes */
 enum tcpc_mux_mode {
-       TYPEC_MUX_NONE  = 0,                            /* Open switch */
-       TYPEC_MUX_USB   = TCPC_MUX_USB_ENABLED,         /* USB only */
-       TYPEC_MUX_DP    = TCPC_MUX_DP_ENABLED,          /* DP only */
-       TYPEC_MUX_DOCK  = TCPC_MUX_USB_ENABLED |        /* Both USB and DP */
-                         TCPC_MUX_DP_ENABLED,
+       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
  * @config:    Pointer to port configuration
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to