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. Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
Attachment:
signature.asc
Description: OpenPGP digital signature