From nobody Sun Jun 14 04:46:30 2026 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (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 C142C3E639E for ; Tue, 14 Apr 2026 12:37:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776170246; cv=none; b=ES0/n3tfJSIzH4WHFM+PDvVDNDjApLkfLDvi3wFb9uyZ5DtWbs5Lka+/pH03SJBJ3md1EzfsmhDBHIH8ggpUkVQtutHefUpAOJLght43LkqNZ1Y3msrgsocYmlyZrJK/1BobTSENd/d4dyDKf1U8ZNlmMvOUYfh7loflepKlUYE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776170246; c=relaxed/simple; bh=v2rZtfsGEcqvkNleqRX3XjmSo2Lct8wNsREjYiEreN4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fotd6dtRHYeffUdRMYGxGixull1oDbGRVuq+jn+fcLM/Sv7QFka+cj7zQpvmWPo+VRopNHLi2vgCNGCfFab8xS2RvvUaMnjJTAjxml7TRu3dWubb+ofurqfwpcTK/7NBprKvQXKMxatQASp0UtKWoP5ARzZ5yG1RC09bw5j2yQE= 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=Xs0p5rNi; arc=none smtp.client-ip=209.85.221.48 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="Xs0p5rNi" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-43d7650202fso1767555f8f.2 for ; Tue, 14 Apr 2026 05:37:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776170242; x=1776775042; 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=AdS8fPV/eM7tvbU7iuT8bTWahQQCYtva+pfa9FZ/WIw=; b=Xs0p5rNiLVrqhDV8+XTIZeXZcEQ2sjMpUhG/t1I8Nyp7zrvD1fJs3E8SSHJ7B+d0bL tkKtbYMN/ZSAHifB0Xs2tJ6PFi3TaAeVqCPr3Vim3avhyuAxo+BCUNsfqzdO6FJSf84c a+lWNUFFmK/UYMTAfWHuxLraa6BOuQcFZIejfiteOL2sIhPvbEeAu25amGW+eMm+Yqho nz5OuC6zOT+rbONvMnU0HNaC0ypB7w0nifi4CSt6vJQApuoJC4UiR+8lFpGjHLo76C5C Oj9zwG3rNwnR5v1+3I5p4l2GAJVsyc6r19Gtd8Vi4E46qwLBHIzqujMRkm4g2hMAC0hc p0ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776170242; x=1776775042; 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=AdS8fPV/eM7tvbU7iuT8bTWahQQCYtva+pfa9FZ/WIw=; b=s3EXaYUf6YcKrk25fQLDoOByoCwkwLZ3sOtQGOQZOJXcAInFeMaWlhkgsMy55cZUPF uf+jUJKl4DJ+iHAN0QoH8+4qIQCkKPGPjboU8MZIaAn2x+LUODll4SnAXoENsO1PC0Ts dIsBqI9LMc96J5gNQ16eXO1bacv9wIutzNlg/d6hflURL7pDFO7lflZkiCCD9C4VgnQw KchSzvjcTX3N+NBhZGJG5csfmsvge7njX8EZHu289nsHV16DDmKT4Sfch+5NNWd3u/2i A8pHnI8Sn76simgyVGHr16O1QnzUBuDMKeOExlFBoQ4tFm8b3bN+xjbJMcWYgcBleFza kozA== X-Forwarded-Encrypted: i=1; AFNElJ9J/2fgSFqsi+xC/leNMrTVp65+EbbV2aCg+CXN3/+uOm1mp1IpmBZCzItTEJEelMDOx5EjZ7/VyJM3nYc=@vger.kernel.org X-Gm-Message-State: AOJu0YwmdvfsAvsUN55oezwSv8etaLMFS/qezHiD5mGGSaAj5OawkX8t y5IR+eQcl2654G1zbkU+sVIA3RQ6SELPFpCFxuYtauE8bvCQuAnQ/FvQhspqEw== X-Gm-Gg: AeBDieui3qdpZKGa3AMam61P8ui4YsySnjWdHxm68c0LoltrUorY4dZNlIGmeIBsadI s7hhdFj5guXuozHDrpj1+PVN6r3BiKgUlwqnx56IYDulIOwI162r/PiU/5FespoFRhsqlB9ouDy tDranqek5uUc5Wfmy6KVufztPGu15iIKx2DZrCBz7ajyaClps7kbrJdYPcilZeDOo2ggyll5c1t 9onDOjVysCOk8wIT5F159EivQMfoW1fCpVrB35TRsavBrxmi11AKMyN8qcBrqHxY7fQdgtx5FI7 4X4jjT7xtuewHwfTjbz9ikDBKK2GLqfhZlzajhbE0DcY/srTQdf3wYz5fVYtp/r8yY01rccNk8n WIqVOZ0eHe6ZcQbWl8eV+KXQ4xFp8aoQIyBE/hAb1A9Hcp0O/xbFKC345FiYjuveJYBIXMTE8qy mxWXL2VNv5mV8+sS5gbUSOu4VjFZmD/54NxK3CwNWx X-Received: by 2002:a05:6000:1acd:b0:43d:c2bc:21b4 with SMTP id ffacd0b85a97d-43dc2bc220emr5518320f8f.16.1776170241076; Tue, 14 Apr 2026 05:37:21 -0700 (PDT) Received: from [192.168.8.79] ([2a00:f502:260:5bd3:9217:8960:5f33:aaab]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e46a85sm41552729f8f.24.2026.04.14.05.37.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Apr 2026 05:37:20 -0700 (PDT) From: Erikas Bitovtas Date: Tue, 14 Apr 2026 15:37:17 +0300 Subject: [PATCH v4 1/6] iio: light: vcnl4000: validate device by prod ID instead of table ID 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: <20260414-vcnl4000-drop-enum-v4-1-59fde2932a0f@gmail.com> References: <20260414-vcnl4000-drop-enum-v4-0-59fde2932a0f@gmail.com> In-Reply-To: <20260414-vcnl4000-drop-enum-v4-0-59fde2932a0f@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, Erikas Bitovtas , Andy Shevchenko X-Mailer: b4 0.15.2 Add a new field for vcnl4000_chip_spec and check if we have the right device by that instead of the index from enum table. This leaves the enum table being used only for picking the right vcnl4000_chip_spec, allowing us to drop it later on. Reviewed-by: Andy Shevchenko Signed-off-by: Erikas Bitovtas --- drivers/iio/light/vcnl4000.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index 9650dbc41f2b..72d68d54864e 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -234,6 +234,7 @@ struct vcnl4000_chip_spec { const int(*als_it_times)[][2]; const int num_als_it_times; const unsigned int ulux_step; + const int prod_id; }; =20 static const struct i2c_device_id vcnl4000_id[] =3D { @@ -265,12 +266,12 @@ static int vcnl4000_init(struct vcnl4000_data *data) prod_id =3D ret >> 4; switch (prod_id) { case VCNL4000_PROD_ID: - if (data->id !=3D VCNL4000) + if (data->chip_spec->prod_id !=3D VCNL4000_PROD_ID) dev_warn(&data->client->dev, "wrong device id, use vcnl4000"); break; case VCNL4010_PROD_ID: - if (data->id !=3D VCNL4010) + if (data->chip_spec->prod_id !=3D VCNL4010_PROD_ID) dev_warn(&data->client->dev, "wrong device id, use vcnl4010/4020"); break; @@ -1901,6 +1902,7 @@ static const struct vcnl4000_chip_spec vcnl4000_chip_= spec_cfg[] =3D { .int_reg =3D VCNL4040_INT_FLAGS, .ps_it_times =3D &vcnl4040_ps_it_times, .num_ps_it_times =3D ARRAY_SIZE(vcnl4040_ps_it_times), + .prod_id =3D VCNL4040_PROD_ID, }, [VCNL4000] =3D { .prod =3D "VCNL4000", @@ -1911,6 +1913,7 @@ static const struct vcnl4000_chip_spec vcnl4000_chip_= spec_cfg[] =3D { .channels =3D vcnl4000_channels, .num_channels =3D ARRAY_SIZE(vcnl4000_channels), .info =3D &vcnl4000_info, + .prod_id =3D VCNL4000_PROD_ID, }, [VCNL4010] =3D { .prod =3D "VCNL4010/4020", @@ -1924,6 +1927,7 @@ static const struct vcnl4000_chip_spec vcnl4000_chip_= spec_cfg[] =3D { .irq_thread =3D vcnl4010_irq_thread, .trig_buffer_func =3D vcnl4010_trigger_handler, .buffer_setup_ops =3D &vcnl4010_buffer_ops, + .prod_id =3D VCNL4010_PROD_ID, }, [VCNL4040] =3D { .prod =3D "VCNL4040", @@ -1941,6 +1945,7 @@ static const struct vcnl4000_chip_spec vcnl4000_chip_= spec_cfg[] =3D { .als_it_times =3D &vcnl4040_als_it_times, .num_als_it_times =3D ARRAY_SIZE(vcnl4040_als_it_times), .ulux_step =3D 100000, + .prod_id =3D VCNL4040_PROD_ID, }, [VCNL4200] =3D { .prod =3D "VCNL4200", @@ -1958,6 +1963,7 @@ static const struct vcnl4000_chip_spec vcnl4000_chip_= spec_cfg[] =3D { .als_it_times =3D &vcnl4200_als_it_times, .num_als_it_times =3D ARRAY_SIZE(vcnl4200_als_it_times), .ulux_step =3D 24000, + .prod_id =3D VCNL4200_PROD_ID, }, }; =20 --=20 2.53.0 From nobody Sun Jun 14 04:46:30 2026 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 96C783E63A1 for ; Tue, 14 Apr 2026 12:37:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776170247; cv=none; b=C1sbTIFthgfY0SEjdzxn1HdYW+Bl53Zof1BMJ3UeWP6eMjqFHn6318e7wHWnn05z9DZG8oyP3on7r+pboMieDhJcv5MeoHLCR4yric7BXiS94vqZevEpLcU7LpzOAVYgTOVrI7omzEBDc3jC4BDpOTbajo14JcFHK84cO7uj6oQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776170247; c=relaxed/simple; bh=KrnoUz78ZCgANaKIHExVuIBpkCPu6OWq0Lp+hZUPfQk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WcZQgGyVJlimmos1Gp7fvf5yRTOKHuvScyYaZYYsJUqYyMnYalSrY/jvkG9ju4dK3+z+TasZyZ4K66GStiVneveTRYhaUDEtM7OwEgcwtD4c7rNG0PrusnTwpPt4uBGiuHqyzLjERNQXNuZ8Vjl9SVItyW1voSUTN11srVMDbgg= 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=f5/3yYF1; arc=none smtp.client-ip=209.85.128.45 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="f5/3yYF1" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-488ba6366a7so68663055e9.0 for ; Tue, 14 Apr 2026 05:37:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776170243; x=1776775043; 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=cj+kdY279Gb4TgUYsjwC3hozMaQyiytM6srAMYFvSS4=; b=f5/3yYF1u1I61kI5hi9IFSzcM1ghJ0qa0owK4gMuqmRO4H3InIyfTneHXmMu/QkNJw ZsmOEqeIgSq1robGihViN4JMgZhRmA4oEmXzqKcDcnLafRo+kKx/w+qv7hszlZCQrjIv QU1UIN1l2NSnIiYyTTvALTlXgWuFNdaahPlvAHSadZRSixMpjX7NbG+a+J9Cwqti/rlB pSf3xGghx146UMFBrW74KdZsJOwBfteqp5GcsGNkcTJC1A5jEFIMoy8Lguh0lJgtCupb ZC3xCY9JuCIt/BGQ/+j0R58AcF3inETo4EeAscC12/jCnt+SoRrcrzrvzDsJben60Xsy alWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776170243; x=1776775043; 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=cj+kdY279Gb4TgUYsjwC3hozMaQyiytM6srAMYFvSS4=; b=oWLoF3EFDUsJ0zfnH48M03WlQXK73DiHhcHn1aLPTwdzzLsxGX29Y7HDzo/CMhndBT jmsdtPfLKT8ESHDbY8a29a97odTMrYUs+w4BC9A/R79/W3RzZeqCJGWapdT+i02IMNli +QJWma6GiXCs8YKlAtoF+5lIEQx7lkyYFdg89dTjd/P+eQlbRGKz2hHTNUbQIavLLiUG ehfWZfM5wPlv0AxHE+DTwvSSeDXEMBR7ymtJEZUbyfFt6/aBOidC/VVNOO8Zzdzc84qH tgVEXqfrmf/nkx9tiRGhBFkLzM9IO9M19zYqmbuMoLFfjCEbVY8+2t0nsNw9kYdfel9w hkOg== X-Forwarded-Encrypted: i=1; AFNElJ+TIgM2et2NHgzGgzsnpcfHSbKK2whNpHMIRyC9Fep+iiDkcyfnKVjroxgRSLc1WqNcF12io1Kv3MOGJRY=@vger.kernel.org X-Gm-Message-State: AOJu0YwAHM/LRMDyE+RSvtljbwLdMWzxpo2ZV8htDr9ZQdS6Q9oVbZjJ wi7tbKAeNGbUU7C/7bSWXZ8JlcWDGM9dUOCiIQR5zRO4VT6Lhcq/MR7q X-Gm-Gg: AeBDietYlFQpKJ6/nodosXCNJ60bLDvddrtMDzB756aNgzems1W7ikAC7RJOu9NxhbF FFeUei4fEll90u27tx90+az2RuGl+YX1YwX4Xd/0gbxv9RqC52sLw4aFGZb8fpytWdD33FSrjZz 9Ohtouzwi+/a2Y2YEM5YI0jrIKJOsSrar0buyFo5Z02G1d476NbIKv174Y4lIv/YHoWnO8JW0y3 ZTXI2uqdRj5jESo/ToSSxh3J/dO3ZYNQ5YSYZEAqT4xWhPV2D4ZRXcEKrztSlKeAuxwItdBtgcj Iv+4LmFxaXoyD5juHlvO/WeluqIOAl614A/DcF2pwKq4Bg/a9ZP7TWheICJJ87BoIWT8LntAONZ pQ7ilw+foghaIikZU9kdMUJhEkMYtwHDOUCD65o66KCJOIW0yNzYN42/Cb+utYhgkmVeK6U0Os+ 2uOmXFMWHPoHzNugTEDl6pjDpTdwuWaw== X-Received: by 2002:a05:600c:a415:b0:487:1108:48af with SMTP id 5b1f17b1804b1-488d67bf7c7mr180734665e9.4.1776170242611; Tue, 14 Apr 2026 05:37:22 -0700 (PDT) Received: from [192.168.8.79] ([2a00:f502:260:5bd3:9217:8960:5f33:aaab]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e46a85sm41552729f8f.24.2026.04.14.05.37.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Apr 2026 05:37:22 -0700 (PDT) From: Erikas Bitovtas Date: Tue, 14 Apr 2026 15:37:18 +0300 Subject: [PATCH v4 2/6] iio: light: vcnl4000: drop enum id table in favor of chip structs 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: <20260414-vcnl4000-drop-enum-v4-2-59fde2932a0f@gmail.com> References: <20260414-vcnl4000-drop-enum-v4-0-59fde2932a0f@gmail.com> In-Reply-To: <20260414-vcnl4000-drop-enum-v4-0-59fde2932a0f@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, Erikas Bitovtas , Andy Shevchenko X-Mailer: b4 0.15.2 Instead of creating an enum table with chip IDs, store pointers to structs directly. This drops the association between chip structs and enum IDs and allows for easier addition or removal of new devices. Reviewed-by: Andy Shevchenko Signed-off-by: Erikas Bitovtas --- drivers/iio/light/vcnl4000.c | 205 +++++++++++++++++++++------------------= ---- 1 file changed, 98 insertions(+), 107 deletions(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index 72d68d54864e..cbe0a9e056ec 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -185,14 +185,6 @@ static const int vcnl4040_ps_oversampling_ratio[] =3D = {1, 2, 4, 8}; =20 #define VCNL4000_SLEEP_DELAY_MS 2000 /* before we enter pm_runtime_suspend= */ =20 -enum vcnl4000_device_ids { - CM36672P, - VCNL4000, - VCNL4010, - VCNL4040, - VCNL4200, -}; - struct vcnl4200_channel { u8 reg; ktime_t last_measurement; @@ -202,7 +194,6 @@ struct vcnl4200_channel { =20 struct vcnl4000_data { struct i2c_client *client; - enum vcnl4000_device_ids id; int rev; int al_scale; int ps_scale; @@ -237,18 +228,6 @@ struct vcnl4000_chip_spec { const int prod_id; }; =20 -static const struct i2c_device_id vcnl4000_id[] =3D { - { "cm36672p", CM36672P }, - { "cm36686", VCNL4040 }, - { "vcnl4000", VCNL4000 }, - { "vcnl4010", VCNL4010 }, - { "vcnl4020", VCNL4010 }, - { "vcnl4040", VCNL4040 }, - { "vcnl4200", VCNL4200 }, - { } -}; -MODULE_DEVICE_TABLE(i2c, vcnl4000_id); - static int vcnl4000_set_power_state(struct vcnl4000_data *data, bool on) { /* no suspend op */ @@ -1889,82 +1868,84 @@ static const struct iio_info vcnl4040_info =3D { .read_avail =3D vcnl4040_read_avail, }; =20 -static const struct vcnl4000_chip_spec vcnl4000_chip_spec_cfg[] =3D { - [CM36672P] =3D { - .prod =3D "CM36672P", - .init =3D vcnl4200_init, - .measure_proximity =3D vcnl4200_measure_proximity, - .set_power_state =3D vcnl4200_set_power_state, - .channels =3D cm36672p_channels, - .num_channels =3D ARRAY_SIZE(cm36672p_channels), - .info =3D &vcnl4040_info, - .irq_thread =3D vcnl4040_irq_thread, - .int_reg =3D VCNL4040_INT_FLAGS, - .ps_it_times =3D &vcnl4040_ps_it_times, - .num_ps_it_times =3D ARRAY_SIZE(vcnl4040_ps_it_times), - .prod_id =3D VCNL4040_PROD_ID, - }, - [VCNL4000] =3D { - .prod =3D "VCNL4000", - .init =3D vcnl4000_init, - .measure_light =3D vcnl4000_measure_light, - .measure_proximity =3D vcnl4000_measure_proximity, - .set_power_state =3D vcnl4000_set_power_state, - .channels =3D vcnl4000_channels, - .num_channels =3D ARRAY_SIZE(vcnl4000_channels), - .info =3D &vcnl4000_info, - .prod_id =3D VCNL4000_PROD_ID, - }, - [VCNL4010] =3D { - .prod =3D "VCNL4010/4020", - .init =3D vcnl4000_init, - .measure_light =3D vcnl4000_measure_light, - .measure_proximity =3D vcnl4000_measure_proximity, - .set_power_state =3D vcnl4000_set_power_state, - .channels =3D vcnl4010_channels, - .num_channels =3D ARRAY_SIZE(vcnl4010_channels), - .info =3D &vcnl4010_info, - .irq_thread =3D vcnl4010_irq_thread, - .trig_buffer_func =3D vcnl4010_trigger_handler, - .buffer_setup_ops =3D &vcnl4010_buffer_ops, - .prod_id =3D VCNL4010_PROD_ID, - }, - [VCNL4040] =3D { - .prod =3D "VCNL4040", - .init =3D vcnl4200_init, - .measure_light =3D vcnl4200_measure_light, - .measure_proximity =3D vcnl4200_measure_proximity, - .set_power_state =3D vcnl4200_set_power_state, - .channels =3D vcnl4040_channels, - .num_channels =3D ARRAY_SIZE(vcnl4040_channels), - .info =3D &vcnl4040_info, - .irq_thread =3D vcnl4040_irq_thread, - .int_reg =3D VCNL4040_INT_FLAGS, - .ps_it_times =3D &vcnl4040_ps_it_times, - .num_ps_it_times =3D ARRAY_SIZE(vcnl4040_ps_it_times), - .als_it_times =3D &vcnl4040_als_it_times, - .num_als_it_times =3D ARRAY_SIZE(vcnl4040_als_it_times), - .ulux_step =3D 100000, - .prod_id =3D VCNL4040_PROD_ID, - }, - [VCNL4200] =3D { - .prod =3D "VCNL4200", - .init =3D vcnl4200_init, - .measure_light =3D vcnl4200_measure_light, - .measure_proximity =3D vcnl4200_measure_proximity, - .set_power_state =3D vcnl4200_set_power_state, - .channels =3D vcnl4040_channels, - .num_channels =3D ARRAY_SIZE(vcnl4000_channels), - .info =3D &vcnl4040_info, - .irq_thread =3D vcnl4040_irq_thread, - .int_reg =3D VCNL4200_INT_FLAGS, - .ps_it_times =3D &vcnl4200_ps_it_times, - .num_ps_it_times =3D ARRAY_SIZE(vcnl4200_ps_it_times), - .als_it_times =3D &vcnl4200_als_it_times, - .num_als_it_times =3D ARRAY_SIZE(vcnl4200_als_it_times), - .ulux_step =3D 24000, - .prod_id =3D VCNL4200_PROD_ID, - }, +static const struct vcnl4000_chip_spec cm36672p_spec =3D { + .prod =3D "CM36672P", + .init =3D vcnl4200_init, + .measure_proximity =3D vcnl4200_measure_proximity, + .set_power_state =3D vcnl4200_set_power_state, + .channels =3D cm36672p_channels, + .num_channels =3D ARRAY_SIZE(cm36672p_channels), + .info =3D &vcnl4040_info, + .irq_thread =3D vcnl4040_irq_thread, + .int_reg =3D VCNL4040_INT_FLAGS, + .ps_it_times =3D &vcnl4040_ps_it_times, + .num_ps_it_times =3D ARRAY_SIZE(vcnl4040_ps_it_times), + .prod_id =3D VCNL4040_PROD_ID, +}; + +static const struct vcnl4000_chip_spec vcnl4000_spec =3D { + .prod =3D "VCNL4000", + .init =3D vcnl4000_init, + .measure_light =3D vcnl4000_measure_light, + .measure_proximity =3D vcnl4000_measure_proximity, + .set_power_state =3D vcnl4000_set_power_state, + .channels =3D vcnl4000_channels, + .num_channels =3D ARRAY_SIZE(vcnl4000_channels), + .info =3D &vcnl4000_info, + .prod_id =3D VCNL4000_PROD_ID, +}; + +static const struct vcnl4000_chip_spec vcnl4010_spec =3D { + .prod =3D "VCNL4010/4020", + .init =3D vcnl4000_init, + .measure_light =3D vcnl4000_measure_light, + .measure_proximity =3D vcnl4000_measure_proximity, + .set_power_state =3D vcnl4000_set_power_state, + .channels =3D vcnl4010_channels, + .num_channels =3D ARRAY_SIZE(vcnl4010_channels), + .info =3D &vcnl4010_info, + .irq_thread =3D vcnl4010_irq_thread, + .trig_buffer_func =3D vcnl4010_trigger_handler, + .buffer_setup_ops =3D &vcnl4010_buffer_ops, + .prod_id =3D VCNL4010_PROD_ID, +}; + +static const struct vcnl4000_chip_spec vcnl4040_spec =3D { + .prod =3D "VCNL4040", + .init =3D vcnl4200_init, + .measure_light =3D vcnl4200_measure_light, + .measure_proximity =3D vcnl4200_measure_proximity, + .set_power_state =3D vcnl4200_set_power_state, + .channels =3D vcnl4040_channels, + .num_channels =3D ARRAY_SIZE(vcnl4040_channels), + .info =3D &vcnl4040_info, + .irq_thread =3D vcnl4040_irq_thread, + .int_reg =3D VCNL4040_INT_FLAGS, + .ps_it_times =3D &vcnl4040_ps_it_times, + .num_ps_it_times =3D ARRAY_SIZE(vcnl4040_ps_it_times), + .als_it_times =3D &vcnl4040_als_it_times, + .num_als_it_times =3D ARRAY_SIZE(vcnl4040_als_it_times), + .ulux_step =3D 100000, + .prod_id =3D VCNL4040_PROD_ID, +}; + +static const struct vcnl4000_chip_spec vcnl4200_spec =3D { + .prod =3D "VCNL4200", + .init =3D vcnl4200_init, + .measure_light =3D vcnl4200_measure_light, + .measure_proximity =3D vcnl4200_measure_proximity, + .set_power_state =3D vcnl4200_set_power_state, + .channels =3D vcnl4040_channels, + .num_channels =3D ARRAY_SIZE(vcnl4000_channels), + .info =3D &vcnl4040_info, + .irq_thread =3D vcnl4040_irq_thread, + .int_reg =3D VCNL4200_INT_FLAGS, + .ps_it_times =3D &vcnl4200_ps_it_times, + .num_ps_it_times =3D ARRAY_SIZE(vcnl4200_ps_it_times), + .als_it_times =3D &vcnl4200_als_it_times, + .num_als_it_times =3D ARRAY_SIZE(vcnl4200_als_it_times), + .ulux_step =3D 24000, + .prod_id =3D VCNL4200_PROD_ID, }; =20 static const struct iio_trigger_ops vcnl4010_trigger_ops =3D { @@ -1991,7 +1972,6 @@ static int vcnl4010_probe_trigger(struct iio_dev *ind= io_dev) =20 static int vcnl4000_probe(struct i2c_client *client) { - const struct i2c_device_id *id =3D i2c_client_get_device_id(client); const char * const regulator_names[] =3D { "vdd", "vio", "vled" }; struct device *dev =3D &client->dev; struct vcnl4000_data *data; @@ -2005,8 +1985,7 @@ static int vcnl4000_probe(struct i2c_client *client) data =3D iio_priv(indio_dev); i2c_set_clientdata(client, indio_dev); data->client =3D client; - data->id =3D id->driver_data; - data->chip_spec =3D &vcnl4000_chip_spec_cfg[data->id]; + data->chip_spec =3D i2c_get_match_data(client); =20 ret =3D devm_regulator_bulk_get_enable(dev, ARRAY_SIZE(regulator_names), regulator_names); @@ -2081,32 +2060,32 @@ static int vcnl4000_probe(struct i2c_client *client) static const struct of_device_id vcnl_4000_of_match[] =3D { { .compatible =3D "capella,cm36672p", - .data =3D (void *)CM36672P, + .data =3D &cm36672p_spec, }, /* Capella CM36686 is fully compatible with Vishay VCNL4040 */ { .compatible =3D "capella,cm36686", - .data =3D (void *)VCNL4040, + .data =3D &vcnl4040_spec, }, { .compatible =3D "vishay,vcnl4000", - .data =3D (void *)VCNL4000, + .data =3D &vcnl4000_spec, }, { .compatible =3D "vishay,vcnl4010", - .data =3D (void *)VCNL4010, + .data =3D &vcnl4010_spec, }, { .compatible =3D "vishay,vcnl4020", - .data =3D (void *)VCNL4010, + .data =3D &vcnl4010_spec, }, { .compatible =3D "vishay,vcnl4040", - .data =3D (void *)VCNL4040, + .data =3D &vcnl4040_spec, }, { .compatible =3D "vishay,vcnl4200", - .data =3D (void *)VCNL4200, + .data =3D &vcnl4200_spec, }, { } }; @@ -2148,6 +2127,18 @@ static int vcnl4000_runtime_resume(struct device *de= v) static DEFINE_RUNTIME_DEV_PM_OPS(vcnl4000_pm_ops, vcnl4000_runtime_suspend, vcnl4000_runtime_resume, NULL); =20 +static const struct i2c_device_id vcnl4000_id[] =3D { + { "cm36672p", (kernel_ulong_t)&cm36672p_spec }, + { "cm36686", (kernel_ulong_t)&vcnl4040_spec }, + { "vcnl4000", (kernel_ulong_t)&vcnl4000_spec }, + { "vcnl4010", (kernel_ulong_t)&vcnl4010_spec }, + { "vcnl4020", (kernel_ulong_t)&vcnl4010_spec }, + { "vcnl4040", (kernel_ulong_t)&vcnl4040_spec }, + { "vcnl4200", (kernel_ulong_t)&vcnl4200_spec }, + { } +}; +MODULE_DEVICE_TABLE(i2c, vcnl4000_id); + static struct i2c_driver vcnl4000_driver =3D { .driver =3D { .name =3D VCNL4000_DRV_NAME, --=20 2.53.0 From nobody Sun Jun 14 04:46:30 2026 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (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 1F2A23E5592 for ; Tue, 14 Apr 2026 12:37:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776170247; cv=none; b=u7ckfTrseZfz8u9CRPsF54xB/fD3HZbagM63Fz6edJAW5TRU40j7uiMek5/FGKrFhdhDQqrhRpBXyd7q4YAcgYjULKtMWoY1+BM4Nh4w5v9QR1tNhSP8rron4PGB4Kx44QeOR5Cx6gy6Rb5cIDG/m0MoVkRHuzSno+ANd9MUigw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776170247; c=relaxed/simple; bh=xLu38bVMUys/cZ6QX8r6iNH4CMwuE0rQsWHnSsbUnzs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=afAzWkPfshq2oFSfbL8vk0gFvLavDBl0dS4mYUG5BHgEuuIPzUrhnL0vQFjaOkTv6nTlzrr0TwiNbYBES9f3ouqCH07g1oB+W6KiJdoM8xG4Hxlzg46Tt0zVeTBoxNmFrhGYJcFmCixnJz9vl80YCKo+Y3uJE/8Njl2S5Dji3yk= 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=XoLyPbaK; arc=none smtp.client-ip=209.85.221.46 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="XoLyPbaK" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-43d75312379so1527804f8f.1 for ; Tue, 14 Apr 2026 05:37:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776170244; x=1776775044; 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=DN+oBwb+Y8IFK8YL3Riuf0vPIuv++6ageqUt2vFSbSA=; b=XoLyPbaK87X6pV3LWAXEzDBIqzmzAjbguaPpUV/BAZbkfqQiplITz96p0zDJi+v5zE CLXRl6qtBIABpdrIthmDwJGyTZfNUAwf7pTrsSB2FMZu8/OZaBxXb+08L9PgzFUlYDce ieLwuDWmWqyXz9Cro5YbXXC3K8CjD3s2yM70Ifv7w5a0bHoPdxwVf/oGcFxVgfJ6TYMH k1hDWg2T7BNWvSBB/NsUmFffPESRUrgbPo7R0K52BH22p9kRtvqyJPc4wAvD6pqOLLH4 mFNEgKFLXuq5rpGfOR0pHgbC3wycWYVIKDJ0iTrbyWTQxNAtgMj060oVgTGClbsdkjkL fjgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776170244; x=1776775044; 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=DN+oBwb+Y8IFK8YL3Riuf0vPIuv++6ageqUt2vFSbSA=; b=Medc+zmCeubqXwbDCi0G2m14HOEnKVjGcy4jikHvneTSN6OZXEnFM8IqZrWu3D0ih+ 1BC42R8jQJmqmXoplm9ekv9EF0hjbFHQ41l4y1RBgs4whkum93KfLTH/QuTDGwpn1JQd nwUv+PzNI1VWk1ro0Y0DsEGLS7bmRZaTJ+WLp+1d9WjLNYbJZJcjEKJ9adMQ75BWKGDY c1QRNn9d4HosMvUZKryXypByNSFVcf5r3d8cPQhSgAd/nlyOD7MVTNtROCvXwvpUVV3+ oCKBis4hBLYDTuPUYDOtRW4H3KSrUE3eDmcZxcYH+bVwsMUlus3uW7L2IirM1g2CZDON UuaA== X-Forwarded-Encrypted: i=1; AFNElJ8mhaocTdZIarI4RxtZVB+RxZG24WcsL4rDwLn/8jdyx9WbA8xvybFUfQet9ukeJS8QsGTYNocQL3JWmbA=@vger.kernel.org X-Gm-Message-State: AOJu0YwKwvn42cnt2F7CmFs9XUR+7vmH1mCLW4uKnPbvohWYZM3SV8FQ lu2yI0+Wo7Bel84v+EUTtPFsNR5jQ1n5hU0Ys64Hmq8RDcFEQvp6HbAY X-Gm-Gg: AeBDietWfE/JRDECnT/hd8zCHeoCcPaVUD5AZT7PyAAQICuOrZSeWnaztfFp7mox6nc cTqwKRhuurc1lhZ9FKI19wQBjRAwFONXOa4cPhI2coToSGNKGLCI2TVAQHhfiZ0BNDhYkW/+dhw t562SiHEDBw1PKk40etzymLKtoozBPDW8xs2nS+zsjAzQO7Y6r5jsnHJldk6DBhxDKBYxQ9wvDb c9qSB0dMVONjsIiv8XJue4PjYotVXZdLBPPsZKOgFzNbL4C+Px+g1qjp34IMe7s94BmGEAVvE9T YtpSUP3ZqhVQa0IEMLTCXHmuNHhjpUUGrPuk7TSDKVZI5peEQdyq7pNju3/2p9NuhXSlnux2IIn mxWlCgSZyvMsLnOGVOHSU81c4YIO3gk8HdcuuCyRwfWFAyZnF+82gE9zR7hlzwbuWEi2tCRlOpi 4hxRw3sqQsCXFwoI1ua2pSR9CQlKYxerdxJY+RlUGC X-Received: by 2002:a5d:452f:0:b0:43d:729e:f23a with SMTP id ffacd0b85a97d-43d729ef530mr9716746f8f.22.1776170244081; Tue, 14 Apr 2026 05:37:24 -0700 (PDT) Received: from [192.168.8.79] ([2a00:f502:260:5bd3:9217:8960:5f33:aaab]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e46a85sm41552729f8f.24.2026.04.14.05.37.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Apr 2026 05:37:23 -0700 (PDT) From: Erikas Bitovtas Date: Tue, 14 Apr 2026 15:37:19 +0300 Subject: [PATCH v4 3/6] iio: light: vcnl4000: move device tree entries into one line 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: <20260414-vcnl4000-drop-enum-v4-3-59fde2932a0f@gmail.com> References: <20260414-vcnl4000-drop-enum-v4-0-59fde2932a0f@gmail.com> In-Reply-To: <20260414-vcnl4000-drop-enum-v4-0-59fde2932a0f@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, Erikas Bitovtas X-Mailer: b4 0.15.2 Make device tree entries one line each to save space and LOC. Signed-off-by: Erikas Bitovtas Reviewed-by: Andy Shevchenko --- drivers/iio/light/vcnl4000.c | 35 +++++++---------------------------- 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index cbe0a9e056ec..52f60b372d2f 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -2058,35 +2058,14 @@ static int vcnl4000_probe(struct i2c_client *client) } =20 static const struct of_device_id vcnl_4000_of_match[] =3D { - { - .compatible =3D "capella,cm36672p", - .data =3D &cm36672p_spec, - }, + { .compatible =3D "capella,cm36672p", .data =3D &cm36672p_spec }, /* Capella CM36686 is fully compatible with Vishay VCNL4040 */ - { - .compatible =3D "capella,cm36686", - .data =3D &vcnl4040_spec, - }, - { - .compatible =3D "vishay,vcnl4000", - .data =3D &vcnl4000_spec, - }, - { - .compatible =3D "vishay,vcnl4010", - .data =3D &vcnl4010_spec, - }, - { - .compatible =3D "vishay,vcnl4020", - .data =3D &vcnl4010_spec, - }, - { - .compatible =3D "vishay,vcnl4040", - .data =3D &vcnl4040_spec, - }, - { - .compatible =3D "vishay,vcnl4200", - .data =3D &vcnl4200_spec, - }, + { .compatible =3D "capella,cm36686", .data =3D &vcnl4040_spec }, + { .compatible =3D "vishay,vcnl4000", .data =3D &vcnl4000_spec }, + { .compatible =3D "vishay,vcnl4010", .data =3D &vcnl4010_spec }, + { .compatible =3D "vishay,vcnl4020", .data =3D &vcnl4010_spec }, + { .compatible =3D "vishay,vcnl4040", .data =3D &vcnl4040_spec }, + { .compatible =3D "vishay,vcnl4200", .data =3D &vcnl4200_spec }, { } }; MODULE_DEVICE_TABLE(of, vcnl_4000_of_match); --=20 2.53.0 From nobody Sun Jun 14 04:46:30 2026 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 33D9E3E5EED for ; Tue, 14 Apr 2026 12:37:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776170250; cv=none; b=WdLdKE6gDvqy5IFb0iX2QAdMOSIQqwDhGBax2teZd/B/DZ3wpcpI06GXRVzkVIc0/Ox1HFFJX3KpF9t6xapMd4NuThknwO3aoQas3chyh+eaDBRdGy1gN88W5dheWwz7KF7+vg9gKJdGvSkaUPN0FxBUvJEuYs3XVC8Ohiayevw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776170250; c=relaxed/simple; bh=2Ux/T8LM6J0221QP4M+5TenCC8Wr2pPxLS/nADcmqcE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ElrgHXWPiCpsIZsOGGVrgIArLpdnJMajOQbD4Ul+xODcL7THdjmEH8UyYJyPoaHd9l7A4Zbf/Oy7AjPOyjQxySxpAUyyClXpQ/2uhofUCLTP1r40zQ16DuGdQZLsH5ZPArlJwG3FblnGdd9DfhATx5nRMbOEs7jbvw7EwNSdFSw= 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=r0Co58O9; arc=none smtp.client-ip=209.85.128.45 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="r0Co58O9" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-488af9fdaa7so38557455e9.1 for ; Tue, 14 Apr 2026 05:37:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776170246; x=1776775046; 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=G71d+Fry0HfOtBb76vvpELUb+ZDGU97NTzjiP00wwrE=; b=r0Co58O9l3iyxLYoMFf/w5Mb13ttcNMr9ZFZcy4NevdfZ0e1ieIjFL34+jUupxjhS8 lr37GervQCWt57RDGUyEuYI5+z7nkCxKzGAtlBk/l7VkKoeLcaAOPFiarDLONL1CMGoF eU9Ze0ih50kfSprmzYRWzE8wq94X41LYK9/sg1Z7PqwzayGHgIelRNaXx1OGknrP8q5X Ai4YhW0kWWSg1yhAcScipPV6AlCMggeobxkn0PohvqP+qD4mk1fzaQuo6sF+dxKXvSiM VoSVhJ3j/3I7SHkra9VzUvohRqbtZEp3njj3cK1hWyKFFU9RYvqCvyehjMNFfevMAwys onXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776170246; x=1776775046; 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=G71d+Fry0HfOtBb76vvpELUb+ZDGU97NTzjiP00wwrE=; b=iDBRvlRoxwtdQbF7Km/fK+poxVWkkAiDNlV+lF36qpAHPzIo7xLusAEdmZziYjAtuJ v3fRdsLJ1hfz4YMK8g9qjdwLyI+Gwfn7LTsSKL6TxdQgi1lswsoJOFXvKjX6UEELlVGK wC6GKyUhNE9tN9x6KE1AeiauSscOKz7pAJyXGQy04JdbYbdoq9htPrpBnSGo35mCtlAz moQtpE81AsZHapP8rENJV8HTausT5IfrmNAjBmSOWoPvY78goImMbomQZFRs0MAavFzI PjHGW9RLP2FwFPdLRXJmUIEJgYSdnSsXArylbsUuTYFskIt4eGa9eWMOERbolZGO/ds/ eqEQ== X-Forwarded-Encrypted: i=1; AFNElJ+nXf9iRpkif/x+WLxI2eeWyLMZ9tU08dRMKTgk3cuTXz3pYH1nQEL4eM3qCliyHPS6lxHBV5rgtQY41bg=@vger.kernel.org X-Gm-Message-State: AOJu0Ywf7vgHaKMJfUxksMJQ7abEdRdYu+q0LyVFdF1eAEDQul1T7dKT uGpE9aS0Neg00kS7rxLXiwLDv6tMVbTypzqvGAoiLDcTtCCjGQ1IGlsF X-Gm-Gg: AeBDietaw8NAfKKDSyweM3/x4zA1GhzKRkeh2sBR9TWb+xvuS47yOBIXOpK0dRG3K1p zjgH7XQpBLXzA+nsHlirV+KceZjR/FjxpgfU8G2Y31p4YSo/XpJezBbmlegB8Bux+VtBxWMKxNH pk5OWQY/OpYZX48VlXHynoH/OvSBvtmPBXRFEtpfVk/5kspiut6IXKoQFk5B5qanwM+Dnhr2SCU qBT4Pj86XwATH9iSwmYw/ujH1zYaQcRmmhezer5NtdNGtj29jHR+kAPxk5fDe3ZapqXpUR1LJj8 SSya9DrVsuncqgCLbEgU7qJJ20RJeywcZH5t/LBRPmb1TydruOWdbezmhpRfqqBzwgBrKyWP9Vr yAoHo5J7vNZ6f9imYx32n8zjJRY/JjtmKI2TGeoVchtvovlfqysI7UMSfAWtAjz0LURJumun+3x 51pvnraGrzyHSItaEVyusmZFU9F1OjuA== X-Received: by 2002:a05:600c:34cd:b0:487:575:5e1 with SMTP id 5b1f17b1804b1-488d68c2cb4mr220038895e9.24.1776170245564; Tue, 14 Apr 2026 05:37:25 -0700 (PDT) Received: from [192.168.8.79] ([2a00:f502:260:5bd3:9217:8960:5f33:aaab]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e46a85sm41552729f8f.24.2026.04.14.05.37.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Apr 2026 05:37:25 -0700 (PDT) From: Erikas Bitovtas Date: Tue, 14 Apr 2026 15:37:20 +0300 Subject: [PATCH v4 4/6] iio: light: vcnl4000: move power state function into device-managed action 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: <20260414-vcnl4000-drop-enum-v4-4-59fde2932a0f@gmail.com> References: <20260414-vcnl4000-drop-enum-v4-0-59fde2932a0f@gmail.com> In-Reply-To: <20260414-vcnl4000-drop-enum-v4-0-59fde2932a0f@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, Erikas Bitovtas X-Mailer: b4 0.15.2 Move power state setting into a device-managed action to get rid of fail_poweroff goto label and remove it from vcnl4000_remove() function. Signed-off-by: Erikas Bitovtas --- drivers/iio/light/vcnl4000.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index 52f60b372d2f..1e636e6f51da 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -1970,6 +1970,18 @@ static int vcnl4010_probe_trigger(struct iio_dev *in= dio_dev) return devm_iio_trigger_register(&client->dev, trigger); } =20 +static void vcnl4000_cleanup(void *data) +{ + struct iio_dev *indio_dev =3D data; + struct vcnl4000_data *chip =3D iio_priv(indio_dev); + struct device *dev =3D &chip->client->dev; + int ret; + + ret =3D chip->chip_spec->set_power_state(chip, false); + if (ret) + dev_warn(dev, "Failed to power down (%pe)", ERR_PTR(ret)); +} + static int vcnl4000_probe(struct i2c_client *client) { const char * const regulator_names[] =3D { "vdd", "vio", "vled" }; @@ -2004,6 +2016,10 @@ static int vcnl4000_probe(struct i2c_client *client) if (ret) return ret; =20 + ret =3D devm_add_action_or_reset(dev, vcnl4000_cleanup, indio_dev); + if (ret) + return ret; + dev_dbg(dev, "%s Ambient light/proximity sensor, Rev: %02x\n", data->chip_spec->prod, data->rev); =20 @@ -2041,19 +2057,20 @@ static int vcnl4000_probe(struct i2c_client *client) =20 ret =3D pm_runtime_set_active(dev); if (ret < 0) - goto fail_poweroff; + return ret; =20 ret =3D iio_device_register(indio_dev); if (ret < 0) - goto fail_poweroff; + goto fail_register; =20 pm_runtime_enable(dev); pm_runtime_set_autosuspend_delay(dev, VCNL4000_SLEEP_DELAY_MS); pm_runtime_use_autosuspend(dev); =20 return 0; -fail_poweroff: - data->chip_spec->set_power_state(data, false); + +fail_register: + pm_runtime_set_suspended(dev); return ret; } =20 @@ -2073,18 +2090,11 @@ MODULE_DEVICE_TABLE(of, vcnl_4000_of_match); static void vcnl4000_remove(struct i2c_client *client) { struct iio_dev *indio_dev =3D i2c_get_clientdata(client); - struct vcnl4000_data *data =3D iio_priv(indio_dev); - int ret; =20 pm_runtime_dont_use_autosuspend(&client->dev); pm_runtime_disable(&client->dev); iio_device_unregister(indio_dev); pm_runtime_set_suspended(&client->dev); - - ret =3D data->chip_spec->set_power_state(data, false); - if (ret) - dev_warn(&client->dev, "Failed to power down (%pe)\n", - ERR_PTR(ret)); } =20 static int vcnl4000_runtime_suspend(struct device *dev) --=20 2.53.0 From nobody Sun Jun 14 04:46:30 2026 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (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 A61B63E5ECE for ; Tue, 14 Apr 2026 12:37:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776170250; cv=none; b=rb90HnDXqcDrwmuNxPXDWS0r7pxjhHrC34bWBwDgR3m+hjieGFdqHit6O2Kcrs+giNsFcdQNP1J3/Nx6AoxMYbT0hVhOjwHH5mJImmb6KfinBlVnwVoalaxq1cMHSYGvpGB3HT2cI/OgBByo0zxeFw630uXly8TuC+SuGE9RBbY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776170250; c=relaxed/simple; bh=7keH773eit1dlAVAToEvASwJEDw7H3TutIwfbRXeS+k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uVmusLHGyT10oqWN0VBFs4BBhnDioW/EnGzymDYbMnSDM7U7NWsBNjjcgRrElc8aXyJG/07Y8Ewicj69VuD+Zk5AVKngRg3oTdhUcQxKiRzMhqiBVbLIECCQRACvEg8GhC1KmQenGRaCpQq5qzZAuYEaiLYQuOzAG/cjra+aFzg= 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=V1KxzFN9; arc=none smtp.client-ip=209.85.221.45 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="V1KxzFN9" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-43d6fbd0954so2032213f8f.1 for ; Tue, 14 Apr 2026 05:37:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776170247; x=1776775047; 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=sGpv12SkwkaOJPmead5uDlbBQHRw6GdSGF20CiabWh0=; b=V1KxzFN9B1ZLSVj8FuHtSAsQx7B8ajVzH2c8fYkK7NwiD2gGb/fGLQr991Nyz3qwGx Pgbo6n+TaRYhfjR9SK8oV2OH/RBoOgs8UdBlfp1Qm1P+yrWTsJ1sT2laeAdTc+7rzEkF 0SA8rIPpsdhNH2ubPsWFJ+zFNg/nWXCsa2NhnVp1tETJ14SEW3OvQ6qzlK+bt71aYES/ uRtBri+6gy8QlkawP1dBB92pXiM4sW7Pz7OisiFkHgcLQ2f4kLrl0LdNbXVQO0in+LGA KLFk0AUN7grQYhnP4xOi/D93II2ahWK38gjGhs9IfWtAGYAVZOLKanJb6Wejx3KrYRN2 wbGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776170247; x=1776775047; 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=sGpv12SkwkaOJPmead5uDlbBQHRw6GdSGF20CiabWh0=; b=qUPkpI79Q7+IwXCIEZEGC3T+pSilbftzChiXP+TtJAlpgP6dzkXDLO0x7KdE7pNIUQ CtMdze/DcOwPbBvRIjRG3Z88N9VHk++r9Khq/5B9zn6HG3hey65tRm+nAlQdCvIw5SIB 7FUclsImwGCopzQ6Wx+7CBR9T6/z2s+c//yYGLFH/AgczPDwCsEu7CLCj7uFkOB/aVUE kuFb69KFM0gYhbC1NqbAE3ApuVIhN9zgtIZCg64NN5e3tGXSWTM0+lB/HvgCBIkAThYn 9iNI43/e1zjJxeGFuLyzTt3gy1+d261uypVvTg++zWjB33g/AYcBkmLCH5pH8rVnZsJT eVpw== X-Forwarded-Encrypted: i=1; AFNElJ9NjLUFhsqq4h0U/uf8HDBDG5+4phXvCCmwrqOCsA7I8KC9RURJJFKbKnwVFx2jeVrIKPwUqajJbgjn5EU=@vger.kernel.org X-Gm-Message-State: AOJu0YwR5oxXogg+5sbzgHUilIVNaozMHfjTSmulS5+GN8MqwyjmdXfV zZ1Yejq92tQF0Ok+5iC9A72OBp64QKHclPa8h8oNPW94JdC0al09kk+C X-Gm-Gg: AeBDievvsK3RGrzHLJHYGg1CBxDX0egoURKY3rq881txU1GhKgX53cFfZD6BqBCztp5 XYOV5flm+hP1CpYLlLpZKQbzIxTDaIlQDEaj6rSxBjwZ25aYnCBXaVHDQ5sdnyCUBxUWeaakjaR Ib4ed3BEPXdvNXnOwVS9DI4DKGpwx2HqIcEncBUFHNm4oFVs5/JwviCA55rRAsYT13cpJlIjy2q HJ6xNO4YTo0nK5TFSWbU0WwNt+BsYTz293E1ejN6b2s6uqustT58tT1x5TcjTNtSo3SzD51Gb+q RAYEzf8NETx5PjFG8Yp65AFNpj84mfis3QxCCJvU/emlAmCHrIL4IIHwHrru2O9f2z+f9oXSc0z tzvmEjRRAd8eTX1S54qrLSkSk0maF+pJevYau8zeVpyoRisXWjZw4vDR9MyDIs8smsZ4OM6WSjv uOQlzQiAB6dGE/37EPZBOCi0tfh8DZ+w== X-Received: by 2002:a5d:5d0b:0:b0:439:b55d:b0e5 with SMTP id ffacd0b85a97d-43d642a7a61mr26581874f8f.28.1776170246920; Tue, 14 Apr 2026 05:37:26 -0700 (PDT) Received: from [192.168.8.79] ([2a00:f502:260:5bd3:9217:8960:5f33:aaab]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e46a85sm41552729f8f.24.2026.04.14.05.37.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Apr 2026 05:37:26 -0700 (PDT) From: Erikas Bitovtas Date: Tue, 14 Apr 2026 15:37:21 +0300 Subject: [PATCH v4 5/6] iio: light: vcnl4000: make pm_runtime_enable() device-managed 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: <20260414-vcnl4000-drop-enum-v4-5-59fde2932a0f@gmail.com> References: <20260414-vcnl4000-drop-enum-v4-0-59fde2932a0f@gmail.com> In-Reply-To: <20260414-vcnl4000-drop-enum-v4-0-59fde2932a0f@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, Erikas Bitovtas , Andy Shevchenko X-Mailer: b4 0.15.2 Replace pm_runtime_set_active() and pm_runtime_enable() with their device-managed counterpart to remove them from vcnl4000_remove(). Reviewed-by: Andy Shevchenko Signed-off-by: Erikas Bitovtas --- drivers/iio/light/vcnl4000.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index 1e636e6f51da..3d0287799ba5 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -2055,23 +2055,18 @@ static int vcnl4000_probe(struct i2c_client *client) return ret; } =20 - ret =3D pm_runtime_set_active(dev); - if (ret < 0) + ret =3D devm_pm_runtime_set_active_enabled(dev); + if (ret) return ret; =20 ret =3D iio_device_register(indio_dev); if (ret < 0) - goto fail_register; + return ret; =20 - pm_runtime_enable(dev); pm_runtime_set_autosuspend_delay(dev, VCNL4000_SLEEP_DELAY_MS); pm_runtime_use_autosuspend(dev); =20 return 0; - -fail_register: - pm_runtime_set_suspended(dev); - return ret; } =20 static const struct of_device_id vcnl_4000_of_match[] =3D { @@ -2091,10 +2086,7 @@ static void vcnl4000_remove(struct i2c_client *clien= t) { struct iio_dev *indio_dev =3D i2c_get_clientdata(client); =20 - pm_runtime_dont_use_autosuspend(&client->dev); - pm_runtime_disable(&client->dev); iio_device_unregister(indio_dev); - pm_runtime_set_suspended(&client->dev); } =20 static int vcnl4000_runtime_suspend(struct device *dev) --=20 2.53.0 From nobody Sun Jun 14 04:46:30 2026 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.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 BDD4D3E6396 for ; Tue, 14 Apr 2026 12:37:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776170261; cv=none; b=qSG15lrtYz2fU8IjzOkymk1I28YQOu0lApvDvmGtTCHuEgd9HDB/Wt9BDIkq6+1ZeXP3AbdyKCmHoU1txfSESWHve8eRSG8ozX6FBO8Q+UyueiUt+fDhLoIkcoRP59WLs2om2xBfS0S1cWsQQpp3Qd1fU5XGixLrhOcfHa1Elko= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776170261; c=relaxed/simple; bh=uOmvo1mfNbD4bu9uWjKp7wZhL1nuHGEkZq/bWuGHg80=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=p6q6fPuVqxwlKy51W52BI1v3Ir5HE3Z0jGykCr/F/c9QlVqCt6ouaDZmFOkLpn/u2Dtrdy9ohZHmKo4uqianRMhPeqjcJ3NOerqpXYpdZCFtT8tFF/lj1ubg7ZmEydU36wDBANziCxXfyV1jdQCetjQOWG7CGqu9F5nzVCn+57Y= 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=m/u7KLqI; arc=none smtp.client-ip=209.85.128.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="m/u7KLqI" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4887fd35e60so39146255e9.2 for ; Tue, 14 Apr 2026 05:37:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776170249; x=1776775049; 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=Uenly7+CtNxUOjn6QoYde6SeyVk3RSuBlhTWmLeC+c0=; b=m/u7KLqI8ZTmu6DIMRpSBopLse3Mt2L0pLY5Wa3c6w3JHsk3pxD77P2DxkZup1DqGT zR2Goy6FLPUz0zg9HQTis42U8zBFkmXkJC8U5fErp7b4ts2VTkBYHzCujJHjGcmLZc9y +9BfbAgch+ZMO/w4n9N7C3cM1di9bo+Ncg7OAsd7zUD9Ih+MgCqY8ujmKCQ79VZrErJD 0ovDcbWznEYRlAgO37eo8U36ayz5M9rxFZpY8RapqSJvyk8KHTzP0A9wu49zHys8qYqm H+RIwVHPJ+jCdzHq4Sn7RqhQGGyiXbgxXmnESgr2mmrqdgJCTdZ++dgw55AF8zMlqphs U3eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776170249; x=1776775049; 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=Uenly7+CtNxUOjn6QoYde6SeyVk3RSuBlhTWmLeC+c0=; b=VkeyXllNfq9gt8P+rt7nSGCGV9aHrqjvzIJ4xUSvQptLGYNHsaxCZcqmM93qTPY2zY KP1uBgk6cuv8ZNIrY+Q7cW3mQZE07ALwkJ4Q4pqB72pJ0MYs0obwZE23ECY877qtjSvq BPTbgT7d35RFXBmSPyGmgXAFnJiUnVJLkvANL2tZCtTmUIYn1YQV6/sbtdXCftb8cTYY 7I3ptEAEH2E04Hr+z/pMAlIIEVmRVd7VjB12jR7SBoyyXmbDFuG0dohOsh7FTHiGH+M+ qyao9v+5ra4Nnb7Mu70guJZtfmivI+nbAzbgKNX+iD5ZfVxnEwU3tXxejUBbyqlTd8uO ZUaA== X-Forwarded-Encrypted: i=1; AFNElJ8Zqyk7fWrzqB+oG0P8ByLs85GXq749guJPVqiv+i/b6MQhW3/O/YdevTcU3HcDXCwLifeFsItRPJnydd8=@vger.kernel.org X-Gm-Message-State: AOJu0Yy3VH9ohUGB727PAz0q/8hhpdVueIbAth5Gs68LQbXUK/MCopJz y8ZxUme8JGnAECWbnpcPB1XRTQhpfW+UeY2j3iYYNWvEFUxQ2JC3+yoG X-Gm-Gg: AeBDieupGnIMz91FHh23LStFbX7fCbbLC3Piy0QyLad0uJVa+TSxuZE6IWvrG2xOUNp t9KZXD+OaqaGsmnh1CUUrz+42qePvPnLAjTb1l1x2Z9haqyJK22H9tqXh19OXIBHv4kFa1M76+h Z4Kg+wy30iitHUHJH6RjH4YOPv0b+kQRgdTlLcqP+BpfoTP0DxUvBmFMKFd4MJDDZTtcUpMQFQZ 9jzTG1DaZcXu7LtRrj8XmwQRMgd/xR4Ws9xSGklVccuiuGRDs6SN7XT8F/H8qqSfY3nwFN6gfMP bBI9fJ14KSgh3qnst343AXyHZFQa1rqM98+uwHIp+6V5FCAjrxF9Mo7/cOYLCVo5dty0jfc7gYx YWoR35mX3GN8XNm6r1+RXNilhiUXjMGEJZGY0oFGFW1u0nPgzT3Jqj7WIEs4DLJeBKsrX+95rUF vJfMHgtTm/fn0t3/SGtaw4z/DeVAB5JSrhsC6l/XIL X-Received: by 2002:a5d:5d12:0:b0:43d:77e1:6a67 with SMTP id ffacd0b85a97d-43d77e16b06mr12244419f8f.5.1776170248128; Tue, 14 Apr 2026 05:37:28 -0700 (PDT) Received: from [192.168.8.79] ([2a00:f502:260:5bd3:9217:8960:5f33:aaab]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e46a85sm41552729f8f.24.2026.04.14.05.37.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Apr 2026 05:37:27 -0700 (PDT) From: Erikas Bitovtas Date: Tue, 14 Apr 2026 15:37:22 +0300 Subject: [PATCH v4 6/6] iio: light: vcnl4000: register an IIO device with a device-managed function 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: <20260414-vcnl4000-drop-enum-v4-6-59fde2932a0f@gmail.com> References: <20260414-vcnl4000-drop-enum-v4-0-59fde2932a0f@gmail.com> In-Reply-To: <20260414-vcnl4000-drop-enum-v4-0-59fde2932a0f@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, Erikas Bitovtas , Andy Shevchenko X-Mailer: b4 0.15.2 Use a device-managed counterpart of iio_device_register() and remove the redundant iio_device_unregister() call in driver remove function, allowing us to remove vcnl4000_remove() function altogether. Reviewed-by: Andy Shevchenko Signed-off-by: Erikas Bitovtas --- drivers/iio/light/vcnl4000.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index 3d0287799ba5..c08927e34b4e 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -2059,8 +2059,8 @@ static int vcnl4000_probe(struct i2c_client *client) if (ret) return ret; =20 - ret =3D iio_device_register(indio_dev); - if (ret < 0) + ret =3D devm_iio_device_register(dev, indio_dev); + if (ret) return ret; =20 pm_runtime_set_autosuspend_delay(dev, VCNL4000_SLEEP_DELAY_MS); @@ -2082,13 +2082,6 @@ static const struct of_device_id vcnl_4000_of_match[= ] =3D { }; MODULE_DEVICE_TABLE(of, vcnl_4000_of_match); =20 -static void vcnl4000_remove(struct i2c_client *client) -{ - struct iio_dev *indio_dev =3D i2c_get_clientdata(client); - - iio_device_unregister(indio_dev); -} - static int vcnl4000_runtime_suspend(struct device *dev) { struct iio_dev *indio_dev =3D i2c_get_clientdata(to_i2c_client(dev)); @@ -2128,7 +2121,6 @@ static struct i2c_driver vcnl4000_driver =3D { }, .probe =3D vcnl4000_probe, .id_table =3D vcnl4000_id, - .remove =3D vcnl4000_remove, }; =20 module_i2c_driver(vcnl4000_driver); --=20 2.53.0