Re: [UPDATED v3][PATCH 1/7] regulator: consumer interface

From: David Brownell
Date: Mon Mar 10 2008 - 22:07:58 EST


On Sunday 09 March 2008, Liam Girdwood wrote:
>
> > > +struct regulator *__must_check regulator_get(struct device *dev,
> > > +                                            const char *id);
> >
> > The semantics of "id" and "dev" are unspecified in this patch,
> > so this isn't a good definition of the consumer interface!
> >
>
> 'id' is really the regulator name and will be renamed in the next patch.

Still not helping. How would a driver know what names to use?
Are those names globally scoped, or local to the device?

Again, "id" and "dev" are unspecified. I can maybe guess that
you're trying to make this look like <linux/clk.h> ... except
the clock API includes kernel doc in that header.

I *strongly* think new interfaces should not be provided without
documentation... but that's what this patch does.


> > Plus, that works more like a "lookup" than a "get" ... the
> > usual convention is that "get" and "put" update refcounts.
> > But I think I see an assumption here that a regulator may
> > have only one user...
>
> A regulator only has one user as it's used to store some device specific
> power data. However, a regulator_dev has many users. I'll add a refcount
> on get/put.

I'm still not following. If there's only one user, why would
you need refcounting? If your model here is the clock API,
then you should support multiple users ... and then refcounting
is very appropriate.

- Dave


--
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/