On Mon, Jan 14, 2013 at 11:34:05AM +0100, Marc Kleine-Budde wrote: > On 01/14/2013 11:24 AM, Felipe Balbi wrote: > > On Mon, Jan 14, 2013 at 11:18:53AM +0100, Marc Kleine-Budde wrote: > >> On 01/14/2013 11:16 AM, Felipe Balbi wrote: > >>> Hi, > >>> > >>> On Mon, Jan 14, 2013 at 06:12:39PM +0800, Peter Chen wrote: > >>>> @@ -2756,22 +2753,41 @@ static int fsl_udc_otg_resume(struct device *dev) > >>>> > >>>> return fsl_udc_resume(NULL); > >>>> } > >>>> - > >>>> /*------------------------------------------------------------------------- > >>>> Register entry point for the peripheral controller driver > >>>> --------------------------------------------------------------------------*/ > >>>> - > >>>> +static const struct platform_device_id fsl_udc_devtype[] = { > >>>> + { > >>>> + .name = "imx-udc-mx25", > >>>> + .driver_data = IMX25_UDC, > >>>> + }, { > >>>> + .name = "imx-udc-mx27", > >>>> + .driver_data = IMX27_UDC, > >>>> + }, { > >>>> + .name = "imx-udc-mx31", > >>>> + .driver_data = IMX31_UDC, > >>>> + }, { > >>>> + .name = "imx-udc-mx35", > >>>> + .driver_data = IMX35_UDC, > >>>> + }, { > >>>> + .name = "imx-udc-mx51", > >>>> + .driver_data = IMX51_UDC, > >>>> + } > >>>> +}; > >>> > >>> I wonder if your driver-data is actually needed since you can use string > >>> comparisson to achieve the exact same outcome. > >> > >> Why use a string compare, if the kernel infrastructure already does this > >> for you? > > > > what do you mean ? What kernel infrastructure is doing waht for me ? > > The kernel infrastructure is doing the string compare for you to match > the device against the driver (via platform_device_id->name). You get > the a pointer to the driver_data for free. So you don't need any string > compare in the driver later. but current driver data is just duplicating name with an integer, it's pretty useless driver data. -- balbi
Attachment:
signature.asc
Description: Digital signature