From nobody Mon Jun 8 08:29:03 2026 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (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 8A1E742EEAD for ; Wed, 3 Jun 2026 17:12:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506777; cv=none; b=i7fto8siMt7NYOXnye+k+SpztvgkeRLzhzdhhhaQVdZaChCt1QHPW8tAX2bwGVf8ErcLUxC0XK+kZk8DAbWL22lYcJRnT1KwGwDYg/2bX0UpfwdH8C2BJSvoToE1ywlbya2q1kAuRgnVa/0asL/U/ZaN7a6ioDa5M36vpChXZTo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506777; c=relaxed/simple; bh=VPE1N0CcVBqslo2XPjxC64Yibn0ybQG+k6RsuywdWac=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=szVVTI6FMov1KpnlBsiz884m/zg7hHiBNSV1OZyLepavPUN1THWZV9iJDeL/iTyXulOj/W78o4Q+u7OFKOwfIQoHFpKQ/dXg2CheTaydVckuDxdymzvbldA2GYlHMBCE1ItZGoDeqgUphseHFwA9mtTz6cMJjLker5WDrf18FrQ= 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=iAVXDmMB; arc=none smtp.client-ip=209.85.221.42 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="iAVXDmMB" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-45efb698ef2so2526386f8f.3 for ; Wed, 03 Jun 2026 10:12:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780506775; x=1781111575; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=E4j0TI1un02xuJRUmwkXAF6i5ZkGtnqZivF2Rw6pdJ8=; b=iAVXDmMBIxqv41HbOAZS9twc3EWDm7qYqXwvovCAhSKSDIVTuRW89+T5/dR0gJaNV3 8ZPWJhBONAFZ8ybQKSsOXSl0g/RUS/QBNFnMJctF4ETv3sy5GjoWb5CBnwoK4cV8LWD9 ZATGmD+e/qqrd/i4/lKNJ76tqPrOQ6CcqtS73MAAWTOUCo/ESJoqmo/xlxtaVQZjUTEA 88+wejKcv7Sg8JFxtpWaYMHiLe7HIZDKj0b7LQW8Be7RFhC5yG6LrWd4QZYXpigr4wK7 j3RMDIhVEg2F13qYzY5J8Iwp7vEZslC5nEXrdR8BD2adCUkdot5E7RY2+f1mMfqmI2Ee 0TgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780506775; x=1781111575; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=E4j0TI1un02xuJRUmwkXAF6i5ZkGtnqZivF2Rw6pdJ8=; b=snEMv8vxzfeDxuDNIDxoJ/Rzm6OVJ6BZafhF75/MDYfcXTndXPJyGvZSP40GdLzkLh Fa3xyZBTsro2kOBirlmv7OMGxYB7W6wM0V9GBoPgevn+clfvPQW3TVrAw7Paw4PUspJy gTccp+bkMLZ0aOGtT43KTPHxZTS5qylhvzlMnZkp4+PBnYu/ZGSmiYeZ+hh38QX2QpaN DFiHzHOLHFG3p+zlx7WrdzSt5SWULIVOCiIWrkITb3xkNVtTDesZW42Eh0QdBfphGmUc 0kHlwkvHYe0CTlDg4IQxZVKr9Fqw3g7H+QLez3L58IKMLszJWGX2R0MepF4EZlkGEg7v 9G/g== X-Forwarded-Encrypted: i=1; AFNElJ9/2lPgWmuiCti/MQtk3rmSEzKGsQEj2WoBzoLLcIpRge0XWhEsF0EFQV8C0T/lLdnYwMU5Q8JEBZpLmhc=@vger.kernel.org X-Gm-Message-State: AOJu0Yy7Qk6jfCW4mDio3vsQmmB1mHOzTzD9PbrzqByjP4pnrFOItTt4 zk0FRYJWWJFyGwrAA/QRyUdeAeBOnXwtoytDJhzwQOofbEhooi/LEZzI X-Gm-Gg: Acq92OEzAlg1VFYImXMNRPJ6M72ZbqkS01HLRdGfywf1+mVtcnquTAzc7lgbJ+GmYAv 6hWaYFHpuquQ44moGWwx4hoRYA+C8AvEuaTgsmhXRIOokpSAc4yEA5uJKalzQauWz36lUsJ+4UH uZj0glDTmhWTc/EoBiVyQaS2p5I6zn03t152agS6ymk8/KCnx+PNZ4Bx3Q/Wd7UYS9Fi51fRryS 8Z7pbRJApNriHGPQhITAXRVTyVlpgNG7Rfc6zuLXzT/nNhvJMavbpC42W8bcYVc8kwtwyQmIyOy 2ACPUIu1Su0NdAzUK+VZaB1odd5D9dZTyrh75NxYAmVOSRmuQuK4RWx8r7k0TlIvM9zauKoZDz4 0ImuMJWSoCmhFvOjMXfzu5tCnCGt6gFD7m2dKzT2J8R/Gi+yGK78ftdGBrOk4lFWt4cU0Ejk58E kcxAAxT+Ff5/quMHshSXyvDfnNONojVf0Uf2P/cqR/sIcW+44GCD/qRkvt6rc7F4qYBWv9DTpgq eKjhLmPD7pDi1CBvJbN7Elw8zE0DPuFCbB/+c2DAGMXktRh9WoqtKhvqa+1PP6vl3LV3flthJDO bnlIP5JBIV2foC2m/PT7C55pCGThxCBms0Hker3H239bUbjimyk= X-Received: by 2002:a05:600c:4ecc:b0:490:b724:dbd6 with SMTP id 5b1f17b1804b1-490b724dd8emr67557545e9.6.1780506775009; Wed, 03 Jun 2026 10:12:55 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0:c287:187e:fb7a:66a4]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f345209sm8797506f8f.17.2026.06.03.10.12.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 10:12:54 -0700 (PDT) From: Joshua Crofts Date: Wed, 03 Jun 2026 19:12:52 +0200 Subject: [PATCH v5 1/8] iio: light: opt3001: move device registration to end of 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: <20260603-opt3001-cleanup-v5-1-3ef7b926d555@gmail.com> References: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@gmail.com> In-Reply-To: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@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.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780506773; l=1802; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=VPE1N0CcVBqslo2XPjxC64Yibn0ybQG+k6RsuywdWac=; b=z2HRwVihwymPCuEoRhCW0B/RoRNvFBQWK9OoJnIJ/qWm1XgLj3j/eB/t+Y5BF+rPYAzt7AE7I sXMuMXo5ZBnBFJFa/9FUl8MgIXiGWN8fwz9wEH6yUWLZhqOvf1j4KQO X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= Move IIO device registration to the end of the probe() function to follow standard driver teardown/setup ordering and improve driver logic. Additionally, switch devm_iio_device_register() to its unmanaged counterpart as current driver implementation mixes managed and unmanaged resources, causing potential resource leaks. Also, add iio_device_unregister() to remove() function to correctly handle teardown. Suggested-by: Jonathan Cameron Signed-off-by: Joshua Crofts --- drivers/iio/light/opt3001.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index 03c7a87b4a8e..6a39f116f931 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -874,12 +874,6 @@ static int opt3001_probe(struct i2c_client *client) iio->modes =3D INDIO_DIRECT_MODE; 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; - } - /* Make use of INT pin only if valid IRQ no. is given */ if (irq > 0) { ret =3D request_threaded_irq(irq, NULL, opt3001_irq, @@ -894,7 +888,17 @@ static int opt3001_probe(struct i2c_client *client) dev_dbg(opt->dev, "enabling interrupt-less operation\n"); } =20 + ret =3D iio_device_register(iio); + if (ret) + goto free_irq; + return 0; + +free_irq: + if (irq > 0) + free_irq(irq, iio); + + return ret; } =20 static void opt3001_remove(struct i2c_client *client) @@ -904,6 +908,8 @@ static void opt3001_remove(struct i2c_client *client) int ret; u16 reg; =20 + iio_device_unregister(iio); + if (opt->use_irq) free_irq(client->irq, iio); =20 --=20 2.54.0 From nobody Mon Jun 8 08:29:03 2026 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.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 1F8BA44BCA5 for ; Wed, 3 Jun 2026 17:12:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506779; cv=none; b=HT6F79Zjwqt+1dUeC0FrYwkRynJVYA39vUtrN/mTOBJou1T3tpaE4sueG0dnbrPwuIyem8cdVQzwDY/N7omepMnaejKkygnVVUTUnEdc76LPwnkU9jOZnZRygYy+Ku/zBRyKhnzTtdMkPZqTSXbdizBCuQtPjMx9auiuiuairkY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506779; c=relaxed/simple; bh=UbnijoFxISD3PLOdi16aV450N7OVHX/fvpdUD5RitaM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EMeoUCudtPy17iZYOOuJ8HjSNIhVy9Gvq7jBhN+dZcwdd+XsMgGpR662+X8YnpUIM+AatxDu+ioDfaLS00yNn8UNL27XwJVvdTQ088RSMn9TjN7swRZ63YOdP1cZCGLrpt+Sk1Xk55nMnlEoDaIoleE216AFEZ1RwUaXnr2i2go= 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=VFOga5K2; arc=none smtp.client-ip=209.85.221.54 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="VFOga5K2" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-45eea68dd6fso3752091f8f.2 for ; Wed, 03 Jun 2026 10:12:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780506776; x=1781111576; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=We/M6X3ECs+FNGq2oecfl9rIF1LYGFQdK9y85nZ/zJY=; b=VFOga5K2ZH0SUxqrMwZE/oITHoj8025mWBUQDJvfWuSCBf/Za9elHR+W+nkBABnoBl faXXqK1KTlik0ppr4c4Jt6RzkkehVcPLyBC69qtvQTliV2U3lvngK0nV6Pks5eZ1tqaW De2zDbsdxnMNKVuuNgED8km8vPypM3auRRfMu0oDGU/erddF0bsu1UbBvEeYDv92A3Xv 1yH1Pi0zyEkdxAFE7ksxeF1eCIxAmP1IgQuJ+LBfgSAl+bro6IaLQz43wm7mZOMXSr8c f3AYAM6RWtNYut28nope6NLBQJtWxTY0qbCTPSDLp9whv8P5JxX7UWLDtgPsaxTqGvuR mh9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780506776; x=1781111576; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=We/M6X3ECs+FNGq2oecfl9rIF1LYGFQdK9y85nZ/zJY=; b=FUiiiuGOQt718TgnGOtOCAHt/IkzLDOo/r8IKezzWjvHmdYJUEfFnwTc41p97srcju sfShL1U7XeGtecsbHEFS8wcWyKEnpfrSuG6srUf4w7Pj1O80idUImyS3/f2CPj23lPwn oUnNYSRB9GNCxkBW0ve/ZIO2hrrXzyZWe76Y2AN9+UimbAQ0ggusLqizUo43GoNBkAZq IgegIJQwyqiXQH4bxDhRlxe4zglkvK1e225BPa7waE9hQWGi+b2RMm0X8PKPlS5dOvxx ODMqUOUadsJ2xuvvvxDQUni4xtSAzQ+E+RUvh4cxT78pn8KKPo5Heq5A+x+qGGQbjJm3 PW1g== X-Forwarded-Encrypted: i=1; AFNElJ+A/Gy+jm9J+inpXVItaW2xsRKoZUCuCnRuR4QTWPkZK7QS+oSjpIwQk5/t2ifGgzMEmTlyUG/W/bkAdbg=@vger.kernel.org X-Gm-Message-State: AOJu0Yy/8PxfPKI9W5udDXwmvQljH2ClWO90++OjtOGpF8IFyTZuwysd /fh0pdPoyut3UZhZkr3qdKCOvphobRrKM+4M3ovKdNW+yFrh8N33652s X-Gm-Gg: Acq92OHsc4jhTgqmbQlncqSUxQW8FjxT9RSC+HTJhEW/gedvrQMDwh8/zTZYaryvkeZ dZ8ifYT8P0ZsV2N1S030jicSr2vZJWwXOlVuxiyGQD2y6x+qWs883PTmj1yBZuWD7NWoI05ozdo X4OgQQSTLakZIwZIqiY6h/eQ3GHarrbhouXqniV7H6KY86r/JKhuh8aBWBiGOpt17zKq3vpaAk0 TdCTXSN4UqWJM8g4xO8lTgz0K8wSothwWzhjkXqUYnWTEUNFT5lc4/0RLtGH0t3jMEaxz5J+YW1 crPgnZ2IB3JSJoATmydJkdpA6d5Z2CC1mDD/li0mHvDqHoXBRNeHEWP+afKnbuD4E0ZB1BA+YH/ ll4n6LKnUJeuWHR5IqTT2f3TAHDrhqkGoITXvcLq76e/1ANpRPWyjLmUcOCvhwhK3I+iCBViwnl 1TgHBYISU7nF7zbZWT3FCtbXn424hZsLJJ5kzbgq2FDYebGnMsD/AqgqT/LuUB5Wr9i6zapYdvK 2ooN8JXSc9MWx8L19hHsupp4QxCWzSZOBsedzN39tKl0imNK6R3bP7jMEl8kSQd1KTcXa9q3zuo FMTtc7w3+iaxrnKyJklRYspN3NrGG4+ireke8FfjujaltSTqVEI= X-Received: by 2002:a05:6000:4692:b0:460:2477:2277 with SMTP id ffacd0b85a97d-4602477246dmr2331756f8f.31.1780506775606; Wed, 03 Jun 2026 10:12:55 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0:c287:187e:fb7a:66a4]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f345209sm8797506f8f.17.2026.06.03.10.12.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 10:12:55 -0700 (PDT) From: Joshua Crofts Date: Wed, 03 Jun 2026 19:12:53 +0200 Subject: [PATCH v5 2/8] iio: light: opt3001: use local struct device and i2c_client variables 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: <20260603-opt3001-cleanup-v5-2-3ef7b926d555@gmail.com> References: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@gmail.com> In-Reply-To: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@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 , Andy Shevchenko X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780506773; l=13720; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=UbnijoFxISD3PLOdi16aV450N7OVHX/fvpdUD5RitaM=; b=R8gSN9bh+XegbKEh8SADCm5m5qFb7D2BwLWV0zve8zfM28I5odE9QsEHFl5JuP1Z8hxFh0Kvn PdOqihcfgenDQYrH1+9EneniGzHtrucgqfa5WE7KOD37vnQt6XNezeO X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= Switch the driver to use local variables for struct device and struct i2c_client and remove struct device member from struct opt3001, as the former can be derived from struct client. While at it, ensure that parentheses alignment is correct in functions that were changed in this patch. No functional change. Suggested-by: Andy Shevchenko Reviewed-by: Andy Shevchenko Signed-off-by: Joshua Crofts --- drivers/iio/light/opt3001.c | 149 +++++++++++++++++++++++-----------------= ---- 1 file changed, 78 insertions(+), 71 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index 6a39f116f931..efaad85dfaf3 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -101,7 +101,6 @@ struct opt3001_chip_info { =20 struct opt3001 { struct i2c_client *client; - struct device *dev; =20 struct mutex lock; bool ok_to_ignore_lock; @@ -313,6 +312,8 @@ static const struct iio_chan_spec opt3002_channels[] = =3D { =20 static int opt3001_get_processed(struct opt3001 *opt, int *val, int *val2) { + struct i2c_client *client =3D opt->client; + struct device *dev =3D &client->dev; int ret; u16 mantissa; u16 reg; @@ -326,12 +327,12 @@ static int opt3001_get_processed(struct opt3001 *opt,= int *val, int *val2) * doing so will overwrite the low-level limit value however we * will restore this value later on. */ - ret =3D i2c_smbus_write_word_swapped(opt->client, - OPT3001_LOW_LIMIT, - OPT3001_LOW_LIMIT_EOC_ENABLE); + ret =3D i2c_smbus_write_word_swapped(client, + OPT3001_LOW_LIMIT, + OPT3001_LOW_LIMIT_EOC_ENABLE); if (ret < 0) { - dev_err(opt->dev, "failed to write register %02x\n", - OPT3001_LOW_LIMIT); + dev_err(dev, "failed to write register %02x\n", + OPT3001_LOW_LIMIT); return ret; } =20 @@ -343,21 +344,20 @@ static int opt3001_get_processed(struct opt3001 *opt,= int *val, int *val2) opt->result_ready =3D false; =20 /* Configure for single-conversion mode and start a new conversion */ - ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_CONFIGURATION); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_CONFIGURATION); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_CONFIGURATION); + dev_err(dev, "failed to read register %02x\n", + OPT3001_CONFIGURATION); goto err; } =20 reg =3D ret; opt3001_set_mode(opt, ®, OPT3001_CONFIGURATION_M_SINGLE); =20 - ret =3D i2c_smbus_write_word_swapped(opt->client, OPT3001_CONFIGURATION, - reg); + ret =3D i2c_smbus_write_word_swapped(client, OPT3001_CONFIGURATION, reg); if (ret < 0) { - dev_err(opt->dev, "failed to write register %02x\n", - OPT3001_CONFIGURATION); + dev_err(dev, "failed to write register %02x\n", + OPT3001_CONFIGURATION); goto err; } =20 @@ -375,10 +375,9 @@ static int opt3001_get_processed(struct opt3001 *opt, = int *val, int *val2) msleep(timeout); =20 /* Check result ready flag */ - ret =3D i2c_smbus_read_word_swapped(opt->client, - OPT3001_CONFIGURATION); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_CONFIGURATION); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", + dev_err(dev, "failed to read register %02x\n", OPT3001_CONFIGURATION); goto err; } @@ -389,9 +388,9 @@ static int opt3001_get_processed(struct opt3001 *opt, i= nt *val, int *val2) } =20 /* Obtain value */ - ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_RESULT); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_RESULT); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", + dev_err(dev, "failed to read register %02x\n", OPT3001_RESULT); goto err; } @@ -416,12 +415,12 @@ static int opt3001_get_processed(struct opt3001 *opt,= int *val, int *val2) * bit-overlap and therefore can't be done. */ value =3D (opt->low_thresh_exp << 12) | opt->low_thresh_mantissa; - ret =3D i2c_smbus_write_word_swapped(opt->client, + ret =3D i2c_smbus_write_word_swapped(client, OPT3001_LOW_LIMIT, value); if (ret < 0) { - dev_err(opt->dev, "failed to write register %02x\n", - OPT3001_LOW_LIMIT); + dev_err(dev, "failed to write register %02x\n", + OPT3001_LOW_LIMIT); return ret; } } @@ -444,13 +443,15 @@ static int opt3001_get_int_time(struct opt3001 *opt, = int *val, int *val2) =20 static int opt3001_set_int_time(struct opt3001 *opt, int time) { + struct i2c_client *client =3D opt->client; + struct device *dev =3D &client->dev; int ret; u16 reg; =20 - ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_CONFIGURATION); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_CONFIGURATION); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_CONFIGURATION); + dev_err(dev, "failed to read register %02x\n", + OPT3001_CONFIGURATION); return ret; } =20 @@ -469,8 +470,7 @@ static int opt3001_set_int_time(struct opt3001 *opt, in= t time) return -EINVAL; } =20 - return i2c_smbus_write_word_swapped(opt->client, OPT3001_CONFIGURATION, - reg); + return i2c_smbus_write_word_swapped(client, OPT3001_CONFIGURATION, reg); } =20 static int opt3001_read_raw(struct iio_dev *iio, @@ -565,6 +565,8 @@ static int opt3001_write_event_value(struct iio_dev *ii= o, int val, int val2) { struct opt3001 *opt =3D iio_priv(iio); + struct i2c_client *client =3D opt->client; + struct device *dev =3D &client->dev; int ret; int whole; int integer; @@ -583,7 +585,7 @@ static int opt3001_write_event_value(struct iio_dev *ii= o, =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); + dev_err(dev, "can't find scale for %d.%06u\n", val, val2); goto err; } =20 @@ -611,9 +613,9 @@ static int opt3001_write_event_value(struct iio_dev *ii= o, goto err; } =20 - ret =3D i2c_smbus_write_word_swapped(opt->client, reg, value); + ret =3D i2c_smbus_write_word_swapped(client, reg, value); if (ret < 0) { - dev_err(opt->dev, "failed to write register %02x\n", reg); + dev_err(dev, "failed to write register %02x\n", reg); goto err; } =20 @@ -637,6 +639,8 @@ static int opt3001_write_event_config(struct iio_dev *i= io, enum iio_event_direction dir, bool state) { struct opt3001 *opt =3D iio_priv(iio); + struct i2c_client *client =3D opt->client; + struct device *dev =3D &client->dev; int ret; u16 mode; u16 reg; @@ -652,21 +656,20 @@ static int opt3001_write_event_config(struct iio_dev = *iio, mode =3D state ? OPT3001_CONFIGURATION_M_CONTINUOUS : OPT3001_CONFIGURATION_M_SHUTDOWN; =20 - ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_CONFIGURATION); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_CONFIGURATION); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_CONFIGURATION); + dev_err(dev, "failed to read register %02x\n", + OPT3001_CONFIGURATION); goto err; } =20 reg =3D ret; opt3001_set_mode(opt, ®, mode); =20 - ret =3D i2c_smbus_write_word_swapped(opt->client, OPT3001_CONFIGURATION, - reg); + ret =3D i2c_smbus_write_word_swapped(client, OPT3001_CONFIGURATION, reg); if (ret < 0) { - dev_err(opt->dev, "failed to write register %02x\n", - OPT3001_CONFIGURATION); + dev_err(dev, "failed to write register %02x\n", + OPT3001_CONFIGURATION); goto err; } =20 @@ -688,44 +691,48 @@ static const struct iio_info opt3001_info =3D { =20 static int opt3001_read_id(struct opt3001 *opt) { + struct i2c_client *client =3D opt->client; + struct device *dev =3D &client->dev; char manufacturer[2]; u16 device_id; int ret; =20 - ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_MANUFACTURER_ID); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_MANUFACTURER_ID); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_MANUFACTURER_ID); + dev_err(dev, "failed to read register %02x\n", + OPT3001_MANUFACTURER_ID); return ret; } =20 manufacturer[0] =3D ret >> 8; manufacturer[1] =3D ret & 0xff; =20 - ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_DEVICE_ID); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_DEVICE_ID); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", + dev_err(dev, "failed to read register %02x\n", OPT3001_DEVICE_ID); return ret; } =20 device_id =3D ret; =20 - dev_info(opt->dev, "Found %c%c OPT%04x\n", manufacturer[0], - manufacturer[1], device_id); + dev_info(dev, "Found %c%c OPT%04x\n", manufacturer[0], manufacturer[1], + device_id); =20 return 0; } =20 static int opt3001_configure(struct opt3001 *opt) { + struct i2c_client *client =3D opt->client; + struct device *dev =3D &client->dev; int ret; u16 reg; =20 - ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_CONFIGURATION); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_CONFIGURATION); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_CONFIGURATION); + dev_err(dev, "failed to read register %02x\n", + OPT3001_CONFIGURATION); return ret; } =20 @@ -750,28 +757,27 @@ static int opt3001_configure(struct opt3001 *opt) reg &=3D ~OPT3001_CONFIGURATION_ME; reg &=3D ~OPT3001_CONFIGURATION_FC_MASK; =20 - ret =3D i2c_smbus_write_word_swapped(opt->client, OPT3001_CONFIGURATION, - reg); + ret =3D i2c_smbus_write_word_swapped(client, OPT3001_CONFIGURATION, reg); if (ret < 0) { - dev_err(opt->dev, "failed to write register %02x\n", - OPT3001_CONFIGURATION); + dev_err(dev, "failed to write register %02x\n", + OPT3001_CONFIGURATION); return ret; } =20 - ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_LOW_LIMIT); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_LOW_LIMIT); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_LOW_LIMIT); + dev_err(dev, "failed to read register %02x\n", + OPT3001_LOW_LIMIT); return ret; } =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); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_HIGH_LIMIT); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_HIGH_LIMIT); + dev_err(dev, "failed to read register %02x\n", + OPT3001_HIGH_LIMIT); return ret; } =20 @@ -785,6 +791,8 @@ static irqreturn_t opt3001_irq(int irq, void *_iio) { struct iio_dev *iio =3D _iio; struct opt3001 *opt =3D iio_priv(iio); + struct i2c_client *client =3D opt->client; + struct device *dev =3D &client->dev; int ret; bool wake_result_ready_queue =3D false; enum iio_chan_type chan_type =3D opt->chip_info->chan_type; @@ -793,10 +801,10 @@ static irqreturn_t opt3001_irq(int irq, void *_iio) if (!ok_to_ignore_lock) mutex_lock(&opt->lock); =20 - ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_CONFIGURATION); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_CONFIGURATION); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_CONFIGURATION); + dev_err(dev, "failed to read register %02x\n", + OPT3001_CONFIGURATION); goto out; } =20 @@ -815,10 +823,10 @@ static irqreturn_t opt3001_irq(int irq, void *_iio) IIO_EV_DIR_FALLING), iio_get_time_ns(iio)); } else if (ret & OPT3001_CONFIGURATION_CRF) { - ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_RESULT); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_RESULT); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_RESULT); + dev_err(dev, "failed to read register %02x\n", + OPT3001_RESULT); goto out; } opt->result =3D ret; @@ -851,7 +859,6 @@ static int opt3001_probe(struct i2c_client *client) =20 opt =3D iio_priv(iio); opt->client =3D client; - opt->dev =3D dev; opt->chip_info =3D i2c_get_match_data(client); =20 mutex_init(&opt->lock); @@ -885,7 +892,7 @@ static int opt3001_probe(struct i2c_client *client) } opt->use_irq =3D true; } else { - dev_dbg(opt->dev, "enabling interrupt-less operation\n"); + dev_dbg(dev, "enabling interrupt-less operation\n"); } =20 ret =3D iio_device_register(iio); @@ -905,6 +912,7 @@ static void opt3001_remove(struct i2c_client *client) { struct iio_dev *iio =3D i2c_get_clientdata(client); struct opt3001 *opt =3D iio_priv(iio); + struct device *dev =3D &client->dev; int ret; u16 reg; =20 @@ -913,21 +921,20 @@ static void opt3001_remove(struct i2c_client *client) if (opt->use_irq) free_irq(client->irq, iio); =20 - ret =3D i2c_smbus_read_word_swapped(opt->client, OPT3001_CONFIGURATION); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_CONFIGURATION); if (ret < 0) { - dev_err(opt->dev, "failed to read register %02x\n", - OPT3001_CONFIGURATION); + dev_err(dev, "failed to read register %02x\n", + OPT3001_CONFIGURATION); return; } =20 reg =3D ret; opt3001_set_mode(opt, ®, OPT3001_CONFIGURATION_M_SHUTDOWN); =20 - ret =3D i2c_smbus_write_word_swapped(opt->client, OPT3001_CONFIGURATION, - reg); + ret =3D i2c_smbus_write_word_swapped(client, OPT3001_CONFIGURATION, reg); if (ret < 0) { - dev_err(opt->dev, "failed to write register %02x\n", - OPT3001_CONFIGURATION); + dev_err(dev, "failed to write register %02x\n", + OPT3001_CONFIGURATION); } } =20 --=20 2.54.0 From nobody Mon Jun 8 08:29:03 2026 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.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 BA199402433 for ; Wed, 3 Jun 2026 17:12:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506779; cv=none; b=Gp4Xf8s8GJOz0mtfIfboY+wB1/7mVr5hjrVWVES3gy1s3yjD/ryHja/bB2DMUbbEn7yF5TxGxKz0EfF9zdRttTSHEXu3QbdDBwUtoQ1NwcWaTsuKb/AclBdvlFo/Mitv64FdtmebYD+0MpNj9psKR5wg8uIvv/OhuNIUakjM2Fc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506779; c=relaxed/simple; bh=QeWJCZvpTY5nLADABMkjfcMoywKp5RzEV7WCG0/i08U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rWVS8f2Iqa4Y56e1w7QUzfiIw971FBIj7v5ziDy4SzhBPnfS1PTRyQMiAn+DX+MefX73vAIY+PugO+oPaMQZxyjxOE3VYdOlguE3eqw0vgBLaRmlQMXKZ/cmlZFMqdOB1GfoQWyoSf7NHM47mSfjplk2LPr+Vg6CzURxyFW50/E= 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=euA/QbeI; arc=none smtp.client-ip=209.85.221.54 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="euA/QbeI" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-45ef616daf6so5532869f8f.3 for ; Wed, 03 Jun 2026 10:12:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780506776; x=1781111576; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=FOMRBHKYKTsxlDpldBhhYcBNx5WxuRJUnFPdfKzqslI=; b=euA/QbeIvsBYNp8cDGvi8L69Aanj9LOSSLQhMCldsxUR32aKDpAmWE+RhAJVjVInlp hJO6ENnwm9L6aE394ikERTWRjch4QcYiTDUWxSjwfBqHI5X/Dc3476tUyiKw1UAvVhQ7 gPGhZ8a6NTFDwcGelnkMsdv0Y6lASzzGBav1zUrSz/roeV/6VVw0lMGNKrocDT9b3WXO Xx3eaB7uaF+2X1ZMjmw1QrYqtXbuj72lzK9AXK90/rYHbOLsi0l99Fizdj9RQ92OF4zU er0ULasieloizhsxX30ErLngXwMyumuojkDzx0jNlc9JQq445YRX41nF0MHGJllayAX4 cXmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780506776; x=1781111576; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=FOMRBHKYKTsxlDpldBhhYcBNx5WxuRJUnFPdfKzqslI=; b=G/4A6nV+3XQam7bqMZwNNMSM+bnHXuJB0bQs+HgXDjTLjieaPUjv9eWkFg29IQRKM0 g+Pr98U3V/XA0sYOi0VqyW2VA26Lb0soPxZ5aV4zOCqZgfPJYKEHupa9Ab8sV5YKSUnb sAMv8ZOjfX/HRk68bAfO2zKaklQw0ekNotNeV1zZ0q8Eg/tj2XnyS0JFsLGtQXHEuVdS Xswx405qcTkTNSKMKmZl7x0ENtNIouEFUqV9igk99xpsPEJPS3HT4P1uDTKzeeWLtPd5 dTtzXIlutUFn1WOmMVz6veZHJQ3EEQ8Aspt7ZUPRvzb221M0BFSl2ikih9q9KbI/28bK 7cUw== X-Forwarded-Encrypted: i=1; AFNElJ+THqjafc9U26OCT0RQigjmyfMIkhEyQNQdVhXUW5/k9k2H4YDYto0AppOuJ669ZzUOKr7wshEHid9Y5DU=@vger.kernel.org X-Gm-Message-State: AOJu0YyPpvkKswQG4YI6NIg5wNLxj1HM8fHpic75RQdJ1GqiZ4As5rZn StCNhmJ7w6hcNwrGCPkibctuUVpvfUc43kIWSV1SzE8oKRYD3oRtqTkf X-Gm-Gg: Acq92OHxSEWSDzkAk1iDZoRVq5qfhfV0YkXbV9oty4/Ffw7k4SZqLq2CCtfaqdyYryy tZG0X3a6/KOwIY5cgT1721uYjOa76+Z32Bjsu4NYZJp8XKYkoXDcmHdvRfVGzqfrQDT2aQZaogh 3P+Ubx3H5DddJs2lRcvmqLvJIqbclYzd4CYxvht8bJdvT6ZHOUSSZoUHwfnJeGhX3Bb7rEXdd8f CKwqvdLB2Fq6m/snE8nWM6mcZ8ILEscgJpuOOnPQs5eKMy6NTijIH0I7ZS05zfsLLUoXJLAj3Tq qqJTIoa8hBYe2+f/7wzr50Bxb17Kyd9c1BD+McnV6wQlDnoMCXcPkqkR51Xv/Zfm8SKdi7nRxrh SXZAjCx9G68dEFMqeNWjyUjIW0yMVsDSikhzp06m6sIxshVAa9TclUHO800C6j3uPBKKlZl30+K O79IDZn3MEFf5cRi4XRVlrUjGyGoLzsehQsH38m81n+xnvDI5ajWGEG3Y7kY57LUtHlIG5ArW9P 8BCXWgkJLav5aPy0kmoCqtntJ+YlEbAk+Qq9BM0TbM47KdUi5h3gh+iZ0Pm1EYII4JqJ3Tu/vkj R+2qrcUmw33i4TgbTUWGC2xZfKP2S19XgqjjLRWoUn+yfoxh63g= X-Received: by 2002:a5d:5710:0:b0:453:e3a1:6580 with SMTP id ffacd0b85a97d-46021844ce7mr4854446f8f.25.1780506776224; Wed, 03 Jun 2026 10:12:56 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0:c287:187e:fb7a:66a4]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f345209sm8797506f8f.17.2026.06.03.10.12.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 10:12:56 -0700 (PDT) From: Joshua Crofts Date: Wed, 03 Jun 2026 19:12:54 +0200 Subject: [PATCH v5 3/8] iio: light: opt3001: ensure correct parenthesis alignment 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: <20260603-opt3001-cleanup-v5-3-3ef7b926d555@gmail.com> References: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@gmail.com> In-Reply-To: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@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 , Andy Shevchenko , Maxwell Doose X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780506773; l=6428; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=QeWJCZvpTY5nLADABMkjfcMoywKp5RzEV7WCG0/i08U=; b=JFvRNsROi1QB5Q7e5g6wFAj9uvKmkfk3y3pDYgTT22sBva2hn4sTvto6WkxTJJ6CJAlwvlhXz LNI2qAyAvFPDpW/wIENxfauegoiK17f0fuyu/Lphaz2W1qK1MU69Mf1 X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= Ensure correct parenthesis alignment per checkpatch.pl report. No functional change. Suggested-by: Andy Shevchenko Reviewed-by: Maxwell Doose Signed-off-by: Joshua Crofts Reviewed-by: Andy Shevchenko --- drivers/iio/light/opt3001.c | 73 +++++++++++++++++++++++++----------------= ---- 1 file changed, 41 insertions(+), 32 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index efaad85dfaf3..532929e8fa8b 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -223,8 +223,8 @@ static const struct opt3001_scale opt3002_scales[] =3D { }, }; =20 -static int opt3001_find_scale(const struct opt3001 *opt, int val, - int val2, u8 *exponent) +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++) { @@ -242,8 +242,8 @@ static int opt3001_find_scale(const struct opt3001 *opt= , int val, return -EINVAL; } =20 -static void opt3001_to_iio_ret(struct opt3001 *opt, u8 exponent, - u16 mantissa, int *val, int *val2) +static void opt3001_to_iio_ret(struct opt3001 *opt, u8 exponent, u16 manti= ssa, + int *val, int *val2) { int ret; int whole =3D opt->chip_info->factor_whole; @@ -364,8 +364,8 @@ static int opt3001_get_processed(struct opt3001 *opt, i= nt *val, int *val2) if (opt->use_irq) { /* Wait for the IRQ to indicate the conversion is complete */ ret =3D wait_event_timeout(opt->result_ready_queue, - opt->result_ready, - msecs_to_jiffies(OPT3001_RESULT_READY_LONG)); + opt->result_ready, + msecs_to_jiffies(OPT3001_RESULT_READY_LONG)); if (ret =3D=3D 0) return -ETIMEDOUT; } else { @@ -474,8 +474,8 @@ static int opt3001_set_int_time(struct opt3001 *opt, in= t time) } =20 static int opt3001_read_raw(struct iio_dev *iio, - struct iio_chan_spec const *chan, int *val, int *val2, - long mask) + struct iio_chan_spec const *chan, + int *val, int *val2, long mask) { struct opt3001 *opt =3D iio_priv(iio); int ret; @@ -506,8 +506,8 @@ static int opt3001_read_raw(struct iio_dev *iio, } =20 static int opt3001_write_raw(struct iio_dev *iio, - struct iio_chan_spec const *chan, int val, int val2, - long mask) + struct iio_chan_spec const *chan, + int val, int val2, long mask) { struct opt3001 *opt =3D iio_priv(iio); int ret; @@ -532,9 +532,11 @@ static int opt3001_write_raw(struct iio_dev *iio, } =20 static int opt3001_read_event_value(struct iio_dev *iio, - const struct iio_chan_spec *chan, enum iio_event_type type, - enum iio_event_direction dir, enum iio_event_info info, - int *val, int *val2) + const struct iio_chan_spec *chan, + enum iio_event_type type, + enum iio_event_direction dir, + enum iio_event_info info, + int *val, int *val2) { struct opt3001 *opt =3D iio_priv(iio); int ret =3D IIO_VAL_INT_PLUS_MICRO; @@ -544,11 +546,13 @@ static int opt3001_read_event_value(struct iio_dev *i= io, switch (dir) { case IIO_EV_DIR_RISING: opt3001_to_iio_ret(opt, opt->high_thresh_exp, - opt->high_thresh_mantissa, val, val2); + opt->high_thresh_mantissa, + val, val2); break; case IIO_EV_DIR_FALLING: opt3001_to_iio_ret(opt, opt->low_thresh_exp, - opt->low_thresh_mantissa, val, val2); + opt->low_thresh_mantissa, + val, val2); break; default: ret =3D -EINVAL; @@ -560,9 +564,11 @@ static int opt3001_read_event_value(struct iio_dev *ii= o, } =20 static int opt3001_write_event_value(struct iio_dev *iio, - const struct iio_chan_spec *chan, enum iio_event_type type, - enum iio_event_direction dir, enum iio_event_info info, - int val, int val2) + const struct iio_chan_spec *chan, + enum iio_event_type type, + enum iio_event_direction dir, + enum iio_event_info info, + int val, int val2) { struct opt3001 *opt =3D iio_priv(iio); struct i2c_client *client =3D opt->client; @@ -626,8 +632,9 @@ static int opt3001_write_event_value(struct iio_dev *ii= o, } =20 static int opt3001_read_event_config(struct iio_dev *iio, - const struct iio_chan_spec *chan, enum iio_event_type type, - enum iio_event_direction dir) + const struct iio_chan_spec *chan, + enum iio_event_type type, + enum iio_event_direction dir) { struct opt3001 *opt =3D iio_priv(iio); =20 @@ -635,8 +642,10 @@ static int opt3001_read_event_config(struct iio_dev *i= io, } =20 static int opt3001_write_event_config(struct iio_dev *iio, - const struct iio_chan_spec *chan, enum iio_event_type type, - enum iio_event_direction dir, bool state) + const struct iio_chan_spec *chan, + enum iio_event_type type, + enum iio_event_direction dir, + bool state) { struct opt3001 *opt =3D iio_priv(iio); struct i2c_client *client =3D opt->client; @@ -812,16 +821,16 @@ static irqreturn_t opt3001_irq(int irq, void *_iio) OPT3001_CONFIGURATION_M_CONTINUOUS) { if (ret & OPT3001_CONFIGURATION_FH) iio_push_event(iio, - IIO_UNMOD_EVENT_CODE(chan_type, 0, - IIO_EV_TYPE_THRESH, - IIO_EV_DIR_RISING), - iio_get_time_ns(iio)); + IIO_UNMOD_EVENT_CODE(chan_type, 0, + IIO_EV_TYPE_THRESH, + IIO_EV_DIR_RISING), + iio_get_time_ns(iio)); if (ret & OPT3001_CONFIGURATION_FL) iio_push_event(iio, - IIO_UNMOD_EVENT_CODE(chan_type, 0, - IIO_EV_TYPE_THRESH, - IIO_EV_DIR_FALLING), - iio_get_time_ns(iio)); + IIO_UNMOD_EVENT_CODE(chan_type, 0, + IIO_EV_TYPE_THRESH, + IIO_EV_DIR_FALLING), + iio_get_time_ns(iio)); } else if (ret & OPT3001_CONFIGURATION_CRF) { ret =3D i2c_smbus_read_word_swapped(client, OPT3001_RESULT); if (ret < 0) { @@ -884,8 +893,8 @@ static int opt3001_probe(struct i2c_client *client) /* 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); + IRQF_TRIGGER_FALLING | IRQF_ONESHOT, + "opt3001", iio); if (ret) { dev_err(dev, "failed to request IRQ #%d\n", irq); return ret; --=20 2.54.0 From nobody Mon Jun 8 08:29:03 2026 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (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 6392A44E027 for ; Wed, 3 Jun 2026 17:12:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506780; cv=none; b=nSDwlO2WU8Dybuj73ABjfNGivLSfzDmxn0IFZhidYnnvhJEQ7qiUPhfm+SECd30WqLk3EMGGJdU8RUdU+dG0dmoWvoHy2BIHRJ1+wj5zl04PUUzCI4YtSPXmwrwwUcCNghmPNGggvAzfHGtidrZ0skUYdLU7sLs2k+X24dj9FFg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506780; c=relaxed/simple; bh=LykF7kDE88zomYF6W/24KVDMDse9RknyfnBW2IyXgj8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VHxTYQEldEWgWqmI+gndURqRZR4TqXUMa9CEjoKjQylaUiEbooMvvyA+9jZ6Qod2XriKaoXvEsrPOiE2vgtRYIlkIlMg8G2A8UnjTNmZcDKLNN2lmtgUDG4Ld2K5Nr2gjWERhK4wlh0f4EVQCy3x1KGNTAABu2O05kgatNaGItc= 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=BBywPZmY; arc=none smtp.client-ip=209.85.221.53 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="BBywPZmY" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-45efb698ef2so2526407f8f.3 for ; Wed, 03 Jun 2026 10:12:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780506777; x=1781111577; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=4BYCzX7AdlAVMBcwi37iulKK+FCsXHV5sM1hbNOOcUo=; b=BBywPZmYAXfZiGOSxxLx7PuWvjggXqbhCaRnK/oNRZoUzvyQ0yi6k4ljswqWtAstVa wxMxIEQelKlibGVQZvFAClGAqeN5MqtgBowrseRCKDUU7sAm5Sa6d60SlDbrVpSKPgc4 48jUBzD3RPXBXxXdiL7CkUsulH3oybHLsNwDPcSwo3ZX3nq0b4X+3yThMvXxTTaM++6T fY4HLdEMWr0DDYd2UH7Ut7BfUj6tLkfVzt3VWYQwa62uXmhBKOP8XBA6mdJkkc+RO+g8 q0u0+Un/WwLJi3zvhXpFVPeHX+r2BDmXdB0Rx2qjlqOcN8VqlnTC2QxHC8fJ1VcFtlPs VaSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780506777; x=1781111577; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=4BYCzX7AdlAVMBcwi37iulKK+FCsXHV5sM1hbNOOcUo=; b=m3j0vov0hf/d2dIdWrgBO9nGZqRmH3Cfe+iQT/UPpAh+1IqjbXtERkDdbsjkS2BJX6 8CHmxOLesvgbsdVSKwV3iNGmullEoQXpnXsoJrXmXAPxDR/H+fFu6LaczEFdauz96eGo Bz0gL3g2tlcZ84bggRDl1o6FUJte9oYdBEq6KwC/FjDe0m21IQ6Vn72Ls9hKnjM2j2Cs AmBjNnwyThLPCpXKpx7RYnRRvQcryNvnmdmNwNbpF0gzHGL2zmn4lzobWIiiYFO9OlpB 0y01PJUf+iCk5Se0c5WHRncA1kTMXr6f4Yy7B9nZtCmUK5hJ6xpSieYxzsEhQutRPpNt fgaA== X-Forwarded-Encrypted: i=1; AFNElJ/Fx3lZ3+/rLJlbZBryEjKseQpQGkpb3iuyGxwUEEAuI4nuMiUcTTJmG5a1UMYgzCZrOwASyboH0qUhIPs=@vger.kernel.org X-Gm-Message-State: AOJu0YzWZoO8TZC4fB0V1iFXcG0JOZJlhquibhPabzwSAxfQT6QSnSYH SvYq0kf3pC+A6tlQ0KHxqFchnArvM5xu/M4MBKL3o1H/N8eKy8SoUTnf X-Gm-Gg: Acq92OH7x8iENINby1DEM6axvgXwTp5+FfxwKSS02bfDO81LXpaEZmdDibo7xG+T5li Xj6bKW+rID4nR849WBi/vm2k8QGI44g6mycPkqQ808fiE9DPiOuaqOI23CMLiP1MUdk4+1NSipC axTSIUEy2UsTB2pTY/oDcxIlqRd8L7LfnNF5Vl9XVwegj9jQFx+ZyK9Y5EIRmPnsdS3+4gLpF6X JxiwdUFAZNL3nBJ2q9ukwIKlfSIEkoNttMDOIp1Oi3gN0RloDORLN7yc4SbonlEJNefwB/ew2/J DKLYpRqTs1lnEBWZ2VtW1vBxpiwePmYasZW+zQEcdHTPFJin+x2zO1R6nD4l0cSxxzBHBuyFDO1 LsKmbWCqeC/M8oW2dBWI+/MGMIYYF0W7u5Jmc7oTYvzoJPZDDY6nep6GSPQ1nc95Y3n0gcz0Exc ddL5eRDtYb7EXBAXe81EtuEG2F3emAGZQvdc4r5hjqfJsuqRPIO9ihJiBkt4bljdakD6JR15QgL d8kr14d7EhZoztqAZ835ePOVtSWdaEpFBcR6xNUw2g8aVdGt0ph4zf/vgWphh1AT/l+tIy9foQH eg5D6y3D5gKku/8gmWz/kVq72VkkF9PUlktBNV2D+TD9AsseJXs= X-Received: by 2002:a5d:4bc7:0:b0:45e:f266:f4c4 with SMTP id ffacd0b85a97d-460218433c0mr4918691f8f.29.1780506776796; Wed, 03 Jun 2026 10:12:56 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0:c287:187e:fb7a:66a4]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f345209sm8797506f8f.17.2026.06.03.10.12.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 10:12:56 -0700 (PDT) From: Joshua Crofts Date: Wed, 03 Jun 2026 19:12:55 +0200 Subject: [PATCH v5 4/8] 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: <20260603-opt3001-cleanup-v5-4-3ef7b926d555@gmail.com> References: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@gmail.com> In-Reply-To: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@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 , Maxwell Doose X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780506773; l=996; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=LykF7kDE88zomYF6W/24KVDMDse9RknyfnBW2IyXgj8=; b=Bvbs2pLL2mxZoNXDVpUjIR6KNtp0668oR/vrErINol1P1xY52vE+d2py1n/KTZ+RexIOfgWN8 NZgO8rCNl0LDsjBpBu6EF7kR8yMPMG/1TXXznEvCfWSvdZNHakbfUXZ X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= Localize loop iterator to tighten scope and improve code style per checkpatch.pl report. No functional change. Reviewed-by: Maxwell Doose Signed-off-by: Joshua Crofts Reviewed-by: Andy Shevchenko --- 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 532929e8fa8b..777a54753b0c 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -226,8 +226,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 (unsigned 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.54.0 From nobody Mon Jun 8 08:29:03 2026 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.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 0F70B47D92D for ; Wed, 3 Jun 2026 17:12:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506781; cv=none; b=eLNbtI8KXj72gIxWh1iu7nGWA2Oi0aJgsgfEX+2Rb7HAX1q3rZvkfoBzhdp2ZiXG4f2RXYMIsVru5M1GML2EN/oUu0aaU0CdThuDrMsfJ8UQ2IXSkHrsau5YuLftFVJ4+J762/mAwxkjeyGrxu+1zhz7nvPFumRRhOI+0nconUY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506781; c=relaxed/simple; bh=+qC0YWfflnYInnRf+X6ZznWVvUClte/iMms9DO3MvUo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=k6fAQURrbycGNz9iNr0WjQiMSeflMgvekZVDqg96hVkuvfo28UeKbZgp+TCuWQvGhbPoXhr2FCIcFN5KBLHnupclyzppUfSe63Gr8EXuTBdXiK1CnxNHrfrNmjU56ia0xrGtvf/Ln7TIUlvw36xu1yB08envb8U4KwVU57syfp0= 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=lbWO5vVY; arc=none smtp.client-ip=209.85.128.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="lbWO5vVY" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-490ac357c55so37470615e9.1 for ; Wed, 03 Jun 2026 10:12:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780506777; x=1781111577; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=9Be/cBTIY2UtthPWGW4sFFao6/kg9emmQLSnpfKTVvo=; b=lbWO5vVYP2V4Ay2irakVMuijVxwj5iJ7M8Qt4XRJ0AKjUykOsgeL5ozwQCpdRPxDKR 2fr9kqiCL38rISCuSvXXegLkbEBSqH1UAzbUxUHNiXz0VVwfHGiHoq0RAuGf96VrfSsS Cd9URbrfUVYO6gDd1UwMWnxTpyGiTwfq8c2eCXlm94Th0v4DBBq44bgvSoSi5vA/Evcl 0yek/+odUmP10utg/RlKf5x/XUnMTrDXes9Ia0pDr4O7P9zd86ZAFiVKBh3rZ5XCEeSF 4yuDCZsCUuf3ozPh55kc4c6BZhz/YeLmZq6IAbL/kJO2gnyghic7E4npuBvGQRqlJ65g Guqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780506777; x=1781111577; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=9Be/cBTIY2UtthPWGW4sFFao6/kg9emmQLSnpfKTVvo=; b=CQ1PYPdmNbZwTXwNTHAARq3S7J3fR6+lcgBoUbkRflbQdEiq/37LslkhwhWl5ANil6 1B6VA1rNk1NHKkhs3CiZaIkidWfaJTM9C7HiMY/a57+qleFe4rNFOSscfjhnYrLKfiwk vZoC/z0G4+YtdnK4pwcJC3GzHme0ZM6kQ8nIwgdwJ1aFo9+iIdC2b3R8uim8aiX15XZb 0gnTpxSg9yWJEOdY3VsjNsZmkPwgMFxG4fapWguPkqbFBQ0sbL2jbD8caViPv34PefP8 odSjRN4Kah5PuarskkdHjj9tQAl+By4WSagAHZ0ArIwdFWvmjb8qEXsCUmA0Br8vUizw qZDg== X-Forwarded-Encrypted: i=1; AFNElJ8Lleuc07zamaiZa77LNfEzadPwPU6To16ezS+XwvMA3mlLDKVkYxEeSNHLrnbhwsimn+UPamwqwRVgYHo=@vger.kernel.org X-Gm-Message-State: AOJu0YyQDeJ4RuN33sr1JTiEMFjY/2NP0QHMrDWp2a6F37ltfjc6nMix VMhXIMqt0IvdpHDyZcEivd6E7GppPbjjOSfSVlt1MvxUzgMwE5q2U3rwgF5Oj+cJ X-Gm-Gg: Acq92OF3Qf2W8YXuEe41EaJYihwxNuP3YO+u0H/gTmD+g8UBf5ckNXBI4QnDn84JA5r pVNLI6FXmqUgtQi2yQp2CHJuggHzvXYC11yNlkYU/AjR5wl4ZDQbMFe2DrCm+XgkcfBThfcM9fr 9qXF8dwkAqeDR591Xy2IfVAeEPFlqJFqkVO7r1yenQTUixcYBqhcXBTsYR3kMgqF9CFAvU531BW rtF4jjJuMhgIhIHqLPp1W7ysVF+X5mfd4IWKUH8HbXoz8NvKshFCubY+/geZTHme3A6TR9hxNfu vjNjzsFouysdm8u8Nq60KD4c8muf241K54BJfSPI9dM/5vc71e/rj1uFtPg54knrCHSl5AlHdLe //Wwh8wMUxlSgukHqCE4nwTQv+PxPoeNBFGQtPQm+mwpLh2DJ2ry4f8JbhyQXrS7OBum2m2WEzW 7Kx+KLt8joAw3PbUjuhoxIQ6budWzlV+2eUgYCfC66QIRonijfN77/yqOjhL0k6DyIVmLCbLD9x QV3ncQpeFTmq8L8FDj91DtjEVGVhgakJjVJC630GKJPO5kYpg0lM8zC5YZP0UWxxfnP1lJELQWr rBrTjuNh/bmJiLbEa7lTgOCs1pew3HUx9LB22Z7G/jpqhoCMjCo= X-Received: by 2002:a05:600c:4ec6:b0:490:b8e2:6380 with SMTP id 5b1f17b1804b1-490b8e264c9mr57333915e9.12.1780506777445; Wed, 03 Jun 2026 10:12:57 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0:c287:187e:fb7a:66a4]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f345209sm8797506f8f.17.2026.06.03.10.12.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 10:12:57 -0700 (PDT) From: Joshua Crofts Date: Wed, 03 Jun 2026 19:12:56 +0200 Subject: [PATCH v5 5/8] 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: <20260603-opt3001-cleanup-v5-5-3ef7b926d555@gmail.com> References: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@gmail.com> In-Reply-To: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@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 , Maxwell Doose X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780506773; l=3528; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=+qC0YWfflnYInnRf+X6ZznWVvUClte/iMms9DO3MvUo=; b=OBv0spHsQfLwlI2kP+v23eUvLAlrzl19aHcpZ38EvdsT6kH7OSlrKhAMKSkQPSaULkwHrdBNz GJ+d6+XltfqCk318cpX6bLm06sV7yCIoCoNVGAV/g6ZFrCtJeY8dL96 X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= Switch driver to use dev_err_probe() to unify error messages generated in *_probe() and probe path functions. Reviewed-by: Maxwell Doose Signed-off-by: Joshua Crofts Reviewed-by: Andy Shevchenko --- drivers/iio/light/opt3001.c | 56 ++++++++++++++++++-----------------------= ---- 1 file changed, 22 insertions(+), 34 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index 777a54753b0c..fa799edd6a9c 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -706,21 +706,17 @@ static int opt3001_read_id(struct opt3001 *opt) int ret; =20 ret =3D i2c_smbus_read_word_swapped(client, OPT3001_MANUFACTURER_ID); - if (ret < 0) { - dev_err(dev, "failed to read register %02x\n", - OPT3001_MANUFACTURER_ID); - return ret; - } + if (ret < 0) + return dev_err_probe(dev, ret, "failed to read register %02x\n", + OPT3001_MANUFACTURER_ID); =20 manufacturer[0] =3D ret >> 8; manufacturer[1] =3D ret & 0xff; =20 ret =3D i2c_smbus_read_word_swapped(client, OPT3001_DEVICE_ID); - if (ret < 0) { - dev_err(dev, "failed to read register %02x\n", - OPT3001_DEVICE_ID); - return ret; - } + if (ret < 0) + return dev_err_probe(dev, ret, "failed to read register %02x\n", + OPT3001_DEVICE_ID); =20 device_id =3D ret; =20 @@ -738,11 +734,9 @@ static int opt3001_configure(struct opt3001 *opt) u16 reg; =20 ret =3D i2c_smbus_read_word_swapped(client, OPT3001_CONFIGURATION); - if (ret < 0) { - dev_err(dev, "failed to read register %02x\n", - OPT3001_CONFIGURATION); - return ret; - } + if (ret < 0) + return dev_err_probe(dev, ret, "failed to read register %02x\n", + OPT3001_CONFIGURATION); =20 reg =3D ret; =20 @@ -766,28 +760,22 @@ static int opt3001_configure(struct opt3001 *opt) reg &=3D ~OPT3001_CONFIGURATION_FC_MASK; =20 ret =3D i2c_smbus_write_word_swapped(client, OPT3001_CONFIGURATION, reg); - if (ret < 0) { - dev_err(dev, "failed to write register %02x\n", - OPT3001_CONFIGURATION); - return ret; - } + if (ret < 0) + return dev_err_probe(dev, ret, "failed to write register %02x\n", + OPT3001_CONFIGURATION); =20 ret =3D i2c_smbus_read_word_swapped(client, OPT3001_LOW_LIMIT); - if (ret < 0) { - dev_err(dev, "failed to read register %02x\n", - OPT3001_LOW_LIMIT); - return ret; - } + if (ret < 0) + return dev_err_probe(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(client, OPT3001_HIGH_LIMIT); - if (ret < 0) { - dev_err(dev, "failed to read register %02x\n", - OPT3001_HIGH_LIMIT); - return ret; - } + if (ret < 0) + return dev_err_probe(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); @@ -894,10 +882,10 @@ static int opt3001_probe(struct i2c_client *client) 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(dev, "enabling interrupt-less operation\n"); --=20 2.54.0 From nobody Mon Jun 8 08:29:03 2026 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (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 BAA5147DFA8 for ; Wed, 3 Jun 2026 17:12:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506782; cv=none; b=kHimreePIlFd1vifI7JqUromYt1XymnuaiCSCY3kw7jki8yGcnQF3BFk5GB8yoY+QJxlE11WO9kMuXOVNpG5GXxUDU4g60Ae8WVRE+ScY8uaQ04v+DBwIHDI6XUWtHY1IULczfjCPyQdeMTvOWZV8GQVk3cCuVS6KnrT1u7VpeA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506782; c=relaxed/simple; bh=2BDkcyxuCYIlZAGkYDGk8pck10gD78JOrPFXgQsgGWg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HpgD9ZntHgNg0RI5Dh4qYJgPhVQ7RZX4/FyF+mDjvORg1Culxlk08Q+zbb9UjglPMuo79ASoSXQr9x2t7nTvmFLkVHw3bwPhP0P8a4wpG6IbJ2uQHTN/T8uxXeRsVoaW5+Pc8QAAky9y9I7qQQjz/MI/YGAX8MtJSIJfA3F3eWk= 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=sLCV4941; arc=none smtp.client-ip=209.85.221.43 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="sLCV4941" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-45ebafde87cso8874804f8f.3 for ; Wed, 03 Jun 2026 10:12:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780506778; x=1781111578; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=tlFviVqEyV6yDfca0ZHHxijD0F7o0i8z+Aw19WODozw=; b=sLCV4941O4fIGhgLsuqPdH9oy1xO09BctBDieRSxSB5Gadg6P7NZe4ancmI9CpOk3l PSs/S05RjJ8dluttLrWMbX8NtPDAnxVbyCIN+ic9kY2gMZkMFywrMKs3axNGjFk+iQXj E3tKezf67Q67jMB7Qxw3CA4rBr5HIALKF2tSWuqamuQpzoj/5s+N/NqqMcUtb3aXMVEI qnOQCMRIgaPSUsaOGQ7YWbvmR2xQdRTMx2F9lvZgx9uJEGyf/+1ZxczaBaXXDxV8LRZS 5MIUb7BKQGPkbdcpnild6mzDs+nCJ36RWf4aATDSGqA9YuvRTD+jpLdPPnINoigwXnKm l9fQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780506778; x=1781111578; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=tlFviVqEyV6yDfca0ZHHxijD0F7o0i8z+Aw19WODozw=; b=HEj1ukiyKqWOx4yHh7FHyi6GDaddsO3pnahMoNaFZd51hsYMTWYcBMwz2ugQW/y6Sf POFVQGfP8HnEE1kgL+kpF+LxGF2GK5jyoW8GADXv9a8DbKEgF+qOQ5VcudennBfRSLV1 TjiKVXZZDJ28TOTqwaXknrfnhyScUQG9+rRqq+VIol5oea8bv1s5sDsInzOCY+9voher e9ZmlKYNQkROCKwfk5FJ947yQdWCFBCkEKAT+MUEUGWMCYTGoJoKRIci4bAgHLzQ+9Dc ztCflHfwuMkdP1S/CCW7zvlt8w6LKZk0S783AaPeziL21NjgYV/PF8OwkKDyLGNkTYHp i//g== X-Forwarded-Encrypted: i=1; AFNElJ/qwrMgPKGPKxC9Y8IJ+HD8VTmwwQVxTFvT6b1GpSe83ViuuNybl+jptBXNr4lAOp1LRp6cgUPie23j4RI=@vger.kernel.org X-Gm-Message-State: AOJu0YyJIF2ZRdrsKG738YhW1sz2o7BJpRS2Vh6n5OMXyht0drz8+mTL YOZcUcZDYqjRbSHs93chjvHGkIM2BgfcIA6ek8yc0AWEVyrVPH8ehvru X-Gm-Gg: Acq92OGonIdOHXAmTM5UD4wUhC3nQ0rBpTr9Itblq6F51eSkp129uNrn6ru9Pd7zGud RGp/ajOoUcxzVQTajjDVpKQWYWPceHE89vOK+02eR5lXWtjjKHRM9eRb+rQ6R3CifDezco3K1Uz Lt3w1EuNV4D5qMv/xwe7tM4w2wBV3V63dH7DGmxCgpNygMIKPmUk+3p9YQAuGe//ZHlm35doobO Gr/xc2n6hqpF0UNKX12Q9vFVuYSzr8FmHBIC7tkj0SaFOs6N41lRzPxmKyMh50AflHI3BGPxjSI 5oRXA86zgb7bEW2C/vmj+Ni8ez4tGjQBVq53H876UUIry1cS13IoHUrh587A/LcCK89WjdsKqym Kv848zlBMgGzssOY+ad3pBCsjLERK+w4Pl4H3Sn9uUPAyzgYrvSFyubFXQMchRS5sQxGRsshFeH vVmcqmvr5vc01ZKTFNn/jB8qAoejQMUB56zCMgPW9iOK+wK0x8V0SzQsVvv42W+WRiz+aCFNXNA gQTN1xhbJfbJjX1gNGdHvWCujpoyXrkaIzJHlFXo5AGn7EWvVW3Z8m/hLlmKN3vCqiRAqMU2aWZ hWxnVqrOBMhfWuB0zsxLCc2tEmu2Y35plVUxj8mtFTs3/m/n5gxjz/cjeoVnfw== X-Received: by 2002:a05:6000:4b11:b0:45e:ec27:b4b0 with SMTP id ffacd0b85a97d-460217264a4mr6430009f8f.18.1780506778048; Wed, 03 Jun 2026 10:12:58 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0:c287:187e:fb7a:66a4]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f345209sm8797506f8f.17.2026.06.03.10.12.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 10:12:57 -0700 (PDT) From: Joshua Crofts Date: Wed, 03 Jun 2026 19:12:57 +0200 Subject: [PATCH v5 6/8] 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: <20260603-opt3001-cleanup-v5-6-3ef7b926d555@gmail.com> References: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@gmail.com> In-Reply-To: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@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 , Andy Shevchenko X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780506773; l=5010; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=2BDkcyxuCYIlZAGkYDGk8pck10gD78JOrPFXgQsgGWg=; b=PcH3w3TrZ12sMbpkFbwhZyaT7JJZx5u9UIA9uF/7bo6o3+aIkJ1XexZTFh+98bhKD9pNXGSZb IQMxy342Zo+AHNoCYFEuVK5ODL6t94YzJEl/aJKRTyrkBpZAehzYYAa X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= 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. Reviewed-by: Andy Shevchenko Signed-off-by: Joshua Crofts --- drivers/iio/light/opt3001.c | 61 +++++++++++++++--------------------------= ---- 1 file changed, 20 insertions(+), 41 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index fa799edd6a9c..14a091533067 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -10,6 +10,7 @@ =20 #include #include +#include #include #include #include @@ -477,7 +478,6 @@ static int opt3001_read_raw(struct iio_dev *iio, int *val, int *val2, long mask) { struct opt3001 *opt =3D iio_priv(iio); - int ret; =20 if (opt->mode =3D=3D OPT3001_CONFIGURATION_M_CONTINUOUS) return -EBUSY; @@ -485,23 +485,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, @@ -509,7 +503,6 @@ static int opt3001_write_raw(struct iio_dev *iio, int val, int val2, long mask) { struct opt3001 *opt =3D iio_priv(iio); - int ret; =20 if (opt->mode =3D=3D OPT3001_CONFIGURATION_M_CONTINUOUS) return -EBUSY; @@ -523,11 +516,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, @@ -538,28 +529,23 @@ 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, @@ -586,12 +572,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(dev, "can't find scale for %d.%06u\n", val, val2); - goto err; + return ret; } =20 whole =3D opt->chip_info->factor_whole; @@ -614,20 +600,16 @@ 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(client, reg, value); if (ret < 0) { dev_err(dev, "failed to write register %02x\n", reg); - goto err; + return ret; } =20 -err: - mutex_unlock(&opt->lock); - - return ret; + return 0; } =20 static int opt3001_read_event_config(struct iio_dev *iio, @@ -659,7 +641,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; @@ -668,7 +650,7 @@ static int opt3001_write_event_config(struct iio_dev *i= io, if (ret < 0) { dev_err(dev, "failed to read register %02x\n", OPT3001_CONFIGURATION); - goto err; + return ret; } =20 reg =3D ret; @@ -678,13 +660,10 @@ static int opt3001_write_event_config(struct iio_dev = *iio, if (ret < 0) { dev_err(dev, "failed to write register %02x\n", OPT3001_CONFIGURATION); - goto err; + return ret; } =20 -err: - mutex_unlock(&opt->lock); - - return ret; + return 0; } =20 static const struct iio_info opt3001_info =3D { --=20 2.54.0 From nobody Mon Jun 8 08:29:03 2026 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (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 7088848094A for ; Wed, 3 Jun 2026 17:13:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506782; cv=none; b=ocpNaBrld7+/da2Lu4HPm9jgIH3mAtTFygsEbS1YfJ+dk+hA6r25wmFA909dq3u3BgJELFLct5VF76c7r6ITIMvqVcYk/Wo71/uvF1A+wOZpQlh4AFHxbAHvPJu5t18I0E/2959a4Ep4UJHTmhBccaGP+POmEO/fg/U2VLMcHRU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506782; c=relaxed/simple; bh=92QMxbg9OM9tIa76RuRwrM+dPii8Tq6UIhU4yfo+Ymo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NVnUdKXxhBgVDIBa+OkPZreVWlGuabK6AHFA5KR0CSF79elDlJTHDEAFferUgHzUf3HUyNwNLqWXdCD15UVWmGttscG01lA9hTnGFMmi5Vh1OrgiiuuGl4h6XuiFtewGb0PSAtTScGl56ivacM02+905bV1rmpx4vpSgKqHgLyk= 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=BeVzFCo7; arc=none smtp.client-ip=209.85.221.53 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="BeVzFCo7" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-4600cbb06deso611334f8f.1 for ; Wed, 03 Jun 2026 10:13:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780506779; x=1781111579; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ZMSn5pkdQNE0J6eKuFLup2G1Dj4O8HRGoerYXvW5gEM=; b=BeVzFCo7TF3qVXlXkpITpyTB3CF4ZdGnmIFSnZWkq15q6Pd+WsaATEvOLBKy7FGMo5 dbMWDJdz7ubrFCjeCz8jAP7fwOR7+aYTPQQKHTCBKwUiYqZ01LC1wSU8zFMan0L+pf3s Hb71b+4B+Y+JqSL7uqRNO+v2cJ5F0LydBLhp2woCa1a8rRZf5flmQgecJfXWLj7ACpkx /c2iP01dQ7M8CuzV4gqwR+XMjtQzzr/83s2tp6OK3peTGt7uG7nmZO3E1Qo+gdQhag2/ wzMBHb13ZKbZqGBvON+NohSMXFvVHLxCrkMgmJn72DL4KVrlnHVyCCGwlzvEIG3IQkhl zUZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780506779; x=1781111579; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ZMSn5pkdQNE0J6eKuFLup2G1Dj4O8HRGoerYXvW5gEM=; b=oLQJrYfEJUPi8iV7OQTHy6FhHRD7N8tPD1adm2CpzfYlGLxThmyF3L1T39gCW0AnuY 6i3fejg4x87qbLZFrpCCbSdjL8ZNDgOOuwMKMwKEYoxT3OzK9gqqVSJy3Q259/bK1LWP 79W4FQjIgXnmgezVmCCcf/0I3zQpy6LDNxTbsQYpsxGFeNs5LdZEVqUxSK+g7o7eQ9xI FrCL7pqn4M2SptgFY1fl9JxM3TT+/11OLSKvWllotmP3GlVowzKzc0+tVh8j79JZrjx1 nEp22p9OgfQW1/OgDEPCojvn7vavXTZ+duvejkaOtvj4ViuSsmP11JjRWLuWQ8kCcbji 6phw== X-Forwarded-Encrypted: i=1; AFNElJ/bbH0HMVK6Uxns6oiz+bs5cN1qJP9Sq6biNKCqsygesBqYt1MXmLS9zKK+6a4F+4hnmhArJKw5vI+uPFs=@vger.kernel.org X-Gm-Message-State: AOJu0YwuuipfWSJhZYE7iQ7L187D81h95uN2Q99hdPiMLKmtOZCaajwS 78FtDWpiH3un+q+Aq/ouza7oh7ncFHy3NtB+LeHID/fgjuB0zy+vGIk5 X-Gm-Gg: Acq92OEWPHcLL2VZDvCRZrtFO6DNdCH9dBQxzBvO2RPfcJuuiaWCeD49BCBuxDlqZ+8 e2HKkhqjsPOi/rHFyi1MvzdalXdqv2jC1XI5EH+47lleg38AMHSCQz8LzFmYoffRMNS0cJYrogM EDfTByRSU15YgB3bQHiAElCwapwTCUUs030SdeKpD7YA6JP1WKAs+eXrUe8XFj/O0l/ngpwkkjL rIwBEvdVzLRaOSwJydHh3h1uyzeM8DAXhLhb9Ql+Bee2Yv9fjEp/ls4jSepFXMAu/bgjtt8WuBi JFzMGu3uNOXaJVTkchcG0Hb7xvhzkpLp//sWPnZxH70DnFRYYvtOKDnFP08P6Ksp3zlcb0IkD3D BoSw/MfSu6o0Le5Sww9zjrChoaGBek/IpCiouMRacdUu3z3/FJ9/CQ7VMQ9gYRpe5jvzgE278zG q9deUk2uKkdZzsRcXc8tHPFVnXa/08rzWlhxRjSjCneCn8UWvfH2D6HnJBvdS1T8tkq1S6g4Y9B QTxsHm2wL+UNihPM4a3ZhAeCiPwuPogDlty0w4jvu8+RtutbdWFhyenqRrv6hO64e16lrsolbuf TOWz5or2rB4iqYKS3WV9mZnbaPkhbSI01UNF3RvPY7aR6EtkvJU= X-Received: by 2002:a5d:6410:0:b0:45e:f93a:2069 with SMTP id ffacd0b85a97d-46027620f64mr301522f8f.23.1780506778825; Wed, 03 Jun 2026 10:12:58 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0:c287:187e:fb7a:66a4]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f345209sm8797506f8f.17.2026.06.03.10.12.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 10:12:58 -0700 (PDT) From: Joshua Crofts Date: Wed, 03 Jun 2026 19:12:58 +0200 Subject: [PATCH v5 7/8] 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: <20260603-opt3001-cleanup-v5-7-3ef7b926d555@gmail.com> References: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@gmail.com> In-Reply-To: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@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.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780506773; l=4217; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=92QMxbg9OM9tIa76RuRwrM+dPii8Tq6UIhU4yfo+Ymo=; b=XLHP7KJoRffnxe2yXtx1AdAQ7tgrkSJpiXrMktbfGmXdLoEOaJneNAd01chtWOBDFl8J1Z4Sz e5ihZ4dOn3nDYkTQ+KtvLk0OeGiL2n/41Fwl1J7zplopbnRHyJG2oT0 X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= 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 | 89 ++++++++++++++++++++---------------------= ---- 1 file changed, 39 insertions(+), 50 deletions(-) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index 14a091533067..44f4e67eed0c 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -705,6 +705,30 @@ static int opt3001_read_id(struct opt3001 *opt) return 0; } =20 +static void opt3001_power_off(void *data) +{ + struct opt3001 *opt =3D data; + struct i2c_client *client =3D opt->client; + struct device *dev =3D &client->dev; + u16 reg_val; + int ret; + + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_CONFIGURATION); + if (ret < 0) { + dev_err(dev, "failed to read register %02x\n", + OPT3001_CONFIGURATION); + return; + } + + reg_val =3D ret; + opt3001_set_mode(opt, ®_val, OPT3001_CONFIGURATION_M_SHUTDOWN); + + ret =3D i2c_smbus_write_word_swapped(client, OPT3001_CONFIGURATION, reg_v= al); + if (ret < 0) + dev_err(dev, "failed to write to register %02x\n", + OPT3001_CONFIGURATION); +} + static int opt3001_configure(struct opt3001 *opt) { struct i2c_client *client =3D opt->client; @@ -743,6 +767,11 @@ static int opt3001_configure(struct opt3001 *opt) return dev_err_probe(dev, ret, "failed to write register %02x\n", OPT3001_CONFIGURATION); =20 + ret =3D devm_add_action_or_reset(dev, opt3001_power_off, opt); + if (ret) + return dev_err_probe(dev, ret, + "failed to register power off function\n"); + ret =3D i2c_smbus_read_word_swapped(client, OPT3001_LOW_LIMIT); if (ret < 0) return dev_err_probe(dev, ret, "failed to read register %02x\n", @@ -836,9 +865,11 @@ static int opt3001_probe(struct i2c_client *client) opt->client =3D client; 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 ret; + init_waitqueue_head(&opt->result_ready_queue); - i2c_set_clientdata(client, iio); =20 if (opt->chip_info->has_id) { ret =3D opt3001_read_id(opt); @@ -858,59 +889,18 @@ 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", - irq); + return ret; + opt->use_irq =3D true; } else { dev_dbg(dev, "enabling interrupt-less operation\n"); } =20 - ret =3D iio_device_register(iio); - if (ret) - goto free_irq; - - return 0; - -free_irq: - if (irq > 0) - free_irq(irq, iio); - - return ret; -} - -static void opt3001_remove(struct i2c_client *client) -{ - struct iio_dev *iio =3D i2c_get_clientdata(client); - struct opt3001 *opt =3D iio_priv(iio); - struct device *dev =3D &client->dev; - int ret; - u16 reg; - - iio_device_unregister(iio); - - if (opt->use_irq) - free_irq(client->irq, iio); - - ret =3D i2c_smbus_read_word_swapped(client, OPT3001_CONFIGURATION); - if (ret < 0) { - dev_err(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(client, OPT3001_CONFIGURATION, reg); - if (ret < 0) { - dev_err(dev, "failed to write register %02x\n", - OPT3001_CONFIGURATION); - } + return devm_iio_device_register(dev, iio); } =20 static const struct opt3001_chip_info opt3001_chip_information =3D { @@ -951,7 +941,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.54.0 From nobody Mon Jun 8 08:29:03 2026 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (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 C27FF48124B for ; Wed, 3 Jun 2026 17:13:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506783; cv=none; b=CJ3MpPe6AAQvmS3ixtRb7kAGJFc6+XaHpmtTN4XQKHqnFToUnZC1Ff5nlp139Lvo6WXmOHi+5isrxxMXvccVUVAVIWIwd6/XOsy3R1rTwFmdURHHe0Jcz3ENNpytQY7d2R/dbWE7kO1VHt8l6RlDZyEW3lZ5QEBWjRlmT3dgCec= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780506783; c=relaxed/simple; bh=GSbYocIJXOXVrqb+NbfCvTTcwgSirCUeyUueMRCQ9HU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MTVmf08dcSmUvO0GMvMLjf8fKqvsaH72VV8N08VdvddolFSGbKwQpovcG8inycp+ky5LLhQQg3FUjKDxOjt0MOcYz2dzLBEVxJjY55+y8nwCYzgYj9DTv88CKfscx89XLLrTqyXtjjuCgxFWwTYlH08brf39FWOzao84mIKYL6g= 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=Vpc5i9J0; arc=none smtp.client-ip=209.85.221.53 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="Vpc5i9J0" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-45fd45e596cso2346934f8f.1 for ; Wed, 03 Jun 2026 10:13:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780506779; x=1781111579; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=FUXyreum+62zlbSUFK3jy0qamqOYaVsBhQyjVwfcOgs=; b=Vpc5i9J0Iruo3BRvjlCgsf/lo3younLwkfGctRMYXETDKc+2N46rit2VYU9IVd0+4N 6TOsWsvql7IepxBfTLSdBn2/zkSeylwwuDpZzwjBFLOb+rKU3wizDAfq9mg3wWf9E/rZ gn0yBtpk5BcJf4QEPdq+0XkLAHDMVnjLzIg4tqIqmBq2x7jQVOyrmoyyG36yexeaGXNe vvK34uZiNMrZzcAYrTq5fcVrRqKcYUeb8+yvJ+eow2qAutvSas110uqO+TdY5hrWM9Vr L3vUlJbN+C5IO/ZklZUFGJBX7dCFUFXIbQlHntXbJzxLna8MT8CV/axvKl3yYVd47qXD BWiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780506779; x=1781111579; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=FUXyreum+62zlbSUFK3jy0qamqOYaVsBhQyjVwfcOgs=; b=HEgrggx93c97bLJs+FHhe0QvxDt2pCtbTiZUFPT7sb2pqX7lXLF983dKeHsksk7L4x +LRg3C2Le3JO6NhNqVvCxo+Ytl/L1biPfUPjW2TuFikQpY2wVIHUPU06D9dYrpuTkj4V e73DlXhgp0I0PWe8hPFdU7mJcYQE3DBnGnk4jvkVS8VsLiSkDqLNknPOd7WzDAMsVobN sRKcd8090hnkbC0mIddZabxF30NzFL2qzgFF8tdgzMfxG/XoOXXrwAYCOkzoF5iCtRuN idiVRKtv+cM9DUrT3gwOuDiJuO7LQqHGbCdCgHdnIZ0XLMPZR1fX9KQFjyqeKCYI+wsf UMqA== X-Forwarded-Encrypted: i=1; AFNElJ/S24RaBaexrBzztSG60wC/HfLgZjK6fMMhPLlKTJ90wAfg4zgUVRPikex2UmcpBcI1yHw7uXbczqaLJwI=@vger.kernel.org X-Gm-Message-State: AOJu0YyUDGfRqx2H+ULNsSyYe+bvUITQrIgDcqlFwNSctRxnUuKq2TH5 Mx5nSa3up9/i8v4Y0f3H6qeQbbG4dlf4gTqNrfg3KqoGp7UVGd2082oq X-Gm-Gg: Acq92OGoEAwOJnfeeBmwUeHf4oV5+FqTfqHFKeMM4jZpquBfUt6xeCrvEnEIxTpa+ZP HYdEB5baiEcXXp7fef/7eI/u3t0y4hFMNWqC8KlwrWfgfLHl2/a4EFl9SUheNFSAG8o6KVN9XB3 NX4EO4kSwbNfKj6iZKNIW8eDd4tzqJhIsNIoCbvN1uu1mBawfwZyRxr2w9fSui9Fkn+WbX1IUtF gZ5FRi4G6kkodvQ8xIXL6aydQZwG2T5Ep0FqaM0bxPTiOoZ15J4T1if/Bssx7AKViJqSynEH5ga WvuI8hwGVqGXlSt2zSInlVr6K/HwooKu6jTbvfpelUzv675gorOpAp4lx4IdIXuxDPlp7mT0tEE 7FlKzuL/0pgT8I5gLHT/zaMJ/hAV6SQVQWsa1j9P93mPFoM8lkng+CZMF4LTm+36FvqDR3hnVSH hKPEazTXWkqCmd8niiGgRDwpOHdDou0oTPzDuMPi0RVUK7bY1zmvXSwrJheKrtENhX1svCF7Bno X/+MFLeWlvF12E9Sl0bDFKVh4mfsv7n8EEmgiJxM/0qZq5kXHaSWC+4s7P6JhJDqCNHw+rTd+5w SIzvvM2mAaRqGmfxz5SyVDPksfZtcbZZeYFNFudSd+IkBY5gSB4= X-Received: by 2002:adf:ea8a:0:b0:45e:ed7f:1dd with SMTP id ffacd0b85a97d-4602184d5b2mr5379390f8f.25.1780506779350; Wed, 03 Jun 2026 10:12:59 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0:c287:187e:fb7a:66a4]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f345209sm8797506f8f.17.2026.06.03.10.12.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 10:12:59 -0700 (PDT) From: Joshua Crofts Date: Wed, 03 Jun 2026 19:12:59 +0200 Subject: [PATCH v5 8/8] iio: light: opt3001: add comment to mutex 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: <20260603-opt3001-cleanup-v5-8-3ef7b926d555@gmail.com> References: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@gmail.com> In-Reply-To: <20260603-opt3001-cleanup-v5-0-3ef7b926d555@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 , Maxwell Doose X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780506773; l=895; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=GSbYocIJXOXVrqb+NbfCvTTcwgSirCUeyUueMRCQ9HU=; b=DB9La+IUnianbNfMZUFD0205f/Unj/LbBJDG8Ov4CTLcnHs1vGEwgI2itgdUtrcRgGArvj5gs TVhlgADJ7reDCuF23tV36//m8SjU/2zhWcMyatT73sXjUAEJbh1HXV+ X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= Add comment to mutex per checkpatch.pl report. While we're at it, add a comment to bool ok_to_ignore_lock. No functional change. Reviewed-by: Maxwell Doose Signed-off-by: Joshua Crofts --- drivers/iio/light/opt3001.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c index 44f4e67eed0c..f33889c4b46a 100644 --- a/drivers/iio/light/opt3001.c +++ b/drivers/iio/light/opt3001.c @@ -103,7 +103,13 @@ struct opt3001_chip_info { struct opt3001 { struct i2c_client *client; =20 + /* + * Ensure data capture and read-modify-write sequences are + * not interrupted. + */ struct mutex lock; + + /* Allows for IRQs to bypass locking mechanism */ bool ok_to_ignore_lock; bool result_ready; wait_queue_head_t result_ready_queue; --=20 2.54.0