All of lore.kernel.org
 help / color / mirror / Atom feed
From: Davide Ciminaghi <ciminaghi@gnudd.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>,
	sameo@linux.intel.com, rubini@gnudd.com,
	giancarlo.asnaghi@st.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/8] sta2x11-mfd : add apb-soc regs driver and factor out common code
Date: Fri, 28 Sep 2012 17:29:59 +0200	[thread overview]
Message-ID: <20120928152959.GM22500@mail.gnudd.com> (raw)
In-Reply-To: <20120927151314.118c86c1@pyramind.ukuu.org.uk>

On Thu, Sep 27, 2012 at 03:13:14PM +0100, Alan Cox wrote:
> > as far as I know, nested locks are fine provided that you always take them in
> > the same order and release them in the opposite order (lock A, lock B,
> > unlock B, unlock A). So my conclusion is that nested spinlocks require
> > potential regmap users of sta2x11 registers to take the sta2x11-mfd spinlock
> > first. The pattern would be (sctl registers for instance):
> 
> The release order does not matter. Taking AB and releasing AB or BA is
> fine. Taking AB and dropping B and retaking B is fine. Taking AB and
> somewhere else taking BA is not. There are performance reasons in some
> cases why taking AB releasing A is best with locks, but thats generally
> with sleepable locks.
>
thanks, I'd never really thought about the release pattern actually.
In this particular case, though, B is inside the regmap code and is taken and
released when a regmap call happens, so I think AB necessarily implies BA.
For instance:

lock(A);
regmap_read(...); /* Lock/unlock B */
unlock(A);
 
Thanks
Davide

  reply	other threads:[~2012-09-28 15:30 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-12 10:22 [PATCH 0/8 RESEND] sta2x11-mfd patches ciminaghi
2012-09-12 10:22 ` [PATCH 1/8] sta2x11-mfd : add apb-soc regs driver and factor out common code ciminaghi
2012-09-25 19:20   ` Mark Brown
2012-09-26 14:56     ` Davide Ciminaghi
2012-09-26 15:04       ` Mark Brown
2012-09-26 16:31         ` Davide Ciminaghi
2012-09-26 16:49           ` Mark Brown
2012-09-27  8:39             ` Davide Ciminaghi
2012-09-27  8:56             ` Davide Ciminaghi
2012-09-27 13:41             ` Davide Ciminaghi
2012-09-27 13:49               ` Mark Brown
2012-09-28  8:43                 ` Davide Ciminaghi
2012-09-28 10:52                   ` Mark Brown
2012-09-27 14:13               ` Alan Cox
2012-09-28 15:29                 ` Davide Ciminaghi [this message]
2012-09-12 10:22 ` [PATCH 2/8] sta2x11-mfd : add sta2x11_mfd_get_regs_data() function ciminaghi
2012-09-12 10:22 ` [PATCH 3/8] sta2x11-mfd : use defines for platform devices' names ciminaghi
2012-09-12 10:22 ` [PATCH 4/8] sta2x11-mfd : only add sta2x11_mfd if it hasn't already been added ciminaghi
2012-09-12 10:22 ` [PATCH 5/8] sta2x11-mfd : platform probe: don't mind about gpio platform data ciminaghi
2012-09-12 10:22 ` [PATCH 6/8] sta2x11-mfd : use one lock per device instead of one lock per mfd ciminaghi
2012-09-12 10:22 ` [PATCH 7/8] sta2x11-mfd : add defines for some sta2x11 sctl registers ciminaghi
2012-09-12 10:22 ` [PATCH 8/8] sta2x11-mfd : add myself to copyright ciminaghi
2012-09-16 21:25 ` [PATCH 0/8 RESEND] sta2x11-mfd patches Alessandro Rubini
  -- strict thread matches above, loose matches on Subject: below --
2012-09-12 10:11 ciminaghi
2012-09-12 10:11 ` [PATCH 1/8] sta2x11-mfd : add apb-soc regs driver and factor out common code ciminaghi

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=20120928152959.GM22500@mail.gnudd.com \
    --to=ciminaghi@gnudd.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=giancarlo.asnaghi@st.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rubini@gnudd.com \
    --cc=sameo@linux.intel.com \
    /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.