From nobody Tue Sep 29 06:59:15 2026 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (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 035B53FBB5E for ; Tue, 11 Aug 2026 07:07:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786432072; cv=none; b=U/loMnh4Kn5Gk8DyDMvhTnYMWEnbs3u5P4fgJ1Q/uaykY9ogqhHTmPKMjpWxqOvN/VakX6D1dT9M27+cuYKULoJu7e9OUCa09Q7DT9GcJtn9GcVV1eD5+3x3wYZxE4wqkxlgpxK5MbdwgXZoZr2n+6SFXhbe4nhvvTKo5vXWj5I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786432072; c=relaxed/simple; bh=9o1HG7TPq5oF8OHulY6/3Z0/0lfhuIbTOStUmewqt0w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fT63ThgrMgYZ9z5dfmb/w+oSziUyryrgEa3H8fOoyqSR9vDqV5t8xGw6UGXrjvYcSqXkkO0DG16cTJ8JKAw+FvZ5N+f8kedDxGrM/Dk8inIENQ6cCp3B972VwFjiWY8FlT23nWtXUXUYFX4uGBu7AyO3ofPzmt9KVuRRJGpSs+I= 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=Df2qMHkX; arc=none smtp.client-ip=209.85.210.175 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="Df2qMHkX" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-848643382fcso478184b3a.1 for ; Tue, 11 Aug 2026 00:07:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786432070; x=1787036870; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=0clG2VHFI7ZfgF7/7C6METDrFiRccy8/pvJItliEIu8=; b=Df2qMHkXaQYYqBHHcuVoWEzERfPqdZ0biUiH93W5quFpzCKu+L0EeJdIgT0/faUefF ETmTq9rCIF3RKbrCw9ROdNK4ilc4nfKjU3pflwqkYgyayCJ/WM9dy5tRjDuHMHteXL7q 0yn7HGgs3kgPbh/OFnGCEQIvh2+kAHRxgt319t1EZCts1pGsKaXydyF/PaGSQJY6+nTP +eWuZGyymiMvnxpeDa8W0weWRUK4nI5u2nh1IqS+hZSXgJbD2/xHyXv17C7HxsqOxVK/ jL5GEii3XzH6zmq4KDE62e5uDw+t0ugKwJ1ZOSsOSw0U+Syh1juxSQ/KSUwrpHJXo5pp sDKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786432070; x=1787036870; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=0clG2VHFI7ZfgF7/7C6METDrFiRccy8/pvJItliEIu8=; b=FcKZk4HnXngoW19kWgXIHBP+BV/sUVZEDZIbPleBHJzxVT/rULwot2qjcWi1bRJ3uK MegIxGakyM8jOkBKa5KmXGJadSPn41GMhvduVY3E1azpqR1N5Y7rx2LLsVfHTVs1lXDy bTdSCF+uHqsqDBM9ir3JdLi/zvz/DvUw612c5GcvoStARC+Y59KS+DMXm2Pd3NNKOjAg 8fMUfZD9P/MpyyzMEWMfmFMjJ65gtiRBB/F4H6akk55ymH/4SketsIt4zrVMG6FDCn21 N1/zrfKBN013EUIPhLyGJlPsX7YEcRJuoGeGBtw7xsMWdtvtVKF7Gfhx+yPbirW+UhrH eSWQ== X-Forwarded-Encrypted: i=1; AHgh+Rp6LQxUfNKiAzcMcouF8ieAVj/t7gv8A0cS08kdd0UZQnfkcocnGCSrn0ZMABAC0yyrruxb74F/0zB6Nq4=@vger.kernel.org X-Gm-Message-State: AOJu0YwTHoqGOSVCQNi5ISxTgzAEbi/FVF3Lnn65VpZ3RprkJUWsdvuR LF+kUMELhMo2nGt+8Tk0rRQht/DH5DnHPGMGLd4ESDEWpuish/6BhU/x X-Gm-Gg: AR+sD110cGKe9iJEfq1UXVZGqo+FdNT2+lSCmPHLBjJ+ll1naz2dpK8pMa+GomtmftU 3LXTPDlhE3MsOEgs/5nQrUzifmeS5SJlfhjWzaSUrI/4BwGBTpKJPJPCuXcvrhqR+/Y32BGVHpW vGxSjw13QIe5ez/6rJRAfnlpGiSCco1aH9ZHOz/bxMjgVrVQ1I4z5sFoafKnn8C0Cu5AVbX2Ufk jAMaQmqtCAo0PM0DQ94xeh+zEVvSqneea4HrJbhGSBMBHvjr8DnhimZB5PcZvin7oGPUdU68brM HYRTdCwWjO5Yps9FWlWJS507RmjG2KkTTIHTgWsVFnFhz9W3yqy/qEyjA0N8Q/DuRA5lXP3gpsM Nxg1AI+yzhdXL+s8O0RnJi32EGzZ358zunhc26S48pEW2gknjKXXalcoP37yp9mM+wuiwLypMVj KzbvkXdJOI8DZjDqY+BubPCBxHf4y0DdrYR9h31hyLtx3cGUzeSZbDmvj93UtaImKcbTC7F+c7S cnWDHAHLFcOxd3HQLFb426j3E15 X-Received: by 2002:a05:6a21:3204:b0:3b4:8ba9:4d8e with SMTP id adf61e73a8af0-3cc2ba44057mr1749846637.23.1786432070171; Tue, 11 Aug 2026 00:07:50 -0700 (PDT) Received: from [192.168.20.42] (115-70-157-242.ip4.superloop.au. [115.70.157.242]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-31c619d0209sm1765052eec.5.2026.08.11.00.07.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Aug 2026 00:07:49 -0700 (PDT) From: Tsz Shan Chan X-Google-Original-From: Tsz Shan Chan Date: Tue, 11 Aug 2026 17:07:24 +1000 Subject: [PATCH 1/2] iio: light: vcnl4000: use correct channel array size 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: <20260811-vcnl4000-v1-1-50e7fb657692@jacques.com.au> References: <20260811-vcnl4000-v1-0-50e7fb657692@jacques.com.au> In-Reply-To: <20260811-vcnl4000-v1-0-50e7fb657692@jacques.com.au> 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, Tsz Shan Chan X-Mailer: b4 0.14.3 Use ARRAY_SIZE(vcnl4040_channels) for num_channels to match .channels. Signed-off-by: Tsz Shan Chan --- drivers/iio/light/vcnl4000.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index 128ae3f94074..663e623da833 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -1874,7 +1874,7 @@ static const struct vcnl4000_chip_spec vcnl4200_spec = =3D { .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), + .num_channels =3D ARRAY_SIZE(vcnl4040_channels), .info =3D &vcnl4040_info, .irq_thread =3D vcnl4040_irq_thread, .int_reg =3D VCNL4200_INT_FLAGS, --=20 2.55.0 From nobody Tue Sep 29 06:59:15 2026 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (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 6F0013FAE19 for ; Tue, 11 Aug 2026 07:07:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786432075; cv=none; b=WFQkNg+yKrwOz0lv4ctQ/EwV+jb0TUcs5di9zexO+Ixq1vy84Z2FXXhFigP8qtEJRADccKNKij0ewBvGwAoKQEBLoe6o8A585jKMhzcbE4OI5It83W8zXhbcc6vNYAdtzncEnOOGUetvzYnHsgIEuJvP0vwI6deDshJerAOlpIM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786432075; c=relaxed/simple; bh=M0l4FbBo/EkNymrkGGpmvBA6vKquK6JBbdroqfDWZaU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gPGi5sZr61Ui5m3aoL+M/7QPFPwXS/HH93hT8CIT2zLKjclb7daBRFq2LiioXuWpgpdoYWXiLar9GvOoeF1i7ApUyUyEtLRczJU1zKCScTS7b4LWF/UhvhtqJDKpgkIwUrAnNXuf9VQN4RY8X8yrgHw37Mrxqdixr17G2KxxCUc= 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=Hp9yMqm8; arc=none smtp.client-ip=209.85.215.179 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="Hp9yMqm8" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-cb5b8572b70so3152859a12.2 for ; Tue, 11 Aug 2026 00:07:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786432074; x=1787036874; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=YH6JnwhrMJ48wJS3EuEDXYc+J9l7GkieLILGb4BHTLM=; b=Hp9yMqm8kwHK9yvc60I5Z9hI0/3UthI5iRD2FbKDYSs+RFzMnRIN7eYv4q156R2ub8 DJFEmVK463mRdQHnZ+DDQ4v4Kjx45ayOgMBKJi3QAg8CF6W4s7/jm6QMrHDS4o/Z9mM1 V4vQGPf4ItU+5LNFzTWQYWsh2SMDQcv+K5AXaXlzv2OnserxLXGUF1lcK757JLk4zslo CC9GKckusrxJLfvGJeuC681Gp8JHKXg8OfX7Huqvynr1V66dxJct+fkLfk6Swt64s2UL ekp9ABp5nvYP1TU/FEK3Gcr6ftefUCDOsiNuv2YMoZxu/Jjyh7szOenvjIkxZsNPW21c XYMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786432074; x=1787036874; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=YH6JnwhrMJ48wJS3EuEDXYc+J9l7GkieLILGb4BHTLM=; b=hevvFjgPVdxUJPf1TOvQtKUqWdhmi8+wRar12lQbcGhBTGEE+pxEIAK6/p7v2szN2v YxnHboNG8zPmxnLz72n7vWu0y/86jsln1fh/i6VoMyNipvdTHB8X/HWcN9jFKUxa8fcH 7KNYBIoiqAPDLG0tNceFHIA8JMAEXA9Ok/bMi0HiOKqER4p/NKAhOoVMQXVefVdjnyTo KlPJ1g7/MaINkB3ny2smeFhA35AhhwyVQ14Lpy2G786T9KlVZKgvOHneihpAzs35PIbl 4OXkvCXvkAhn0PZZju7Aqrq6s88ti8RJSNW/kVt8kBljg8rIkIpu5AeE5P68SQFKO0aL xDiA== X-Forwarded-Encrypted: i=1; AHgh+RrDNNJupIPR7mAsVQY/ygXT3lC0945CfUx16M/q60dvaW2GZgtsI0F1P3J20rFajYlMUgcd/aQdUq4c9uw=@vger.kernel.org X-Gm-Message-State: AOJu0YxUXjilu7uoCrsFd94+KcZyyCmHv8U/Qp1bRvb9Hj4H1I4fMk3i 2FZUOB3IPI7dFiQXUzju1mB7wzyZ/BRNsWNgzIb884ieh6f7bsspH9KE X-Gm-Gg: AR+sD11K5mH8YsgEOWk58ROc+8tcJiby1+f6i9kHx7wQseyfuYsVPE8rT3JzuNfzFUd 6oVZmiSoWyfl6Mm5NMPCcapIcVu6pte3eSshR382vCiBl0mviKo5/yD3MbVC8uvXf9BCNopi5Q5 KodqkY/P+P3Q74tom+fSf5yh4NdUe/tEh36wtBzJcv14YdJSouFF7qT79jJJLydFnkHf95d2PaM BDSV7ooiWMUxAKIqr6fOvAdH/vXcT4KUu9Frycitjb1V3LGft+5g600kjo1ef/50rwsRRc9JfJd IxlfyutyzVLkHfaZs65LkBu0auQYmQ7ehoyukF+mv2UIX7/GI0pGog/JhWBMFBbFDEV9Jw7bJ05 pCnfv1WZ4wxAklj+zCNWEQfQzrL+v8tXICHZwbBUkgXTbbIFzUsoQO6LgRq4LWZB5nN80LU8nv/ Z+OyEkjtrh/REME/Mlri0uW5faTsL/tX4n47ciXUUOajcQq5QzWCIHJ+1eHuC4YHeHpEaGnf/J1 IctFCs/i0WAM8xO0PwKyQZ0nZqHrKvf/woCKW8= X-Received: by 2002:a05:6a21:6003:b0:3bf:d487:4b42 with SMTP id adf61e73a8af0-3cc2bb49c25mr2183542637.35.1786432073567; Tue, 11 Aug 2026 00:07:53 -0700 (PDT) Received: from [192.168.20.42] (115-70-157-242.ip4.superloop.au. [115.70.157.242]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-31c619d0209sm1765052eec.5.2026.08.11.00.07.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Aug 2026 00:07:53 -0700 (PDT) From: Tsz Shan Chan X-Google-Original-From: Tsz Shan Chan Date: Tue, 11 Aug 2026 17:07:25 +1000 Subject: [PATCH 2/2] iio: light: vcnl4000: add shared IRQ support 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: <20260811-vcnl4000-v1-2-50e7fb657692@jacques.com.au> References: <20260811-vcnl4000-v1-0-50e7fb657692@jacques.com.au> In-Reply-To: <20260811-vcnl4000-v1-0-50e7fb657692@jacques.com.au> 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, Tsz Shan Chan X-Mailer: b4 0.14.3 Use the IRQ trigger type set by firmware instead, and fall back to IRQF_TRIGGER_FALLING if no trigger type is specified to maintain current behaviour. Support IRQF_TRIGGER_FALLING and IRQF_TRIGGER_LOW, which match the open drain active low interrupt output. Reject unsupported trigger types. Request the interrupt with IRQF_SHARED, and return IRQ_NONE in the irq handler when there is no interrupt pending. Signed-off-by: Tsz Shan Chan --- drivers/iio/light/vcnl4000.c | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index 663e623da833..9fff00ae515e 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -1469,8 +1469,8 @@ static irqreturn_t vcnl4040_irq_thread(int irq, void = *p) int ret; =20 ret =3D i2c_smbus_read_word_data(data->client, data->chip_spec->int_reg); - if (ret < 0) - return IRQ_HANDLED; + if (ret <=3D 0) + return IRQ_NONE; =20 if (ret & VCNL4040_PS_IF_CLOSE) { iio_push_event(indio_dev, @@ -1525,8 +1525,8 @@ static irqreturn_t vcnl4010_irq_thread(int irq, void = *p) int ret; =20 ret =3D i2c_smbus_read_byte_data(data->client, VCNL4010_ISR); - if (ret < 0) - goto end; + if (ret <=3D 0) + return IRQ_NONE; =20 isr =3D ret; =20 @@ -1558,7 +1558,6 @@ static irqreturn_t vcnl4010_irq_thread(int irq, void = *p) if (isr & VCNL4010_INT_DRDY && iio_buffer_enabled(indio_dev)) iio_trigger_poll_nested(indio_dev->trig); =20 -end: return IRQ_HANDLED; } =20 @@ -1979,10 +1978,24 @@ static int vcnl4000_probe(struct i2c_client *client) } =20 if (client->irq && data->chip_spec->irq_thread) { + u32 irq_type =3D irq_get_trigger_type(client->irq); + + switch (irq_type) { + case IRQF_TRIGGER_FALLING: + case IRQF_TRIGGER_LOW: + break; + case IRQF_TRIGGER_NONE: + irq_type =3D IRQF_TRIGGER_FALLING; + break; + default: + return dev_err_probe(dev, -EINVAL, + "unsupported irq trigger type %x\n", + irq_type); + } ret =3D devm_request_threaded_irq(dev, client->irq, NULL, data->chip_spec->irq_thread, - IRQF_TRIGGER_FALLING | - IRQF_ONESHOT, + IRQF_ONESHOT | IRQF_SHARED | + irq_type, "vcnl4000_irq", indio_dev); if (ret < 0) --=20 2.55.0