Messages in this thread | | | Date | Wed, 6 Jul 2022 14:49:44 +0800 | From | kernel test robot <> | Subject | [vkoul-soundwire:next 1/6] drivers/soundwire/qcom.c:1312:9: error: no member named 'audio_cgcr' in 'struct qcom_swrm_ctrl' |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git next head: 89ac225d323b8ab0cc4c416316bb1c72e6706917 commit: 37a0ca7e5cdf175a1a820adb3adba904612fed46 [1/6] soundwire: qcom: Add flag for software clock gating check config: hexagon-randconfig-r012-20220703 (https://download.01.org/0day-ci/archive/20220706/202207061401.0ckPaFMr-lkp@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project f553287b588916de09c66e3e32bf75e5060f967f) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git/commit/?id=37a0ca7e5cdf175a1a820adb3adba904612fed46 git remote add vkoul-soundwire https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git git fetch --no-tags vkoul-soundwire next git checkout 37a0ca7e5cdf175a1a820adb3adba904612fed46 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/soundwire/
If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/soundwire/qcom.c:1312:9: error: no member named 'audio_cgcr' in 'struct qcom_swrm_ctrl' ctrl->audio_cgcr = devm_reset_control_get_exclusive(dev, "swr_audio_cgcr"); ~~~~ ^ >> drivers/soundwire/qcom.c:1312:22: error: call to undeclared function 'devm_reset_control_get_exclusive'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] ctrl->audio_cgcr = devm_reset_control_get_exclusive(dev, "swr_audio_cgcr"); ^ drivers/soundwire/qcom.c:1313:28: error: no member named 'audio_cgcr' in 'struct qcom_swrm_ctrl' if (IS_ERR_OR_NULL(ctrl->audio_cgcr)) { ~~~~ ^ drivers/soundwire/qcom.c:1315:24: error: no member named 'audio_cgcr' in 'struct qcom_swrm_ctrl' ret = PTR_ERR(ctrl->audio_cgcr); ~~~~ ^ 4 errors generated.
vim +1312 drivers/soundwire/qcom.c
1275 1276 static int qcom_swrm_probe(struct platform_device *pdev) 1277 { 1278 struct device *dev = &pdev->dev; 1279 struct sdw_master_prop *prop; 1280 struct sdw_bus_params *params; 1281 struct qcom_swrm_ctrl *ctrl; 1282 const struct qcom_swrm_data *data; 1283 int ret; 1284 u32 val; 1285 1286 ctrl = devm_kzalloc(dev, sizeof(*ctrl), GFP_KERNEL); 1287 if (!ctrl) 1288 return -ENOMEM; 1289 1290 data = of_device_get_match_data(dev); 1291 ctrl->rows_index = sdw_find_row_index(data->default_rows); 1292 ctrl->cols_index = sdw_find_col_index(data->default_cols); 1293 #if IS_REACHABLE(CONFIG_SLIMBUS) 1294 if (dev->parent->bus == &slimbus_bus) { 1295 #else 1296 if (false) { 1297 #endif 1298 ctrl->reg_read = qcom_swrm_ahb_reg_read; 1299 ctrl->reg_write = qcom_swrm_ahb_reg_write; 1300 ctrl->regmap = dev_get_regmap(dev->parent, NULL); 1301 if (!ctrl->regmap) 1302 return -EINVAL; 1303 } else { 1304 ctrl->reg_read = qcom_swrm_cpu_reg_read; 1305 ctrl->reg_write = qcom_swrm_cpu_reg_write; 1306 ctrl->mmio = devm_platform_ioremap_resource(pdev, 0); 1307 if (IS_ERR(ctrl->mmio)) 1308 return PTR_ERR(ctrl->mmio); 1309 } 1310 1311 if (data->sw_clk_gate_required) { > 1312 ctrl->audio_cgcr = devm_reset_control_get_exclusive(dev, "swr_audio_cgcr"); 1313 if (IS_ERR_OR_NULL(ctrl->audio_cgcr)) { 1314 dev_err(dev, "Failed to get cgcr reset ctrl required for SW gating\n"); 1315 ret = PTR_ERR(ctrl->audio_cgcr); 1316 goto err_init; 1317 } 1318 } 1319 1320 ctrl->irq = of_irq_get(dev->of_node, 0); 1321 if (ctrl->irq < 0) { 1322 ret = ctrl->irq; 1323 goto err_init; 1324 } 1325 1326 ctrl->hclk = devm_clk_get(dev, "iface"); 1327 if (IS_ERR(ctrl->hclk)) { 1328 ret = PTR_ERR(ctrl->hclk); 1329 goto err_init; 1330 } 1331 1332 clk_prepare_enable(ctrl->hclk); 1333 1334 ctrl->dev = dev; 1335 dev_set_drvdata(&pdev->dev, ctrl); 1336 mutex_init(&ctrl->port_lock); 1337 init_completion(&ctrl->broadcast); 1338 init_completion(&ctrl->enumeration); 1339 1340 ctrl->bus.ops = &qcom_swrm_ops; 1341 ctrl->bus.port_ops = &qcom_swrm_port_ops; 1342 ctrl->bus.compute_params = &qcom_swrm_compute_params; 1343 ctrl->bus.clk_stop_timeout = 300; 1344 1345 ret = qcom_swrm_get_port_config(ctrl); 1346 if (ret) 1347 goto err_clk; 1348 1349 params = &ctrl->bus.params; 1350 params->max_dr_freq = DEFAULT_CLK_FREQ; 1351 params->curr_dr_freq = DEFAULT_CLK_FREQ; 1352 params->col = data->default_cols; 1353 params->row = data->default_rows; 1354 ctrl->reg_read(ctrl, SWRM_MCP_STATUS, &val); 1355 params->curr_bank = val & SWRM_MCP_STATUS_BANK_NUM_MASK; 1356 params->next_bank = !params->curr_bank; 1357 1358 prop = &ctrl->bus.prop; 1359 prop->max_clk_freq = DEFAULT_CLK_FREQ; 1360 prop->num_clk_gears = 0; 1361 prop->num_clk_freq = MAX_FREQ_NUM; 1362 prop->clk_freq = &qcom_swrm_freq_tbl[0]; 1363 prop->default_col = data->default_cols; 1364 prop->default_row = data->default_rows; 1365 1366 ctrl->reg_read(ctrl, SWRM_COMP_HW_VERSION, &ctrl->version); 1367 1368 ret = devm_request_threaded_irq(dev, ctrl->irq, NULL, 1369 qcom_swrm_irq_handler, 1370 IRQF_TRIGGER_RISING | 1371 IRQF_ONESHOT, 1372 "soundwire", ctrl); 1373 if (ret) { 1374 dev_err(dev, "Failed to request soundwire irq\n"); 1375 goto err_clk; 1376 } 1377 1378 ctrl->wake_irq = of_irq_get(dev->of_node, 1); 1379 if (ctrl->wake_irq > 0) { 1380 ret = devm_request_threaded_irq(dev, ctrl->wake_irq, NULL, 1381 qcom_swrm_wake_irq_handler, 1382 IRQF_TRIGGER_HIGH | IRQF_ONESHOT, 1383 "swr_wake_irq", ctrl); 1384 if (ret) { 1385 dev_err(dev, "Failed to request soundwire wake irq\n"); 1386 goto err_init; 1387 } 1388 } 1389 1390 ret = sdw_bus_master_add(&ctrl->bus, dev, dev->fwnode); 1391 if (ret) { 1392 dev_err(dev, "Failed to register Soundwire controller (%d)\n", 1393 ret); 1394 goto err_clk; 1395 } 1396 1397 qcom_swrm_init(ctrl); 1398 wait_for_completion_timeout(&ctrl->enumeration, 1399 msecs_to_jiffies(TIMEOUT_MS)); 1400 ret = qcom_swrm_register_dais(ctrl); 1401 if (ret) 1402 goto err_master_add; 1403 1404 dev_info(dev, "Qualcomm Soundwire controller v%x.%x.%x Registered\n", 1405 (ctrl->version >> 24) & 0xff, (ctrl->version >> 16) & 0xff, 1406 ctrl->version & 0xffff); 1407 1408 pm_runtime_set_autosuspend_delay(dev, 3000); 1409 pm_runtime_use_autosuspend(dev); 1410 pm_runtime_mark_last_busy(dev); 1411 pm_runtime_set_active(dev); 1412 pm_runtime_enable(dev); 1413 1414 /* Clk stop is not supported on WSA Soundwire masters */ 1415 if (ctrl->version <= 0x01030000) { 1416 ctrl->clock_stop_not_supported = true; 1417 } else { 1418 ctrl->reg_read(ctrl, SWRM_COMP_MASTER_ID, &val); 1419 if (val == MASTER_ID_WSA) 1420 ctrl->clock_stop_not_supported = true; 1421 } 1422
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |