Message ID | 20220908132910.62122-8-andriy.shevchenko@linux.intel.com |
---|---|
State | Superseded |
Headers | show |
Series | ACPI: unify _UID handling as integer | expand |
Hi Andy, I love your patch! Perhaps something to improve: [auto build test WARNING on rafael-pm/linux-next] [also build test WARNING on wsa/i2c/for-next broonie-spi/for-next efi/next linus/master v6.0-rc5 next-20220912] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/ACPI-unify-_UID-handling-as-integer/20220908-213543 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next config: x86_64-buildonly-randconfig-r006-20220912 (https://download.01.org/0day-ci/archive/20220913/202209130810.dgrshDMB-lkp@intel.com/config) compiler: gcc-11 (Debian 11.3.0-5) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/ea7999676bc9f75bb4165358cda640b340fe34d0 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Andy-Shevchenko/ACPI-unify-_UID-handling-as-integer/20220908-213543 git checkout ea7999676bc9f75bb4165358cda640b340fe34d0 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/spi/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): drivers/spi/spi-pxa2xx.c: In function 'pxa2xx_spi_init_pdata': >> drivers/spi/spi-pxa2xx.c:1457:24: warning: unused variable 'dev' [-Wunused-variable] 1457 | struct device *dev = &pdev->dev; | ^~~ vim +/dev +1457 drivers/spi/spi-pxa2xx.c 1452 1453 static struct pxa2xx_spi_controller * 1454 pxa2xx_spi_init_pdata(struct platform_device *pdev) 1455 { 1456 struct pxa2xx_spi_controller *pdata; > 1457 struct device *dev = &pdev->dev; 1458 struct ssp_device *ssp; 1459 struct resource *res; 1460 struct device *parent = pdev->dev.parent; 1461 struct pci_dev *pcidev = dev_is_pci(parent) ? to_pci_dev(parent) : NULL; 1462 const struct pci_device_id *pcidev_id = NULL; 1463 enum pxa_ssp_type type; 1464 const void *match; 1465 int status; 1466 u64 uid; 1467 1468 if (pcidev) 1469 pcidev_id = pci_match_id(pxa2xx_spi_pci_compound_match, pcidev); 1470 1471 match = device_get_match_data(&pdev->dev); 1472 if (match) 1473 type = (enum pxa_ssp_type)match; 1474 else if (pcidev_id) 1475 type = (enum pxa_ssp_type)pcidev_id->driver_data; 1476 else 1477 return ERR_PTR(-EINVAL); 1478 1479 pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); 1480 if (!pdata) 1481 return ERR_PTR(-ENOMEM); 1482 1483 ssp = &pdata->ssp; 1484 1485 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1486 ssp->mmio_base = devm_ioremap_resource(&pdev->dev, res); 1487 if (IS_ERR(ssp->mmio_base)) 1488 return ERR_CAST(ssp->mmio_base); 1489 1490 ssp->phys_base = res->start; 1491
diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c index 986ffc4bf1ed..024730dae8eb 100644 --- a/drivers/spi/spi-pxa2xx.c +++ b/drivers/spi/spi-pxa2xx.c @@ -1441,31 +1441,6 @@ static const struct of_device_id pxa2xx_spi_of_match[] = { }; MODULE_DEVICE_TABLE(of, pxa2xx_spi_of_match); -#ifdef CONFIG_ACPI - -static int pxa2xx_spi_get_port_id(struct device *dev) -{ - struct acpi_device *adev; - unsigned int devid; - int port_id = -1; - - adev = ACPI_COMPANION(dev); - if (adev && adev->pnp.unique_id && - !kstrtouint(adev->pnp.unique_id, 0, &devid)) - port_id = devid; - return port_id; -} - -#else /* !CONFIG_ACPI */ - -static int pxa2xx_spi_get_port_id(struct device *dev) -{ - return -1; -} - -#endif /* CONFIG_ACPI */ - - #ifdef CONFIG_PCI static bool pxa2xx_spi_idma_filter(struct dma_chan *chan, void *param) @@ -1479,6 +1454,7 @@ static struct pxa2xx_spi_controller * pxa2xx_spi_init_pdata(struct platform_device *pdev) { struct pxa2xx_spi_controller *pdata; + struct device *dev = &pdev->dev; struct ssp_device *ssp; struct resource *res; struct device *parent = pdev->dev.parent; @@ -1486,6 +1462,8 @@ pxa2xx_spi_init_pdata(struct platform_device *pdev) const struct pci_device_id *pcidev_id = NULL; enum pxa_ssp_type type; const void *match; + int status; + u64 uid; if (pcidev) pcidev_id = pci_match_id(pxa2xx_spi_pci_compound_match, pcidev); @@ -1529,7 +1507,12 @@ pxa2xx_spi_init_pdata(struct platform_device *pdev) ssp->type = type; ssp->dev = &pdev->dev; - ssp->port_id = pxa2xx_spi_get_port_id(&pdev->dev); + + status = acpi_dev_uid_to_integer(ACPI_COMPANION(dev), &uid); + if (status) + ssp->port_id = -1; + else + ssp->port_id = uid; pdata->is_slave = device_property_read_bool(&pdev->dev, "spi-slave"); pdata->num_chipselect = 1;