From nobody Sun Jun 14 18:58:42 2026 Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (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 A7D152D0603 for ; Sun, 5 Apr 2026 16:08:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775405338; cv=none; b=SXGxh2hBAWOIawhmsadvUWlPc5eQxJStPBDHv9ic2UucSBCIIFEy7A0NCmnfAg4EwLMQLCYAZlPF3kV3GHo5jwpLfaObIV720JdlDUPw1agadAz+pMLCf9VtWP34dqdZEDBgv3En/dG6MX0L2kSZVo+tXLbrXdufOCEiRW3K40g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775405338; c=relaxed/simple; bh=VpvLA2sk63soR8le8LkGKvWDcGPULDAGakl1/zSX0wQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SrRnTz8qYqM6y9pv9oAUaHkm5V9Bt0AV5aX9BdlJpdLDWmbjK/Shff7OFlmRD/Y2amOsFzpoJgCsi/U6VheyGxoMjzy5LiZPL2OTE5IRSmF17WMwyENcnmLhCPVYCJMc3PSp3a/ig+/u5BmzR0A3I7TSYqgpmcpkbxSZ1O16i6U= 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=RhD1iX54; arc=none smtp.client-ip=209.85.208.49 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="RhD1iX54" Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-66bb66db39dso5018886a12.0 for ; Sun, 05 Apr 2026 09:08:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775405335; x=1776010135; 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=ywiInDy1yFOYubYwYax/CzV6b7EwEWTvrFn7OFi+978=; b=RhD1iX54mHKXXFOwg6ZbBG3LTMm7g4soocxqJeirvPlmxn1/SKAvcK9m7WOYR/b9Lc Hjx4qRY5TeQ/bf+O/ceW3bukI2H5QrMX6PU8PGlvikWo/4m4HejA5Ne9saXoEF0zkcSl yVCbtDqjMqP2WezuoFQXBXGJ2crbN1981YUW1wwwCmAFVHakyt4XfQJeJzavG0fbydAj QRQdOhoCjVX9y0EvZF/wDIrGmT7/0UTZ2VkuxqFftP4nv+h69uy0araxFBDHM/TORAo0 ix2RxJ1KyiankQhVId9V8rB+M2p4aq2z9x4wKs3TfCqZxm/AfN30m/jJ7yqmAqcsCwTD 2jMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775405335; x=1776010135; 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=ywiInDy1yFOYubYwYax/CzV6b7EwEWTvrFn7OFi+978=; b=G5XAt4ec2zcPILWx6p6fNLYHKS00+K1GIFLdaPuEdYnvg64DMIAsj18sZfQ2Us/xf8 SEXgHPiPl4RE+n7QuyvJevIzC6oAr6+oiwLZ5WGoLWUDdyls8zAoCjwqW3MWejTq8QmI e1QdNjBVsQpnk41yD6n4/YPfFdx1PVbhk5tt1piGaKBurqEVrROYXCqn6MjLDmQi3jpo TZ1CrO/IPSDVS1/D56xHUZWX1mtJj0FOPoMpUIxxWqj+hZZqVKuwhhAhIls4gTxWh4s7 O4bydRmrchpPFKM1cdP8s48ywppe88qsn3hcE5fdkEiw+2VV4d4up9W4spsK8g7SivMn 4zXQ== X-Forwarded-Encrypted: i=1; AJvYcCViKdZcQpzCKPm236yxWT3BAYrrLqxEDjls1+iYsmxSkmr9bOkVsjU7ov4QL2GUZaQgjL+QqOkwJZhdHxI=@vger.kernel.org X-Gm-Message-State: AOJu0YzX48egJ5Jqq5f/By1qZKsThBL4WItm1lZyaOJWvRN1Mwxm9mZt ocAJ9bp4R5UHIdrMVFBsJFtegjo+hPdbg12KK7d0yFCzlOsGr7mmMpWs X-Gm-Gg: AeBDievutxZFTPgDXvJAJ+VI6FkO3h5Gj/4shWgfj7dg+DJAAM9V2hr1efnF1TPrvZy Tozm/gDtPbSAcn4+qfArb7fHWHz7pLN0ZfL7vNaYkCffBqg63SqB03WSxfwZvkUaAHHUSg2lcND iABDbGXOLUPVHeG2c8k7KZqQy472XOVvDXF2Sh70QGx8UFtvdnYk2qYeKxDez2LR60esLhQgJth qEWWD0qilA/rSuW6JGS+SlxBRmKVn7jLlyLymV9YzSInGGbPOwY2adIMhdFcR9j5pUknAQwvK+Z U/Y9RldTTRab4nQsr0gOi92XpQ/eYNNOgU5yfe/yYO70Rd4ND1RlKV9AyJu6y7SfMbiL+kQLfNE sLRGBSpe4I1BWEGi9euODcli5fgvdiiEx3CgKeb8d6MmxFrTSNLOIXsjgeqlyg17e2YQAnTx22B lVjrNSk2miT0l9aoHE6mWObuEz+Q== X-Received: by 2002:a05:6402:1ecb:b0:66e:f4c0:c077 with SMTP id 4fb4d7f45d1cf-66ef4c0c17bmr327308a12.16.1775405335015; Sun, 05 Apr 2026 09:08:55 -0700 (PDT) Received: from [192.168.0.39] ([79.133.247.80]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-66e02f389absm3195890a12.13.2026.04.05.09.08.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Apr 2026 09:08:54 -0700 (PDT) From: Erikas Bitovtas Date: Sun, 05 Apr 2026 19:08:38 +0300 Subject: [PATCH v2 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: <20260405-vcnl4000-drop-enum-v2-1-7c8dc98c3974@gmail.com> References: <20260405-vcnl4000-drop-enum-v2-0-7c8dc98c3974@gmail.com> In-Reply-To: <20260405-vcnl4000-drop-enum-v2-0-7c8dc98c3974@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.1 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. Signed-off-by: Erikas Bitovtas Reviewed-by: Andy Shevchenko --- 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 18:58:42 2026 Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.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 D9EAF30CD80 for ; Sun, 5 Apr 2026 16:08:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775405339; cv=none; b=FKjXVmPhQEO6E1EX10gbCJ3CSACM/g5L//9w1IauAvjQYAl7hKgtAmt7zlkmnPXg13IxGRhIBfrktbvzo6BjYY4o4e8rZgXWXd+cGkw9Vfdgpg5AG1T14RL199PYOZTUBtpt1meFTJu+MzwN49Xi71C9g0wXVtnZ9ASKkcBCojk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775405339; c=relaxed/simple; bh=cH3F218X278uogrQhozgOjxHvU8OCy1FU0iCLuRW00A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nUyYUr0a3Zv2fKsPM0Yn5MIQYPWwxY6zWwQj35JJfmdn00/9bcLnMOJKZOMUdMIeW08EJhSiPjTeStlDYPLFu4yEVdPCDoBNN3irWso8WQriarlT77uVoO4Bp2DhGyLiwFGX2YGE2U2zgRh87u/Jg61+ESIL/O/rRTJoAjJek8A= 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=aw3h+guB; arc=none smtp.client-ip=209.85.208.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="aw3h+guB" Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-66c17372965so6053361a12.1 for ; Sun, 05 Apr 2026 09:08:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775405336; x=1776010136; 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=PEwYglifR0MmXj7wx6gBUAWBEtub2MxfN50siSCQHrE=; b=aw3h+guB27OOlQCiJJ5+P0vkIViinvPDejlkXj8Xu8zYiapcXZTjW00zjIbrMvz+Uo 4dWd64V0kj6GHLAYdgj6wW/4DH4KGX+nD8CitmjTPORqbj/Rl0OjkVbpPmi/Pd3k4IaX KEcwoXMrXSd+/u/TTBr39VyAlUFlJlYQDdTEtSfeMOvTSPHuJz6AwMYB+1n8WGucihKH eJtE6YaV8Y+72ohODRNX4Jhh8sAbZZdUn/DUfPlw6ZaCQg7Cyngr9ipvITlRPT+5x0WR JaEyi2oihQ4hy5j3E8yjqQnIm8b6SPOyCriyVzzVfn0BU46tzjRrqhZlNgibJOFuzQ6K KnMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775405336; x=1776010136; 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=PEwYglifR0MmXj7wx6gBUAWBEtub2MxfN50siSCQHrE=; b=nMvfyhF0XfeODFUqYQRAeQVZ9iK+nkizSOXj5mnRcvub6jG2kpKkuxhxYNZBVZM5bC 5NEylzFr/Voy7PXjavfBX3q1VEJaVi7JTB33OtTJvCM6+FQYS24GOfaJ/OvCWUshXGFb EeJBKHQehCjpwJ2U8Bj6vVwidJaevPyQ5lLHwFaHeuZ/nvxkIILeykrEnqxUEwD5+0XW +QNjszViYgJvWx4F3tjkOdfXn6TR/ro888VmHCEgG1UH0hsUXUagsflQGYyFXULXPh2V 96zjZkw+xXQwq2oJd/uxmNknDpajt7NRq3UlOEkd2wWNn8oEkUJcbwc4A5iZtFyhRLuW sH/A== X-Forwarded-Encrypted: i=1; AJvYcCVVhxh+PRDdWyT6TyhDdkRTs8HIBPwi8sSa/I8u98JKb5tQqP+Fe8qKT99PmutXhCQhxEP4wOF10KoQzbA=@vger.kernel.org X-Gm-Message-State: AOJu0Yx8XmrRz/m2wooxp/ueZikc0WgqkGdK6lbW42tdAKR4dtDDhYhl +7LVHVpmAYgesX8ZMtqQqVYznPyhcH2xscctivNFeSyPPyj3QAV9Eic6 X-Gm-Gg: AeBDiessSJvdiwuBr+jM25RRTaR1Si4T2fDScqIJEqj/xgP2bl1FiSb8+JVebsDQ8zb oLz+nFUbOaj8ZW/4qmPTKHDlgvB4xjFGfVocOl8Ty75xIsdHmableoTCU/X0hNGAk4X+nLD7LIR 9v0L/Gb74oy6c3Z5JLPLNrNKiCx8YejM03+QlyZcC2ET8NaTijifSbnVUA9/aIob5twTpbb9hvs 1LfnGm4Eymo1T40NPN0DQdmAxZWXXzmkBjzNMOEFkAVlXprn0gzIqYlFafeBwMRaiaODYiFDQFl qxLvCB8lhmOwFnAeIChLfU79R9MgrnjEQ9OZaP1qMn3WRK9CGNCVnSRuK4nJrdIxeanjPZ3JZFT OMxaSfBLgIlpazf7qz5WqWjQwQABvsj9C/+WL/ElN4FnTKaSHQj9iqffiRniRR1tEkV280FG0wI TRi5twPCjaiWJSvKpKjb0RcD4o5Q== X-Received: by 2002:a05:6402:34c3:b0:66e:3870:76a0 with SMTP id 4fb4d7f45d1cf-66e3f3dbfebmr4543898a12.10.1775405336062; Sun, 05 Apr 2026 09:08:56 -0700 (PDT) Received: from [192.168.0.39] ([79.133.247.80]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-66e02f389absm3195890a12.13.2026.04.05.09.08.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Apr 2026 09:08:55 -0700 (PDT) From: Erikas Bitovtas Date: Sun, 05 Apr 2026 19:08:39 +0300 Subject: [PATCH v2 2/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: <20260405-vcnl4000-drop-enum-v2-2-7c8dc98c3974@gmail.com> References: <20260405-vcnl4000-drop-enum-v2-0-7c8dc98c3974@gmail.com> In-Reply-To: <20260405-vcnl4000-drop-enum-v2-0-7c8dc98c3974@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.1 Make device tree entries one line each to save space and LOC. Signed-off-by: Erikas Bitovtas --- 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 72d68d54864e..604e7412bea7 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -2079,35 +2079,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 (void *)CM36672P, - }, + { .compatible =3D "capella,cm36672p", .data =3D (void *)CM36672P, }, /* Capella CM36686 is fully compatible with Vishay VCNL4040 */ - { - .compatible =3D "capella,cm36686", - .data =3D (void *)VCNL4040, - }, - { - .compatible =3D "vishay,vcnl4000", - .data =3D (void *)VCNL4000, - }, - { - .compatible =3D "vishay,vcnl4010", - .data =3D (void *)VCNL4010, - }, - { - .compatible =3D "vishay,vcnl4020", - .data =3D (void *)VCNL4010, - }, - { - .compatible =3D "vishay,vcnl4040", - .data =3D (void *)VCNL4040, - }, - { - .compatible =3D "vishay,vcnl4200", - .data =3D (void *)VCNL4200, - }, + { .compatible =3D "capella,cm36686", .data =3D (void *)VCNL4040, }, + { .compatible =3D "vishay,vcnl4000", .data =3D (void *)VCNL4000, }, + { .compatible =3D "vishay,vcnl4010", .data =3D (void *)VCNL4010, }, + { .compatible =3D "vishay,vcnl4020", .data =3D (void *)VCNL4010, }, + { .compatible =3D "vishay,vcnl4040", .data =3D (void *)VCNL4040, }, + { .compatible =3D "vishay,vcnl4200", .data =3D (void *)VCNL4200, }, { } }; MODULE_DEVICE_TABLE(of, vcnl_4000_of_match); --=20 2.53.0 From nobody Sun Jun 14 18:58:42 2026 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.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 DFF9230ACF1 for ; Sun, 5 Apr 2026 16:08:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775405340; cv=none; b=iVQQJ/Jr6O58AjwqZJ7XG30vGHAwfn9wXRUfgaBDoUjedpOUdyxGkV9dW7UMq2zsdhW/D5vT8XodAzPPpgK7CTuqBDmf/mNRuQTjLOZeSRI7WYEK3X/T6RF276ovAAugob7CQK2mhSmX1E8z1vPdRcoajpE9fbAkAmneHxnLUBY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775405340; c=relaxed/simple; bh=Lkl/tCma/DG7kpmMYlXl6z94zAlSivBuq3aJqoYjUAo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KxI/6mpjX0/dfiwVe0PS0pwqqU/Cu3rAyJkSkHJgPVj+or7DLGnRBBBtEj6vyvljq5KCpj8uN/Yes47kh/xfxqJPZ/5cXzpIzxxjdz675cdAT+yTvf0bmECe15rqU3i4uG22akg2Z8FxIka2nmt/ErRtFNhpVnlQPLHvq7DlOVw= 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=D5oIDpd+; arc=none smtp.client-ip=209.85.208.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="D5oIDpd+" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-66ec3b7b1deso706780a12.2 for ; Sun, 05 Apr 2026 09:08:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775405337; x=1776010137; 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=rr/dqvB3ImU/fbrclGNRtxKGepRSAGEKqUVvA+ogmJ0=; b=D5oIDpd+24Sc58rv34HoR5eBC9MDMz8Ymzm8ECjLGOwZVu6Da4RTnrjGEpucQqZRUY Soo4Sh2rGp+lUuHyeTNkybO9BQASgtGKJPE5QldSYy4rHcKQLl3YHN5rcAZ1DZTrTY6N BbMzbqaPhfy28O0DJpXVaRLSeMwcGcm7Aap5nsTGJ+nUR8TQUNu2vsAC8PCKkFBXYoDX LOjiDl1nKwKPtNGmb86MonDVHDhfRJc6thyTvcOWPTfcT6xF1C2fL2MzRYzLiAi6vO88 XWxAGhh37/fFkGm5uyOQo99JoKoUgontYqpjsJugF+T9uX09Rx1LRXfAAMMGEm3xIDRc 9Xyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775405337; x=1776010137; 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=rr/dqvB3ImU/fbrclGNRtxKGepRSAGEKqUVvA+ogmJ0=; b=rWn3/WH/NB6EWlO73x4XWXDbXBvFoJOoE2BG5BOGt5s2EAvKp0tXsWKM89L0JmPfdr 7j7OKBYuU4KxYn4nJkUg1+wyoOL0dRhKdcQtPW0FNkDopqzDKZkU5R8rQ6mPCWg3CTI5 HFSZwx9elei7XTyiwir7+30G5PvnMyVmhjxtQa/eVy1LLb7Aihm81DK4g3f2DR5zvptg x2z7l2/cy4k3ADCnq+qJWXq1nkGD9ol18sOv4C5Vqhh8gCvUZataljzVaInVKlwXlhIs PEz4LdDDyJgYAqCdWX11h34nqTcCnWI8UIIx44HwyFSaUR8vHvID2jBnjJSock7Y7pnB NQag== X-Forwarded-Encrypted: i=1; AJvYcCVvvHL6EQWyhDef7urYqBUqZUoze9g01s/x0qnndyRRW1EKdCz40x53Vx5++W2fHPx72HXBEg4gXtyfvhc=@vger.kernel.org X-Gm-Message-State: AOJu0YzFoYqylR1vz06bPrAd7KP+S+iPZ3Rr2qgyDQmB6GLx8ePtyudo d9qfMi5aXzajzzQzIlztiowet6KsyZ6Xw7zlLOq9uS+Kh6Z7vG9A2kv+ X-Gm-Gg: AeBDievDPIzqQhjtljOAHjqAlkywbiDJTdMURDwdR1eyYgF/7TRm4tu5Ojz1wR9xtze VK45ri8y0IaPVvTGyylVwAZoeHnKpqkEHYIqXzGt50FFGWT+BdZrG3EkMTLHguMlORbYN8Kfz1Q 8uTCh2j0JKU6HCCzhssFbAVxnEMDW56BcrGO5eX18FvjAjqeonSflrH7xalyo3CiYTOeJ1YDrim VCjN2uflY3KDfKxi8yejA/OM5PR+IaAH8xBaaCG/YQcXgiC6Dxrs+6KhdPe2iSV+UL3RD3XkTan 2rfMhxyu4oBYAyX7TuenxOyDuegjcNwSYtucxKCRxer61ovWuLjPNWQKkzcVL1JX4kp2EEg/g3K 0co719mRP720Hcd+p+HUDoutG/GUdbMI7EI7yUH03GIihvC9jy/C30+empt/ZIvMxie+1CLxMY1 SytHF+g3HGTEi1FYXtD6QqbDL3NReRx/fvbO9T X-Received: by 2002:a05:6402:350f:b0:66e:b997:2b61 with SMTP id 4fb4d7f45d1cf-66eb9975d30mr1357163a12.18.1775405337142; Sun, 05 Apr 2026 09:08:57 -0700 (PDT) Received: from [192.168.0.39] ([79.133.247.80]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-66e02f389absm3195890a12.13.2026.04.05.09.08.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Apr 2026 09:08:56 -0700 (PDT) From: Erikas Bitovtas Date: Sun, 05 Apr 2026 19:08:40 +0300 Subject: [PATCH v2 3/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: <20260405-vcnl4000-drop-enum-v2-3-7c8dc98c3974@gmail.com> References: <20260405-vcnl4000-drop-enum-v2-0-7c8dc98c3974@gmail.com> In-Reply-To: <20260405-vcnl4000-drop-enum-v2-0-7c8dc98c3974@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.1 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. 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 604e7412bea7..bbb84b71f226 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); @@ -2079,14 +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 (void *)CM36672P, }, + { .compatible =3D "capella,cm36672p", .data =3D &cm36672p_spec, }, /* Capella CM36686 is fully compatible with Vishay VCNL4040 */ - { .compatible =3D "capella,cm36686", .data =3D (void *)VCNL4040, }, - { .compatible =3D "vishay,vcnl4000", .data =3D (void *)VCNL4000, }, - { .compatible =3D "vishay,vcnl4010", .data =3D (void *)VCNL4010, }, - { .compatible =3D "vishay,vcnl4020", .data =3D (void *)VCNL4010, }, - { .compatible =3D "vishay,vcnl4040", .data =3D (void *)VCNL4040, }, - { .compatible =3D "vishay,vcnl4200", .data =3D (void *)VCNL4200, }, + { .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); @@ -2127,6 +2106,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 18:58:42 2026 Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.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 1668C30F534 for ; Sun, 5 Apr 2026 16:08:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775405341; cv=none; b=u5EwtZd6obpaThDS07IqsVsoyBcs09n0utZBrgkWg8LYvE/hwvfCLG+z1A9lt5tbruzroV3iUfTwbMe9GjkLDd0Zhd0B2xcGlAuiHFub5zSETQeCjSkl0k54wy2AWI/SW08wGh1J1DECbBqEQgsjMUxz4zvlTo+mbw2Env4UD2k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775405341; c=relaxed/simple; bh=W4Dkv/cxqcbtSFxMXht3/xCgABkjPmCgOyi5wTUTfxw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lb3Awg1tVR9F5PD1efCTkVAdjy6phaGTEnZXZW+Z1JB/Nud6lM8oPSrvH6u4evlvu7OLBbbAz/1wzpimLjnZ8AMphoxR0svjGDuR6kmbZoIzglX2Io8IKtk4Hs9ZrhGboC4YXMqAGhKC+dSxBdQtrWbl/tcnoTL8bcOtOz/RAoY= 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=oWHhEfzF; arc=none smtp.client-ip=209.85.208.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="oWHhEfzF" Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-66ee0241bc4so502841a12.2 for ; Sun, 05 Apr 2026 09:08:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775405338; x=1776010138; 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=+gaxsiUdPDi9gewdcKx5if8b3gQMUYuTELRJfI5bMzA=; b=oWHhEfzFgygWR+XTfeEevXh+U7ryPNjZ4PLfUVPU6aP1lHlERNSqS7kIDDudeGqvAd +8U+MYeRM3qXi3P3FtdplEbH44SfAt0+XRrEVxcRzf8c2NyCjME89XnSrxACIapLMVaM sueS/dAeuZAtO56R/URq/NdUI/+j+sGyQuri1WXYFsaD4Wq3A+LSZmc22DFs95ejQVhV pRRzMGPVw9AGQJpMmsxLya+LnDZJ54IFI+bumY/Jb0OHnbTHMG/QuqQB3nBMOHip8Q6H QgcDI9kVVWFe/63TOoC/gKzuxPjtLT3/dcmx4MQjgWbd9AYlyxY07LCIc2UMkOPWL10E 389g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775405338; x=1776010138; 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=+gaxsiUdPDi9gewdcKx5if8b3gQMUYuTELRJfI5bMzA=; b=U/qZWiqhWmJTSdoqSZBOEWHYFQREqtJvumLT9giG4BAuUmhhUGVGSc4xjUQ+Ewtazy u/IIanul3QjBKwvmMe1vgIH2/Vn79uM1jpDD5F69WevjhzAyV/pwUIpCX+/f29lKlGmG mMLgqZeoLQkp6U9sr4kHcIKE7HQcGfiyobEID98ZyNx8MVmG996BATUU2ftAQmEI9+6B /99LUvTkuzXaGE++FvQuG/ztp4FFKvZ29ODDMZv6YxIxP1PaoT9mBLxyi39KZLIwf6bH ngvoqhyhfbYEwihisaW37IHQwu0tuznoaJcReGZCRUj5ozt+oesdls4yvQbhT7TUfhMm DA5Q== X-Forwarded-Encrypted: i=1; AJvYcCXV638rqkU89QXKA+RpXATR3CT9K899hqJzVy7hDLNp5lTVAfmQmWaBJqOcqcgQQAHahMXNAejqReISG8E=@vger.kernel.org X-Gm-Message-State: AOJu0YxtN0yq3SDSzO/oji6d7KW731DiwMXAkG4Tm/CEGGLSgJWEl5oN 1lWNmBPdpimtytxzkeZXkupk+Fjy2YrGDyiVQ7Z8TYb+dn/FymNhisjv X-Gm-Gg: AeBDietnkgtuqGvs26w5CLxYpWMtZqreFRuUuD4NpmxN/p+greeX1mfnAh7poelMBpI 2f8hLQppUciGjhNNp9lyWA3LaU3wYG3Ht24rNxHtKrR34/kyJveOd3Kgwdne6Tsu3s1fN/Lvt6I MilexBRZKe7klpE+ag0725M2H07P4JtISZUBP2Sp10BLUtAIEZJB5mJsxS8ne4I7XgZLnWnzu3m v146LfrpHI5drnAliFPA2715LwYUZz/Oxod1bXon7ap5PUi8UEcNvW+2X+kdoenkV9aufz5RGKy JLhx9uFJv4UFI/V9OXgQ1XdWQwdWMCNy/Y3ytVbN82QobV6GydDY9m8i5MooHfmzuz6RBaLGWQ9 4MS5dL53vKQtMo5l08unWIMadWd94RTwNxCnqKoZ0DkrWwVLRwZeGg5TjMSQTg+vNKmAxPZgcm0 1/QsTxKM4Wrqi3bA+02k3V1ZQKYQ== X-Received: by 2002:a05:6402:5106:b0:662:ac7e:aac9 with SMTP id 4fb4d7f45d1cf-66e3f71d3c4mr4260796a12.20.1775405338237; Sun, 05 Apr 2026 09:08:58 -0700 (PDT) Received: from [192.168.0.39] ([79.133.247.80]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-66e02f389absm3195890a12.13.2026.04.05.09.08.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Apr 2026 09:08:57 -0700 (PDT) From: Erikas Bitovtas Date: Sun, 05 Apr 2026 19:08:41 +0300 Subject: [PATCH v2 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: <20260405-vcnl4000-drop-enum-v2-4-7c8dc98c3974@gmail.com> References: <20260405-vcnl4000-drop-enum-v2-0-7c8dc98c3974@gmail.com> In-Reply-To: <20260405-vcnl4000-drop-enum-v2-0-7c8dc98c3974@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.1 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 | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index bbb84b71f226..d28c7abe7642 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,20 +2057,17 @@ 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; + 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_poweroff: - data->chip_spec->set_power_state(data, false); - return ret; } =20 static const struct of_device_id vcnl_4000_of_match[] =3D { @@ -2073,18 +2086,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 18:58:42 2026 Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.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 49EC730CDB6 for ; Sun, 5 Apr 2026 16:09:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775405342; cv=none; b=UtVASI3aHkXjxtpbhA7toH+WUvj7JvKd5Iskh+XqkM0hIcXSoB3WLNWfionIZAjgLJJ/j33SQmjsWU0GkspGyFGLbeK6RIhvWrrFUSzlVzRZHmGSK4eLSgNe0dKtYGr10eV/9eS3jgAS6hkcek1DfdcQMylalsO47H2r7b19HxY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775405342; c=relaxed/simple; bh=N/WGkqOTtr1/EsB9ncOc03NX0oaLTzpDZdk6nWr+iVQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Nwp3ZDx1C98gTghZr4P27fxopJZ32TMW1RGMZHXlYfZNdI2Qqp/+haBIftD2hu1BBpx32Rh3jRSzCjW2UZwiKdB6btTNeYVtBaEsnoVWwxl/SGV1kDMj2rU8cFijFnuS76zstnmTG+0pDnSy86Y5xbqa58kAwpuu+5PrB4ttQmw= 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=NUXFNIvU; arc=none smtp.client-ip=209.85.208.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="NUXFNIvU" Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-66e8cf72a93so1258077a12.0 for ; Sun, 05 Apr 2026 09:09:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775405340; x=1776010140; 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=6vrsOzQeG5kSW32wCOP8z9WhfnNMQJXqkN1XExXaUJw=; b=NUXFNIvUB7OFvl11jc5l4/3yT0HlV8F0PsuJ43tLTwuCHmJ8hRHnFyPsZdU7kBWikp 0AlABE/ebY47bPrHbenej47YlIQFIISTpoiZ30nhDcc6MTdZBJT9GBDyrquoRCZkhoH8 RT18mrisXWNaniJ//O3lNHqVm/qdTB8OErgLd14KOlQD+p4drp3nQIDI5+/+HAwpkgT/ oaYdp74bZsTtzvHhKnRdDVHN2Hw6D8TqihbEPCsbGqLuyuJMaUrXrFqgYyTyCVbte2h3 ia22o7CnN/DMpf5yfwFxqkHtPhG4VipwQReW1M9UrEHnPoelwPyymjna6ei3WovbFP4T EV8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775405340; x=1776010140; 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=6vrsOzQeG5kSW32wCOP8z9WhfnNMQJXqkN1XExXaUJw=; b=OAzI8ot1trmpbowsI/rsenE/PyXmSehAeAUCuwcqMsCBnmBJDu2VH+Ix69mA3YMmOH zPpEUJ0UuYvYHBzljek1pSOwgKckQzzGcYXstSA3orb/N5SqxxOuO8xXSzCqraioMypb F6UIDXbrZOFbNoYo/nfLUkWBheyM+4E13qR7nw9a4DCNZ56jFp4CUJ/cjYeCRWS6sQYJ NIdlBnU9LMUBlersAqmfCZ4yeYeyT/oHOuaRp62tEMOMnKaUjpxGzTBusGyNKfUHtzBu rb99CYNd6e8i/oO/8DI/d0HthhVFiabK/uh9sItuk8hxpcujNFMnOe3XmiJTT0sBjXPW N0Pg== X-Forwarded-Encrypted: i=1; AJvYcCX1Fb5nIOChlDIYdKn+p/JQZFkwXs+rR5agcMXEJefJNiRMmLKwRbV0t6VMA5F2+2dbocOVD91qim/Otpg=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5FMylkk3rILCrE2gJaZ5+pTzi0yTLsKft+ajdgKG/5Wc5yPii YMedAaobsufLUwEX3Vr0qwUZbOpRUfJDr4RDMvPlAel8zGzXJlp2ipYeON8rJqHi X-Gm-Gg: AeBDieub6n1s3srqdwHxg6RFztIToODA/brsL2+uo/GP1O1cPkM7lSBnWLqRjuxLGlJ b6ObQY5z35Y427aP+s6VDucbHawybD8el2v8QNRVVjm65U3sI+IdeC1w5VnhEhxr02e9SDxvhUI 1zt6NYSj1IdxCqGkLCR/b3gJ1+WujOMMhPDEmt6hhbYCWmmsAQ4cPSTt3zffdoD5zFYdYK58rR+ fmtUSy2O07/M5p5o/OBnpbWfZTZxvJOLwOW2ESX6xANigPGdEjpY4CU8kuZN8snDLoOfAYgmXXt LaUalgpffMwtAEvz0RNInkaoXFztcrus/1KPlyYU4VB9dAwsvUJRGLlYFISlSaVd0g1QWqv/WgL X9p/eMKwWv5S34ENzpdrPw43EDLCNpcYHUt435D3pbsxZQeCdxYXdclGFeAKRCMyX7ZvIUz/BM/ IIYdzeQr1VACnfJLER/oMS18FsBg== X-Received: by 2002:a05:6402:434a:b0:66e:809f:39e1 with SMTP id 4fb4d7f45d1cf-66e809f3a61mr2627757a12.4.1775405339692; Sun, 05 Apr 2026 09:08:59 -0700 (PDT) Received: from [192.168.0.39] ([79.133.247.80]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-66e02f389absm3195890a12.13.2026.04.05.09.08.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Apr 2026 09:08:58 -0700 (PDT) From: Erikas Bitovtas Date: Sun, 05 Apr 2026 19:08:42 +0300 Subject: [PATCH v2 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: <20260405-vcnl4000-drop-enum-v2-5-7c8dc98c3974@gmail.com> References: <20260405-vcnl4000-drop-enum-v2-0-7c8dc98c3974@gmail.com> In-Reply-To: <20260405-vcnl4000-drop-enum-v2-0-7c8dc98c3974@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.1 Replace pm_runtime_set_active() and pm_runtime_enable() with their device-managed counterpart to remove them from vcnl4000_remove(). Signed-off-by: Erikas Bitovtas --- drivers/iio/light/vcnl4000.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index d28c7abe7642..556dc9afa82c 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -2055,18 +2055,17 @@ static int vcnl4000_probe(struct i2c_client *client) return ret; } =20 - ret =3D pm_runtime_set_active(dev); + ret =3D devm_pm_runtime_set_active_enabled(dev); if (ret < 0) return ret; =20 + pm_runtime_set_autosuspend_delay(dev, VCNL4000_SLEEP_DELAY_MS); + pm_runtime_use_autosuspend(dev); + ret =3D iio_device_register(indio_dev); if (ret < 0) return ret; =20 - pm_runtime_enable(dev); - pm_runtime_set_autosuspend_delay(dev, VCNL4000_SLEEP_DELAY_MS); - pm_runtime_use_autosuspend(dev); - return 0; } =20 @@ -2087,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 18:58:42 2026 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.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 D15A62FF160 for ; Sun, 5 Apr 2026 16:09:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775405344; cv=none; b=kXI7W/SHj8Pp9YteYeQty0Hg5nDxFKvGJS1w1Y2KN/x/EWHMgtEZZAyERYPYfWpOREAunKfbSXRhsplgCmWCOeWAjEJmvayNJDFKf5PL9O7oiTVNRFWHSTZwUIO+oeLqHLerNycjbN2+PG5zzvUU9G2R9Fqh3At2CP0uYFGCPTE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775405344; c=relaxed/simple; bh=v9TErxDPpsIRkhNKYWP4xtO27wbtpwBXPJW0u87VpDI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ddrVDOVN/UUdsg2/OLDrgoUvqu4wZFBrhT3yd9HPpf9KUPBall6sIGWfuiLVPNX4jIWRwZ2OlXvRlvqRdv79Z2E6bfdn/N15CHRfol4uJ8XBHSGQtoAOMjKOY8IfX0WgKYJ98hxXfxkAB4i2zeCWf0DZsTK85teaf/uPSvrDols= 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=rQGPfP7V; arc=none smtp.client-ip=209.85.218.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="rQGPfP7V" Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-b980785a0bfso411251466b.3 for ; Sun, 05 Apr 2026 09:09:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775405341; x=1776010141; 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=VovxD7yoVP0rJaxD5qPxYVv5hPsMXk0JFRDMJJBecv8=; b=rQGPfP7V6c+fdv4j56Gkks+qoqdpMkBuy76G0AcAqDPCUqsgg8QCisK21BSvdJfJCn IRVA9dDjhF/oIj2Ewys15AngS83YQmv8pUMrUxvFEoWxZoxTNhcoZDkQs1lK+s5kutjQ 2tPgqQnYJr7GNE4uJlYhUs57Aideqb8gIlnA31UEGkTOckBaWIHX26BAyEt8Y518G5pl XWBNbFuWdAgUROShYgUPs/d+q3Y0vAkD902YGE2XV9TqGKvD9B0YDozxUG6ptIoTPvf+ JIz6kOCmrqV1gluPefy2fBiyRxm8m2w5f86L9xvOwnSuIBBU7xHrVxLoLvUbWJiY84Cv li1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775405341; x=1776010141; 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=VovxD7yoVP0rJaxD5qPxYVv5hPsMXk0JFRDMJJBecv8=; b=MNTKF1Z9xa6YroxXT5w/LY/2f3l36+MGtkLmerPokFaELcQcBzcCVkHtyuqHqQM+fJ a01dD6m/gg083gscxZkBy/gVMfECBxCWYD1Xc1dB4gwsm8Maak+J8Q1EPlyb9b2MvTkv JNWhYbG6MK305MfueyMfbMY6C55Fyohhake5R3l1hzdiFLIb8MkFZxPGYaOQL6uxvxhS 3PvVBs8IKvzZXNrzqcNS8BpmBZi+waPZX0nhlYIEqr2In0srhEjFkK9UOObDaRrTy6cy ITw/bgpkQVrQXhx3WbGPWx4T6S23re1xWN1dBE8Kxu3rmnrA8LWIoRdYV8iIQ5MBlRa4 HMHQ== X-Forwarded-Encrypted: i=1; AJvYcCUon7PHKp9fMRLnKT6ax093FDhMip+67yR7udiV6nGTxv933uBHzdLFaEhGkA5XwQguF4MJpB8tkihWo9Q=@vger.kernel.org X-Gm-Message-State: AOJu0Yznt5wUTNiuJsR5DvEARW7UCbhSPwPHmsnHEwfFsYiDw+4QcmtD WE6iNBGRXb6kksXm81fYU1dgXrZDdvTDvIH9PHTg2yNUU/8C7dd62fjgton2PZCU X-Gm-Gg: AeBDietV0UiQ1djIrFWsMwBjwM1QIX4xd6s6Mz/IOD56k2B6qZRx+cbK8XRKQH+jyHj uN+RahWUkw+9K6AAlrm/VhcXQHJGqVloD9rRDsQBk+BfUjowNU4PZjv42QQKQ/099G846FbSxd9 DJBP7oWoPVxSGHLGq8OkJlcCiWwhlWfapuPIgEUKjjpe86Lo94buQ3kwcNWNokmladVfTC8U1gL STk67em+dIrz1qcCPMwOP3HZJ1UtW4+GHAPJr/6l2vuvCUAqMFXytDuye4XZU6aF8nS87K9Qb64 x17Areceyq9YgwLXWrJJHHj3hrQvezhJ4GTvV9NeCZjj9bjy2H8LehLnQNmuRtPGY+8Dbv5o8MX swWtSukjOm4xwSDGOWSXjd7+nuOP83TVMnytIqCHOArkaZwS8I/k1rFRUbm4x8c9cgOhegHTydH 6sJ2pS3fBt8jddavKmt3NMlwjT5A== X-Received: by 2002:a17:907:3e0d:b0:b9c:7f55:cc6d with SMTP id a640c23a62f3a-b9c7f55cf7bmr327776766b.46.1775405341075; Sun, 05 Apr 2026 09:09:01 -0700 (PDT) Received: from [192.168.0.39] ([79.133.247.80]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-66e02f389absm3195890a12.13.2026.04.05.09.08.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Apr 2026 09:09:00 -0700 (PDT) From: Erikas Bitovtas Date: Sun, 05 Apr 2026 19:08:43 +0300 Subject: [PATCH v2 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: <20260405-vcnl4000-drop-enum-v2-6-7c8dc98c3974@gmail.com> References: <20260405-vcnl4000-drop-enum-v2-0-7c8dc98c3974@gmail.com> In-Reply-To: <20260405-vcnl4000-drop-enum-v2-0-7c8dc98c3974@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.1 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. Signed-off-by: Erikas Bitovtas --- drivers/iio/light/vcnl4000.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index 556dc9afa82c..0813639b5ac1 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -2062,11 +2062,7 @@ static int vcnl4000_probe(struct i2c_client *client) pm_runtime_set_autosuspend_delay(dev, VCNL4000_SLEEP_DELAY_MS); pm_runtime_use_autosuspend(dev); =20 - ret =3D iio_device_register(indio_dev); - if (ret < 0) - return ret; - - return 0; + return devm_iio_device_register(dev, indio_dev); } =20 static const struct of_device_id vcnl_4000_of_match[] =3D { @@ -2082,13 +2078,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 +2117,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