From: Martyn Welch <martyn.welch@ge.com>
To: "Emilio G. Cota" <cota@braap.org>
Cc: Greg KH <greg@kroah.com>, LKML <linux-kernel@vger.kernel.org>,
devel@driverdev.osuosl.org,
Juan David Gonzalez Cobas <david.cobas@gmail.com>,
Bill Pemberton <wfp5p@virginia.edu>
Subject: Re: [PATCH 09/30] staging/vme: fill in struct device's .release, even if it's a NOOP
Date: Wed, 27 Oct 2010 16:03:04 +0100 [thread overview]
Message-ID: <4CC83F28.4070802@ge.com> (raw)
In-Reply-To: <20101027144642.GP10869@flamenco.cs.columbia.edu>
On 27/10/10 15:46, Emilio G. Cota wrote:
> On Wed, Oct 27, 2010 at 11:54:55 +0100, Martyn Welch wrote:
>> On 26/10/10 02:10, Emilio G. Cota wrote:
>>> From: Emilio G. Cota <cota@braap.org>
>>>
>>> Without it we get 32 warnings, one per device being released, when
>>> removing a bridge module.
>>>
>>> After applying this patch, bridge modules can at last be removed
>>> without any apparent hiccup.
>>>
>>> [Note: tested only on the tsi148, it's the only bridge I've got]
>>>
>>
>> I guess this is an artifact of the current lack of refcounting?
>
> No, that's orthogonal to this. This has to do with the way the
> devices are allocated.
>
>> This is definitely an issue, however I don't think masking it by adding
>> an empty function is the correct way to go.
>
> We're not masking anything. The release method is there to free the
> struct it protects when its refcount goes to zero; however, in this
> case the struct wasn't allocated dynamically--the 32 devices are
> stored in struct vme_bridge in an array--and therefore there's
> nothing to do in .release, since struct vme_bridge is freed
> elsewhere.
>
> While it's true that empty .release methods are usually frowned
> upon (as stated in Documentation/kobject.txt), due to the way
> things are done here it actually makes sense to have an
> empty .release.
Ok, I'm not going to ack this for now as I'd like to discuss
modifications to the approach that is being taken for binding devices
and this patch seems to fall under the scope of this.
Martyn
--
Martyn Welch (Principal Software Engineer) | Registered in England and
GE Intelligent Platforms | Wales (3828642) at 100
T +44(0)127322748 | Barbirolli Square,
Manchester,
E martyn.welch@ge.com | M2 3AB VAT:GB 927559189
next prev parent reply other threads:[~2010-10-27 15:04 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-26 1:10 [re-send][-next] staging/vme: various fixes + new driver model for VME Emilio G. Cota
2010-10-26 1:10 ` [PATCH 01/30] staging/vme: style: convert '&(foo)' to '&foo' Emilio G. Cota
2010-10-27 9:17 ` Martyn Welch
2010-10-26 1:10 ` [PATCH 02/30] staging/vme_user: return the appropriate error code when module_init fails Emilio G. Cota
2010-10-27 9:25 ` Martyn Welch
2010-10-26 1:10 ` [PATCH 03/30] staging/vme_user: remove unreachable line Emilio G. Cota
2010-10-27 9:39 ` Martyn Welch
2010-10-26 1:10 ` [PATCH 04/30] staging/vme: allow non-dynamic allocation of bus numbers Emilio G. Cota
2010-10-27 9:41 ` Martyn Welch
2010-10-27 15:13 ` Emilio G. Cota
2010-11-04 3:40 ` Emilio G. Cota
2010-11-05 16:29 ` Martyn Welch
2010-10-26 1:10 ` [PATCH 05/30] staging/vme: fix bogus clearing of the bus number in vme_free_bus_num Emilio G. Cota
2010-10-27 9:49 ` Martyn Welch
2010-10-26 1:10 ` [PATCH 06/30] staging/vme/tsi148: use list_for_each_safe when deleting resources in .remove Emilio G. Cota
2010-10-27 9:51 ` Martyn Welch
2010-10-26 1:10 ` [PATCH 07/30] staging/vme/tsi148: remove double freeing of the IRQ " Emilio G. Cota
2010-10-27 10:01 ` Martyn Welch
2010-10-26 1:10 ` [PATCH 08/30] staging/vme/tsi148: fix warning in free_irq Emilio G. Cota
2010-10-27 10:23 ` Martyn Welch
2010-10-26 1:10 ` [PATCH 09/30] staging/vme: fill in struct device's .release, even if it's a NOOP Emilio G. Cota
2010-10-27 10:54 ` Martyn Welch
2010-10-27 14:46 ` Emilio G. Cota
2010-10-27 15:03 ` Martyn Welch [this message]
2010-10-27 15:15 ` Emilio G. Cota
2010-10-28 1:17 ` Greg KH
2010-10-28 6:07 ` Emilio G. Cota
2010-10-28 17:56 ` Greg KH
2010-11-12 11:13 ` [PATCH 00/17] Series short description Martyn Welch
2010-11-12 11:14 ` [PATCH 01/17] staging/vme: style: convert '&(foo)' to '&foo' Martyn Welch
2010-11-12 11:14 ` [PATCH 02/17] staging/vme_user: return the appropriate error code when module_init fails Martyn Welch
2010-11-12 11:14 ` [PATCH 03/17] staging/vme_user: remove unreachable line Martyn Welch
2010-11-12 11:14 ` [PATCH 04/17] staging/vme: fix bogus clearing of the bus number in vme_free_bus_num Martyn Welch
2010-11-12 11:14 ` [PATCH 05/17] staging/vme/tsi148: use list_for_each_safe when deleting resources in .remove Martyn Welch
2010-11-12 11:14 ` [PATCH 06/17] staging/vme/tsi148: remove double freeing of the IRQ " Martyn Welch
2010-11-12 11:14 ` [PATCH 07/17] staging/vme/tsi148: fix warning in free_irq Martyn Welch
2010-11-12 11:14 ` [PATCH 08/17] staging/vme/tsi148: remove unreachable line Martyn Welch
2010-11-12 11:15 ` [PATCH 09/17] staging/vme/tsi148: declare static functions as such Martyn Welch
2010-11-12 11:15 ` [PATCH 10/17] staging/vme/ca91cx42: " Martyn Welch
2010-11-12 11:15 ` [PATCH 11/17] staging/vme_user: declare private variables as static Martyn Welch
2010-11-12 11:15 ` [PATCH 12/17] staging/vme_user: use an unsigned int for counting the number of kparams Martyn Welch
2010-11-12 11:15 ` [PATCH 13/17] staging/vme_user: remove __iomem marking from kern_buf and derivates Martyn Welch
2010-11-12 11:15 ` [PATCH 14/17] staging/vme_user: mark user-space buffers with __user Martyn Welch
2010-11-12 11:15 ` [PATCH 15/17] staging/vme: mark struct vme_master_resource's base address pointer as __iomem Martyn Welch
2010-11-12 11:15 ` [PATCH 16/17] staging/vme/tsi148: mark the registers' " Martyn Welch
2010-11-12 11:15 ` [PATCH 17/17] staging/vme/ca91cx42: " Martyn Welch
2010-11-12 11:23 ` [PATCH 00/17] Series short description Martyn Welch
2010-11-12 15:11 ` Emilio G. Cota
2010-11-12 15:52 ` Martyn Welch
2010-11-16 19:40 ` Greg KH
2010-10-26 1:10 ` [PATCH 10/30] staging/vme/tsi148: remove unreachable line Emilio G. Cota
2010-10-27 11:06 ` Martyn Welch
2010-10-26 1:10 ` [PATCH 11/30] staging/vme/tsi148: declare static functions as such Emilio G. Cota
2010-10-27 11:23 ` Martyn Welch
2010-10-26 1:10 ` [PATCH 12/30] staging/vme/ca91cx42: " Emilio G. Cota
2010-10-27 11:24 ` Martyn Welch
2010-10-26 1:10 ` [PATCH 13/30] staging/vme_user: declare private variables as static Emilio G. Cota
2010-10-27 11:29 ` Martyn Welch
2010-10-26 1:11 ` [PATCH 14/30] staging/vme_user: use an unsigned int for counting the number of kparams Emilio G. Cota
2010-10-27 11:29 ` Martyn Welch
2010-10-26 1:11 ` [PATCH 15/30] staging/vme_user: remove __iomem marking from kern_buf and derivates Emilio G. Cota
2010-10-27 12:20 ` Martyn Welch
2010-10-26 1:11 ` [PATCH 16/30] staging/vme_user: mark user-space buffers with __user Emilio G. Cota
2010-10-27 12:20 ` Martyn Welch
2010-10-26 1:11 ` [PATCH 17/30] staging/vme: mark struct vme_master_resource's base address pointer as __iomem Emilio G. Cota
2010-10-27 12:20 ` Martyn Welch
2010-10-26 1:11 ` [PATCH 18/30] staging/vme/tsi148: mark the registers' " Emilio G. Cota
2010-10-27 12:20 ` Martyn Welch
2010-10-26 1:11 ` [PATCH 19/30] staging/vme/ca91cx42: " Emilio G. Cota
2010-10-27 12:20 ` Martyn Welch
2010-10-26 1:11 ` [PATCH 20/30] staging/vme: trivial: rename vme_bus_num_mtx to vme_buses_lock Emilio G. Cota
2010-10-26 1:11 ` [PATCH 21/30] staging/vme: keep a list of registered buses (bridges) Emilio G. Cota
2010-10-26 1:11 ` [PATCH 22/30] staging/vme/vme_user: use __dev{init,exit} for .probe and .remove Emilio G. Cota
2010-12-03 13:44 ` [PATCH] staging/vme/vme_user: use __dev{init, exit} " Martyn Welch
2010-10-26 1:11 ` [PATCH 23/30] staging/vme_user: fix usage of the slave resources after they've been freed Emilio G. Cota
2010-12-03 9:05 ` [PATCH] " Martyn Welch
2010-10-26 1:11 ` [PATCH 24/30] staging/vme_user: remove unnecessary call to vme_slave_set Emilio G. Cota
2010-10-27 12:24 ` Martyn Welch
2010-10-27 14:59 ` Emilio G. Cota
2010-10-26 1:11 ` [PATCH 25/30] staging/vme_user: add missing calls to vme_master_free calls in .remove Emilio G. Cota
2010-12-03 14:20 ` [PATCH] " Martyn Welch
2010-12-03 14:44 ` Greg KH
2010-12-03 15:29 ` Martyn Welch
2010-10-26 1:11 ` [PATCH 26/30] staging/vme: move all contents of vme_bridge.h to vme.h Emilio G. Cota
2010-10-26 1:11 ` [PATCH 27/30] staging/vme: rework the bus model Emilio G. Cota
2010-11-04 4:16 ` Emilio G. Cota
2010-10-26 1:11 ` [PATCH 28/30] staging/vme: convert vme_* users to vme_*_ng Emilio G. Cota
2010-10-26 1:11 ` [PATCH 29/30] staging/vme: remove unused vme_* functions and related code Emilio G. Cota
2010-10-26 1:11 ` [PATCH 30/30] staging/vme: remove _ng suffixes Emilio G. Cota
2010-11-09 23:12 ` [re-send][-next] staging/vme: various fixes + new driver model for VME Greg KH
-- strict thread matches above, loose matches on Subject: below --
2010-10-22 6:36 [-next] " Emilio G. Cota
2010-10-22 6:36 ` [PATCH 09/30] staging/vme: fill in struct device's .release, even if it's a NOOP Emilio G. Cota
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=4CC83F28.4070802@ge.com \
--to=martyn.welch@ge.com \
--cc=cota@braap.org \
--cc=david.cobas@gmail.com \
--cc=devel@driverdev.osuosl.org \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=wfp5p@virginia.edu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox