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 devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel