platform/chrome: cros_ec_typec: Set port alt mode drvdata
authorPrashant Malani <pmalani@chromium.org>
Wed, 28 Dec 2022 00:45:07 +0000 (00:45 +0000)
committerPrashant Malani <pmalani@chromium.org>
Mon, 9 Jan 2023 20:32:53 +0000 (20:32 +0000)
Save the ChromeOS-specific Type-C port info in the port altmodes' driver
data. This makes communication with the ChromeOS EC (Embedded
Controller) easier when alt mode drivers need to send messages to
peripherals.

Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Prashant Malani <pmalani@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20221228004648.793339-5-pmalani@chromium.org
drivers/platform/chrome/cros_ec_typec.c

index bc8dc8bd90b33a56d7cf4b8387062de298ec0580..05dc5a63af53731ecf554d34d9a131dad7c3a422 100644 (file)
@@ -345,6 +345,7 @@ static int cros_typec_register_port_altmodes(struct cros_typec_data *typec,
        if (IS_ERR(amode))
                return PTR_ERR(amode);
        port->port_altmode[CROS_EC_ALTMODE_DP] = amode;
+       typec_altmode_set_drvdata(amode, port);
 
        /*
         * Register TBT compatibility alt mode. The EC will not enter the mode
@@ -358,6 +359,7 @@ static int cros_typec_register_port_altmodes(struct cros_typec_data *typec,
        if (IS_ERR(amode))
                return PTR_ERR(amode);
        port->port_altmode[CROS_EC_ALTMODE_TBT] = amode;
+       typec_altmode_set_drvdata(amode, port);
 
        port->state.alt = NULL;
        port->state.mode = TYPEC_STATE_USB;