All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/2] usb: typec: tcpm: Parse Accessory Mode information
  2023-11-20 23:11 [PATCH 0/2] usb: typec: tcpm: Handle Accessory Modes Dmitry Baryshkov
@ 2023-11-20 23:11 ` Dmitry Baryshkov
  2023-11-21  9:24   ` Sergei Shtylyov
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry Baryshkov @ 2023-11-20 23:11 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andy Gross,
	Bjorn Andersson, Konrad Dybcio, Hans de Goede, Ilpo Järvinen,
	Mark Gross, Heikki Krogerus, Greg Kroah-Hartman
  Cc: devicetree, linux-kernel, linux-arm-msm, platform-driver-x86,
	linux-usb

Some of the boards supported by the TCPM drivers can support USB-C
Accessory Modes (Analog Audio, Debug). Parse information about supported
modes from the device tree.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/usb/typec/tcpm/tcpm.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
index 6e843c511b85..6297f803de53 100644
--- a/drivers/usb/typec/tcpm/tcpm.c
+++ b/drivers/usb/typec/tcpm/tcpm.c
@@ -6114,6 +6114,7 @@ static int tcpm_fw_get_caps(struct tcpm_port *port,
 {
 	const char *opmode_str;
 	int ret;
+	int mode;
 	u32 mw, frs_current;
 
 	if (!fwnode)
@@ -6132,6 +6133,12 @@ static int tcpm_fw_get_caps(struct tcpm_port *port,
 	if (ret < 0)
 		return ret;
 
+	if (fwnode_property_read_bool(fwnode, "accessory-mode-audio"))
+		port->typec_caps.accessory[mode++] = TYPEC_ACCESSORY_AUDIO;
+
+	if (fwnode_property_read_bool(fwnode, "accessory-mode-debug"))
+		port->typec_caps.accessory[mode++] = TYPEC_ACCESSORY_DEBUG;
+
 	port->port_type = port->typec_caps.type;
 	port->pd_supported = !fwnode_property_read_bool(fwnode, "pd-disable");
 
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 2/2] usb: typec: tcpm: Parse Accessory Mode information
@ 2023-11-21  9:13 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2023-11-21  9:13 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: Manual check reason: "git am base is a link in commit message"
:::::: 

BCC: lkp@intel.com
CC: llvm@lists.linux.dev
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20231120231757.2309482-3-dmitry.baryshkov@linaro.org>
References: <20231120231757.2309482-3-dmitry.baryshkov@linaro.org>
TO: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
TO: Rob Herring <robh+dt@kernel.org>
TO: Krzysztof Kozlowski <krzk@kernel.org>
TO: Conor Dooley <conor+dt@kernel.org>
TO: Andy Gross <agross@kernel.org>
TO: Bjorn Andersson <andersson@kernel.org>
TO: Konrad Dybcio <konrad.dybcio@linaro.org>
TO: Hans de Goede <hdegoede@redhat.com>
TO: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
TO: Mark Gross <markgross@kernel.org>
TO: Heikki Krogerus <heikki.krogerus@linux.intel.com>
TO: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
CC: devicetree@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: linux-arm-msm@vger.kernel.org
CC: platform-driver-x86@vger.kernel.org
CC: linux-usb@vger.kernel.org

Hi Dmitry,

kernel test robot noticed the following build warnings:

[auto build test WARNING on v6.7-rc2]
[also build test WARNING on linus/master next-20231121]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Dmitry-Baryshkov/dt-bindings-connector-usb-add-accessory-mode-description/20231121-072028
base:   v6.7-rc2
patch link:    https://lore.kernel.org/r/20231120231757.2309482-3-dmitry.baryshkov%40linaro.org
patch subject: [PATCH 2/2] usb: typec: tcpm: Parse Accessory Mode information
:::::: branch date: 10 hours ago
:::::: commit date: 10 hours ago
config: x86_64-randconfig-001-20231121 (https://download.01.org/0day-ci/archive/20231121/202311211657.1TnRaESc-lkp@intel.com/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231121/202311211657.1TnRaESc-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202311211657.1TnRaESc-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/usb/typec/tcpm/tcpm.c:6142:30: warning: variable 'mode' is uninitialized when used here [-Wuninitialized]
                   port->typec_caps.accessory[mode++] = TYPEC_ACCESSORY_AUDIO;
                                              ^~~~
   drivers/usb/typec/tcpm/tcpm.c:6122:10: note: initialize the variable 'mode' to silence this warning
           int mode;
                   ^
                    = 0
   1 warning generated.


vim +/mode +6142 drivers/usb/typec/tcpm/tcpm.c

8203d26905eee0 drivers/usb/typec/tcpm/tcpm.c Heikki Krogerus        2022-05-02  6116  
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6117  static int tcpm_fw_get_caps(struct tcpm_port *port,
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6118  			    struct fwnode_handle *fwnode)
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6119  {
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6120  	const char *opmode_str;
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6121  	int ret;
4ea5a7a3cc4709 drivers/usb/typec/tcpm/tcpm.c Dmitry Baryshkov       2023-11-21  6122  	int mode;
8dc4bd073663fa drivers/usb/typec/tcpm/tcpm.c Badhri Jagan Sridharan 2020-10-07  6123  	u32 mw, frs_current;
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6124  
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6125  	if (!fwnode)
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6126  		return -EINVAL;
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6127  
28ec344bb8911b drivers/usb/typec/tcpm/tcpm.c Saravana Kannan        2021-05-05  6128  	/*
28ec344bb8911b drivers/usb/typec/tcpm/tcpm.c Saravana Kannan        2021-05-05  6129  	 * This fwnode has a "compatible" property, but is never populated as a
28ec344bb8911b drivers/usb/typec/tcpm/tcpm.c Saravana Kannan        2021-05-05  6130  	 * struct device. Instead we simply parse it to read the properties.
28ec344bb8911b drivers/usb/typec/tcpm/tcpm.c Saravana Kannan        2021-05-05  6131  	 * This it breaks fw_devlink=on. To maintain backward compatibility
28ec344bb8911b drivers/usb/typec/tcpm/tcpm.c Saravana Kannan        2021-05-05  6132  	 * with existing DT files, we work around this by deleting any
28ec344bb8911b drivers/usb/typec/tcpm/tcpm.c Saravana Kannan        2021-05-05  6133  	 * fwnode_links to/from this fwnode.
28ec344bb8911b drivers/usb/typec/tcpm/tcpm.c Saravana Kannan        2021-05-05  6134  	 */
28ec344bb8911b drivers/usb/typec/tcpm/tcpm.c Saravana Kannan        2021-05-05  6135  	fw_devlink_purge_absent_suppliers(fwnode);
28ec344bb8911b drivers/usb/typec/tcpm/tcpm.c Saravana Kannan        2021-05-05  6136  
2e7dfb0e9cacad drivers/usb/typec/tcpm/tcpm.c Samuel Holland         2022-02-13  6137  	ret = typec_get_fw_cap(&port->typec_caps, fwnode);
7101949f36fc77 drivers/usb/typec/tcpm/tcpm.c Dan Carpenter          2019-10-01  6138  	if (ret < 0)
7101949f36fc77 drivers/usb/typec/tcpm/tcpm.c Dan Carpenter          2019-10-01  6139  		return ret;
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6140  
4ea5a7a3cc4709 drivers/usb/typec/tcpm/tcpm.c Dmitry Baryshkov       2023-11-21  6141  	if (fwnode_property_read_bool(fwnode, "accessory-mode-audio"))
4ea5a7a3cc4709 drivers/usb/typec/tcpm/tcpm.c Dmitry Baryshkov       2023-11-21 @6142  		port->typec_caps.accessory[mode++] = TYPEC_ACCESSORY_AUDIO;
4ea5a7a3cc4709 drivers/usb/typec/tcpm/tcpm.c Dmitry Baryshkov       2023-11-21  6143  
4ea5a7a3cc4709 drivers/usb/typec/tcpm/tcpm.c Dmitry Baryshkov       2023-11-21  6144  	if (fwnode_property_read_bool(fwnode, "accessory-mode-debug"))
4ea5a7a3cc4709 drivers/usb/typec/tcpm/tcpm.c Dmitry Baryshkov       2023-11-21  6145  		port->typec_caps.accessory[mode++] = TYPEC_ACCESSORY_DEBUG;
4ea5a7a3cc4709 drivers/usb/typec/tcpm/tcpm.c Dmitry Baryshkov       2023-11-21  6146  
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6147  	port->port_type = port->typec_caps.type;
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6148  	port->pd_supported = !fwnode_property_read_bool(fwnode, "pd-disable");
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6149  
1373fefc6243cc drivers/usb/typec/tcpm/tcpm.c Badhri Jagan Sridharan 2021-04-13  6150  	port->slow_charger_loop = fwnode_property_read_bool(fwnode, "slow-charger-loop");
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6151  	if (port->port_type == TYPEC_PORT_SNK)
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6152  		goto sink;
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6153  
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6154  	/* Get Source PDOs for the PD port or Source Rp value for the non-PD port */
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6155  	if (port->pd_supported) {
bc7514925cf50b drivers/usb/typec/tcpm/tcpm.c Andy Shevchenko        2019-07-23  6156  		ret = fwnode_property_count_u32(fwnode, "source-pdos");
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6157  		if (ret == 0)
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6158  			return -EINVAL;
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6159  		else if (ret < 0)
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6160  			return ret;
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6161  
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6162  		port->nr_src_pdo = min(ret, PDO_MAX_OBJECTS);
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6163  		ret = fwnode_property_read_u32_array(fwnode, "source-pdos",
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6164  						     port->src_pdo, port->nr_src_pdo);
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6165  		if (ret)
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6166  			return ret;
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6167  		ret = tcpm_validate_caps(port, port->src_pdo, port->nr_src_pdo);
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6168  		if (ret)
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6169  			return ret;
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6170  	} else {
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6171  		ret = fwnode_property_read_string(fwnode, "typec-power-opmode", &opmode_str);
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6172  		if (ret)
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6173  			return ret;
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6174  		ret = typec_find_pwr_opmode(opmode_str);
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6175  		if (ret < 0)
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6176  			return ret;
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6177  		port->src_rp = tcpm_pwr_opmode_to_rp(ret);
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6178  	}
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6179  
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6180  	if (port->port_type == TYPEC_PORT_SRC)
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6181  		return 0;
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6182  
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6183  sink:
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6184  	port->self_powered = fwnode_property_read_bool(fwnode, "self-powered");
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6185  
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6186  	if (!port->pd_supported)
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6187  		return 0;
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6188  
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6189  	/* Get sink pdos */
bc7514925cf50b drivers/usb/typec/tcpm/tcpm.c Andy Shevchenko        2019-07-23  6190  	ret = fwnode_property_count_u32(fwnode, "sink-pdos");
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6191  	if (ret <= 0)
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6192  		return -EINVAL;
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6193  
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6194  	port->nr_snk_pdo = min(ret, PDO_MAX_OBJECTS);
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6195  	ret = fwnode_property_read_u32_array(fwnode, "sink-pdos",
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6196  					     port->snk_pdo, port->nr_snk_pdo);
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6197  	if ((ret < 0) || tcpm_validate_caps(port, port->snk_pdo,
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6198  					    port->nr_snk_pdo))
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6199  		return -EINVAL;
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6200  
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6201  	if (fwnode_property_read_u32(fwnode, "op-sink-microwatt", &mw) < 0)
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6202  		return -EINVAL;
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6203  	port->operating_snk_mw = mw / 1000;
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6204  
e9e6e164ed8f6d drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-08-04  6205  	/* FRS can only be supported by DRP ports */
8dc4bd073663fa drivers/usb/typec/tcpm/tcpm.c Badhri Jagan Sridharan 2020-10-07  6206  	if (port->port_type == TYPEC_PORT_DRP) {
8115240c4fbd1c drivers/usb/typec/tcpm/tcpm.c Badhri Jagan Sridharan 2020-10-28  6207  		ret = fwnode_property_read_u32(fwnode, "new-source-frs-typec-current",
8115240c4fbd1c drivers/usb/typec/tcpm/tcpm.c Badhri Jagan Sridharan 2020-10-28  6208  					       &frs_current);
8dc4bd073663fa drivers/usb/typec/tcpm/tcpm.c Badhri Jagan Sridharan 2020-10-07  6209  		if (ret >= 0 && frs_current <= FRS_5V_3A)
8115240c4fbd1c drivers/usb/typec/tcpm/tcpm.c Badhri Jagan Sridharan 2020-10-28  6210  			port->new_source_frs_current = frs_current;
8dc4bd073663fa drivers/usb/typec/tcpm/tcpm.c Badhri Jagan Sridharan 2020-10-07  6211  	}
8dc4bd073663fa drivers/usb/typec/tcpm/tcpm.c Badhri Jagan Sridharan 2020-10-07  6212  
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6213  	/* sink-vdos is optional */
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6214  	ret = fwnode_property_count_u32(fwnode, "sink-vdos");
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6215  	if (ret < 0)
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6216  		ret = 0;
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6217  
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6218  	port->nr_snk_vdo = min(ret, VDO_MAX_OBJECTS);
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6219  	if (port->nr_snk_vdo) {
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6220  		ret = fwnode_property_read_u32_array(fwnode, "sink-vdos",
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6221  						     port->snk_vdo,
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6222  						     port->nr_snk_vdo);
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6223  		if (ret < 0)
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6224  			return ret;
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6225  	}
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6226  
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6227  	/* If sink-vdos is found, sink-vdos-v1 is expected for backward compatibility. */
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6228  	if (port->nr_snk_vdo) {
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6229  		ret = fwnode_property_count_u32(fwnode, "sink-vdos-v1");
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6230  		if (ret < 0)
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6231  			return ret;
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6232  		else if (ret == 0)
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6233  			return -ENODATA;
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6234  
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6235  		port->nr_snk_vdo_v1 = min(ret, VDO_MAX_OBJECTS);
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6236  		ret = fwnode_property_read_u32_array(fwnode, "sink-vdos-v1",
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6237  						     port->snk_vdo_v1,
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6238  						     port->nr_snk_vdo_v1);
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6239  		if (ret < 0)
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6240  			return ret;
7ac50510357254 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-06-01  6241  	}
f5d1d63e7359c6 drivers/usb/typec/tcpm/tcpm.c Kyle Tso               2021-02-05  6242  
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6243  	return 0;
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6244  }
96232cbc6c994c drivers/usb/typec/tcpm.c      Li Jun                 2018-06-27  6245  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 2/2] usb: typec: tcpm: Parse Accessory Mode information
  2023-11-20 23:11 ` [PATCH 2/2] usb: typec: tcpm: Parse Accessory Mode information Dmitry Baryshkov
@ 2023-11-21  9:24   ` Sergei Shtylyov
  0 siblings, 0 replies; 3+ messages in thread
From: Sergei Shtylyov @ 2023-11-21  9:24 UTC (permalink / raw)
  To: Dmitry Baryshkov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Andy Gross, Bjorn Andersson, Konrad Dybcio, Hans de Goede,
	Ilpo Järvinen, Mark Gross, Heikki Krogerus,
	Greg Kroah-Hartman
  Cc: devicetree, linux-kernel, linux-arm-msm, platform-driver-x86,
	linux-usb

On 11/21/23 2:11 AM, Dmitry Baryshkov wrote:

> Some of the boards supported by the TCPM drivers can support USB-C
> Accessory Modes (Analog Audio, Debug). Parse information about supported
> modes from the device tree.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  drivers/usb/typec/tcpm/tcpm.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
> index 6e843c511b85..6297f803de53 100644
> --- a/drivers/usb/typec/tcpm/tcpm.c
> +++ b/drivers/usb/typec/tcpm/tcpm.c
> @@ -6114,6 +6114,7 @@ static int tcpm_fw_get_caps(struct tcpm_port *port,
>  {
>  	const char *opmode_str;
>  	int ret;
> +	int mode;
>  	u32 mw, frs_current;
>  
>  	if (!fwnode)
> @@ -6132,6 +6133,12 @@ static int tcpm_fw_get_caps(struct tcpm_port *port,
>  	if (ret < 0)
>  		return ret;
>  
> +	if (fwnode_property_read_bool(fwnode, "accessory-mode-audio"))
> +		port->typec_caps.accessory[mode++] = TYPEC_ACCESSORY_AUDIO;
> +
> +	if (fwnode_property_read_bool(fwnode, "accessory-mode-debug"))
> +		port->typec_caps.accessory[mode++] = TYPEC_ACCESSORY_DEBUG;
> +

   Hm, I don't see where that mode variable is initialized?

[...]

MBR, Sergey

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-11-21  9:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-21  9:13 [PATCH 2/2] usb: typec: tcpm: Parse Accessory Mode information kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2023-11-20 23:11 [PATCH 0/2] usb: typec: tcpm: Handle Accessory Modes Dmitry Baryshkov
2023-11-20 23:11 ` [PATCH 2/2] usb: typec: tcpm: Parse Accessory Mode information Dmitry Baryshkov
2023-11-21  9:24   ` Sergei Shtylyov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.