Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp4121460imw; Tue, 12 Jul 2022 02:09:53 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sJGPn1NRRFhKz/xbAlO/SDtHefNFsi9BoNoo0o3rEwQjBKIv65ccsH/kkkHG2tLvXaYqbE X-Received: by 2002:a63:2a8f:0:b0:412:5278:b90 with SMTP id q137-20020a632a8f000000b0041252780b90mr19373474pgq.363.1657616993075; Tue, 12 Jul 2022 02:09:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657616993; cv=none; d=google.com; s=arc-20160816; b=Y1RwUfBpH6VtSwwomUyIkh0ZLkeF9RwV00RcO7bs/vXHcAEuxuL1e5D29t3Ek61Tbb vZUbuMhZJG1RdV3Y5sMPNoPxIBxWSQXh5dybeIwmUWSRwjCQMI73pK8ByT1ee26+C4Gs 9cgbuumaxnte/RpBGT2GDEQzsTiPSC/c8H3F3lr4zRemq+wuX8eP5ok04eMgSjVTDrs6 Q+bFUP9ku/xaBfbAWQc3ww5ahRICsSHcYo33aLoPS19lnm+6UX3QPsJYmiBUuNKI20Ml XmjEPUb6F6/qlms473kXEcaFy8nEjkg+wgBw9sMxk6ir6D/tqEa3fSlaUKmrkonK8JjY 9YlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=1+aqFtY2rRbJCUl0OpTFx4lC6jJrF+R5/g+61p8TQZs=; b=vapQhtlfxIezbFXONgrDaemeGtBWFkjHbG2i+OrTBtv0b4TtZUiMYaOExePi2O+If6 7url9pxyG0IA/e3NHHa0kLUZatXVwavXTgGwEEqDxX9g+h0mOswc7aiUJqfwGgqxzOeO CU3X8JGJnHI7bdRg56mD8fObrZpN8kenooVPutp0qh8rmBc4B5R4XcPSmM6r7VQRyvfL 5U/NGDAMICchr8+NrJt5Pnv5Bmsp6su8S/PQysEK5Qur9AJWf6USe6SCJcGlk0gJ/gRO WuD/xu+Ez5k3foM0tHOSyEbaSbr8Mb/ImcfYBUIECmSrHV1sup8qjojKxvGetkwkgcrs wfqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KRhvto4D; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cs11-20020a17090af50b00b001ecb3b655ebsi15298305pjb.81.2022.07.12.02.09.38; Tue, 12 Jul 2022 02:09:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KRhvto4D; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232361AbiGLI3C (ORCPT + 99 others); Tue, 12 Jul 2022 04:29:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60128 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231308AbiGLI3A (ORCPT ); Tue, 12 Jul 2022 04:29:00 -0400 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B2A83140E6; Tue, 12 Jul 2022 01:28:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657614539; x=1689150539; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=+XeOqU0GsgbobhhFBODuKDEdesvFbYh9RlThqOP3A6o=; b=KRhvto4DJINPx1F3yxgQTss1hydhsL0UTj6hxq+DFZ1wPqwADbJVa8wV sOVcCdjN3uFmdbFa+LwAahwmwSZy6eAIsqHWHvJmNGRCezLAkjNdebDO2 5b6+UztS2n1cGjtNJvTrfIsi/8T1HJZH1l9Fv8nrxNBvhaUsfA6eyVq3e oYvRE895NXBSkoy2jY7EDqBj+NUa2o1VtVZ/2D2QnJ8RF5TplCB1tgkGP qwmiba36jyssog1PJJ61IuM9e6Cihn//qZIg6e06P5S0d8zU1SwyxLHKs sZehcrltqmjhFvf0d8QQyIeepv30dKQsRP/6We7X/+OtlQOj8LE558C77 w==; X-IronPort-AV: E=McAfee;i="6400,9594,10405"; a="267912349" X-IronPort-AV: E=Sophos;i="5.92,265,1650956400"; d="scan'208";a="267912349" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jul 2022 01:28:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,265,1650956400"; d="scan'208";a="737401342" Received: from kuha.fi.intel.com ([10.237.72.185]) by fmsmga001.fm.intel.com with SMTP; 12 Jul 2022 01:28:52 -0700 Received: by kuha.fi.intel.com (sSMTP sendmail emulation); Tue, 12 Jul 2022 11:28:51 +0300 Date: Tue, 12 Jul 2022 11:28:51 +0300 From: Heikki Krogerus To: Prashant Malani Cc: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, chrome-platform@lists.linux.dev, bleung@chromium.org, Daisuke Nojiri , "Dustin L. Howett" , Greg Kroah-Hartman , Guenter Roeck , "Gustavo A. R. Silva" , Kees Cook , Sebastian Reichel , Tzung-Bi Shih Subject: Re: [PATCH v4 2/9] usb: typec: Add retimer handle to port Message-ID: References: <20220711072333.2064341-1-pmalani@chromium.org> <20220711072333.2064341-3-pmalani@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220711072333.2064341-3-pmalani@chromium.org> X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Mon, Jul 11, 2022 at 07:22:56AM +0000, Prashant Malani kirjoitti: > Similar to mux and orientation switch, add a handle for registered > retimer to the port, so that it has handles to the various switches > connected to it. > > Signed-off-by: Prashant Malani Acked-by: Heikki Krogerus > --- > > Changes since v3: > - No changes. > > Changes since v2: > - No changes. > > Changes since v1: > - Relinquish retimer reference during typec_release. > > drivers/usb/typec/class.c | 9 +++++++++ > drivers/usb/typec/class.h | 1 + > 2 files changed, 10 insertions(+) > > diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c > index 9062836bb638..f08e32d552b4 100644 > --- a/drivers/usb/typec/class.c > +++ b/drivers/usb/typec/class.c > @@ -12,6 +12,7 @@ > #include > #include > #include > +#include > > #include "bus.h" > #include "class.h" > @@ -1736,6 +1737,7 @@ static void typec_release(struct device *dev) > ida_destroy(&port->mode_ids); > typec_switch_put(port->sw); > typec_mux_put(port->mux); > + typec_retimer_put(port->retimer); > kfree(port->cap); > kfree(port); > } > @@ -2249,6 +2251,13 @@ struct typec_port *typec_register_port(struct device *parent, > return ERR_PTR(ret); > } > > + port->retimer = typec_retimer_get(&port->dev); > + if (IS_ERR(port->retimer)) { > + ret = PTR_ERR(port->retimer); > + put_device(&port->dev); > + return ERR_PTR(ret); > + } > + > ret = device_add(&port->dev); > if (ret) { > dev_err(parent, "failed to register port (%d)\n", ret); > diff --git a/drivers/usb/typec/class.h b/drivers/usb/typec/class.h > index 43fcf9e37a8c..673b2952b074 100644 > --- a/drivers/usb/typec/class.h > +++ b/drivers/usb/typec/class.h > @@ -55,6 +55,7 @@ struct typec_port { > enum typec_orientation orientation; > struct typec_switch *sw; > struct typec_mux *mux; > + struct typec_retimer *retimer; > > const struct typec_capability *cap; > const struct typec_operations *ops; > -- > 2.37.0.144.g8ac04bfd2-goog -- heikki