All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-sof-driver:pr/2088 2/10] drivers/soundwire/qcom.c:792:35: error: passing argument 1 of 'sdw_master_device_add' from incompatible pointer type
@ 2020-05-18 13:52 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-05-18 13:52 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 15266 bytes --]

tree:   https://github.com/thesofproject/linux pr/2088
head:   46485377528ea8f4848509ce24481fa0ff22d285
commit: f64b7f7b8f06956ed2dcd5c617b6c71f5b117c07 [2/10] soundwire: use a single API to add/delete master device
config: arm64-sof-customedconfig-nobloat-imx-defconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout f64b7f7b8f06956ed2dcd5c617b6c71f5b117c07
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>, old ones prefixed by <<):

drivers/soundwire/qcom.c: In function 'qcom_swrm_probe':
>> drivers/soundwire/qcom.c:792:35: error: passing argument 1 of 'sdw_master_device_add' from incompatible pointer type [-Werror=incompatible-pointer-types]
792 |  ctrl->md = sdw_master_device_add(dev, /* platform device is parent */
|                                   ^~~
|                                   |
|                                   struct device *
In file included from drivers/soundwire/qcom.c:20:
drivers/soundwire/bus.h:22:43: note: expected 'struct sdw_bus *' but argument is of type 'struct device *'
22 | int sdw_master_device_add(struct sdw_bus *bus, struct device *parent,
|                           ~~~~~~~~~~~~~~~~^~~
drivers/soundwire/qcom.c:793:10: error: passing argument 2 of 'sdw_master_device_add' from incompatible pointer type [-Werror=incompatible-pointer-types]
793 |       dev->fwnode,
|       ~~~^~~~~~~~
|          |
|          struct fwnode_handle *
In file included from drivers/soundwire/qcom.c:20:
drivers/soundwire/bus.h:22:63: note: expected 'struct device *' but argument is of type 'struct fwnode_handle *'
22 | int sdw_master_device_add(struct sdw_bus *bus, struct device *parent,
|                                                ~~~~~~~~~~~~~~~^~~~~~
>> drivers/soundwire/qcom.c:792:13: error: too many arguments to function 'sdw_master_device_add'
792 |  ctrl->md = sdw_master_device_add(dev, /* platform device is parent */
|             ^~~~~~~~~~~~~~~~~~~~~
In file included from drivers/soundwire/qcom.c:20:
drivers/soundwire/bus.h:22:5: note: declared here
22 | int sdw_master_device_add(struct sdw_bus *bus, struct device *parent,
|     ^~~~~~~~~~~~~~~~~~~~~
drivers/soundwire/qcom.c:792:11: warning: assignment to 'struct sdw_master_device *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
792 |  ctrl->md = sdw_master_device_add(dev, /* platform device is parent */
|           ^
>> drivers/soundwire/qcom.c:864:34: error: passing argument 1 of 'sdw_master_device_del' from incompatible pointer type [-Werror=incompatible-pointer-types]
864 |  err = sdw_master_device_del(ctrl->md);
|                              ~~~~^~~~
|                                  |
|                                  struct sdw_master_device *
In file included from drivers/soundwire/qcom.c:20:
drivers/soundwire/bus.h:24:43: note: expected 'struct sdw_bus *' but argument is of type 'struct sdw_master_device *'
24 | int sdw_master_device_del(struct sdw_bus *bus);
|                           ~~~~~~~~~~~~~~~~^~~
drivers/soundwire/qcom.c: In function 'qcom_swrm_remove':
drivers/soundwire/qcom.c:878:2: error: implicit declaration of function 'sdw_delete_bus_master' [-Werror=implicit-function-declaration]
878 |  sdw_delete_bus_master(&ctrl->bus);
|  ^~~~~~~~~~~~~~~~~~~~~
drivers/soundwire/qcom.c:879:34: error: passing argument 1 of 'sdw_master_device_del' from incompatible pointer type [-Werror=incompatible-pointer-types]
879 |  err = sdw_master_device_del(ctrl->md);
|                              ~~~~^~~~
|                                  |
|                                  struct sdw_master_device *
In file included from drivers/soundwire/qcom.c:20:
drivers/soundwire/bus.h:24:43: note: expected 'struct sdw_bus *' but argument is of type 'struct sdw_master_device *'
24 | int sdw_master_device_del(struct sdw_bus *bus);
|                           ~~~~~~~~~~~~~~~~^~~
cc1: some warnings being treated as errors

vim +/sdw_master_device_add +792 drivers/soundwire/qcom.c

02efb49aa805cee Srinivas Kandagatla  2020-01-13  743  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  744  static int qcom_swrm_probe(struct platform_device *pdev)
02efb49aa805cee Srinivas Kandagatla  2020-01-13  745  {
02efb49aa805cee Srinivas Kandagatla  2020-01-13  746  	struct device *dev = &pdev->dev;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  747  	struct sdw_master_prop *prop;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  748  	struct sdw_bus_params *params;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  749  	struct qcom_swrm_ctrl *ctrl;
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  750  	int ret, err;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  751  	u32 val;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  752  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  753  	ctrl = devm_kzalloc(dev, sizeof(*ctrl), GFP_KERNEL);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  754  	if (!ctrl)
02efb49aa805cee Srinivas Kandagatla  2020-01-13  755  		return -ENOMEM;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  756  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  757  	if (dev->parent->bus == &slimbus_bus) {
02efb49aa805cee Srinivas Kandagatla  2020-01-13  758  		ctrl->reg_read = qcom_swrm_abh_reg_read;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  759  		ctrl->reg_write = qcom_swrm_ahb_reg_write;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  760  		ctrl->regmap = dev_get_regmap(dev->parent, NULL);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  761  		if (!ctrl->regmap)
02efb49aa805cee Srinivas Kandagatla  2020-01-13  762  			return -EINVAL;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  763  	} else {
02efb49aa805cee Srinivas Kandagatla  2020-01-13  764  		/* Only WCD based SoundWire controller is supported */
02efb49aa805cee Srinivas Kandagatla  2020-01-13  765  		return -ENOTSUPP;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  766  	}
02efb49aa805cee Srinivas Kandagatla  2020-01-13  767  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  768  	ctrl->irq = of_irq_get(dev->of_node, 0);
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  769  	if (ctrl->irq < 0) {
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  770  		ret = ctrl->irq;
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  771  		goto err_init;
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  772  	}
02efb49aa805cee Srinivas Kandagatla  2020-01-13  773  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  774  	ctrl->hclk = devm_clk_get(dev, "iface");
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  775  	if (IS_ERR(ctrl->hclk)) {
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  776  		ret = PTR_ERR(ctrl->hclk);
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  777  		goto err_init;
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  778  	}
02efb49aa805cee Srinivas Kandagatla  2020-01-13  779  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  780  	clk_prepare_enable(ctrl->hclk);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  781  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  782  	ctrl->dev = dev;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  783  	dev_set_drvdata(&pdev->dev, ctrl);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  784  	spin_lock_init(&ctrl->comp_lock);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  785  	mutex_init(&ctrl->port_lock);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  786  	INIT_WORK(&ctrl->slave_work, qcom_swrm_slave_wq);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  787  
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  788  	/*
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  789  	 * add sdw_master_device.
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  790  	 * For the Qualcomm implementation there is no driver.
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  791  	 */
5156c376c827fdc Pierre-Louis Bossart 2020-03-17 @792  	ctrl->md = sdw_master_device_add(dev,	/* platform device is parent */
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  793  					 dev->fwnode,
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  794  					 NULL,	/* no link ops */
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  795  					 0,	/* only one link supported */
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  796  					 NULL);	/* no context */
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  797  	if (IS_ERR(ctrl->md)) {
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  798  		dev_err(dev, "Could not create sdw_master_device\n");
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  799  		ret = PTR_ERR(ctrl->md);
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  800  		goto err_clk;
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  801  	}
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  802  
3a4d863b21f4e30 Pierre-Louis Bossart 2020-04-09  803  	/* add bus handle */
3a4d863b21f4e30 Pierre-Louis Bossart 2020-04-09  804  	ctrl->md->bus = &ctrl->bus;
3a4d863b21f4e30 Pierre-Louis Bossart 2020-04-09  805  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  806  	ctrl->bus.ops = &qcom_swrm_ops;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  807  	ctrl->bus.port_ops = &qcom_swrm_port_ops;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  808  	ctrl->bus.compute_params = &qcom_swrm_compute_params;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  809  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  810  	ret = qcom_swrm_get_port_config(ctrl);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  811  	if (ret)
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  812  		goto err_md;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  813  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  814  	params = &ctrl->bus.params;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  815  	params->max_dr_freq = DEFAULT_CLK_FREQ;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  816  	params->curr_dr_freq = DEFAULT_CLK_FREQ;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  817  	params->col = SWRM_DEFAULT_COL;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  818  	params->row = SWRM_DEFAULT_ROWS;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  819  	ctrl->reg_read(ctrl, SWRM_MCP_STATUS, &val);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  820  	params->curr_bank = val & SWRM_MCP_STATUS_BANK_NUM_MASK;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  821  	params->next_bank = !params->curr_bank;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  822  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  823  	prop = &ctrl->bus.prop;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  824  	prop->max_clk_freq = DEFAULT_CLK_FREQ;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  825  	prop->num_clk_gears = 0;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  826  	prop->num_clk_freq = MAX_FREQ_NUM;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  827  	prop->clk_freq = &qcom_swrm_freq_tbl[0];
02efb49aa805cee Srinivas Kandagatla  2020-01-13  828  	prop->default_col = SWRM_DEFAULT_COL;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  829  	prop->default_row = SWRM_DEFAULT_ROWS;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  830  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  831  	ctrl->reg_read(ctrl, SWRM_COMP_HW_VERSION, &ctrl->version);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  832  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  833  	ret = devm_request_threaded_irq(dev, ctrl->irq, NULL,
02efb49aa805cee Srinivas Kandagatla  2020-01-13  834  					qcom_swrm_irq_handler,
4f1738f4c24b448 Samuel Zou           2020-05-06  835  					IRQF_TRIGGER_RISING |
4f1738f4c24b448 Samuel Zou           2020-05-06  836  					IRQF_ONESHOT,
02efb49aa805cee Srinivas Kandagatla  2020-01-13  837  					"soundwire", ctrl);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  838  	if (ret) {
02efb49aa805cee Srinivas Kandagatla  2020-01-13  839  		dev_err(dev, "Failed to request soundwire irq\n");
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  840  		goto err_md;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  841  	}
02efb49aa805cee Srinivas Kandagatla  2020-01-13  842  
3694409e4558025 Pierre-Louis Bossart 2020-04-24  843  	ret = sdw_bus_master_add(&ctrl->bus);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  844  	if (ret) {
02efb49aa805cee Srinivas Kandagatla  2020-01-13  845  		dev_err(dev, "Failed to register Soundwire controller (%d)\n",
02efb49aa805cee Srinivas Kandagatla  2020-01-13  846  			ret);
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  847  		goto err_md;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  848  	}
02efb49aa805cee Srinivas Kandagatla  2020-01-13  849  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  850  	qcom_swrm_init(ctrl);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  851  	ret = qcom_swrm_register_dais(ctrl);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  852  	if (ret)
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  853  		goto err_master_add;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  854  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  855  	dev_info(dev, "Qualcomm Soundwire controller v%x.%x.%x Registered\n",
02efb49aa805cee Srinivas Kandagatla  2020-01-13  856  		 (ctrl->version >> 24) & 0xff, (ctrl->version >> 16) & 0xff,
02efb49aa805cee Srinivas Kandagatla  2020-01-13  857  		 ctrl->version & 0xffff);
02efb49aa805cee Srinivas Kandagatla  2020-01-13  858  
02efb49aa805cee Srinivas Kandagatla  2020-01-13  859  	return 0;
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  860  
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  861  err_master_add:
3694409e4558025 Pierre-Louis Bossart 2020-04-24  862  	sdw_bus_master_delete(&ctrl->bus);
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  863  err_md:
5156c376c827fdc Pierre-Louis Bossart 2020-03-17 @864  	err = sdw_master_device_del(ctrl->md);
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  865  	if (err < 0) /* log but return initial status */
5156c376c827fdc Pierre-Louis Bossart 2020-03-17  866  		dev_err(dev, "master device del failed %d\n", err);
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  867  err_clk:
02efb49aa805cee Srinivas Kandagatla  2020-01-13  868  	clk_disable_unprepare(ctrl->hclk);
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20  869  err_init:
02efb49aa805cee Srinivas Kandagatla  2020-01-13  870  	return ret;
02efb49aa805cee Srinivas Kandagatla  2020-01-13  871  }
02efb49aa805cee Srinivas Kandagatla  2020-01-13  872  

:::::: The code at line 792 was first introduced by commit
:::::: 5156c376c827fdcb7526d5eec54616f3612e2423 soundwire: qcom: add sdw_master_device support

:::::: TO: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
:::::: CC: Pierre Bossart <pierre-louis.bossart@linux.intel.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 28912 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-18 13:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-18 13:52 [linux-sof-driver:pr/2088 2/10] drivers/soundwire/qcom.c:792:35: error: passing argument 1 of 'sdw_master_device_add' from incompatible pointer type kbuild test robot

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.