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
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel