lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Wed, 6 Jul 2022 14:49:44 +0800
From:   kernel test robot <lkp@...el.com>
To:     Srinivasa Rao Mandadapu <quic_srivasam@...cinc.com>
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org, Vinod Koul <vkoul@...nel.org>,
        Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
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@...el.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ