From: gregkh@suse.de (Greg KH)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/6] drivers/base: add bus for System-on-Chip devices
Date: Tue, 18 Oct 2011 07:41:09 -0700 [thread overview]
Message-ID: <20111018144109.GB19561@suse.de> (raw)
In-Reply-To: <201110181614.02312.arnd@arndb.de>
On Tue, Oct 18, 2011 at 04:14:02PM +0200, Arnd Bergmann wrote:
> On Tuesday 18 October 2011, Lee Jones wrote:
> > >> +struct device *soc_device_register(struct soc_device_attribute *soc_dev_attr)
> > >> +{
> > >> + struct soc_device *soc_dev;
> > >> + static atomic_t soc_device_num = ATOMIC_INIT(0);
> > >
> > > No, please don't do this, use the proper kernel interface to dynamically
> > > handle numbering devices (hint, if you unload a SOC device, you will
> > > never reclaim that device number, which isn't that nice.)
> >
> > Again, some help would really be appreciated here. I searched the kernel
> > last time you mentioned numbering, but this is all I came up with.
>
> I guess the correct interface to use here would be an "ida", see
> linux/idr.h. However, I'm not convinced that's actually worth the
> extra space for maintaining it here.
Why? That is the interface for this type of thing, it's very simple to
use, and it handles all of the logic for you for this type of thing.
Please don't roll your own solutions for things when there is already
code in the kernel to do it.
> IMHO, we could also remove the soc_device_unregister() function entirely
> and add a comment along the lines of
> /*
> * If you really need to add hot-pluggable soc_devices, add a
> * soc_device_unregister function and turn the number generation
> * into an IDA.
> */
No, please provide this. I want to see it tested, as when it is, then
the code will be fixed properly as right now it does some things it
shouldn't be doing in this regard.
greg k-h
WARNING: multiple messages have this Message-ID (diff)
From: Greg KH <gregkh@suse.de>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Lee Jones <lee.jones@linaro.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linus.walleij@stericsson.com,
jamie@jamieiles.com
Subject: Re: [PATCH 2/6] drivers/base: add bus for System-on-Chip devices
Date: Tue, 18 Oct 2011 07:41:09 -0700 [thread overview]
Message-ID: <20111018144109.GB19561@suse.de> (raw)
In-Reply-To: <201110181614.02312.arnd@arndb.de>
On Tue, Oct 18, 2011 at 04:14:02PM +0200, Arnd Bergmann wrote:
> On Tuesday 18 October 2011, Lee Jones wrote:
> > >> +struct device *soc_device_register(struct soc_device_attribute *soc_dev_attr)
> > >> +{
> > >> + struct soc_device *soc_dev;
> > >> + static atomic_t soc_device_num = ATOMIC_INIT(0);
> > >
> > > No, please don't do this, use the proper kernel interface to dynamically
> > > handle numbering devices (hint, if you unload a SOC device, you will
> > > never reclaim that device number, which isn't that nice.)
> >
> > Again, some help would really be appreciated here. I searched the kernel
> > last time you mentioned numbering, but this is all I came up with.
>
> I guess the correct interface to use here would be an "ida", see
> linux/idr.h. However, I'm not convinced that's actually worth the
> extra space for maintaining it here.
Why? That is the interface for this type of thing, it's very simple to
use, and it handles all of the logic for you for this type of thing.
Please don't roll your own solutions for things when there is already
code in the kernel to do it.
> IMHO, we could also remove the soc_device_unregister() function entirely
> and add a comment along the lines of
> /*
> * If you really need to add hot-pluggable soc_devices, add a
> * soc_device_unregister function and turn the number generation
> * into an IDA.
> */
No, please provide this. I want to see it tested, as when it is, then
the code will be fixed properly as right now it does some things it
shouldn't be doing in this regard.
greg k-h
next prev parent reply other threads:[~2011-10-18 14:41 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-17 11:52 [PATCH 0/6] ux500: Export SoC information and some platform clean-up Lee Jones
2011-10-17 11:52 ` Lee Jones
2011-10-17 11:52 ` [PATCH 1/6] mach-ux500: pass parent pointer to each platform device Lee Jones
2011-10-17 11:52 ` Lee Jones
2011-10-17 11:52 ` [PATCH 2/6] drivers/base: add bus for System-on-Chip devices Lee Jones
2011-10-17 11:52 ` Lee Jones
2011-10-17 12:13 ` Jamie Iles
2011-10-17 12:13 ` Jamie Iles
2011-10-17 16:16 ` Greg KH
2011-10-17 16:16 ` Greg KH
2011-10-17 18:03 ` Arnd Bergmann
2011-10-17 18:03 ` Arnd Bergmann
2011-10-17 18:25 ` Greg KH
2011-10-17 18:25 ` Greg KH
2011-10-18 14:00 ` Arnd Bergmann
2011-10-18 14:00 ` Arnd Bergmann
2011-10-18 14:44 ` Greg KH
2011-10-18 14:44 ` Greg KH
2011-10-18 11:12 ` Lee Jones
2011-10-18 11:12 ` Lee Jones
2011-10-18 14:14 ` Arnd Bergmann
2011-10-18 14:14 ` Arnd Bergmann
2011-10-18 14:41 ` Greg KH [this message]
2011-10-18 14:41 ` Greg KH
2011-10-18 14:43 ` Greg KH
2011-10-18 14:43 ` Greg KH
2011-10-17 16:18 ` Greg KH
2011-10-17 16:18 ` Greg KH
2011-10-18 11:14 ` Lee Jones
2011-10-18 11:14 ` Lee Jones
2011-10-18 14:05 ` Arnd Bergmann
2011-10-18 14:05 ` Arnd Bergmann
2011-10-18 14:15 ` Jamie Iles
2011-10-18 14:15 ` Jamie Iles
2011-10-18 14:38 ` Greg KH
2011-10-18 14:38 ` Greg KH
2011-10-18 14:53 ` Arnd Bergmann
2011-10-18 14:53 ` Arnd Bergmann
2011-10-18 14:56 ` Jamie Iles
2011-10-18 14:56 ` Jamie Iles
2011-10-17 11:52 ` [PATCH 3/6] Documentation: add information for new sysfs soc bus functionality Lee Jones
2011-10-17 11:52 ` Lee Jones
2011-10-17 11:52 ` [PATCH 4/6] mach-ux500: export System-on-Chip information ux500 via sysfs Lee Jones
2011-10-17 11:52 ` Lee Jones
2011-10-17 11:52 ` [PATCH 5/6] mach-ux500: move top level platform devices in sysfs to /sys/devices/socX Lee Jones
2011-10-17 11:52 ` Lee Jones
2011-10-17 11:52 ` [PATCH 6/6] mach-ux500: remove intermediary add_platform_device* functions Lee Jones
2011-10-17 11:52 ` Lee Jones
2011-10-17 11:59 ` Jamie Iles
2011-10-17 11:59 ` Jamie Iles
2011-10-19 14:43 ` Lee Jones
2011-10-19 14:43 ` Lee Jones
2011-10-19 14:45 ` Jamie Iles
2011-10-19 14:45 ` Jamie Iles
-- strict thread matches above, loose matches on Subject: below --
2012-01-20 16:10 [PATCH 0/6] ux500: Export SoC information and some platform clean-up Lee Jones
2012-01-20 16:10 ` [PATCH 2/6] drivers/base: add bus for System-on-Chip devices Lee Jones
2012-01-20 16:36 ` Greg KH
[not found] ` <CANmRt2gZe7dfRe5T8fS-1LGkeQXOBzcrbzL8xU+J9M7X4ZuDrA@mail.gmail.com>
2012-01-20 18:20 ` Greg KH
2012-01-20 16:39 ` Greg KH
[not found] ` <CANmRt2j4woAAg3dEtyQG4rjxRQ5Sx+4OW84Mathk4_YrFTjChQ@mail.gmail.com>
2012-01-20 18:10 ` Greg KH
2012-01-21 17:08 [PATCH 0/6] ux500: Export SoC information and some platform clean-up Lee Jones
2012-01-21 17:08 ` [PATCH 2/6] drivers/base: add bus for System-on-Chip devices Lee Jones
2012-01-28 1:05 ` Greg KH
2012-01-30 17:58 ` Arnd Bergmann
2012-01-30 18:34 ` Greg KH
2012-02-01 9:23 [PATCH 0/6] ux500: Export SoC information and some platform clean-up Lee Jones
2012-02-01 9:23 ` [PATCH 2/6] drivers/base: add bus for System-on-Chip devices Lee Jones
2012-02-01 15:52 ` Jamie Iles
2012-02-01 16:55 ` Arnd Bergmann
2012-02-06 19:22 [PATCH 0/6] ux500: Export SoC information and some platform clean-up Lee Jones
2012-02-06 19:22 ` [PATCH 2/6] drivers/base: add bus for System-on-Chip devices Lee Jones
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=20111018144109.GB19561@suse.de \
--to=gregkh@suse.de \
--cc=linux-arm-kernel@lists.infradead.org \
/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.