From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oa1-f50.google.com (mail-oa1-f50.google.com [209.85.160.50]) (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 A880325FA29 for ; Thu, 30 Apr 2026 01:35:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777512913; cv=none; b=YN1SdXWlS56dU8d0H2yJPznPUzSfgY6MXfgO2IqvgQXjZlBBov506YOB9wrOuHO9uDvM8+FPL9iyVt5W7dd3GCr9tkJZR6MHTb2+U3WaQNJbRT42+QpJ2JhEPIe22hzVVOoMvWPHAmGfZYyYLoYYPJcWD6HcUj0s9WweBtnd3vo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777512913; c=relaxed/simple; bh=KCoLp0j3FTegGrIPOExoI3s2QCcH3vtOwGfkyr+f12U=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Vd9YZFBOxqrSq1zGAyKyo1VNGopvtKpXjeSogKOjIBeJ2rhqNUPZ1gtH3qnGOHmdao4E3K+6SulrRuKJWcSfY11JURTYiWRWOlZ9F9X9Gvo74cyaf2MVcY8xPGmvlRETtZpGvjRLpuXijf9FsTcIp9BZG5Rueazhz3oZU7dK6iw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SpAVFJYK; arc=none smtp.client-ip=209.85.160.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SpAVFJYK" Received: by mail-oa1-f50.google.com with SMTP id 586e51a60fabf-409de4132b5so314997fac.1 for ; Wed, 29 Apr 2026 18:35:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777512909; x=1778117709; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Sp95W0VqHVkDzd5U4y+n96qXR08Kl1YBa2o5v19LXc4=; b=SpAVFJYKASVmIyyvZLIaK4VRni/lwrGrsGVPM4czvzs5CQoOfLKKpW/jeI5KUhVXpA 0i4ailMKIbKXyeDWMalO6yF7xrr14cPyy7iT8XK0jrpGJSji7rZ3YjH5EY32fcM8Plse zcDwddMlHQjjpnE/PBZHfOhjQ1Fw78SibOYlj1FGp2hb1owH7iNt1eqMCvGv2SVxsMhP fmqDUNBfHuMRXGaI5MohQSzFRFKqDRPFNxjESBRA4Wl/kKMHHKD7RqByHpnwUKyT4kGt ZgscCK/gjqnr8+VkcI8pONPN2Zg9CW8IY/NEsKHFR9yAtLQ5yOHs4V8vsVa0k5W7xLGt z/Rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777512909; x=1778117709; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Sp95W0VqHVkDzd5U4y+n96qXR08Kl1YBa2o5v19LXc4=; b=pbzl15M79RmiJZHlubyHdCPAZvnh6R5hmh3m18AkTQJ5cPXhShb5dcJ0JKzGWr5l+F Z9nxwbXlzUi5dyRsSuxksJ2dQFU/LRWoTJ8TXrTLMEWrVtf/vcQuJIt+2pvOiFfqZEL8 ctxLF+i9BxmLmIVDuLoiXDHhnOjUdpZQNmB9joySweq1GLvTdGWhyxrn/8ottNYhOoJE W40cxOLtR1xIaamN1XMdOT1GC/dKyFOJmHG6XA9wb2SNMg7PO6HjMMmweh2uYOc089Gi VzNbwyLoNdzh349hMveTkJrmgUXjzBFHmzMAf7I09oGoMWGEk4HkCCOkzCZD3Y4n7cTw KQBg== X-Forwarded-Encrypted: i=1; AFNElJ+YpUVCcI44QvZrZR7cyiD9TtHWSyTaxtn1AfZErlSsL7XTdA3kbNt7J+x1fYTyaBtKum6tNsqKmFOueBM=@vger.kernel.org X-Gm-Message-State: AOJu0Yy4DLJL1r4PTJ/5uW5m9SbNMafE4gYcYvAeZ0Z9OfeqJKHN3r2c eldns5iu2NE5CA5+Oyz9EPwMWfaCZuDwiXf8ixyRcSF1ObMDukN3FzsaX07cuZsf X-Gm-Gg: AeBDietjY6zuDAVhMbTDscfIe1ztGPH70Sa1Lvu8xb1KH/6hgrQKKuZMDtfxcZosSd4 jZ1cWnE0P1w17rDs60xP1Vh036/8uj5NcpV83VJgx4sD/t4XgdsqX/9uWkbtPGI2FsM6pfL6otF Gdgn060YsQ29xjiRaKik9MPLLCTRlZAwDmpzl3kCfU6A++1In61EwDz20XMMzHa8JAWotgk6aRv 87TSv7w9mllG3XYPTDU8MY2Uy+vJX+gxbrlxmXumXLP1Djro8OJNFMI95R5nqEwb69ixovEc35r ur/FSjYTVQ9VKYLjczSwLO6U0Y/fTIDrQypzKQ3nXMC+d+pZc9YSGmE8CCUewbPzCCwCQtnNrNy CkH5U5UGsh6utWwAbYGNsZZnZ53wy3OK1sXnLi9OQSFHbJkBi9aBVCJIelW6DHSWYp4MPyfUDo4 +8fajYK5l5Lf8prsluu6fvNx/urt2WVeH5of9rF0W1aX4DnW1f2oYCZCyIjzaC3E1GJ3yJMze2u OYpHnU= X-Received: by 2002:a05:6871:c8db:b0:40e:dcc9:c3a9 with SMTP id 586e51a60fabf-4343373792cmr624490fac.3.1777512909526; Wed, 29 Apr 2026 18:35:09 -0700 (PDT) Received: from linuxescape.lan (23-88-128-2.fttp.usinternet.com. [23.88.128.2]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-43437231ca6sm410226fac.11.2026.04.29.18.35.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 18:35:08 -0700 (PDT) From: Maxwell Doose To: rafael@kernel.org, lenb@kernel.org Cc: Andy Shevchenko , Mika Westerberg , linux-acpi@vger.kernel.org (open list:ACPI PMIC DRIVERS), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v5] ACPI: pmic: Replace mutex_lock/unlock() with guard()/scoped_guard() Date: Wed, 29 Apr 2026 20:35:06 -0500 Message-ID: <20260430013507.46259-1-m32285159@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Replace mutex_lock() and unlock() macros with the newer guard() and scoped_guard() macros. This will help modernize and clean the code. Signed-off-by: Maxwell Doose --- v2: - Refactored control flow in certain functions as suggested by Andy. - Indent code in scoped_guard block as suggested by Andy. - Fix parameter list alignment issues that I found while making this v2. v3: - Fixed guard(mutex)() and scoped_guard() syntax. - Added some logical and style changes per Andy's request. The requested changes and my personal thoughts can be found at https://lore.kernel.org/linux-acpi/ae8QBnSs9fYvkv_i@ashevche-desk.local/ v4: - Added else keyword to if statement in intel_soc_pmic_exec_mipi_pmic_seq_element() per Andy's request. v5: - Misunderstanding at last version, v4 has been reverted. - Made diff less invasive per Andy's request by leaving most code below d->exec_mipi_pmic_seq_element check in intel_soc_pmic_exec_mipi_pmic_seq_element() intact. - Reinstated ret variable in intel_soc_pmic_exec_mipi_pmic_seq_element() per Andy's request. drivers/acpi/pmic/intel_pmic.c | 37 +++++++++++++++------------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/drivers/acpi/pmic/intel_pmic.c b/drivers/acpi/pmic/intel_pmic.c index 134e9ca8eaa2..9bd46defc5a2 100644 --- a/drivers/acpi/pmic/intel_pmic.c +++ b/drivers/acpi/pmic/intel_pmic.c @@ -67,14 +67,12 @@ static acpi_status intel_pmic_power_handler(u32 function, if (result == -ENOENT) return AE_BAD_PARAMETER; - mutex_lock(&opregion->lock); + guard(mutex)(&opregion->lock); result = function == ACPI_READ ? d->get_power(regmap, reg, bit, value64) : d->update_power(regmap, reg, bit, *value64 == 1); - mutex_unlock(&opregion->lock); - return result ? AE_ERROR : AE_OK; } @@ -182,19 +180,16 @@ static acpi_status intel_pmic_thermal_handler(u32 function, if (result == -ENOENT) return AE_BAD_PARAMETER; - mutex_lock(&opregion->lock); - - if (pmic_thermal_is_temp(address)) - result = pmic_thermal_temp(opregion, reg, function, value64); - else if (pmic_thermal_is_aux(address)) - result = pmic_thermal_aux(opregion, reg, function, value64); - else if (pmic_thermal_is_pen(address)) - result = pmic_thermal_pen(opregion, reg, bit, - function, value64); - else - result = -EINVAL; - - mutex_unlock(&opregion->lock); + scoped_guard(mutex, &opregion->lock) { + if (pmic_thermal_is_temp(address)) + result = pmic_thermal_temp(opregion, reg, function, value64); + else if (pmic_thermal_is_aux(address)) + result = pmic_thermal_aux(opregion, reg, function, value64); + else if (pmic_thermal_is_pen(address)) + result = pmic_thermal_pen(opregion, reg, bit, function, value64); + else + result = -EINVAL; + } if (result < 0) { if (result == -EINVAL) @@ -354,13 +349,15 @@ int intel_soc_pmic_exec_mipi_pmic_seq_element(u16 i2c_address, u32 reg_address, d = intel_pmic_opregion->data; - mutex_lock(&intel_pmic_opregion->lock); + guard(mutex)(&intel_pmic_opregion->lock); if (d->exec_mipi_pmic_seq_element) { - ret = d->exec_mipi_pmic_seq_element(intel_pmic_opregion->regmap, + return d->exec_mipi_pmic_seq_element(intel_pmic_opregion->regmap, i2c_address, reg_address, value, mask); - } else if (d->pmic_i2c_address) { + } + + if (d->pmic_i2c_address) { if (i2c_address == d->pmic_i2c_address) { ret = regmap_update_bits(intel_pmic_opregion->regmap, reg_address, mask, value); @@ -376,8 +373,6 @@ int intel_soc_pmic_exec_mipi_pmic_seq_element(u16 i2c_address, u32 reg_address, ret = -EOPNOTSUPP; } - mutex_unlock(&intel_pmic_opregion->lock); - return ret; } EXPORT_SYMBOL_GPL(intel_soc_pmic_exec_mipi_pmic_seq_element); -- 2.53.0