of/spi: Supply proper "spi:" modalias prefixes.

From: David Daney
Date: Tue May 22 2012 - 18:47:23 EST


From: David Daney <david.daney@xxxxxxxxxx>

To get modprobe to automatically load the proper modules, we need to
prefix things with "spi:". Partially based on Grant Likely's suggestions.

Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
---
drivers/of/of_spi.c | 6 +++++-
drivers/spi/spi.c | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/of/of_spi.c b/drivers/of/of_spi.c
index 6dbc074..3486d2d 100644
--- a/drivers/of/of_spi.c
+++ b/drivers/of/of_spi.c
@@ -25,6 +25,7 @@ void of_register_spi_devices(struct spi_master *master)
struct spi_device *spi;
struct device_node *nc;
const __be32 *prop;
+ char request_module_modalias[SPI_NAME_SIZE + 4];
int rc;
int len;

@@ -86,7 +87,10 @@ void of_register_spi_devices(struct spi_master *master)
spi->dev.of_node = nc;

/* Register the new device */
- request_module(spi->modalias);
+ snprintf(request_module_modalias,
+ sizeof(request_module_modalias),
+ "%s%s", SPI_MODULE_PREFIX, spi->modalias);
+ request_module(request_module_modalias);
rc = spi_add_device(spi);
if (rc) {
dev_err(&master->dev, "spi_device register error %s\n",
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 3d8f662..da8aac7 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -51,7 +51,7 @@ modalias_show(struct device *dev, struct device_attribute *a, char *buf)
{
const struct spi_device *spi = to_spi_device(dev);

- return sprintf(buf, "%s\n", spi->modalias);
+ return sprintf(buf, "%s%s\n", SPI_MODULE_PREFIX, spi->modalias);
}

static struct device_attribute spi_dev_attrs[] = {
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/