* [plbossart-sound:sdw/merge-master-add-APIs 1/2] drivers/soundwire/qcom.c:866:41: sparse: sparse: incorrect type in argument 1 (different base types)
@ 2020-04-23 0:57 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-04-23 0:57 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 12416 bytes --]
tree: https://github.com/plbossart/sound sdw/merge-master-add-APIs
head: 31599fa4e830d092723dcb7719c51126d46dc9da
commit: 44eb92f8ff3575ab9f940c10d63c81d6e92abe2d [1/2] soundwire: move sdw_master_device as part of the context
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-191-gc51a0382-dirty
git checkout 44eb92f8ff3575ab9f940c10d63c81d6e92abe2d
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/soundwire/qcom.c:866:41: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected struct sdw_master_device *md @@ got truct sdw_master_device *md @@
drivers/soundwire/qcom.c:866:41: sparse: expected struct sdw_master_device *md
>> drivers/soundwire/qcom.c:866:41: sparse: got struct sdw_master_device md
drivers/soundwire/qcom.c:881:41: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected struct sdw_master_device *md @@ got truct sdw_master_device *md @@
drivers/soundwire/qcom.c:881:41: sparse: expected struct sdw_master_device *md
drivers/soundwire/qcom.c:881:41: sparse: got struct sdw_master_device md
vim +866 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
3a4d863b21f4e30 Pierre-Louis Bossart 2020-04-09 788 /* add bus handle */
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 789 ctrl->md.bus = &ctrl->bus;
3a4d863b21f4e30 Pierre-Louis Bossart 2020-04-09 790
5156c376c827fdc Pierre-Louis Bossart 2020-03-17 791 /* the bus uses the sdw_master_device, not the platform device */
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 792 ctrl->bus.dev = &ctrl->md.dev;
5156c376c827fdc Pierre-Louis Bossart 2020-03-17 793
02efb49aa805cee Srinivas Kandagatla 2020-01-13 794 ctrl->bus.ops = &qcom_swrm_ops;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 795 ctrl->bus.port_ops = &qcom_swrm_port_ops;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 796 ctrl->bus.compute_params = &qcom_swrm_compute_params;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 797
02efb49aa805cee Srinivas Kandagatla 2020-01-13 798 ret = qcom_swrm_get_port_config(ctrl);
02efb49aa805cee Srinivas Kandagatla 2020-01-13 799 if (ret)
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 800 goto err_clk;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 801
02efb49aa805cee Srinivas Kandagatla 2020-01-13 802 params = &ctrl->bus.params;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 803 params->max_dr_freq = DEFAULT_CLK_FREQ;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 804 params->curr_dr_freq = DEFAULT_CLK_FREQ;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 805 params->col = SWRM_DEFAULT_COL;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 806 params->row = SWRM_DEFAULT_ROWS;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 807 ctrl->reg_read(ctrl, SWRM_MCP_STATUS, &val);
02efb49aa805cee Srinivas Kandagatla 2020-01-13 808 params->curr_bank = val & SWRM_MCP_STATUS_BANK_NUM_MASK;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 809 params->next_bank = !params->curr_bank;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 810
02efb49aa805cee Srinivas Kandagatla 2020-01-13 811 prop = &ctrl->bus.prop;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 812 prop->max_clk_freq = DEFAULT_CLK_FREQ;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 813 prop->num_clk_gears = 0;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 814 prop->num_clk_freq = MAX_FREQ_NUM;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 815 prop->clk_freq = &qcom_swrm_freq_tbl[0];
02efb49aa805cee Srinivas Kandagatla 2020-01-13 816 prop->default_col = SWRM_DEFAULT_COL;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 817 prop->default_row = SWRM_DEFAULT_ROWS;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 818
02efb49aa805cee Srinivas Kandagatla 2020-01-13 819 ctrl->reg_read(ctrl, SWRM_COMP_HW_VERSION, &ctrl->version);
02efb49aa805cee Srinivas Kandagatla 2020-01-13 820
02efb49aa805cee Srinivas Kandagatla 2020-01-13 821 ret = devm_request_threaded_irq(dev, ctrl->irq, NULL,
02efb49aa805cee Srinivas Kandagatla 2020-01-13 822 qcom_swrm_irq_handler,
02efb49aa805cee Srinivas Kandagatla 2020-01-13 823 IRQF_TRIGGER_RISING,
02efb49aa805cee Srinivas Kandagatla 2020-01-13 824 "soundwire", ctrl);
02efb49aa805cee Srinivas Kandagatla 2020-01-13 825 if (ret) {
02efb49aa805cee Srinivas Kandagatla 2020-01-13 826 dev_err(dev, "Failed to request soundwire irq\n");
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 827 goto err_clk;
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 828 }
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 829
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 830 /*
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 831 * add sdw_master_device.
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 832 * For the Qualcomm implementation there is no driver.
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 833 */
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 834 ret = sdw_master_device_add(&ctrl->md,
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 835 dev, /* platform device is parent */
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 836 dev->fwnode,
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 837 NULL, /* no link ops */
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 838 0, /* only one link supported */
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 839 NULL); /* no context */
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 840 if (ret < 0) {
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 841 dev_err(dev, "Could not create sdw_master_device\n");
44eb92f8ff3575a Pierre-Louis Bossart 2020-04-20 842 goto err_clk;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 843 }
02efb49aa805cee Srinivas Kandagatla 2020-01-13 844
02efb49aa805cee Srinivas Kandagatla 2020-01-13 845 ret = sdw_add_bus_master(&ctrl->bus);
02efb49aa805cee Srinivas Kandagatla 2020-01-13 846 if (ret) {
02efb49aa805cee Srinivas Kandagatla 2020-01-13 847 dev_err(dev, "Failed to register Soundwire controller (%d)\n",
02efb49aa805cee Srinivas Kandagatla 2020-01-13 848 ret);
5156c376c827fdc Pierre-Louis Bossart 2020-03-17 849 goto err_md;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 850 }
02efb49aa805cee Srinivas Kandagatla 2020-01-13 851
02efb49aa805cee Srinivas Kandagatla 2020-01-13 852 qcom_swrm_init(ctrl);
02efb49aa805cee Srinivas Kandagatla 2020-01-13 853 ret = qcom_swrm_register_dais(ctrl);
02efb49aa805cee Srinivas Kandagatla 2020-01-13 854 if (ret)
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20 855 goto err_master_add;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 856
02efb49aa805cee Srinivas Kandagatla 2020-01-13 857 dev_info(dev, "Qualcomm Soundwire controller v%x.%x.%x Registered\n",
02efb49aa805cee Srinivas Kandagatla 2020-01-13 858 (ctrl->version >> 24) & 0xff, (ctrl->version >> 16) & 0xff,
02efb49aa805cee Srinivas Kandagatla 2020-01-13 859 ctrl->version & 0xffff);
02efb49aa805cee Srinivas Kandagatla 2020-01-13 860
02efb49aa805cee Srinivas Kandagatla 2020-01-13 861 return 0;
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20 862
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20 863 err_master_add:
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20 864 sdw_delete_bus_master(&ctrl->bus);
5156c376c827fdc Pierre-Louis Bossart 2020-03-17 865 err_md:
5156c376c827fdc Pierre-Louis Bossart 2020-03-17 @866 err = sdw_master_device_del(ctrl->md);
5156c376c827fdc Pierre-Louis Bossart 2020-03-17 867 if (err < 0) /* log but return initial status */
5156c376c827fdc Pierre-Louis Bossart 2020-03-17 868 dev_err(dev, "master device del failed %d\n", err);
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20 869 err_clk:
02efb49aa805cee Srinivas Kandagatla 2020-01-13 870 clk_disable_unprepare(ctrl->hclk);
0edb6d574e13a08 Pierre-Louis Bossart 2020-03-20 871 err_init:
02efb49aa805cee Srinivas Kandagatla 2020-01-13 872 return ret;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 873 }
02efb49aa805cee Srinivas Kandagatla 2020-01-13 874
:::::: The code at line 866 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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-04-23 0:57 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-23 0:57 [plbossart-sound:sdw/merge-master-add-APIs 1/2] drivers/soundwire/qcom.c:866:41: sparse: sparse: incorrect type in argument 1 (different base types) 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.