lkml.org 
[lkml]   [2005]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] Minor change to platform_device_register_simple prototype
    On Wed, Dec 07, 2005 at 05:59:24PM -0500, Dmitry Torokhov wrote:
    > On 12/7/05, Greg KH <greg@kroah.com> wrote:
    > > On Wed, Dec 07, 2005 at 05:18:40PM -0500, Dmitry Torokhov wrote:
    > > > On 12/7/05, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
    > > >
    > > > > 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.
    > > > >
    > > >
    > > > Yes, and it works just fine everywhere except in initialization code
    > > > when you need to jump in the middle of _del + _put sequence.
    > >
    > > So, if you had _del, would it work easier for you? I just objected to
    > > it if it wasn't necessary. I didn't want to add functions that aren't
    > > used by anyone, but if is needed, I don't see a problem with it.
    > >
    >
    > Yes, the I can just write:
    >
    > ...
    > err = platform_driver_register(&i8042_driver);
    > if (err)
    > goto err_controller_cleanup;
    >
    > i8042_platform_device = platform_device_alloc("i8042", -1);
    > if (!i8042_platform_device) {
    > err = -ENOMEM;
    > goto err_unregister_driver;
    > }
    >
    > err = platform_device_add(i8042_platform_device);
    > if (err)
    > goto err_free_device;
    > ...
    >
    > if (!have_ports) {
    > err = -ENODEV;
    > goto err_delete_device;
    > }
    >
    > mod_timer(&i8042_timer, jiffies + I8042_POLL_PERIOD);
    > return 0;
    >
    > err_delete_device:
    > platform_device_del(i8042_platform_device);
    > err_free_device:
    > platform_device_put(i8042_platform_device);
    > err_unregister_driver:
    > platform_driver_unregister(&i8042_driver);
    > ....
    >
    > As you can see - single cleanup path..

    Ok, that's fine with me. Russell, any objections?

    thanks,

    greg k-h
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-12-08 00:10    [W:0.025 / U:88.080 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site