Hey Emilio, On Mon, Aug 29, 2011 at 07:55:08PM -0400, Emilio G. Cota wrote: > On Mon, Aug 29, 2011 at 10:52:41 -0700, Greg KH wrote: > > On Mon, Aug 29, 2011 at 11:02:49AM +0200, Manohar Vanga wrote: > > > --- a/drivers/staging/vme/vme_bridge.h > > > +++ b/drivers/staging/vme/vme_bridge.h > > > @@ -115,9 +115,8 @@ struct vme_bridge { > > > struct list_head bus_list; /* list of VME buses */ > > > struct module *owner; /* module that owns the bridge */ > > > > > > - struct device dev[VME_SLOTS_MAX]; /* Device registered with > > > - * device model on VME bus > > > - */ > > > + struct vme_dev dev[VME_SLOTS_MAX]; /* Device registered > > > + * on VME bus */ > > > > Overall, this is the right way to go, using a vme_dev. > > > > BUT, you should never have a static list of devices, these should be > > pointers, not actual structures here, otherwise your reference counting > > just got all messed up and is wrong. > > > > And yes, I know you didn't create the code this way, but it needs to be > > fixed _before_ you make this kind of a change. > > True, I overlooked this while reviewing >_< > > Manohar, have a look at vme_unregister_driver_ng() and > __vme_register_driver_bus() in this patch: > > http://article.gmane.org/gmane.linux.kernel/1054046 I actually threw the static devices out of the code in patch 3. I didn't introduce it here as I thought the changes were unrelated (introducing struct vme_dev across the code and getting rid of that static device array). -- /manohar _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel