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

From: Grant Likely
Date: Tue May 22 2012 - 19:14:49 EST


On Tue, 22 May 2012 15:47:19 -0700, David Daney <ddaney.cavm@xxxxxxxxx> wrote:
> 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>

Applied, thanks.

g.

> ---
> 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[] = {

--
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies, Ltd.
--
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/