Re: [PATCH 0/7] convert semaphore to mutex in struct class

From: Dave Young
Date: Thu Jan 10 2008 - 21:18:38 EST


On Jan 10, 2008 8:34 PM, Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> wrote:
> Dave Young wrote:
> > This is the first one of the series about driver core changes.
>
> Please always provide kerneldoc comments when you add new API elements;
> here: exported functions.
>
> It's unfortunate that the driver core's API isn't fully documented yet,
> and you shouldn't make it worse.
>
> That's only my personal opinion as one API user though. But others
> might agree. Among else, things worth documenting are return values
> after errors, side effects (!), constraints on the calling context if
> there are any special constraints.
>
> I assume you didn't write documentation yet because you need general
> feedback first.

Yes, I did not. Thanks for pointing out, I will do.
>
> ...
> > +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))
> > + break;
> > + mutex_unlock(&class->mutex);
> > +
> > + return dev;
> > +}
>
> What is returned if there was no match?
> What if there was a match but get_ failed?

Will fix it.
>
> ...
> > +struct class_device *class_find_child(struct class *class, void *data,
> > + int (*match)(struct class_device *, void *))
> > +{
> ...
> > + mutex_lock(&class->mutex);
> > + list_for_each_entry(dev, &class->children, node)
> > + if (match(dev, data) && class_device_get(dev))
> > + break;
> > + mutex_unlock(&class->mutex);
> > +
> > + return dev;
> > +}
>
> Here too?

Will fix it.
>
> --
> Stefan Richter
> -=====-==--- ---= -=-=-
> http://arcgraph.de/sr/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/