From: Jean Delvare <khali@linux-fr.org>
To: Dmitry Torokhov <dtor_core@ameritech.net>
Cc: Greg KH <greg@kroah.com>, LKML <linux-kernel@vger.kernel.org>,
Russell King <rmk+lkml@arm.linux.org.uk>
Subject: Re: [PATCH] Minor change to platform_device_register_simple prototype
Date: Thu, 8 Dec 2005 21:52:57 +0100 [thread overview]
Message-ID: <20051208215257.78d7c67a.khali@linux-fr.org> (raw)
In-Reply-To: <d120d5000512071459s9b461d8ye7abc41d0e1950fd@mail.gmail.com>
Hi Dmirty, Russell, Greg,
> On 12/7/05, Greg KH <greg@kroah.com> wrote:
> > 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..
I second Dmitry's request here. I can't seem to possibly build a valid
error path during device registration with the current API. Having
platform_device_del() would make it possible.
BTW, doesn't this suggest that the error path in
platform_device_register_simple() is currently broken as well? If
platform_device_add() fails therein, I take it that the resources
previously allocated by platform_device_add_resources() will never be
freed.
--
Jean Delvare
next prev parent reply other threads:[~2005-12-08 20:51 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-05 20:23 [PATCH] Minor change to platform_device_register_simple prototype Jean Delvare
2005-12-05 20:27 ` Russell King
2005-12-07 6:05 ` Dmitry Torokhov
2005-12-07 17:04 ` Greg KH
2005-12-08 21:21 ` Dmitry Torokhov
2005-12-08 21:37 ` Jean Delvare
2005-12-08 21:49 ` Dmitry Torokhov
2005-12-08 23:26 ` Russell King
2005-12-07 17:59 ` Dmitry Torokhov
2005-12-07 18:08 ` Russell King
2005-12-07 18:23 ` Dmitry Torokhov
2005-12-07 19:03 ` Russell King
2005-12-07 22:18 ` Dmitry Torokhov
2005-12-07 22:51 ` Greg KH
2005-12-07 22:59 ` Dmitry Torokhov
2005-12-07 23:06 ` Greg KH
2005-12-07 23:21 ` Russell King
2005-12-08 20:58 ` Jean Delvare
2005-12-08 21:06 ` Dmitry Torokhov
2005-12-08 23:17 ` Russell King
2005-12-08 20:52 ` Jean Delvare [this message]
2005-12-08 23:22 ` Russell King
2005-12-10 15:49 ` Jean Delvare
2005-12-11 19:44 ` Jean Delvare
2005-12-12 2:08 ` Dmitry Torokhov
2005-12-07 18:11 ` Dmitry Torokhov
2005-12-07 18:39 ` Randy.Dunlap
2005-12-07 19:05 ` Russell King
2005-12-07 6:50 ` Jean Delvare
2005-12-07 9:24 ` Russell King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20051208215257.78d7c67a.khali@linux-fr.org \
--to=khali@linux-fr.org \
--cc=dtor_core@ameritech.net \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk+lkml@arm.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.