lkml.org 
[lkml]   [2010]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 09/30] staging/vme: fill in struct device's .release, even if it's a NOOP
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.

Hope this helps

Emilio




\
 
 \ /
  Last update: 2010-10-27 16:49    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site