diff options
author | Dan O'Donovan <dan@emutex.com> | 2017-02-05 16:30:14 +0000 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-02-07 13:31:51 +0100 |
commit | 0c6543f6cda442f5497b2d59ac0dcdda45f4778c (patch) | |
tree | 5b5fd6e2f9ac75ecc1b4e9cc357f003d367b34d5 | |
parent | 622b307712f1d02048a7abbe376cf30f04c5b310 (diff) | |
download | linux-0c6543f6cda442f5497b2d59ac0dcdda45f4778c.tar.gz linux-0c6543f6cda442f5497b2d59ac0dcdda45f4778c.tar.bz2 linux-0c6543f6cda442f5497b2d59ac0dcdda45f4778c.zip |
spi: acpi: Initialize modalias from of_compatible
When using devicetree spi_device.modalias is set to the compatible
string with the vendor prefix removed. For SPI devices described via
ACPI the spi_device.modalias string is initialized by acpi_device_hid.
When using ACPI and DT ids this string ends up something like "PRP0001".
Change acpi_register_spi_device to use the of_compatible property if
present. This makes it easier to instantiate spi drivers through ACPI
with DT ids.
Signed-off-by: Dan O'Donovan <dan@emutex.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Tested-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/spi/spi.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 656dd3e3220c..ad7f638a0a5b 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -1722,13 +1722,15 @@ static acpi_status acpi_register_spi_device(struct spi_master *master, return AE_OK; } + acpi_set_modalias(adev, acpi_device_hid(adev), spi->modalias, + sizeof(spi->modalias)); + if (spi->irq < 0) spi->irq = acpi_dev_gpio_irq_get(adev, 0); acpi_device_set_enumerated(adev); adev->power.flags.ignore_parent = true; - strlcpy(spi->modalias, acpi_device_hid(adev), sizeof(spi->modalias)); if (spi_add_device(spi)) { adev->power.flags.ignore_parent = false; dev_err(&master->dev, "failed to add SPI device %s from ACPI\n", |