spi: pxa2xx: Convert unique ID string of ACPI device as unsigned integer
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Thu, 22 Oct 2015 13:44:41 +0000 (16:44 +0300)
committerMark Brown <broonie@kernel.org>
Thu, 22 Oct 2015 23:56:05 +0000 (08:56 +0900)
Andy noticed numeric unique device ID is unsigned integer so convert it
using kstrtouint(). Actually integer in ACPI 2.0 and later is 64 bits
litte-endian unsigned integer but quite certainly having so big value here
would mean something extra than just the SPI bus number so it won't hurt to
assume only lower 32 bits carry the bus number for now.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-pxa2xx.c

index 4fddc2a37a811c0f526419cf42037bda7f200034..db9016bbd904c1a9c20118a8bbc0bd54647ef791 100644 (file)
@@ -1305,7 +1305,8 @@ pxa2xx_spi_acpi_get_pdata(struct platform_device *pdev)
        struct resource *res;
        const struct acpi_device_id *adev_id = NULL;
        const struct pci_device_id *pcidev_id = NULL;
-       int devid, type;
+       unsigned int devid;
+       int type;
 
        adev = ACPI_COMPANION(&pdev->dev);
        if (!adev)
@@ -1352,7 +1353,7 @@ pxa2xx_spi_acpi_get_pdata(struct platform_device *pdev)
        ssp->pdev = pdev;
 
        ssp->port_id = -1;
-       if (adev->pnp.unique_id && !kstrtoint(adev->pnp.unique_id, 0, &devid))
+       if (adev->pnp.unique_id && !kstrtouint(adev->pnp.unique_id, 0, &devid))
                ssp->port_id = devid;
 
        pdata->num_chipselect = 1;