[PATCH v4] uio/pdrv_genirq: Add OF support
Hans J. Koch
hjk at hansjkoch.de
Fri May 6 10:55:13 EST 2011
On Thu, May 05, 2011 at 07:26:43AM +0200, Michal Simek wrote:
> 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!
We all are, sometimes. That's why we have a public review process so that
collective stupidity can lead to good code.
Thanks,
Hans
More information about the devicetree-discuss
mailing list