On di, 2015-07-14 at 14:59 +0200, Henri Chain wrote:
> --- /dev/null
> +++ b/drivers/staging/fbtft/fb_uc1611.c

> +#define DRVNAME              "fb_uc1611"

> +MODULE_ALIAS("spi:" DRVNAME);
> +MODULE_ALIAS("platform:" DRVNAME);
> +MODULE_ALIAS("spi:uc1611");
> +MODULE_ALIAS("platform:uc1611");

Many of the drivers under drivers/staging/fbtft use a comparable set of
aliases. But I wonder if they are all needed (here, and in the other
drivers).

In this case I think I understand how the "fb_uc1611" .modalias (see
below) will eventually trigger a "MODALIAS=spi:fb_uc1611" uevent. And
that uevent will make userspace load the fb_uc1611.ko module, right?

But is there a similar way that "spi:uc1611" fits into the system?
Because I couldn't spot anything similar for "uc1611".

Likewise, "platform:fb_uc1611" and "platform:uc1611" require struct
platform_device's with "fb_uc1611" and "uc1611" .name's. But I couldn't
spot where platform_device's with those .name's are created. How do
these two aliases fit into the system?

> --- a/drivers/staging/fbtft/fbtft_device.c
> +++ b/drivers/staging/fbtft/fbtft_device.c

> +             .name = "ew24ha0",
> +             .spi = &(struct spi_board_info) {
> +                     .modalias = "fb_uc1611",
> +                     .max_speed_hz = 32000000,
> +                     .mode = SPI_MODE_3,
> +                     .platform_data = &(struct fbtft_platform_data) {
> +                             .display = {
> +                                     .buswidth = 8,
> +                             },
> +                             .gpios = (const struct fbtft_gpio []) {
> +                                     { "dc", 24 },
> +                                     {},
> +                             },
> +                     }
> +             }
> +     }, {
> +             .name = "ew24ha0_9bit",
> +             .spi = &(struct spi_board_info) {
> +                     .modalias = "fb_uc1611",
> +                     .max_speed_hz = 32000000,
> +                     .mode = SPI_MODE_3,
> +                     .platform_data = &(struct fbtft_platform_data) {
> +                             .display = {
> +                                     .buswidth = 9,
> +                             },
> +                             .gpios = (const struct fbtft_gpio []) {
> +                                     {},
> +                             },
> +                     }
> +             }
> +     }, {

Thanks,


Paul Bolle
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to