Messages in this thread | | | Date | Wed, 27 Oct 2010 11:54:55 +0100 | From | Martyn Welch <> | Subject | Re: [PATCH 09/30] staging/vme: fill in struct device's .release, even if it's a NOOP |
| |
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?
This is definitely an issue, however I don't think masking it by adding an empty function is the correct way to go.
Martyn
> Signed-off-by: Emilio G. Cota <cota@braap.org> > --- > drivers/staging/vme/vme.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/drivers/staging/vme/vme.c b/drivers/staging/vme/vme.c > index afd2dbd..59650dd 100644 > --- a/drivers/staging/vme/vme.c > +++ b/drivers/staging/vme/vme.c > @@ -1352,6 +1352,11 @@ static void vme_free_bus_num(int bus) > mutex_unlock(&vme_bus_num_mtx); > } > > +/* Note: device_release(dev) throws a warning if dev->release isn't filled in */ > +static void vme_dev_release(struct device *dev) > +{ > +} > + > int vme_register_bridge(struct vme_bridge *bridge) > { > struct device *dev; > @@ -1372,6 +1377,7 @@ int vme_register_bridge(struct vme_bridge *bridge) > > dev->parent = bridge->parent; > dev->bus = &vme_bus_type; > + dev->release = vme_dev_release; > /* > * We save a pointer to the bridge in platform_data so that we > * can get to it later. We keep driver_data for use by the
-- 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
| |