From: kernel test robot <lkp@intel.com>
To: Rob Herring <robh@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [robh:for-kernelci 6/7] sound/soc/sh/rcar/core.c:1146:23: error: implicit declaration of function 'of_graph_get_remote_port_parent'; did you mean 'fwnode_graph_get_remote_port_parent'?
Date: Fri, 1 Sep 2023 01:44:13 +0800 [thread overview]
Message-ID: <202309010126.AtzEDhD6-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-kernelci
head: 2f859c7b504dbff5d4770187e5416610db4625e3
commit: f4013f411676ad6281f520bdc4ba108b089fc2b8 [6/7] ASoC: Clean-up DT includes
config: riscv-randconfig-001-20230831 (https://download.01.org/0day-ci/archive/20230901/202309010126.AtzEDhD6-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230901/202309010126.AtzEDhD6-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/oe-kbuild-all/202309010126.AtzEDhD6-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
sound/soc/sh/rcar/core.c: In function 'rsnd_parse_connect_graph':
>> sound/soc/sh/rcar/core.c:1146:23: error: implicit declaration of function 'of_graph_get_remote_port_parent'; did you mean 'fwnode_graph_get_remote_port_parent'? [-Werror=implicit-function-declaration]
1146 | remote_node = of_graph_get_remote_port_parent(endpoint);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| fwnode_graph_get_remote_port_parent
>> sound/soc/sh/rcar/core.c:1146:21: warning: assignment to 'struct device_node *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1146 | remote_node = of_graph_get_remote_port_parent(endpoint);
| ^
sound/soc/sh/rcar/core.c: In function 'rsnd_dai_of_node':
>> sound/soc/sh/rcar/core.c:1300:43: error: implicit declaration of function 'of_graph_get_endpoint_count'; did you mean 'fwnode_graph_get_endpoint_count'? [-Werror=implicit-function-declaration]
1300 | priv->component_dais[i] = of_graph_get_endpoint_count(ports);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| fwnode_graph_get_endpoint_count
sound/soc/sh/rcar/core.c: In function 'rsnd_dai_probe':
>> sound/soc/sh/rcar/core.c:1512:25: error: implicit declaration of function 'for_each_endpoint_of_node'; did you mean 'for_each_child_of_node'? [-Werror=implicit-function-declaration]
1512 | for_each_endpoint_of_node(ports, dai_np) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| for_each_child_of_node
>> sound/soc/sh/rcar/core.c:1512:65: error: expected ';' before '{' token
1512 | for_each_endpoint_of_node(ports, dai_np) {
| ^~
| ;
sound/soc/sh/rcar/core.c: At top level:
>> sound/soc/sh/rcar/core.c:1136:13: warning: 'rsnd_parse_connect_graph' defined but not used [-Wunused-function]
1136 | static void rsnd_parse_connect_graph(struct rsnd_priv *priv,
| ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
sound/soc/sh/rcar/src.c: In function 'rsnd_src_probe':
>> sound/soc/sh/rcar/src.c:694:28: error: implicit declaration of function 'irq_of_parse_and_map' [-Werror=implicit-function-declaration]
694 | src->irq = irq_of_parse_and_map(np, 0);
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
sound/soc/sh/rcar/ssi.c: In function 'rsnd_ssi_probe':
>> sound/soc/sh/rcar/ssi.c:1220:28: error: implicit declaration of function 'irq_of_parse_and_map' [-Werror=implicit-function-declaration]
1220 | ssi->irq = irq_of_parse_and_map(np, 0);
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +1146 sound/soc/sh/rcar/core.c
2264cf2e5db99c Kuninori Morimoto 2019-02-01 1135
beed78aeeb1021 Kuninori Morimoto 2018-11-06 @1136 static void rsnd_parse_connect_graph(struct rsnd_priv *priv,
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1137 struct rsnd_dai_stream *io,
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1138 struct device_node *endpoint)
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1139 {
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1140 struct device *dev = rsnd_priv_to_dev(priv);
ef2c695151df54 Kuninori Morimoto 2019-10-23 1141 struct device_node *remote_node;
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1142
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1143 if (!rsnd_io_to_mod_ssi(io))
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1144 return;
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1145
ef2c695151df54 Kuninori Morimoto 2019-10-23 @1146 remote_node = of_graph_get_remote_port_parent(endpoint);
ef2c695151df54 Kuninori Morimoto 2019-10-23 1147
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1148 /* HDMI0 */
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1149 if (strstr(remote_node->full_name, "hdmi@fead0000")) {
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1150 rsnd_flags_set(io, RSND_STREAM_HDMI0);
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1151 dev_dbg(dev, "%s connected to HDMI0\n", io->name);
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1152 }
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1153
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1154 /* HDMI1 */
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1155 if (strstr(remote_node->full_name, "hdmi@feae0000")) {
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1156 rsnd_flags_set(io, RSND_STREAM_HDMI1);
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1157 dev_dbg(dev, "%s connected to HDMI1\n", io->name);
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1158 }
f69f452243e4e1 Kuninori Morimoto 2018-11-06 1159
2264cf2e5db99c Kuninori Morimoto 2019-02-01 1160 rsnd_parse_tdm_split_mode(priv, io, endpoint);
ef2c695151df54 Kuninori Morimoto 2019-10-23 1161
ef2c695151df54 Kuninori Morimoto 2019-10-23 1162 of_node_put(remote_node);
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1163 }
beed78aeeb1021 Kuninori Morimoto 2018-11-06 1164
ec02b5a1d1c91b Kuninori Morimoto 2021-05-31 1165 void rsnd_parse_connect_common(struct rsnd_dai *rdai, char *name,
89b66174eca660 Kuninori Morimoto 2015-12-17 1166 struct rsnd_mod* (*mod_get)(struct rsnd_priv *priv, int id),
89b66174eca660 Kuninori Morimoto 2015-12-17 1167 struct device_node *node,
89b66174eca660 Kuninori Morimoto 2015-12-17 1168 struct device_node *playback,
89b66174eca660 Kuninori Morimoto 2015-12-17 1169 struct device_node *capture)
89b66174eca660 Kuninori Morimoto 2015-12-17 1170 {
89b66174eca660 Kuninori Morimoto 2015-12-17 1171 struct rsnd_priv *priv = rsnd_rdai_to_priv(rdai);
d09a7db431c65a Kuninori Morimoto 2022-04-21 1172 struct device *dev = rsnd_priv_to_dev(priv);
89b66174eca660 Kuninori Morimoto 2015-12-17 1173 struct device_node *np;
89b66174eca660 Kuninori Morimoto 2015-12-17 1174 int i;
89b66174eca660 Kuninori Morimoto 2015-12-17 1175
89b66174eca660 Kuninori Morimoto 2015-12-17 1176 if (!node)
89b66174eca660 Kuninori Morimoto 2015-12-17 1177 return;
89b66174eca660 Kuninori Morimoto 2015-12-17 1178
89b66174eca660 Kuninori Morimoto 2015-12-17 1179 i = 0;
89b66174eca660 Kuninori Morimoto 2015-12-17 1180 for_each_child_of_node(node, np) {
73919dbe480d0b Kuninori Morimoto 2021-05-31 1181 struct rsnd_mod *mod;
73919dbe480d0b Kuninori Morimoto 2021-05-31 1182
d09a7db431c65a Kuninori Morimoto 2022-04-21 1183 i = rsnd_node_fixed_index(dev, np, name, i);
d09a7db431c65a Kuninori Morimoto 2022-04-21 1184 if (i < 0) {
d09a7db431c65a Kuninori Morimoto 2022-04-21 1185 of_node_put(np);
d09a7db431c65a Kuninori Morimoto 2022-04-21 1186 break;
d09a7db431c65a Kuninori Morimoto 2022-04-21 1187 }
c413983eb66a0f Kuninori Morimoto 2021-05-31 1188
73919dbe480d0b Kuninori Morimoto 2021-05-31 1189 mod = mod_get(priv, i);
e539943c664e58 Kuninori Morimoto 2021-02-25 1190
89b66174eca660 Kuninori Morimoto 2015-12-17 1191 if (np == playback)
89b66174eca660 Kuninori Morimoto 2015-12-17 1192 rsnd_dai_connect(mod, &rdai->playback, mod->type);
89b66174eca660 Kuninori Morimoto 2015-12-17 1193 if (np == capture)
89b66174eca660 Kuninori Morimoto 2015-12-17 1194 rsnd_dai_connect(mod, &rdai->capture, mod->type);
89b66174eca660 Kuninori Morimoto 2015-12-17 1195 i++;
89b66174eca660 Kuninori Morimoto 2015-12-17 1196 }
89b66174eca660 Kuninori Morimoto 2015-12-17 1197
89b66174eca660 Kuninori Morimoto 2015-12-17 1198 of_node_put(node);
89b66174eca660 Kuninori Morimoto 2015-12-17 1199 }
89b66174eca660 Kuninori Morimoto 2015-12-17 1200
d09a7db431c65a Kuninori Morimoto 2022-04-21 1201 int rsnd_node_fixed_index(struct device *dev, struct device_node *node, char *name, int idx)
c413983eb66a0f Kuninori Morimoto 2021-05-31 1202 {
c413983eb66a0f Kuninori Morimoto 2021-05-31 1203 char node_name[16];
c413983eb66a0f Kuninori Morimoto 2021-05-31 1204
c413983eb66a0f Kuninori Morimoto 2021-05-31 1205 /*
c413983eb66a0f Kuninori Morimoto 2021-05-31 1206 * rsnd is assuming each device nodes are sequential numbering,
c413983eb66a0f Kuninori Morimoto 2021-05-31 1207 * but some of them are not.
c413983eb66a0f Kuninori Morimoto 2021-05-31 1208 * This function adjusts index for it.
c413983eb66a0f Kuninori Morimoto 2021-05-31 1209 *
c413983eb66a0f Kuninori Morimoto 2021-05-31 1210 * ex)
c413983eb66a0f Kuninori Morimoto 2021-05-31 1211 * Normal case, special case
c413983eb66a0f Kuninori Morimoto 2021-05-31 1212 * ssi-0
c413983eb66a0f Kuninori Morimoto 2021-05-31 1213 * ssi-1
c413983eb66a0f Kuninori Morimoto 2021-05-31 1214 * ssi-2
c413983eb66a0f Kuninori Morimoto 2021-05-31 1215 * ssi-3 ssi-3
c413983eb66a0f Kuninori Morimoto 2021-05-31 1216 * ssi-4 ssi-4
c413983eb66a0f Kuninori Morimoto 2021-05-31 1217 * ...
c413983eb66a0f Kuninori Morimoto 2021-05-31 1218 *
c413983eb66a0f Kuninori Morimoto 2021-05-31 1219 * assume Max 64 node
c413983eb66a0f Kuninori Morimoto 2021-05-31 1220 */
c413983eb66a0f Kuninori Morimoto 2021-05-31 1221 for (; idx < 64; idx++) {
c413983eb66a0f Kuninori Morimoto 2021-05-31 1222 snprintf(node_name, sizeof(node_name), "%s-%d", name, idx);
c413983eb66a0f Kuninori Morimoto 2021-05-31 1223
c413983eb66a0f Kuninori Morimoto 2021-05-31 1224 if (strncmp(node_name, of_node_full_name(node), sizeof(node_name)) == 0)
c413983eb66a0f Kuninori Morimoto 2021-05-31 1225 return idx;
c413983eb66a0f Kuninori Morimoto 2021-05-31 1226 }
c413983eb66a0f Kuninori Morimoto 2021-05-31 1227
d09a7db431c65a Kuninori Morimoto 2022-04-21 1228 dev_err(dev, "strange node numbering (%s)",
d09a7db431c65a Kuninori Morimoto 2022-04-21 1229 of_node_full_name(node));
c413983eb66a0f Kuninori Morimoto 2021-05-31 1230 return -EINVAL;
c413983eb66a0f Kuninori Morimoto 2021-05-31 1231 }
c413983eb66a0f Kuninori Morimoto 2021-05-31 1232
c413983eb66a0f Kuninori Morimoto 2021-05-31 1233 int rsnd_node_count(struct rsnd_priv *priv, struct device_node *node, char *name)
c413983eb66a0f Kuninori Morimoto 2021-05-31 1234 {
c413983eb66a0f Kuninori Morimoto 2021-05-31 1235 struct device *dev = rsnd_priv_to_dev(priv);
c413983eb66a0f Kuninori Morimoto 2021-05-31 1236 struct device_node *np;
c413983eb66a0f Kuninori Morimoto 2021-05-31 1237 int i;
c413983eb66a0f Kuninori Morimoto 2021-05-31 1238
c413983eb66a0f Kuninori Morimoto 2021-05-31 1239 i = 0;
c413983eb66a0f Kuninori Morimoto 2021-05-31 1240 for_each_child_of_node(node, np) {
d09a7db431c65a Kuninori Morimoto 2022-04-21 1241 i = rsnd_node_fixed_index(dev, np, name, i);
c413983eb66a0f Kuninori Morimoto 2021-05-31 1242 if (i < 0) {
173632358fde7a Christophe JAILLET 2021-10-18 1243 of_node_put(np);
c413983eb66a0f Kuninori Morimoto 2021-05-31 1244 return 0;
c413983eb66a0f Kuninori Morimoto 2021-05-31 1245 }
c413983eb66a0f Kuninori Morimoto 2021-05-31 1246 i++;
c413983eb66a0f Kuninori Morimoto 2021-05-31 1247 }
c413983eb66a0f Kuninori Morimoto 2021-05-31 1248
c413983eb66a0f Kuninori Morimoto 2021-05-31 1249 return i;
c413983eb66a0f Kuninori Morimoto 2021-05-31 1250 }
c413983eb66a0f Kuninori Morimoto 2021-05-31 1251
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1252 static int rsnd_dai_of_node(struct rsnd_priv *priv, int *is_graph)
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1253 {
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1254 struct device *dev = rsnd_priv_to_dev(priv);
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1255 struct device_node *np = dev->of_node;
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1256 struct device_node *ports, *node;
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1257 int nr = 0;
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1258 int i = 0;
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1259
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1260 *is_graph = 0;
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1261
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1262 /*
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1263 * parse both previous dai (= rcar_sound,dai), and
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1264 * graph dai (= ports/port)
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1265 */
6328489c135b60 Kuninori Morimoto 2023-07-24 1266
6328489c135b60 Kuninori Morimoto 2023-07-24 1267 /*
6328489c135b60 Kuninori Morimoto 2023-07-24 1268 * Simple-Card
6328489c135b60 Kuninori Morimoto 2023-07-24 1269 */
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1270 node = of_get_child_by_name(np, RSND_NODE_DAI);
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1271 if (!node)
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1272 goto audio_graph;
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1273
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1274 of_node_put(node);
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1275
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1276 for_each_child_of_node(np, node) {
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1277 if (!of_node_name_eq(node, RSND_NODE_DAI))
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1278 continue;
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1279
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1280 priv->component_dais[i] = of_get_child_count(node);
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1281 nr += priv->component_dais[i];
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1282 i++;
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1283 if (i >= RSND_MAX_COMPONENT) {
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1284 dev_info(dev, "reach to max component\n");
1a5ca2aad7b907 Kuninori Morimoto 2023-08-09 1285 of_node_put(node);
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1286 break;
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1287 }
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1288 }
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1289
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1290 return nr;
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1291
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1292 audio_graph:
6328489c135b60 Kuninori Morimoto 2023-07-24 1293 /*
6328489c135b60 Kuninori Morimoto 2023-07-24 1294 * Audio-Graph-Card
6328489c135b60 Kuninori Morimoto 2023-07-24 1295 */
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1296 for_each_child_of_node(np, ports) {
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1297 if (!of_node_name_eq(ports, "ports") &&
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1298 !of_node_name_eq(ports, "port"))
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1299 continue;
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 @1300 priv->component_dais[i] = of_graph_get_endpoint_count(ports);
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1301 nr += priv->component_dais[i];
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1302 i++;
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1303 if (i >= RSND_MAX_COMPONENT) {
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1304 dev_info(dev, "reach to max component\n");
1a5ca2aad7b907 Kuninori Morimoto 2023-08-09 1305 of_node_put(node);
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1306 break;
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1307 }
6328489c135b60 Kuninori Morimoto 2023-07-24 1308 }
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1309
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1310 *is_graph = 1;
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1311
547b02f74e4ac1 Kuninori Morimoto 2023-07-24 1312 return nr;
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1313 }
11d0f8ed6dc3e5 Kuninori Morimoto 2017-05-18 1314
:::::: The code at line 1146 was first introduced by commit
:::::: ef2c695151df54817f92128f96a920ff888c6920 ASoC: rsnd: add missing of_node_put()
:::::: TO: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
:::::: CC: Mark Brown <broonie@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2023-08-31 17:45 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202309010126.AtzEDhD6-lkp@intel.com \
--to=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.