Thread (15 messages) 15 messages, 3 authors, 2021-01-26

Re: [PATCH v6 3/7] mfd: Add MFD driver for ATC260x PMICs

From: Lee Jones <hidden>
Date: 2021-01-26 17:46:59
Also in: linux-devicetree, linux-input, lkml

On Mon, 25 Jan 2021, Cristian Ciocaltea wrote:
Hi Lee,

On Mon, Jan 25, 2021 at 02:25:58PM +0000, Lee Jones wrote:
quoted
On Wed, 20 Jan 2021, Cristian Ciocaltea wrote:
quoted
Add initial support for the Actions Semi ATC260x PMICs which integrates
Audio Codec, Power management, Clock generation and GPIO controller
blocks.

For the moment this driver only supports Regulator, Poweroff and Onkey
functionalities for the ATC2603C and ATC2609A chip variants.
 
[...]
quoted
quoted
+static void regmap_lock_mutex(void *__mutex)
+{
+	struct mutex *mutex = __mutex;
+
+	/*
+	 * Using regmap within an atomic context (e.g. accessing a PMIC when
+	 * powering system down) is normally allowed only if the regmap type
+	 * is MMIO and the regcache type is either REGCACHE_NONE or
+	 * REGCACHE_FLAT. For slow buses like I2C and SPI, the regmap is
+	 * internally protected by a mutex which is acquired non-atomically.
+	 *
+	 * Let's improve this by using a customized locking scheme inspired
+	 * from I2C atomic transfer. See i2c_in_atomic_xfer_mode() for a
+	 * starting point.
+	 */
+	if (system_state > SYSTEM_RUNNING && irqs_disabled())
+		mutex_trylock(mutex);
+	else
+		mutex_lock(mutex);
+}
Would this be useful to anyone else?
If you refer to the locking scheme, it is currently required by the
power-off driver to handle atomic contexts.
Right, but would this be helpful to any non-Actions drivers?

If so, perhaps it should reside as a Regmap helper?
quoted
For my own reference (apply this as-is to your sign-off block):
Please note the patches "[4/7] regulator: ..." and "[5/7] power: ..."
have been already picked up by Mark and Sebastian, respectively, while
Dmitry suggested to merge "[6/7] input: ..." through MFD.
That's fine.

Please re-submit the patches which have not been applied already.
quoted
  Acked-for-MFD-by: Lee Jones [off-list ref]
Thanks,
Cristi
-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help