All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Kevin Cernekee <cernekee@chromium.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	dgreid@chromium.org, Andrew Bresticker <abrestic@chromium.org>,
	Olof Johansson <olofj@chromium.org>,
	alsa-devel@alsa-project.org, devicetree@vger.kernel.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH V3 1/4] regmap: Use regcache_mark_dirty() to indicate power loss or reset
Date: Mon, 04 May 2015 19:33:01 +0200	[thread overview]
Message-ID: <5547AD4D.4000007@metafoo.de> (raw)
In-Reply-To: <CAJzqFta5nHr+KiWfAVgV_iaycpLZ3h2MUYfSSqZ1Z72UP0hOcA@mail.gmail.com>

On 05/04/2015 04:05 PM, Kevin Cernekee wrote:
> On Sun, May 3, 2015 at 11:38 PM, Lars-Peter Clausen <lars@metafoo.de> wrote:
>>> diff --git a/drivers/base/regmap/regcache.c
>>> b/drivers/base/regmap/regcache.c
>>> index 7eb7b3b98794..63af3103d0c6 100644
>>> --- a/drivers/base/regmap/regcache.c
>>> +++ b/drivers/base/regmap/regcache.c
>>> @@ -253,6 +253,9 @@ static int regcache_default_sync(struct regmap *map,
>>> unsigned int min,
>>>                                   unsigned int max)
>>>    {
>>>          unsigned int reg;
>>> +       bool no_sync_defaults = map->no_sync_defaults;
>>> +
>>> +       map->no_sync_defaults = false;
>>
>>
>> This needs to be done at the end in regcache_sync(), the same place where
>> dirty is set to false.
>
> But map->cache_dirty means "any register is dirty," not "all registers
> are dirty."  So it can only be cleared after a successful flush.
>
> If one of the writes fails and regcache_sync() has to return
> prematurely, we probably don't want no_sync_defaults to stay true
> because some of the HW registers might not match map->reg_defaults
> anymore.

Makes sense. But it should still be done in a central place rather than 
repeating it in every sync implementation. You can still put it at the end 
of regcache_sync(), just clear it regardless of whether it succeeded or not.

  reply	other threads:[~2015-05-04 17:33 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-04  0:00 [PATCH V3 0/4] tas571x amplifier driver Kevin Cernekee
2015-05-04  0:00 ` Kevin Cernekee
     [not found] ` <1430697619-22773-1-git-send-email-cernekee-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2015-05-04  0:00   ` [PATCH V3 1/4] regmap: Use regcache_mark_dirty() to indicate power loss or reset Kevin Cernekee
2015-05-04  0:00     ` Kevin Cernekee
     [not found]     ` <1430697619-22773-2-git-send-email-cernekee-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2015-05-04  6:38       ` Lars-Peter Clausen
2015-05-04  6:38         ` Lars-Peter Clausen
     [not found]         ` <554713DD.4020006-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2015-05-04 14:05           ` Kevin Cernekee
2015-05-04 14:05             ` Kevin Cernekee
2015-05-04 17:33             ` Lars-Peter Clausen [this message]
2015-05-04  0:00   ` [PATCH V3 2/4] ASoC: tas571x: Add DT binding document Kevin Cernekee
2015-05-04  0:00     ` Kevin Cernekee
2015-05-04  0:00   ` [PATCH V3 3/4] ASoC: tas571x: New driver for TI TAS571x power amplifiers Kevin Cernekee
2015-05-04  0:00     ` Kevin Cernekee
2015-05-04 11:45     ` Mark Brown
     [not found]       ` <20150504114558.GD15510-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-04 13:51         ` Kevin Cernekee
2015-05-04 13:51           ` Kevin Cernekee
2015-05-04 13:57           ` Mark Brown
2015-05-04  0:00   ` [PATCH V3 4/4] MAINTAINERS: Add entry for tas571x ASoC codec driver Kevin Cernekee
2015-05-04  0:00     ` Kevin Cernekee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5547AD4D.4000007@metafoo.de \
    --to=lars@metafoo.de \
    --cc=abrestic@chromium.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=cernekee@chromium.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dgreid@chromium.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=olofj@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.