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: openrisc-allnoconfig (https://download.01.org/0day-ci/archive/20240224/202402240650.1O7vtd48-lkp@xxxxxxxxx/config) compiler: or1k-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240224/202402240650.1O7vtd48-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/202402240650.1O7vtd48-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): drivers/bus/simple-pm-bus.c: In function 'simple_pm_bus_probe': >> drivers/bus/simple-pm-bus.c:67:50: warning: passing argument 1 of 'devm_reset_control_array_get' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 67 | bus->rsts = devm_reset_control_array_get(dev, false, true); | ^~~ In file included from drivers/bus/simple-pm-bus.c:19: include/linux/reset.h:192:45: note: expected 'struct device *' but argument is of type 'const struct device *' 192 | devm_reset_control_array_get(struct device *dev, bool shared, bool optional) | ~~~~~~~~~~~~~~~^~~ 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); 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 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki