Re: [PATCH 2/2] drivers: bus: simple-pm-bus: Get and deassert resets exclusively

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/24/2024 7:32 AM, kernel test robot wrote:
Hi Yang,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 8d3dea210042f54b952b481838c1e7dfc4ec751d]

url:    https://github.com/intel-lab-lkp/linux/commits/Yang-Xiwen-via-B4-Relay/dt-bindings-simple-pm-bus-Add-optional-resets/20240223-115400
base:   8d3dea210042f54b952b481838c1e7dfc4ec751d
patch link:    https://lore.kernel.org/r/20240223-b4-bus-v1-2-2803c3ac4673%40outlook.com
patch subject: [PATCH 2/2] drivers: bus: simple-pm-bus: Get and deassert resets exclusively
config: i386-randconfig-061-20240223 (https://download.01.org/0day-ci/archive/20240224/202402240740.rPfLNrGO-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240224/202402240740.rPfLNrGO-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402240740.rPfLNrGO-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
drivers/bus/simple-pm-bus.c:67:50: sparse: sparse: incorrect type in argument 1 (different modifiers) @@     expected struct device *dev @@     got struct device const *dev @@
    drivers/bus/simple-pm-bus.c:67:50: sparse:     expected struct device *dev
    drivers/bus/simple-pm-bus.c:67:50: sparse:     got struct device const *dev

vim +67 drivers/bus/simple-pm-bus.c

     26	
     27	static int simple_pm_bus_probe(struct platform_device *pdev)
     28	{
     29		const struct device *dev = &pdev->dev;
     30		const struct of_dev_auxdata *lookup = dev_get_platdata(dev);
     31		struct device_node *np = dev->of_node;
     32		const struct of_device_id *match;
     33		struct simple_pm_bus *bus;
     34	
     35		/*
     36		 * Allow user to use driver_override to bind this driver to a
     37		 * transparent bus device which has a different compatible string
     38		 * that's not listed in simple_pm_bus_of_match. We don't want to do any
     39		 * of the simple-pm-bus tasks for these devices, so return early.
     40		 */
     41		if (pdev->driver_override)
     42			return 0;
     43	
     44		match = of_match_device(dev->driver->of_match_table, dev);
     45		/*
     46		 * These are transparent bus devices (not simple-pm-bus matches) that
     47		 * have their child nodes populated automatically.  So, don't need to
     48		 * do anything more. We only match with the device if this driver is
     49		 * the most specific match because we don't want to incorrectly bind to
     50		 * a device that has a more specific driver.
     51		 */
     52		if (match && match->data) {
     53			if (of_property_match_string(np, "compatible", match->compatible) == 0)
     54				return 0;
     55			else
     56				return -ENODEV;
     57		}
     58	
     59		bus = devm_kzalloc(&pdev->dev, sizeof(*bus), GFP_KERNEL);
     60		if (!bus)
     61			return -ENOMEM;
     62	
     63		bus->num_clks = devm_clk_bulk_get_all(&pdev->dev, &bus->clks);
     64		if (bus->num_clks < 0)
     65			return dev_err_probe(&pdev->dev, bus->num_clks, "failed to get clocks\n");
     66	
   > 67		bus->rsts = devm_reset_control_array_get(dev, false, true);


Fixed in v2 before reporting.


     68		if (IS_ERR(bus->rsts))
     69			return dev_err_probe(&pdev->dev, PTR_ERR(bus->rsts), "failed to get resets\n");
     70	
     71		dev_set_drvdata(&pdev->dev, bus);
     72	
     73		dev_dbg(&pdev->dev, "%s\n", __func__);
     74	
     75		pm_runtime_enable(&pdev->dev);
     76	
     77		if (np)
     78			of_platform_populate(np, NULL, lookup, &pdev->dev);
     79	
     80		return 0;
     81	}
     82	


--
Regards,
Yang Xiwen





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux