From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755204AbbGOJgi (ORCPT ); Wed, 15 Jul 2015 05:36:38 -0400 Received: from lb3-smtp-cloud2.xs4all.net ([194.109.24.29]:51031 "EHLO lb3-smtp-cloud2.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754021AbbGOJgg (ORCPT ); Wed, 15 Jul 2015 05:36:36 -0400 Message-ID: <1436952990.2679.84.camel@tiscali.nl> Subject: Re: [PATCH v2] Staging: fbtft: Add support for the Ultrachip UC1611 LCD controller From: Paul Bolle To: Henri Chain Cc: thomas.petazzoni@free-electrons.com, noralf@tronnes.org, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, sudipm.mukherjee@gmail.com Date: Wed, 15 Jul 2015 11:36:30 +0200 In-Reply-To: <1436878779-12400-1-git-send-email-henri.chain@eleves.ec-nantes.fr> References: <1436878779-12400-1-git-send-email-henri.chain@eleves.ec-nantes.fr> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.3 (3.16.3-2.fc22) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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