[alsa-devel] [PATCH] ASoC: si476x: Remove custom register I/O implementation

Mark Brown broonie at kernel.org
Thu Sep 26 22:58:07 CEST 2013

On Thu, Sep 26, 2013 at 12:58:27PM -0700, Andrey Smirnov wrote:
> On Thu, Sep 26, 2013 at 12:43 PM, Mark Brown <broonie at kernel.org> wrote:

> > What exactly is the locking you're talking about here?

> I am talking about locking specific for si476x MFD device that is
> hadled by si476x_core_lock / si476x_core_unlock. The code before the
> patch has both externally exposed functions via V4L2 driver and SoC
> driver obtain said lock for the duration of their interaction with the
> device. The patch appears to remove lock acquisition for SoC
> functions.

But what exactly are these locks supposed to be protecting?

> > The way the code is written it looks like the lock is being held to
> > ensure there's no race due to a power state change.

> That lock is being held to prevent device access contention between
> all of the code that can be triggered to be executed via V4L2 ioctl
> API and SoC API. As an example, I can open the radio device and start
> tuning it using corresponding ioctl, meanwhile, parallel to that
> process my other code is trying to change the sample rate of the
> codec. To prevent those two from clashes both of them try to acquire
> "core lock" with si476x_core_lock before the start doing anything with
> chip/MFD.

In what way might these things conflict?  What are the clashes you are
concerned about?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20130926/5e97b9f1/attachment.sig>

More information about the Alsa-devel mailing list