From nobody Sat Jun 13 02:58:38 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 23F9A3BED69; Mon, 11 May 2026 10:04:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493849; cv=none; b=ulPJu2Heu5iCQUFAehJxQUkH3ky0K++/X+W5BwH2vnVKc4nP+SZT3RgV+siHS+wmMYXB1ad9l2fJMODgxmobtLnFGrYLyCR347Y9R1qdOki9oAWiqqikJDQawP1WPax46bUj5I9FHQCtEVg6hgA+SXHYkXMlAK0cDuOpI+vwA/E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493849; c=relaxed/simple; bh=MFHojmFQf9VayktGRWT7VpOQGCXGKQOTcmOc4TyTDOU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GrqN+d1yVgsVoYn1vG9LY+zkLwO1gBg4831UUD2nS8GBk7LFxKxFL7ib3jMcVJP8+X7EgInFLTq36Y+zSh2b+UWij/eupLSHIRJUNeHqJFz6Urcvykt1NHZTBohmCC82QnC8UVo8iF2iUBERVPVJ1gq9Rbfd7CnFN3ps20IgmiE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=MKhz+bar; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="MKhz+bar" Received: by smtp.kernel.org (Postfix) with ESMTPS id 06779C2BCF7; Mon, 11 May 2026 10:04:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778493848; bh=MFHojmFQf9VayktGRWT7VpOQGCXGKQOTcmOc4TyTDOU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=MKhz+barPjqlcWohCpvxPbkbldkEzhSjseQkpBapv7zssT7nB6gww0yDKGRPEoZhc 0uBPsqYq/v1fsiT+hL2MxlbnW+rHswYhJzTq79Fwif3Sdp0UhvttbUvlIrKeFhEayV Pac7MqY8oV8oTppR4oNIwqpK56mbH+cM7hau3IvnTcpfWysU5OVIH9JzTFNm6GgNJX Ww1bMqdHYemQKZ1uyl511APmvx2XtKUmXjInIiRBYPONBriYRhVRNOXVWnb+Pktx+4 ImuQpm+mG+CDmAyRXzFU+Jf3bEglpj21wND7DeuIJTG/B/Wh/sGPeTK3foewCLFKG+ 3g5KugOQLiYSA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E860ACD37AC; Mon, 11 May 2026 10:04:07 +0000 (UTC) From: Joshua Crofts via B4 Relay Date: Mon, 11 May 2026 12:04:06 +0200 Subject: [PATCH 1/7] iio: light: opt3001: make headers conform to iwyu Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260511-opt3001-cleanup-v1-1-f7879dc3455c@gmail.com> References: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> In-Reply-To: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778493846; l=1404; i=joshua.crofts1@gmail.com; s=20260422; h=from:subject:message-id; bh=sYBEFSgXpCTsp4tslKj24XkY3mo8Z+wM+iHH5uIcud8=; b=RaQLZ5q+3Ed1Kjee8RbUjs4MNQk8sssWqDyvUiES5i/iPY67EdehWu4ZVccI0qzWGPkHXUZ/N Vskl+Qs5GLjA+OiR00F4GR7hetb1EExOOAxrqSZ8Gb1vYqcCYRHVHzT X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=Xd+UVoRPiiI0K3LHQ2XIcXmO0jvVuFTv9eTx3lgBphI= X-Endpoint-Received: by B4 Relay for joshua.crofts1@gmail.com/20260422 with auth_id=746 X-Original-From: Joshua Crofts Reply-To: joshua.crofts1@gmail.com From: Joshua Crofts Remove kernel.h proxy header, device.h, irq.h, slab.h as they are unnecessary and add missing headers (array_size.h, dev_printk.h, errno.h, jiffies.h, wait.h) to enforce IWYU principle and reduce transitive dependencies. Also, replace bitops.h with bits.h as only the BIT() macro is used. Signed-off-by: Joshua Crofts --- drivers/iio/light/opt3001.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index 53bc455b7bad142695d9fecc6cabb934fb3ace0c..e6c3665f46be47129097c3997c7= 551ba9a8f6440 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -8,18 +8,19 @@ * Based on previous work from: Felipe Balbi */ =20 -#include +#include +#include #include -#include +#include +#include #include #include -#include -#include -#include +#include #include +#include #include -#include #include +#include =20 #include #include --=20 2.47.3 From nobody Sat Jun 13 02:58:38 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9691934AB06; Mon, 11 May 2026 10:04:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493848; cv=none; b=YzuIozW3mjoAK1b+AUn0aEb9RrRcttmgEjW57szLwK6zZKZ61n8NvNbmQUP5M3PvgSCi2y5ZcWG3S9wtm+b1jz3zSIl9HUeMW3r4evH5fetVwQsoEXfmywAyD3MRSYhut+Azf6gRR7fGjjUp8XOS+IU0+U761EIF9Pbwe2wf6Ho= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493848; c=relaxed/simple; bh=QdjYDTc663t50gmUWHyxhNky6o/XS1/BZyT41mBAD0w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ixB2FtCywUpGhYfwWrenTKwdGT+bO4IkPdGDMVOdSFXu+AH2STjpbgj45XY/4MzFxJkjkSi7lmgTuBoWxxmN5eV8WgeAJebRw5MbKudLA9y403fF4NjR/9x5nyvx5LU1rzIvC78Y1OGJ09MsRYBJfWQxX3lZFeBQRa3L9sChqKg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=W5BXXHGi; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="W5BXXHGi" Received: by smtp.kernel.org (Postfix) with ESMTPS id 0CF61C2BCC9; Mon, 11 May 2026 10:04:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778493848; bh=QdjYDTc663t50gmUWHyxhNky6o/XS1/BZyT41mBAD0w=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=W5BXXHGizoc366bhchIbasRej/Td6cmmcMxu5KOKrlsV5PKwFDGYQJ7khGkAmR0fZ B86Y7aMuyMPe3JBkkX7jlzbH5Lw4CtATLmCQieJKbg0Av7QIbsmlj66EgMGICPeZDm Zngobqud5AOvK0vgbgJtwQjc6fI3cDWDNdinxkrFXcM1pD+7CSnCSwAuaaThFJeMXw LopnGajc/Z1XY+dKS/1wsznAWz5BAnJyeruAIiqUtlarKNbpclkhg1BPw6VJ9LLsS+ QxPkeVoOybZNpRcfbbmraax8z1uaSGyj11qBvqit2iv5X46LaEsWvKMrhqURtHAzEn eiXW/xw33K0mQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 04814CD37B9; Mon, 11 May 2026 10:04:08 +0000 (UTC) From: Joshua Crofts via B4 Relay Date: Mon, 11 May 2026 12:04:07 +0200 Subject: [PATCH 2/7] iio: light: opt3001: use macros from bits.h header Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260511-opt3001-cleanup-v1-2-f7879dc3455c@gmail.com> References: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> In-Reply-To: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778493846; l=1682; i=joshua.crofts1@gmail.com; s=20260422; h=from:subject:message-id; bh=zkqAxPRq6/NV7Ilc+m0WZWAlcRf1i5Dhxp0SPGrlRjQ=; b=0ZeX+lchsOcqZ4Qd3Ks6hyYrVBLNiiotTh2GxqSFczFkylWut1VavjFcFW0qK2tAALw7WdIv1 uflqOVaB6LDDUQV0UzW+VB+Fhvli6Kd1dwhpJ/kAwMUGe3jjRMUBgKu X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=Xd+UVoRPiiI0K3LHQ2XIcXmO0jvVuFTv9eTx3lgBphI= X-Endpoint-Received: by B4 Relay for joshua.crofts1@gmail.com/20260422 with auth_id=746 X-Original-From: Joshua Crofts Reply-To: joshua.crofts1@gmail.com From: Joshua Crofts Use GENMASK() and BIT() macros from bits.h header where it makes sense. While at it, remove unused macro. No functional change. Signed-off-by: Joshua Crofts --- drivers/iio/light/opt3001.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index e6c3665f46be47129097c3997c7551ba9a8f6440..47f0e01a95e772954de0f1337ac= 0d881b8b32de6 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -33,17 +33,16 @@ #define OPT3001_MANUFACTURER_ID 0x7e #define OPT3001_DEVICE_ID 0x7f =20 -#define OPT3001_CONFIGURATION_RN_MASK (0xf << 12) +#define OPT3001_CONFIGURATION_RN_MASK GENMASK(15, 12) #define OPT3001_CONFIGURATION_RN_AUTO (0xc << 12) =20 #define OPT3001_CONFIGURATION_CT BIT(11) =20 -#define OPT3001_CONFIGURATION_M_MASK (3 << 9) +#define OPT3001_CONFIGURATION_M_MASK GENMASK(10, 9) #define OPT3001_CONFIGURATION_M_SHUTDOWN (0 << 9) -#define OPT3001_CONFIGURATION_M_SINGLE (1 << 9) +#define OPT3001_CONFIGURATION_M_SINGLE BIT(9) #define OPT3001_CONFIGURATION_M_CONTINUOUS (2 << 9) /* also 3 << 9 */ =20 -#define OPT3001_CONFIGURATION_OVF BIT(8) #define OPT3001_CONFIGURATION_CRF BIT(7) #define OPT3001_CONFIGURATION_FH BIT(6) #define OPT3001_CONFIGURATION_FL BIT(5) @@ -51,7 +50,7 @@ #define OPT3001_CONFIGURATION_POL BIT(3) #define OPT3001_CONFIGURATION_ME BIT(2) =20 -#define OPT3001_CONFIGURATION_FC_MASK (3 << 0) +#define OPT3001_CONFIGURATION_FC_MASK GENMASK(1, 0) =20 /* The end-of-conversion enable is located in the low-limit register */ #define OPT3001_LOW_LIMIT_EOC_ENABLE 0xc000 --=20 2.47.3 From nobody Sat Jun 13 02:58:38 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 00E073BD648; Mon, 11 May 2026 10:04:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493849; cv=none; b=BMAPC7OdO5PA7Gt7zPfL7dI8WxfLY7r5FdtsNo4Pt46IAG/X3Qp9QkRTRBxJqfCpv2tHqIfQgS8cO067sdyoSKOzhhNuOy8su8Q4USpHt0Gz/bETV3IsQtbg/+N+2TZWTmEj15dteeGRU0fUixRXNfuRacc8VNfFg6Mp4Fz2Yho= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493849; c=relaxed/simple; bh=17HfpOdQ5h55biMgQRtpYH16vvhXYQcihmO2PfS4otk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UcrC4PKAXLNKi4o6h0KY65C0+FIY+wjoEIDvsNE7l5ozFrGqDCPObP+Nq3CG4kaCvxrdAEeZjPrZnIDS6WMRYc5A8SVE3HgbNSDdNwDeO3VWZnTudyZ7ZoGUMF5j2J+HvRQCujlcfBQemopcTAZibE1Q+qqEW+IgFxC2QEMaRas= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oMqb6Dew; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="oMqb6Dew" Received: by smtp.kernel.org (Postfix) with ESMTPS id 37DCBC2BCFC; Mon, 11 May 2026 10:04:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778493848; bh=17HfpOdQ5h55biMgQRtpYH16vvhXYQcihmO2PfS4otk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=oMqb6DewO2Sk8saYiRULuUtUldTpeHeAsF2XrGHUqaOhHToWG/rt5rt2CuBvZOibM Wq5oXDP4CzWwUOq81jEf3RJKVDvvh/s3F2Fs08dCRLF3SvFL+sTdcCd6SmRiQeYWoO TJUZ8D/q/cJ0yLLHV+yl7180T92SGMeBOzKpRiJDGBUw3XYKHC77R6maurhlmRRAxQ LtFlOe0msSIVy2MSGk+Y+G5KsQOUsqYjFkI4MhDr7ssM7EGSgKIX0m+5K9dGCWCM2v Qil9Pp2DsC06AM5tDrr2Y+34VRVm9M/zA3vLqXZ7ttiTTzSm5dCs9pf0TGBmUbF8RJ vS3lEqZV6JM3Q== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2F044CD37B5; Mon, 11 May 2026 10:04:08 +0000 (UTC) From: Joshua Crofts via B4 Relay Date: Mon, 11 May 2026 12:04:08 +0200 Subject: [PATCH 3/7] iio: light: opt3001: prefer dev_err_probe() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260511-opt3001-cleanup-v1-3-f7879dc3455c@gmail.com> References: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> In-Reply-To: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778493846; l=3152; i=joshua.crofts1@gmail.com; s=20260422; h=from:subject:message-id; bh=4ZDg+2cFad43kksEtMJuHN/u9FLl2280zxG04zaNsxE=; b=1g/fiGvY8NnoA6DuWmEFYwmGom/Fg0mRoQLsNJQtHDXZSuc6X8TN85KKdGqyty4PKi5PpAWai OdlwBXYVnuFCa8qr+j3IjM+J7ch7zSe3OTuhjuWyxjJrcsjVzNVV5lP X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=Xd+UVoRPiiI0K3LHQ2XIcXmO0jvVuFTv9eTx3lgBphI= X-Endpoint-Received: by B4 Relay for joshua.crofts1@gmail.com/20260422 with auth_id=746 X-Original-From: Joshua Crofts Reply-To: joshua.crofts1@gmail.com From: Joshua Crofts Switch driver to use dev_err_probe() to unify error messages generated in *_probe() and probe path functions. Signed-off-by: Joshua Crofts --- drivers/iio/light/opt3001.c | 51 ++++++++++++++++++++---------------------= ---- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index 47f0e01a95e772954de0f1337ac0d881b8b32de6..4d9a17be04555aca368f7bc70a9= d9a47fb5b279e 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -723,11 +723,10 @@ static int opt3001_configure(struct opt3001 *opt) u16 reg; =20 ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_CONFIGURATION); - if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_CONFIGURATION); - return ret; - } + if (ret < 0) + return dev_err_probe(opt->dev, ret, + "failed to read register %02x\n", + OPT3001_CONFIGURATION); =20 reg =3D ret; =20 @@ -752,28 +751,25 @@ static int opt3001_configure(struct opt3001 *opt) =20 ret =3D i2c_smbus_write_word_swapped(opt->client, OPT3001_CONFIGURATION, reg); - if (ret < 0) { - dev_err(opt->dev, "failed to write register %02x\n", - OPT3001_CONFIGURATION); - return ret; - } + if (ret < 0) + return dev_err_probe(opt->dev, ret, + "failed to write register %02x\n", + OPT3001_CONFIGURATION); =20 ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_LOW_LIMIT); - if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_LOW_LIMIT); - return ret; - } + if (ret < 0) + return dev_err_probe(opt->dev, ret, + "failed to read register %02x\n", + OPT3001_LOW_LIMIT); =20 opt->low_thresh_mantissa =3D OPT3001_REG_MANTISSA(ret); opt->low_thresh_exp =3D OPT3001_REG_EXPONENT(ret); =20 ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_HIGH_LIMIT); - if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_HIGH_LIMIT); - return ret; - } + if (ret < 0) + return dev_err_probe(opt->dev, ret, + "failed to read register %02x\n", + OPT3001_HIGH_LIMIT); =20 opt->high_thresh_mantissa =3D OPT3001_REG_MANTISSA(ret); opt->high_thresh_exp =3D OPT3001_REG_EXPONENT(ret); @@ -875,20 +871,19 @@ static int opt3001_probe(struct i2c_client *client) iio->info =3D &opt3001_info; =20 ret =3D devm_iio_device_register(dev, iio); - if (ret) { - dev_err(dev, "failed to register IIO device\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, + "failed to register IIO device\n"); =20 /* Make use of INT pin only if valid IRQ no. is given */ if (irq > 0) { ret =3D request_threaded_irq(irq, NULL, opt3001_irq, IRQF_TRIGGER_FALLING | IRQF_ONESHOT, "opt3001", iio); - if (ret) { - dev_err(dev, "failed to request IRQ #%d\n", irq); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, + "failed to request IRQ #%d\n", + irq); opt->use_irq =3D true; } else { dev_dbg(opt->dev, "enabling interrupt-less operation\n"); --=20 2.47.3 From nobody Sat Jun 13 02:58:38 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 23DAC378826; Mon, 11 May 2026 10:04:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493849; cv=none; b=kP4cH23NlFH0elXBHOPKxmzmhRR67H1QhunnNS4bYM2JQoShzAvq/32uyKbxhYp/WNvna5t9G0Xbinf6IOqbusewEEgF/72EpZrnuaVLpZLcQlS6iXGsrZ1VluDoueTQtJZuov74kcC1Mp2m/r/f9DHvXibTXeP/LKdlEudo9tg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493849; c=relaxed/simple; bh=xZnzQbmymtfLwTpYLEWapi2G9Grc7MhAbvfH2/xNP40=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NayWSXcGXr3GxVibpIU7Ufog94fF6leRM9es//y0uuRJP65HV9CxWhhI+8Xgh/Ag/GxOGO7tb2skPOcW8aFeEQXIwYwS/XBy9nitlYr7/SvhOkOrqfVzwJRmo1qAT3xmG6/X7/jE/w+b2bpOxIUxsa+eLN/l5H3t8PtQdtbaQOY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=YVooXnOw; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="YVooXnOw" Received: by smtp.kernel.org (Postfix) with ESMTPS id 46DCFC2BCFA; Mon, 11 May 2026 10:04:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778493848; bh=xZnzQbmymtfLwTpYLEWapi2G9Grc7MhAbvfH2/xNP40=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=YVooXnOwMsAyEcUWTEa6E/5JjQsDsPuTk5fqIMiKArOIK8QZcIzQVy/bQsrbGAerl KbjuQqSnSmgp3ERoz5ALXPghYEY/421umdsNO+zKQr8IfkoRhO/zGP9kfReq+3g6h+ nmgQmK20G8rV5n5ZlPPcSst+/qNze2dDndwWQta+yUUhu2Uxp6LlNufHsH8ehyRnlJ kboNlFx+KM0uKzIiZ+QyWzESXfi9Z1gqJ4Uu4ERG02gDbiVwyqvnjzkw7a/EbDuI1v 8GpOkiqmOnzSCIBTtXGrW9Rsq9BM7xnA0jgofB2CzG9fuVji392flNDT/Y4k63JvP4 2UJwF+vyEsLBA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3F055CD37B7; Mon, 11 May 2026 10:04:08 +0000 (UTC) From: Joshua Crofts via B4 Relay Date: Mon, 11 May 2026 12:04:09 +0200 Subject: [PATCH 4/7] iio: light: opt3001: move driver to guard(mutex)() use Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260511-opt3001-cleanup-v1-4-f7879dc3455c@gmail.com> References: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> In-Reply-To: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778493846; l=4899; i=joshua.crofts1@gmail.com; s=20260422; h=from:subject:message-id; bh=XWsG3BHkkDBA7GXFpyBdwvkQTMljrbd6jqDNEGFJaN8=; b=8KSszUzy4a0H0dtNVqmPjBpJHSKzHegXar85FigjLhXDQ065uI99XwwNblwVLhNF4EwMkZH4q 7dmwh9wYCbTDLaZ9PguZv+2ipglzIvONPkqrgSQbIzEa8CvUXKmD7nt X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=Xd+UVoRPiiI0K3LHQ2XIcXmO0jvVuFTv9eTx3lgBphI= X-Endpoint-Received: by B4 Relay for joshua.crofts1@gmail.com/20260422 with auth_id=746 X-Original-From: Joshua Crofts Reply-To: joshua.crofts1@gmail.com From: Joshua Crofts Move driver to use guard(mutex)() macro, to facilitate automatic locking/unlocking of resources. This modernizes the driver and improves code style. While at it, remove unnecessary gotos and return variables. Signed-off-by: Joshua Crofts Reviewed-by: Andy Shevchenko --- drivers/iio/light/opt3001.c | 61 +++++++++++++----------------------------= ---- 1 file changed, 18 insertions(+), 43 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index 4d9a17be04555aca368f7bc70a9d9a47fb5b279e..bdff785bcfa9744cd25d32c5d00= d62a11dd9d866 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -10,6 +10,7 @@ =20 #include #include +#include #include #include #include @@ -478,7 +479,6 @@ static int opt3001_read_raw(struct iio_dev *iio, long mask) { struct opt3001 *opt =3D iio_priv(iio); - int ret; =20 if (opt->mode =3D=3D OPT3001_CONFIGURATION_M_CONTINUOUS) return -EBUSY; @@ -486,23 +486,17 @@ static int opt3001_read_raw(struct iio_dev *iio, if (chan->type !=3D opt->chip_info->chan_type) return -EINVAL; =20 - mutex_lock(&opt->lock); + guard(mutex)(&opt->lock); =20 switch (mask) { case IIO_CHAN_INFO_RAW: case IIO_CHAN_INFO_PROCESSED: - ret =3D opt3001_get_processed(opt, val, val2); - break; + return opt3001_get_processed(opt, val, val2); case IIO_CHAN_INFO_INT_TIME: - ret =3D opt3001_get_int_time(opt, val, val2); - break; + return opt3001_get_int_time(opt, val, val2); default: - ret =3D -EINVAL; + return -EINVAL; } - - mutex_unlock(&opt->lock); - - return ret; } =20 static int opt3001_write_raw(struct iio_dev *iio, @@ -510,7 +504,6 @@ static int opt3001_write_raw(struct iio_dev *iio, long mask) { struct opt3001 *opt =3D iio_priv(iio); - int ret; =20 if (opt->mode =3D=3D OPT3001_CONFIGURATION_M_CONTINUOUS) return -EBUSY; @@ -524,11 +517,9 @@ static int opt3001_write_raw(struct iio_dev *iio, if (val !=3D 0) return -EINVAL; =20 - mutex_lock(&opt->lock); - ret =3D opt3001_set_int_time(opt, val2); - mutex_unlock(&opt->lock); + guard(mutex)(&opt->lock); =20 - return ret; + return opt3001_set_int_time(opt, val2); } =20 static int opt3001_read_event_value(struct iio_dev *iio, @@ -537,26 +528,21 @@ static int opt3001_read_event_value(struct iio_dev *i= io, int *val, int *val2) { struct opt3001 *opt =3D iio_priv(iio); - int ret =3D IIO_VAL_INT_PLUS_MICRO; =20 - mutex_lock(&opt->lock); + guard(mutex)(&opt->lock); =20 switch (dir) { case IIO_EV_DIR_RISING: opt3001_to_iio_ret(opt, opt->high_thresh_exp, opt->high_thresh_mantissa, val, val2); - break; + return IIO_VAL_INT_PLUS_MICRO; case IIO_EV_DIR_FALLING: opt3001_to_iio_ret(opt, opt->low_thresh_exp, opt->low_thresh_mantissa, val, val2); - break; + return IIO_VAL_INT_PLUS_MICRO; default: - ret =3D -EINVAL; + return -EINVAL; } - - mutex_unlock(&opt->lock); - - return ret; } =20 static int opt3001_write_event_value(struct iio_dev *iio, @@ -579,12 +565,12 @@ static int opt3001_write_event_value(struct iio_dev *= iio, if (val < 0) return -EINVAL; =20 - mutex_lock(&opt->lock); + guard(mutex)(&opt->lock); =20 ret =3D opt3001_find_scale(opt, val, val2, &exponent); if (ret < 0) { dev_err(opt->dev, "can't find scale for %d.%06u\n", val, val2); - goto err; + return ret; } =20 whole =3D opt->chip_info->factor_whole; @@ -607,18 +593,12 @@ static int opt3001_write_event_value(struct iio_dev *= iio, opt->low_thresh_exp =3D exponent; break; default: - ret =3D -EINVAL; - goto err; + return -EINVAL; } =20 ret =3D i2c_smbus_write_word_swapped(opt->client, reg, value); - if (ret < 0) { + if (ret < 0) dev_err(opt->dev, "failed to write register %02x\n", reg); - goto err; - } - -err: - mutex_unlock(&opt->lock); =20 return ret; } @@ -647,7 +627,7 @@ static int opt3001_write_event_config(struct iio_dev *i= io, if (!state && opt->mode =3D=3D OPT3001_CONFIGURATION_M_SHUTDOWN) return 0; =20 - mutex_lock(&opt->lock); + guard(mutex)(&opt->lock); =20 mode =3D state ? OPT3001_CONFIGURATION_M_CONTINUOUS : OPT3001_CONFIGURATION_M_SHUTDOWN; @@ -656,7 +636,7 @@ static int opt3001_write_event_config(struct iio_dev *i= io, if (ret < 0) { dev_err(opt->dev, "failed to read register %02x\n", OPT3001_CONFIGURATION); - goto err; + return ret; } =20 reg =3D ret; @@ -664,14 +644,9 @@ static int opt3001_write_event_config(struct iio_dev *= iio, =20 ret =3D i2c_smbus_write_word_swapped(opt->client, OPT3001_CONFIGURATION, reg); - if (ret < 0) { + if (ret < 0) dev_err(opt->dev, "failed to write register %02x\n", OPT3001_CONFIGURATION); - goto err; - } - -err: - mutex_unlock(&opt->lock); =20 return ret; } --=20 2.47.3 From nobody Sat Jun 13 02:58:38 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E9673B2FE5; Mon, 11 May 2026 10:04:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493849; cv=none; b=qIcgx2jnkqrGg2YX+Gp4yytxkZEavYjaGIEbzCGXCv+v4DMq22oreLhpyFYAUxFNQxFhK1RduqEf43YvaVFuRoJOkJIfybRRAl2qBAIkQ1SQT//x9Gud+VbuSnENFGwrdi1BSrAbCUomHqszKqrSWdWuLPhuEWgdLyMuzCIh+PE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493849; c=relaxed/simple; bh=nb4kCBCHyrfIFcgNEo3rbjwW9n+s6utiA5PwbihLkAk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=r/ypCMek8+mXIyuwhsU8clzlHm5MxtOiHengjJ5H810hzqOC/eUdurizeIzYG+8vQjYRZPjKMKJIIgGF3229Dh/bCqq51tz05bRU9SWvC3MuM7pulLzs5TYB5ExnAc9PoB7S2pWYJftAZmgoX5m9dRx9dllFo9GzW+Mkom544jU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AbCwdWyc; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AbCwdWyc" Received: by smtp.kernel.org (Postfix) with ESMTPS id 582E5C2BD05; Mon, 11 May 2026 10:04:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778493848; bh=nb4kCBCHyrfIFcgNEo3rbjwW9n+s6utiA5PwbihLkAk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=AbCwdWycKrxJRzCdcXypPh1c9rgqL+GpBGTmS0f0hJKvJIlZFgaDvLysRkdTj1qe1 7Uahryk3ZWi78YzQVsoCSFczbXwTX4cffLo2PiHxcjFHW3a6SKGaPx7RgXrsJBiuzo +4tlUUDz4wv7A7DvPE5CEnAOrb16fhG8BR7kJxfb4GA7dYhyQI4lwRJA3IJaEaJqsM Rqk5oPSKa7urlh2zkCNE3TyoS/h4ubGlCFpzPpIBLzrRb4+1afuM/3sD2dCbRTOpkh k5nlS2v45Tdx+MkyjsIYDvcIi9zFLmPrjcukb09Ymjq+zVIieQn2t74gbYWiBDO/2a Bj8Jfraa6S47A== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 50510CD37B5; Mon, 11 May 2026 10:04:08 +0000 (UTC) From: Joshua Crofts via B4 Relay Date: Mon, 11 May 2026 12:04:10 +0200 Subject: [PATCH 5/7] iio: light: opt3001: localize for loop iterator Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260511-opt3001-cleanup-v1-5-f7879dc3455c@gmail.com> References: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> In-Reply-To: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778493846; l=965; i=joshua.crofts1@gmail.com; s=20260422; h=from:subject:message-id; bh=u/HUKTzIcOfpvygcTLqBLKYbkfqnk+THD3TcTD43zww=; b=V7B5NHXs7MXVYQtshZ/EhhLkFp17pi8ropfMt6deX/iiH4b0+lfgOE2fYaPw5+ae7vzoouYJG cPbn7gWmtnyBMVWAXKQr2lX6hrT8R7q5KRpOVvg44Z0S2qo9pX0fcpJ X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=Xd+UVoRPiiI0K3LHQ2XIcXmO0jvVuFTv9eTx3lgBphI= X-Endpoint-Received: by B4 Relay for joshua.crofts1@gmail.com/20260422 with auth_id=746 X-Original-From: Joshua Crofts Reply-To: joshua.crofts1@gmail.com From: Joshua Crofts Localize loop iterator to tighten scope and fix checkpatch.pl error. No functional change. Signed-off-by: Joshua Crofts --- drivers/iio/light/opt3001.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index bdff785bcfa9744cd25d32c5d00d62a11dd9d866..3719757f6ed7784cbf2e4aa659e= 5c69a39b0cce2 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -228,8 +228,7 @@ static const struct opt3001_scale opt3002_scales[] =3D { static int opt3001_find_scale(const struct opt3001 *opt, int val, int val2, u8 *exponent) { - int i; - for (i =3D 0; i < ARRAY_SIZE(*opt->chip_info->scales); i++) { + for (int i =3D 0; i < ARRAY_SIZE(*opt->chip_info->scales); i++) { const struct opt3001_scale *scale =3D &(*opt->chip_info->scales)[i]; /* * Compare the integer and micro parts to determine value scale. --=20 2.47.3 From nobody Sat Jun 13 02:58:38 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2EBED38C41B; Mon, 11 May 2026 10:04:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493849; cv=none; b=HFkBTFg6V+rNwapjQSwwU6fiE8HdLcCuxTtShX8wCcai0I6lszNEQZIS3yakn87eLrqZn8vXfU6addwYrqqlq0C/tFT1n1sjMFL6CXD6wwyMBQZ374kMtJq1kgjPymCmaO+nsYGWM6TYHl6yxFqoYD4R742VtYndi8wLxm1VLG0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493849; c=relaxed/simple; bh=wNrwPBAxH/ZRlv8+EgsSsrh9pCV6eZXbE6d7MqZdawg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EzmqZ8o1GRff0unncxW9gQjaP9bNJml+2nXNu2lgkzoqRI2mslnJFEE3MapjfJU8TT+7MawHQujZNqgCgl8VWrqrTJUD6MuQ8heg0aa3CizYAJIAPrlEs4i08sbqxOKUXL/79LTkfRuIPIQf4NQLgdGBXSH1dSFcJRm1v5ifl1Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LSrbkm4c; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LSrbkm4c" Received: by smtp.kernel.org (Postfix) with ESMTPS id 6E5C2C2BD01; Mon, 11 May 2026 10:04:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778493848; bh=wNrwPBAxH/ZRlv8+EgsSsrh9pCV6eZXbE6d7MqZdawg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=LSrbkm4cBudqCfxEbn0X74QtMiyb9Iao/ZhpWhwEwmU5I72WwpMpVo4Iq3OmHbIyf TasEgSKBT0bmRKoMUd+B5vW4/9zkG9Y2mVDvhAa3044dLNmeSg/86d7YCbhEyoAf0n gl5z+fTw6wLaUuPzN7YzWLMSMKSGoKhPra8PS0e4jDuTEu4sy3pEOUVe3a2m0XlSVF EobZeF7mYKlEoSfqCNHtMssYkQqOuMUWvXod5pfo/RFFthei8ag3xnTGcCkzZs9S0o qkp6+aVZYpL7dt0NpXJSLKUaoKcy8/eYqBFsCEqT5qAY2T0I894FiFMuBNdvDQie8b VlgB65sqI1bnA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 664E1CD37B9; Mon, 11 May 2026 10:04:08 +0000 (UTC) From: Joshua Crofts via B4 Relay Date: Mon, 11 May 2026 12:04:11 +0200 Subject: [PATCH 6/7] iio: light: opt3001: remove unnecessary comments Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260511-opt3001-cleanup-v1-6-f7879dc3455c@gmail.com> References: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> In-Reply-To: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778493846; l=1455; i=joshua.crofts1@gmail.com; s=20260422; h=from:subject:message-id; bh=CvHqUzEKYCIaa3N5Ba+LTLV0AD0IUgdZt4E0WfgOkO0=; b=kq+ViCYTpJEMuFKTmLB8xYd+E7aaOT2pMcseoIDJy1ikaxaUa82+PpyppDf8eTy1eTKdgBeqn 0SX0Hl8VCUHCP73MvCV+nXy13peu0xGFU+h/9l6Qnt5It/Sg8zwkMVH X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=Xd+UVoRPiiI0K3LHQ2XIcXmO0jvVuFTv9eTx3lgBphI= X-Endpoint-Received: by B4 Relay for joshua.crofts1@gmail.com/20260422 with auth_id=746 X-Original-From: Joshua Crofts Reply-To: joshua.crofts1@gmail.com From: Joshua Crofts Remove unnecessary comments as code is self explanatory. No functional change. Signed-off-by: Joshua Crofts --- drivers/iio/light/opt3001.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index 3719757f6ed7784cbf2e4aa659e5c69a39b0cce2..155794bb28f68a945e20b083e38= 2561ca6ad462e 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -369,7 +369,6 @@ static int opt3001_get_processed(struct opt3001 *opt, i= nt *val, int *val2) if (ret =3D=3D 0) return -ETIMEDOUT; } else { - /* Sleep for result ready time */ timeout =3D (opt->int_time =3D=3D OPT3001_INT_TIME_SHORT) ? OPT3001_RESULT_READY_SHORT : OPT3001_RESULT_READY_LONG; msleep(timeout); @@ -388,7 +387,6 @@ static int opt3001_get_processed(struct opt3001 *opt, i= nt *val, int *val2) goto err; } =20 - /* Obtain value */ ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_RESULT); if (ret < 0) { dev_err(opt->dev, "failed to read register %02x\n", @@ -919,7 +917,7 @@ static const struct opt3001_chip_info opt3002_chip_info= rmation =3D { static const struct i2c_device_id opt3001_id[] =3D { { "opt3001", (kernel_ulong_t)&opt3001_chip_information }, { "opt3002", (kernel_ulong_t)&opt3002_chip_information }, - { } /* Terminating Entry */ + { } }; MODULE_DEVICE_TABLE(i2c, opt3001_id); =20 --=20 2.47.3 From nobody Sat Jun 13 02:58:38 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F9193BE631; Mon, 11 May 2026 10:04:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493849; cv=none; b=qHMtaBxmj2ef0erggcqdQhD1V+5JGyxxEdbqRSlaAOuBMZiwaDI9K0/LQqpR4EikkZpjs9BQIlEEjCqVjMW00xCynGZreTUMMOkAtx2sU2KHF+0cVpQgjzu6YwBxwYy/PZuRKhgW6YZixj+d6pEvVQtK3QoyiZ0PqcPSgmxgHqY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778493849; c=relaxed/simple; bh=WswLr6Us1TjtRXLIEomwDybgJpR/RaTpxgWU/yYhRrg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Rm2H5NN+TI2b56glMJf8f2BjEw+D5y/HR29nxT84U8qsu9SXWDAkhGzxt+/5MI1uQ5IyU9L1jP1kFvoQ+32vw/IaiAvYuHpqoe9jVnYkujsAHEgNtfqy9SzseowjrccYGVEGUT3RA6Nb2iW729Obmw0aqXJksTP0BtbBuERv/fA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=WaTS38+W; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WaTS38+W" Received: by smtp.kernel.org (Postfix) with ESMTPS id 7A579C2BD04; Mon, 11 May 2026 10:04:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778493848; bh=WswLr6Us1TjtRXLIEomwDybgJpR/RaTpxgWU/yYhRrg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=WaTS38+WREuGS3XEptKR2u80s1ubJKS/jCLnJmesoENdWkpVq/CtjSZKEcTEKzPw0 CLiFVNI6BXxaJUERYLGvT9g6br0sVFSbgLpwuvKX3ZrFmjiivGJdZnzZNmczJoo4zS 9jh8RmYsN81VP0j/hsBHqlurKaSJgl1CcKoI5+9I+GxE7bBrVklRJwlXmDfkudAMQ/ 4TYLscLifpzW+jpCxdO1/XoajgEQcr+5slSt6fpNtTAGk+6lpuCZPKE+VvJSu5akWO yee0RRV+CU9o3juuFNAlAM/22i/f+ra17SQVwwPlJQCaccDBhiYUPNeJ4jQ2yAHv+M mxhy7sLmR6Dbg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 75C0ACD37AC; Mon, 11 May 2026 10:04:08 +0000 (UTC) From: Joshua Crofts via B4 Relay Date: Mon, 11 May 2026 12:04:12 +0200 Subject: [PATCH 7/7] iio: light: opt3001: switch driver to managed resources Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260511-opt3001-cleanup-v1-7-f7879dc3455c@gmail.com> References: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> In-Reply-To: <20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778493846; l=3774; i=joshua.crofts1@gmail.com; s=20260422; h=from:subject:message-id; bh=8ovE0Y0dodKlQ5XVRY91rGrO9oJoS2L9RVHQLBYzFz0=; b=TwEasXxf3piT93+uKgZLsbAE9vhMlHhXjVS55oEy78azUucyuaePGvbXhPNWqyvt3J3Tv01tB /hZ7y4a1WI4C+PMb5f9KEBGO0lTXWTpWelbY/1kMEpF8W9fn3Mj23Z4 X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=Xd+UVoRPiiI0K3LHQ2XIcXmO0jvVuFTv9eTx3lgBphI= X-Endpoint-Received: by B4 Relay for joshua.crofts1@gmail.com/20260422 with auth_id=746 X-Original-From: Joshua Crofts Reply-To: joshua.crofts1@gmail.com From: Joshua Crofts Move the driver to use devm_* functions to automate resource management and simplify error handling. This also allows removal of the opt3001_remove() function. Signed-off-by: Joshua Crofts --- drivers/iio/light/opt3001.c | 67 +++++++++++++++++++++++------------------= ---- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index 155794bb28f68a945e20b083e382561ca6ad462e..3ea18d8993da627ae226ac414e8= 035d8c968861b 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -804,6 +804,29 @@ static irqreturn_t opt3001_irq(int irq, void *_iio) return IRQ_HANDLED; } =20 +static void opt3001_power_off(void *data) +{ + struct opt3001 *opt =3D data; + int ret; + u16 reg; + + ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_CONFIGURATION); + if (ret < 0) { + dev_err(opt->dev, "failed to read register %02x\n", + OPT3001_CONFIGURATION); + return; + } + + reg =3D ret; + opt3001_set_mode(opt, ®, OPT3001_CONFIGURATION_M_SHUTDOWN); + + ret =3D i2c_smbus_write_word_swapped(opt->client, OPT3001_CONFIGURATION, + reg); + if (ret < 0) + dev_err(opt->dev, "failed to write register %02x\n", + OPT3001_CONFIGURATION); +} + static int opt3001_probe(struct i2c_client *client) { struct device *dev =3D &client->dev; @@ -822,7 +845,10 @@ static int opt3001_probe(struct i2c_client *client) opt->dev =3D dev; opt->chip_info =3D i2c_get_match_data(client); =20 - mutex_init(&opt->lock); + ret =3D devm_mutex_init(dev, &opt->lock); + if (ret) + return dev_err_probe(dev, ret, "Failed to initialize mutex\n"); + init_waitqueue_head(&opt->result_ready_queue); i2c_set_clientdata(client, iio); =20 @@ -836,6 +862,10 @@ static int opt3001_probe(struct i2c_client *client) if (ret) return ret; =20 + ret =3D devm_add_action_or_reset(dev, opt3001_power_off, opt); + if (ret) + return ret; + iio->name =3D client->name; iio->channels =3D *opt->chip_info->channels; iio->num_channels =3D opt->chip_info->num_channels; @@ -849,9 +879,9 @@ static int opt3001_probe(struct i2c_client *client) =20 /* Make use of INT pin only if valid IRQ no. is given */ if (irq > 0) { - ret =3D request_threaded_irq(irq, NULL, opt3001_irq, - IRQF_TRIGGER_FALLING | IRQF_ONESHOT, - "opt3001", iio); + ret =3D devm_request_threaded_irq(dev, irq, NULL, opt3001_irq, + IRQF_TRIGGER_FALLING | IRQF_ONESHOT, + "opt3001", iio); if (ret) return dev_err_probe(dev, ret, "failed to request IRQ #%d\n", @@ -864,34 +894,6 @@ static int opt3001_probe(struct i2c_client *client) return 0; } =20 -static void opt3001_remove(struct i2c_client *client) -{ - struct iio_dev *iio =3D i2c_get_clientdata(client); - struct opt3001 *opt =3D iio_priv(iio); - int ret; - u16 reg; - - if (opt->use_irq) - free_irq(client->irq, iio); - - ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_CONFIGURATION); - if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_CONFIGURATION); - return; - } - - reg =3D ret; - opt3001_set_mode(opt, ®, OPT3001_CONFIGURATION_M_SHUTDOWN); - - ret =3D i2c_smbus_write_word_swapped(opt->client, OPT3001_CONFIGURATION, - reg); - if (ret < 0) { - dev_err(opt->dev, "failed to write register %02x\n", - OPT3001_CONFIGURATION); - } -} - static const struct opt3001_chip_info opt3001_chip_information =3D { .channels =3D &opt3001_channels, .chan_type =3D IIO_LIGHT, @@ -930,7 +932,6 @@ MODULE_DEVICE_TABLE(of, opt3001_of_match); =20 static struct i2c_driver opt3001_driver =3D { .probe =3D opt3001_probe, - .remove =3D opt3001_remove, .id_table =3D opt3001_id, =20 .driver =3D { --=20 2.47.3