From nobody Wed Apr 8 01:18:02 2026 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7456434D390 for ; Wed, 11 Mar 2026 03:12:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773198740; cv=none; b=ZKN/A4SxftyeP/0AGI2RZ9qX61StVTAIR9XWVI1ryZ86pp/SbsqAA9YPaViST2M4xPP4A4Q5SFvOX8IDugYwUiKdy5wtBhzOvktNpCIqV4bKd3BmcxO5DFVISeAkQUDhFofeN1YjVAlb7LaJ3VibwMCdsxFzFe4S+bq9VMms3ao= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773198740; c=relaxed/simple; bh=dvdYUw/L09jSTlJMhz+swtQUZ7IKd36C0H1gADrHADc=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=p6F20h4vzto9bcZv3m+GB0KXYwI/buIPnUXgQalMQ3wIZLYPQLr85qj3z5F1owq7+6Mz8rCBsbfKVe/NVfdd6p7PkAk2ryBCeoNCKxjHuaufeknErAXxGERNcS/JgV9US1ZkfwQ3Wu7ifNfindwiAMNCSuNWVzPs+mJ5u337Pf8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=NbOX4EUC; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="NbOX4EUC" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-4852a8482fcso40879775e9.3 for ; Tue, 10 Mar 2026 20:12:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1773198738; x=1773803538; darn=vger.kernel.org; h=user-agent:content-disposition:mime-version:message-id:subject:cc :to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=6u6I+GSaBY/xPBOlrKirlS369pHSY5y3fD48ukvZ2pk=; b=NbOX4EUCOn37Vb90LLDWTar+UHhVoTP244QARkFVcbzdFSmjzJlyGJygxm2HlJftGA o4hr4klNViJjppjcj8ZvUsFvJY+ZMWX9hP79YjGuUaPhqu8jt6p+Lpyeu+bjf3DR8W/1 brW+cCgOlRyoBLdk0bduaU1K/CBDcqwMPceEhXSH4xDnrajrCaluWvu8DvXSI0ESnfL/ eWy7l9IEUhCrP0yvUmxwbPKfeCfMwo+kP6MmJMvmLGsrC90PPHLmQreBVNtB4dVrqL3O FTi3IgzWUM5VGd/VaRKtt7bl/zAlsv/NsXvwlqX/kr7aN+nNdhqVrGn0zT0g+UsCm/gn iflg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773198738; x=1773803538; h=user-agent:content-disposition:mime-version:message-id:subject:cc :to:from:date:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=6u6I+GSaBY/xPBOlrKirlS369pHSY5y3fD48ukvZ2pk=; b=lk2UPzwgUWouCGiQgW4/hfFWBCRlzTJk09K4epEPOUIgJ26qwi7o9B2zCKwfl8lqmC h7HZSlx0zln4PVlPDTPZrSwUvujeFXYAK/H1T7CU/La1hud9sSB3qPFwPBw0uJe41twl Bb31+0yo1/LvrrstP8yOD6qUv+/2lvWZqKJORZtCN0U1Rs+raKCr9ay+yUtKyrAk+AQG pqXg3SpMXK6IK2h7ubNyKanLwisdISypalttHT8tq2F1LiJl8DMW78coRNrguuA9qR2u R74EQCDWU0/hzx8x5QFRuhhc42YpAxdfB+BO/UPXdjkBCapizb3SeQsriQyQtFmMBJXk b9GA== X-Forwarded-Encrypted: i=1; AJvYcCWAzHXeMQXyDMKEzR06G35A/HBFgT6sdf3YgvraljwZlgsbd0lI3ZeSuR9y5qchzAJr/6ujpF2i+q9c7bY=@vger.kernel.org X-Gm-Message-State: AOJu0YwqvUpjexrTuucU+lMTOKV+EWIlyil+YiVNynkWKfEulavXgp3v ZG28Dt7NzbBOTPcoP5loVgh25xEOYhXUpMfUJqTv7O5NyKLWz2B9R7heYUgXGLWokURau/dakJL 3v2zW X-Gm-Gg: ATEYQzyVa8o9+nRdqCOOC+9V92gpBDwVdoaivCrbykOjrNsRxPvalm3JhDqUG7Doz0s Nj6BkXY+aZ3Ebk+Y+s5X0ck0V70G06tp/dPCSFmd0hlr5nTshvrQIr8WUWEdkLI8NShc1pN05ni PoP0Sp14dLfvNQIitYt6HNXJ6url6ga/AeK2TbJPq9tEahX7/BneS9o9sNoH7kTSJYMlxNNOCRQ y40MqZQbHj5dh80oko5jOJBzNarOuPYrqq4YO+tJGtppdMbNqEoaeJLfdtTaxEJ5Q+oMA2twlYV 6FuyKvlwLAeOE9OSEbzMQr/TyDjQ+p5kh/5+jzGp9O3JJmpmZKHYnjxGKa+Kqgi8IIvWpuwfHd5 RzXGN4iFHOITwOD6NKuAWUXmiU5VJSwu0YsrQel1G+E4FqT6zPMmaau+G7JsIt9U5NOIUsXUYt6 k2/Wvz3D4G3n+u0Gkx/unW/PkRHDDR3ZDIPe33LjseoGbSYfnaLCEV+28= X-Received: by 2002:a05:600c:8b0a:b0:477:7b16:5f9f with SMTP id 5b1f17b1804b1-4854b12cf85mr15689935e9.31.1773198737793; Tue, 10 Mar 2026 20:12:17 -0700 (PDT) Received: from r1chard (36-228-122-64.dynamic-ip.hinet.net. [36.228.122.64]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2aeae222ec3sm7873475ad.1.2026.03.10.20.12.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 20:12:16 -0700 (PDT) Date: Wed, 11 Mar 2026 11:12:12 +0800 From: Richard Lyu To: Linus Walleij Cc: Bartosz Golaszewski , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Richard Lyu Subject: [PATCH] gpio: max732x: use guard(mutex) to simplify locking Message-ID: <20260311031134.14218-1-richard.lyu@suse.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline X-Mailer: git-send-email 2.51.0 User-Agent: Mutt/2.2.13 (2024-03-09) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert the max732x driver to use the RAII-based guard(mutex) macro from . This change replaces manual mutex_lock() and mutex_unlock() calls, allowing the chip lock to be managed automatically based on function scope. Refactor max732x_gpio_set_mask() and max732x_irq_update_mask() to improve code readability. This allows for direct returns and removes the redundant 'out' label in the set_mask function, resulting in cleaner and more maintainable code. Signed-off-by: Richard Lyu --- drivers/gpio/gpio-max732x.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/gpio/gpio-max732x.c b/drivers/gpio/gpio-max732x.c index a61d670ceeda..8930f49576ed 100644 --- a/drivers/gpio/gpio-max732x.c +++ b/drivers/gpio/gpio-max732x.c @@ -18,6 +18,7 @@ #include #include #include +#include =20 /* * Each port of MAX732x (including MAX7319) falls into one of the @@ -207,22 +208,20 @@ static void max732x_gpio_set_mask(struct gpio_chip *g= c, unsigned off, int mask, uint8_t reg_out; int ret; =20 - mutex_lock(&chip->lock); + guard(mutex)(&chip->lock); =20 reg_out =3D (off > 7) ? chip->reg_out[1] : chip->reg_out[0]; reg_out =3D (reg_out & ~mask) | (val & mask); =20 ret =3D max732x_writeb(chip, is_group_a(chip, off), reg_out); if (ret < 0) - goto out; + return; =20 /* update the shadow register then */ if (off > 7) chip->reg_out[1] =3D reg_out; else chip->reg_out[0] =3D reg_out; -out: - mutex_unlock(&chip->lock); } =20 static int max732x_gpio_set_value(struct gpio_chip *gc, unsigned int off, @@ -329,7 +328,7 @@ static void max732x_irq_update_mask(struct max732x_chip= *chip) if (chip->irq_features =3D=3D INT_NO_MASK) return; =20 - mutex_lock(&chip->lock); + guard(mutex)(&chip->lock); =20 switch (chip->irq_features) { case INT_INDEP_MASK: @@ -342,8 +341,6 @@ static void max732x_irq_update_mask(struct max732x_chip= *chip) max732x_writeb(chip, 1, (uint8_t)msg); break; } - - mutex_unlock(&chip->lock); } =20 static void max732x_irq_mask(struct irq_data *d) --=20 2.51.0