All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] platform/x86: apple-gmux: Use guard(mutex) to simplify the code
@ 2026-11-05 13:08 Thorsten Blum
  0 siblings, 0 replies; only message in thread
From: Thorsten Blum @ 2026-11-05 13:08 UTC (permalink / raw)
  To: Hans de Goede, Ilpo Järvinen
  Cc: Thorsten Blum, platform-driver-x86, linux-kernel

Use guard(mutex) and remove the manual mutex_unlock() calls. Return
several results directly and drop the now-unused local variables.

Signed-off-by: Thorsten Blum <blum@kernel.org>
---
 drivers/platform/x86/apple-gmux.c | 48 +++++++++----------------------
 1 file changed, 14 insertions(+), 34 deletions(-)

diff --git a/drivers/platform/x86/apple-gmux.c b/drivers/platform/x86/apple-gmux.c
index 9c728ac4e045..6c7790012011 100644
--- a/drivers/platform/x86/apple-gmux.c
+++ b/drivers/platform/x86/apple-gmux.c
@@ -169,41 +169,32 @@ static int gmux_index_wait_complete(struct apple_gmux_data *gmux_data)
 
 static u8 gmux_index_read8(struct apple_gmux_data *gmux_data, int port)
 {
-	u8 val;
-
-	mutex_lock(&gmux_data->index_lock);
+	guard(mutex)(&gmux_data->index_lock);
 	gmux_index_wait_ready(gmux_data);
 	outb((port & 0xff), gmux_data->iostart + GMUX_PORT_READ);
 	gmux_index_wait_complete(gmux_data);
-	val = inb(gmux_data->iostart + GMUX_PORT_VALUE);
-	mutex_unlock(&gmux_data->index_lock);
 
-	return val;
+	return inb(gmux_data->iostart + GMUX_PORT_VALUE);
 }
 
 static void gmux_index_write8(struct apple_gmux_data *gmux_data, int port,
 			      u8 val)
 {
-	mutex_lock(&gmux_data->index_lock);
+	guard(mutex)(&gmux_data->index_lock);
 	outb(val, gmux_data->iostart + GMUX_PORT_VALUE);
 	gmux_index_wait_ready(gmux_data);
 	outb(port & 0xff, gmux_data->iostart + GMUX_PORT_WRITE);
 	gmux_index_wait_complete(gmux_data);
-	mutex_unlock(&gmux_data->index_lock);
 }
 
 static u32 gmux_index_read32(struct apple_gmux_data *gmux_data, int port)
 {
-	u32 val;
-
-	mutex_lock(&gmux_data->index_lock);
+	guard(mutex)(&gmux_data->index_lock);
 	gmux_index_wait_ready(gmux_data);
 	outb((port & 0xff), gmux_data->iostart + GMUX_PORT_READ);
 	gmux_index_wait_complete(gmux_data);
-	val = inl(gmux_data->iostart + GMUX_PORT_VALUE);
-	mutex_unlock(&gmux_data->index_lock);
 
-	return val;
+	return inl(gmux_data->iostart + GMUX_PORT_VALUE);
 }
 
 static void gmux_index_write32(struct apple_gmux_data *gmux_data, int port,
@@ -212,7 +203,7 @@ static void gmux_index_write32(struct apple_gmux_data *gmux_data, int port,
 	int i;
 	u8 tmpval;
 
-	mutex_lock(&gmux_data->index_lock);
+	guard(mutex)(&gmux_data->index_lock);
 
 	for (i = 0; i < 4; i++) {
 		tmpval = (val >> (i * 8)) & 0xff;
@@ -222,7 +213,6 @@ static void gmux_index_write32(struct apple_gmux_data *gmux_data, int port,
 	gmux_index_wait_ready(gmux_data);
 	outb(port & 0xff, gmux_data->iostart + GMUX_PORT_WRITE);
 	gmux_index_wait_complete(gmux_data);
-	mutex_unlock(&gmux_data->index_lock);
 }
 
 static int gmux_mmio_wait(struct apple_gmux_data *gmux_data)
@@ -241,24 +231,20 @@ static int gmux_mmio_wait(struct apple_gmux_data *gmux_data)
 
 static u8 gmux_mmio_read8(struct apple_gmux_data *gmux_data, int port)
 {
-	u8 val;
-
-	mutex_lock(&gmux_data->index_lock);
+	guard(mutex)(&gmux_data->index_lock);
 	gmux_mmio_wait(gmux_data);
 	iowrite8((port & 0xff), gmux_data->iomem_base + GMUX_MMIO_PORT_SELECT);
-	iowrite8(GMUX_MMIO_READ | sizeof(val),
+	iowrite8(GMUX_MMIO_READ | sizeof(u8),
 		gmux_data->iomem_base + GMUX_MMIO_COMMAND_SEND);
 	gmux_mmio_wait(gmux_data);
-	val = ioread8(gmux_data->iomem_base);
-	mutex_unlock(&gmux_data->index_lock);
 
-	return val;
+	return ioread8(gmux_data->iomem_base);
 }
 
 static void gmux_mmio_write8(struct apple_gmux_data *gmux_data, int port,
 			      u8 val)
 {
-	mutex_lock(&gmux_data->index_lock);
+	guard(mutex)(&gmux_data->index_lock);
 	gmux_mmio_wait(gmux_data);
 	iowrite8(val, gmux_data->iomem_base);
 
@@ -267,35 +253,29 @@ static void gmux_mmio_write8(struct apple_gmux_data *gmux_data, int port,
 		gmux_data->iomem_base + GMUX_MMIO_COMMAND_SEND);
 
 	gmux_mmio_wait(gmux_data);
-	mutex_unlock(&gmux_data->index_lock);
 }
 
 static u32 gmux_mmio_read32(struct apple_gmux_data *gmux_data, int port)
 {
-	u32 val;
-
-	mutex_lock(&gmux_data->index_lock);
+	guard(mutex)(&gmux_data->index_lock);
 	gmux_mmio_wait(gmux_data);
 	iowrite8((port & 0xff), gmux_data->iomem_base + GMUX_MMIO_PORT_SELECT);
-	iowrite8(GMUX_MMIO_READ | sizeof(val),
+	iowrite8(GMUX_MMIO_READ | sizeof(u32),
 		gmux_data->iomem_base + GMUX_MMIO_COMMAND_SEND);
 	gmux_mmio_wait(gmux_data);
-	val = ioread32be(gmux_data->iomem_base);
-	mutex_unlock(&gmux_data->index_lock);
 
-	return val;
+	return ioread32be(gmux_data->iomem_base);
 }
 
 static void gmux_mmio_write32(struct apple_gmux_data *gmux_data, int port,
 			       u32 val)
 {
-	mutex_lock(&gmux_data->index_lock);
+	guard(mutex)(&gmux_data->index_lock);
 	iowrite32be(val, gmux_data->iomem_base);
 	iowrite8(port & 0xff, gmux_data->iomem_base + GMUX_MMIO_PORT_SELECT);
 	iowrite8(GMUX_MMIO_WRITE | sizeof(val),
 		gmux_data->iomem_base + GMUX_MMIO_COMMAND_SEND);
 	gmux_mmio_wait(gmux_data);
-	mutex_unlock(&gmux_data->index_lock);
 }
 
 static u8 gmux_read8(struct apple_gmux_data *gmux_data, int port)

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-11-05 13:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-05 13:08 [PATCH] platform/x86: apple-gmux: Use guard(mutex) to simplify the code Thorsten Blum

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.