Re: [PATCH] Minor change to platform_device_register_simple prototype

Russell King
2005-12-07T19:03:59Z

On Wed, Dec 07, 2005 at 01:23:11PM -0500, Dmitry Torokhov wrote:
> On 12/7/05, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> > On Wed, Dec 07, 2005 at 12:59:09PM -0500, Dmitry Torokhov > > I have started moving drivers from the "_simple" interface and I found
> > > that I'm missing platform_device_del that would complement
> > > platform_device_add. Would you object to having such a function, like
> > > we do for other sysfs objects? With it one can write somthing like
> > > this:
> >
> > Greg and myself discussed that, and we decided that it was adding
> > unnecessary complexity to the interface. Maybe Greg's view has
> > changed?
> >
>
> How do you write error handling path without the _del function if
> platform_device_add is not the last call? you can't call
> platform_device_unregister() and then platform_device_put(). And I
> don't like to take extra references in error path or assign the
> pointer to NULL in teh middle of unwinding...

The example code in the commit comments contains a complete example of
registering a platform device, and cleaning up should something go
wrong with that process.

Unregistering is just a matter of calling platform_device_unregister().
An unregister call is a del + put in exactly the same way as it is
throughout the rest of the driver model.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core