platform/chrome: cros_ec_typec: Set parent of partner PD object
authorPrashant Malani <pmalani@chromium.org>
Tue, 22 Nov 2022 22:05:37 +0000 (22:05 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Nov 2022 07:56:09 +0000 (08:56 +0100)
In order to tell what Type-C device a PD object belongs to, its parent
needs to be set. Use the Type-C partner USB PD registration wrapper
to set the parent appropriately for PD objects which are created for
connected Type-C partners.

Cc: Benson Leung <bleung@chromium.org>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Prashant Malani <pmalani@chromium.org>
Link: https://lore.kernel.org/r/20221122220538.2991775-3-pmalani@chromium.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/platform/chrome/cros_ec_typec.c

index 2a7ff14dc37e9cb4b834d8888eebcad96ed08645..d5bc4021aca2fe88de5cecb296d05f018d5ba2e3 100644 (file)
@@ -968,7 +968,7 @@ static void cros_typec_register_partner_pdos(struct cros_typec_data *typec,
        if (!resp->source_cap_count && !resp->sink_cap_count)
                return;
 
-       port->partner_pd = usb_power_delivery_register(NULL, &desc);
+       port->partner_pd = typec_partner_usb_power_delivery_register(port->partner, &desc);
        if (IS_ERR(port->partner_pd)) {
                dev_warn(typec->dev, "Failed to register partner PD device, port: %d\n", port_num);
                return;