Subject: Re: [PATCH v3 1/3] usb: fsl-mxc-udc: replace cpu_is_xxx() with platform_device_id

From: Marc Kleine-Budde <[email-masked]>
Date: Mon, 14 Jan 2013 11:34:05 +0100

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   |