diff options
Diffstat (limited to 'drivers/spi/spi.c')
-rw-r--r-- | drivers/spi/spi.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 349ebba4b199..827ff49d3d4f 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c | |||
@@ -58,6 +58,11 @@ static ssize_t | |||
58 | modalias_show(struct device *dev, struct device_attribute *a, char *buf) | 58 | modalias_show(struct device *dev, struct device_attribute *a, char *buf) |
59 | { | 59 | { |
60 | const struct spi_device *spi = to_spi_device(dev); | 60 | const struct spi_device *spi = to_spi_device(dev); |
61 | int len; | ||
62 | |||
63 | len = acpi_device_modalias(dev, buf, PAGE_SIZE - 1); | ||
64 | if (len != -ENODEV) | ||
65 | return len; | ||
61 | 66 | ||
62 | return sprintf(buf, "%s%s\n", SPI_MODULE_PREFIX, spi->modalias); | 67 | return sprintf(buf, "%s%s\n", SPI_MODULE_PREFIX, spi->modalias); |
63 | } | 68 | } |
@@ -114,6 +119,11 @@ static int spi_match_device(struct device *dev, struct device_driver *drv) | |||
114 | static int spi_uevent(struct device *dev, struct kobj_uevent_env *env) | 119 | static int spi_uevent(struct device *dev, struct kobj_uevent_env *env) |
115 | { | 120 | { |
116 | const struct spi_device *spi = to_spi_device(dev); | 121 | const struct spi_device *spi = to_spi_device(dev); |
122 | int rc; | ||
123 | |||
124 | rc = acpi_device_uevent_modalias(dev, env); | ||
125 | if (rc != -ENODEV) | ||
126 | return rc; | ||
117 | 127 | ||
118 | add_uevent_var(env, "MODALIAS=%s%s", SPI_MODULE_PREFIX, spi->modalias); | 128 | add_uevent_var(env, "MODALIAS=%s%s", SPI_MODULE_PREFIX, spi->modalias); |
119 | return 0; | 129 | return 0; |