[PATCH v4] uio/pdrv_genirq: Add OF support

Michal Simek monstr at monstr.eu
Thu May 5 15:26:43 EST 2011


Hans J. Koch wrote:
> On Wed, May 04, 2011 at 03:21:55PM +0200, Michal Simek wrote:
>> Hans J. Koch wrote:
>>> On Tue, May 03, 2011 at 10:34:12PM +0200, Wolfram Sang wrote:
>>>> On Mon, May 02, 2011 at 08:51:55AM +0200, Michal Simek wrote:
>>>>> Adding OF binding to genirq.
>>>>> Version string is setup to the "devicetree".
>>>>>
>>>>> Compatible string is not setup for now but you can add your
>>>>> custom compatible string to uio_of_genirq_match structure.
>>>>>
>>>>> For example with "vendor,device" compatible string:
>>>>> static const struct of_device_id __devinitconst uio_of_genirq_match[] = {
>>>>> 	{ .compatible = "vendor,device", },
>>>>> 	{ /* empty for now */ },
>>>>> };
>>>>>
>>>>> Signed-off-by: Michal Simek <monstr at monstr.eu>
>>>> [...]
>>>>
>>>>> +		/* alloc uioinfo for one device */
>>>>> +		uioinfo = kzalloc(sizeof(*uioinfo), GFP_KERNEL);
>>>> kfree in remove?
>>> Oh yes. Missed that one. It should probably look like the "bad0" case in probe().
>> Yes, freeing uioinfo in uio_pdrv_genirq_remove make sense for CONFIG_OF.
>>
>> Please correct me if I am wrong dev.of_node is not NULL for OF. I
>> think yes that's why I would prefer to use this construct instead of
>> #ifdef CONFIG_OF.
>>
>> 	if (pdev->dev.of_node)
>> 		kfree(pdev->dev.platform_data);
> 
> Huh? You didn't allocate platform_data, so you shouldn't free it.
> It's uioinfo you allocated.

grrr. I am stupid!

	/* kfree uioinfo for CONFIG_OF */
	if (pdev->dev.of_node)
		kfree(priv->uioinfo);


Michal

-- 
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian


More information about the devicetree-discuss mailing list