Messages in this thread | | | Date | Fri, 11 Jan 2008 16:53:36 +0800 | From | "Dave Young" <> | Subject | Re: [PATCH 0/7] convert semaphore to mutex in struct class |
| |
On Jan 11, 2008 4:23 PM, Cornelia Huck <cornelia.huck@de.ibm.com> wrote: > On Fri, 11 Jan 2008 10:33:16 +0800, > "Dave Young" <hidave.darkstar@gmail.com> wrote: > > > > > > +struct device *class_find_device(struct class *class, void *data, > > > > + int (*match)(struct device *, void *)) > > > > +{ > > > > + struct device *dev; > > > > + > > > > + if (!class) > > > > + return NULL; > > > > + > > > > + mutex_lock(&class->mutex); > > > > + list_for_each_entry(dev, &class->devices, node) > > > > + if (match(dev, data) && get_device(dev)) > > > > > > First get the reference and then drop it if the match function returns > > > 0 to make this analogous to the other _find_device() functions? > > > > It's just like other _find_device() functions. Are these more get/put > > really needed? > > The other _find_device() functions operate on klists, which means that > there is an implicit get while the element is handled. This function > operates on a normal list, which means that getting/putting the > reference looks a bit different if we want the same effect. >
Hi, you are right. Will be fixed.
Thanks.
| |