From nobody Wed Apr 8 01:17:13 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (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 2B79822339 for ; Wed, 11 Mar 2026 04:00:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773201648; cv=none; b=FZ1iSy8cgiJjkcvRcuznF1wa/asOtxmEvjW6ElScxpJUKR3bZSA+du8hi4KxgE3/G9y3KtBCgjdde1Vj28G6yD0RivV7IIWcUXzIAHwmJDpqbxCUCDpVBYYQxBRUPvneGIvjXUbvobM063CEgwsRupx+hDYPL+l1nJz7F+7VGR4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773201648; c=relaxed/simple; bh=ZvZcJwf6UNxXQbN0h7ibdXj+y4PHrwoJvvNmA+GpjK4=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=Ac4oLs+EsvDaG8PealUy5PTzB9owjku90+xv+ivPpBLbTyVNsaUYRkW2d0hqrAzdPxST/8MGYa7SH/SokBawag7OZ/mYbesTdMrc37sfnEyv+G090XNLeLUHQZNhVuZ4QG4LoS6DLVDeCGijKUIqDGG9SAVa04+UOFZ9yxYAU7M= 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=TdKZSic8; arc=none smtp.client-ip=209.85.128.51 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="TdKZSic8" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-4853510b4f3so47799185e9.0 for ; Tue, 10 Mar 2026 21:00:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1773201645; x=1773806445; 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=4ZoWCr+BRYQvuE8DXa9YjC7QPti3UnL9FTGPdpkKDX0=; b=TdKZSic8DOl3IG5ZoxdosJaV2yEFeBxrOXBLrbyH91ybzN3CV3oUloEtrXLaphozs0 +MkJrN9o8fpKH1LSbndFYqkblPegwANKGK3POKw6wTJL7RAjkLwiiY1fK3pTzu+Z+ajE qQf+iKzT895GIyK7kGiQTrsaAQtXvtKiFiWwqSNB/Lwe2MljJuakUxx6GL6wAzu+C/wR X2O8QV+Bw+WihJt6vjnu2rxUjQeT0sRzg2221OKhCfQWXSq8oDe1Oaexfw6n8kImL5D/ 6/V5ZTrulyVQV/1I1uOslBlH1re97OZluKPvfpbuM9ztCsMexP9Y7BAW3EE/cwg7KpSm 1dOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773201645; x=1773806445; 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=4ZoWCr+BRYQvuE8DXa9YjC7QPti3UnL9FTGPdpkKDX0=; b=VyV+L1DD9lmE5fxzuN3rd8EXPoB758AdvGCS1WpM4sMqxtzhrGWquZXUuRaRKyr2eU 6aMu09adT/yC7pLt1RMXdZelvggxsO6Gtfk4bV25lbeYJe0gTXCNLYkv1yMngNrxTFRb TLhTNgu+3YGK8KmETNcIgo6T2LGog3uHZd1oki3Ji9v/7TFa+ddGek/yTGpHDvmWXkPG OAf82D/sHKjmcS5zO0QjJah/xZTLR4MMo3/FSUk43sdJ07MmraUixbXd5GmqAgSpQsqQ LFCnIDx4opflOLbGfv9xm0CYUcJoCFFfquW5JuiZatCqGrwd4Pv+Hwt1BVqqlBeqcOaD 68Mg== X-Forwarded-Encrypted: i=1; AJvYcCX0VD54e0vENEEPWCRLsQg7pqa3ceLhKcVv4LbhxNqbCop7+NOcjkrsi+esvqTUjxARncMa69gp5PHBhVY=@vger.kernel.org X-Gm-Message-State: AOJu0Yw85nJKvLCRzBh1V5GA0EmXKM5YxbSxfaMeLuYiNvMhtXVLh+3s hUY25GLAO9g/PYuTG5h+7ifuBzX9v9XDhw4uWo0FccP37g3TVkiPYsA7vHiakBg3Deo= X-Gm-Gg: ATEYQzxJGEI8akuB0teL/yOKOlvPUPUuAFZYhLF/h8Ne1c/SgaNnNApoqOwAP0s6z7i uyUiZjqvKreI1vOEfNzE/l6h8NU8xavgSkTlG70RovJOB1EI4SE7ogd2/T1JuxbMLKva0O96n+l iq2qafdFQYXJJ6NbzKevoQpp2URDsI4AQ7DbBRF2NHMKpOoPCtG/KGW5FuazyQno4hUg3/6GWLN NiYa08NTqH02oI4jEuYMra22hxtLolJI0sb34Xp7nEPPLpUg0h56R6B1V4mYemctb08qnz3pcVn IYlIPhMZNXLBx1/KtwV1Oby8zcUZ9LyGhHrvEtfZ1+IkOrsrX/4iLL+P8xXoANHTEtuU4F+XL+7 MyDZp+qVioZ5dK/pgVTpPLOSKYK8JOu4ByVMfYFkWkkxbQ5+OOZjzfosoPBiqIsEXVVMqmLfGK+ n6POuNn8fyo/LvAqlmoWUmC1cHybF03EbUaZ4E2w4qKM7kSQj74tl2yVY/QjhDS8I13w== X-Received: by 2002:a05:600c:8483:b0:485:3c8f:e4ce with SMTP id 5b1f17b1804b1-4854b10093bmr16309895e9.18.1773201645487; Tue, 10 Mar 2026 21:00:45 -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-2aeae22287dsm7641795ad.12.2026.03.10.21.00.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 21:00:44 -0700 (PDT) Date: Wed, 11 Mar 2026 12:00:41 +0800 From: Richard Lyu To: Lee Jones Cc: Pavel Machek , linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org, Richard Lyu Subject: [PATCH] leds: lm3642: use guard to simplify locking Message-ID: <20260311040034.25937-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" The mutex_lock()/mutex_unlock() pattern requires explicitly pairing lock and unlock calls. Use guard(mutex) instead so the lock is automatically released when the scope exits. Convert to guard(mutex) in lm3642_torch_brightness_set(), lm3642_strobe_brightness_set(), and lm3642_indicator_brightness_set(). Add #include to support scoped guards. Signed-off-by: Richard Lyu --- drivers/leds/leds-lm3642.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/leds/leds-lm3642.c b/drivers/leds/leds-lm3642.c index 61629d5d6703..ee957d4da882 100644 --- a/drivers/leds/leds-lm3642.c +++ b/drivers/leds/leds-lm3642.c @@ -12,6 +12,7 @@ #include #include #include +#include =20 #define REG_FILT_TIME (0x0) #define REG_IVFM_MODE (0x1) @@ -202,10 +203,9 @@ static int lm3642_torch_brightness_set(struct led_clas= sdev *cdev, container_of(cdev, struct lm3642_chip_data, cdev_torch); int ret; =20 - mutex_lock(&chip->lock); + guard(mutex)(&chip->lock); chip->br_torch =3D brightness; ret =3D lm3642_control(chip, chip->br_torch, MODES_TORCH); - mutex_unlock(&chip->lock); return ret; } =20 @@ -249,10 +249,9 @@ static int lm3642_strobe_brightness_set(struct led_cla= ssdev *cdev, container_of(cdev, struct lm3642_chip_data, cdev_flash); int ret; =20 - mutex_lock(&chip->lock); + guard(mutex)(&chip->lock); chip->br_flash =3D brightness; ret =3D lm3642_control(chip, chip->br_flash, MODES_FLASH); - mutex_unlock(&chip->lock); return ret; } =20 @@ -264,10 +263,9 @@ static int lm3642_indicator_brightness_set(struct led_= classdev *cdev, container_of(cdev, struct lm3642_chip_data, cdev_indicator); int ret; =20 - mutex_lock(&chip->lock); + guard(mutex)(&chip->lock); chip->br_indicator =3D brightness; ret =3D lm3642_control(chip, chip->br_indicator, MODES_INDIC); - mutex_unlock(&chip->lock); return ret; } =20 --=20 2.51.0