Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1456041 > unrolled thread

Re: [PATCH v4 2/6] power: add power sequence library

Started byMatthias Kaehlcke <mka@chromium.org>
First post2016-08-04 00:20 +0200
Last post2016-08-04 08:20 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v4 2/6] power: add power sequence library Matthias Kaehlcke <mka@chromium.org> - 2016-08-04 00:20 +0200
    Re: [PATCH v4 2/6] power: add power sequence library Peter Chen <hzpeterchen@gmail.com> - 2016-08-04 08:20 +0200

#1456041 — Re: [PATCH v4 2/6] power: add power sequence library

FromMatthias Kaehlcke <mka@chromium.org>
Date2016-08-04 00:20 +0200
SubjectRe: [PATCH v4 2/6] power: add power sequence library
Message-ID<s2cG5-75-5@gated-at.bofh.it>
El Tue, Aug 02, 2016 at 11:30:48AM +0800 Peter Chen ha dit:

> diff --git a/drivers/power/pwrseq/core.c b/drivers/power/pwrseq/core.c
>
> ...
>
> +static DEFINE_MUTEX(pwrseq_list_mutex);
> +static LIST_HEAD(pwrseq_list);
> +
> +int pwrseq_get(struct device_node *np, struct pwrseq *p)
> +{
> +	if (p && p->get)
> +		return p->get(np, p);
> +
> +	return -ENOTSUPP;
> +}
> +
> +int pwrseq_on(struct device_node *np, struct pwrseq *p)
> +{
> +	if (p && p->on)
> +		return p->on(np, p);
> +
> +	return -ENOTSUPP;
> +}
> +
> +void pwrseq_off(struct pwrseq *p)
> +{
> +	if (p && p->off)
> +		p->off(p);
> +}
> +
> +void pwrseq_put(struct pwrseq *p)
> +{
> +	if (p && p->put)
> +		p->put(p);
> +}
> +
> +void pwrseq_free(struct pwrseq *p)
> +{
> +	if (p && p->free)
> +		p->free(p);
> +}
> +
> +void pwrseq_register(struct pwrseq *pwrseq)
> +{
> +	mutex_lock(&pwrseq_list_mutex);
> +	list_add(&pwrseq->node, &pwrseq_list);
> +	mutex_unlock(&pwrseq_list_mutex);
> +}
> +
> +void pwrseq_unregister(struct pwrseq *pwrseq)
> +{
> +	mutex_lock(&pwrseq_list_mutex);
> +	list_del(&pwrseq->node);
> +	mutex_unlock(&pwrseq_list_mutex);
> +}

What is the purpose of pwrseq_register/unregister()? The pwrseq
structs are added and removed from pwrseq_list, but besides that
pwrseq_list is not used.

Looks like this is a remainder from the ancestor of this code
(drivers/mmc/core/pwrseq.c) which uses the list to avoid having
multiple pwrseq instances for the same device.

Matthias

[toc] | [next] | [standalone]


#1456184

FromPeter Chen <hzpeterchen@gmail.com>
Date2016-08-04 08:20 +0200
Message-ID<s2kaB-57e-7@gated-at.bofh.it>
In reply to#1456041
On Wed, Aug 03, 2016 at 03:16:58PM -0700, Matthias Kaehlcke wrote:
> El Tue, Aug 02, 2016 at 11:30:48AM +0800 Peter Chen ha dit:
> 
> > diff --git a/drivers/power/pwrseq/core.c b/drivers/power/pwrseq/core.c
> >
> > ...
> >
> > +static DEFINE_MUTEX(pwrseq_list_mutex);
> > +static LIST_HEAD(pwrseq_list);
> > +
> > +int pwrseq_get(struct device_node *np, struct pwrseq *p)
> > +{
> > +	if (p && p->get)
> > +		return p->get(np, p);
> > +
> > +	return -ENOTSUPP;
> > +}
> > +
> > +int pwrseq_on(struct device_node *np, struct pwrseq *p)
> > +{
> > +	if (p && p->on)
> > +		return p->on(np, p);
> > +
> > +	return -ENOTSUPP;
> > +}
> > +
> > +void pwrseq_off(struct pwrseq *p)
> > +{
> > +	if (p && p->off)
> > +		p->off(p);
> > +}
> > +
> > +void pwrseq_put(struct pwrseq *p)
> > +{
> > +	if (p && p->put)
> > +		p->put(p);
> > +}
> > +
> > +void pwrseq_free(struct pwrseq *p)
> > +{
> > +	if (p && p->free)
> > +		p->free(p);
> > +}
> > +
> > +void pwrseq_register(struct pwrseq *pwrseq)
> > +{
> > +	mutex_lock(&pwrseq_list_mutex);
> > +	list_add(&pwrseq->node, &pwrseq_list);
> > +	mutex_unlock(&pwrseq_list_mutex);
> > +}
> > +
> > +void pwrseq_unregister(struct pwrseq *pwrseq)
> > +{
> > +	mutex_lock(&pwrseq_list_mutex);
> > +	list_del(&pwrseq->node);
> > +	mutex_unlock(&pwrseq_list_mutex);
> > +}
> 
> What is the purpose of pwrseq_register/unregister()? The pwrseq
> structs are added and removed from pwrseq_list, but besides that
> pwrseq_list is not used.
> 

I had thought we may need to dump the pwrseq list in future for debug
purpose. I will delete this unnecessary code.

-- 

Best Regards,
Peter Chen

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web