[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20091103183154.ee6b5676.ospite@studenti.unina.it>
Date: Tue, 3 Nov 2009 18:31:54 +0100
From: Antonio Ospite <ospite@...denti.unina.it>
To: Ben Dooks <ben-linux@...ff.org>
Cc: Russell King - ARM Linux <linux@....linux.org.uk>,
openezx-devel@...ts.openezx.org,
Samuel Ortiz <sameo@...ux.intel.com>,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
Mike Rapoport <mike@...pulab.co.il>,
Daniel Ribeiro <drwyrm@...il.com>
Subject: Re: Using statically allocated memory for platform_data.
On Mon, 2 Nov 2009 16:47:44 +0000
Ben Dooks <ben-linux@...ff.org> wrote:
> On Mon, Nov 02, 2009 at 04:37:01PM +0000, Russell King - ARM Linux wrote:
> > On Mon, Nov 02, 2009 at 04:28:39PM +0000, Ben Dooks wrote:
> > > On Mon, Nov 02, 2009 at 03:56:25PM +0000, Russell King - ARM Linux wrote:
> > > > The reason we have platform_device_add_data() is that people think that
> > > > the device data needs to persist for the lifetime of the device. I
> > > > personally disagree with that - once you unregister the device, it's
> > > > guaranteed that device drivers will have been unregistered, so who's
> > > > going to use the platform data?
> > >
> > > That doesn't make any sense, in the current case of using the
> > > platform_device_alloc() and those calls the data is only living
> > > for the lifetime of the device, as the release call is tidying up
> > > the result.
> >
> > What I'm saying is that the lifetime of the data finishes once
> > the _unregister() call has returned. So:
> >
> > data = pdev->dev.platform_data;
> > platform_device_unregister(pdev);
> > kfree(data);
> >
> > is an entirely valid way of handling the "I allocated my platform
> > data" problem - it doesn't need to exist to the point where the
> > device itself is freed.
>
> Unforutnately pretty much everyone now assumes that the act of
> unregistering the device will get rid of the data that the allocated
> by the add functions.
>
> This would mean going around fixing a number of current drivers which
> all make that assumption.
>
So those drivers (ezx-pcap.c, da903x.c) aren't doing anything manifestly
wrong by not calling platform_device_add_data(), and the issue will be
solved in ./drivers/base/platform.c someway eventually, right?
Thanks,
Antonio
--
Antonio Ospite
http://ao2.it
PGP public key ID: 0x4553B001
A: Because it messes up the order in which people normally read text.
See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists