* [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.