From nobody Tue Aug 25 14:34:38 2026 Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.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 CFC6833F5BC for ; Fri, 14 Aug 2026 04:31:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786681895; cv=none; b=vCaC7Y0oMTJ2BsGUl1CoF1F6SrpF/446XwsMaKCHt2O9obC5vU5MNKdsjFV90z2oiLFfaG0cFZKI7snG5niKfP6GHopSj3tqNjc9KBGxFXTCzpxpGDum6ogBBatAZHh7B1pCQPUk3Awh1+DojtQvM8KeU+BbETgpJAPQn/nHtyA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786681895; c=relaxed/simple; bh=/LsPFOJmzIPzWxLCW+NnifEAp+ar3S9FlHUtZKBGOJQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fSP5NFpghLzz2uZNOdJd+PXLp/dc3LlSl7KguCLniioHGCNgzaAyIqGv4kktKRjQAxxCm1oWYOUHtV2G5FBBsDrKqikdg/GCpLQiwbjYMVaYeWm5r4kUfYxMCDzlRp1DA/1xtpIcbEmvoiPt7deI0bwSun7AtOg2Nh0I2+kNmT8= 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=HMIhet1X; arc=none smtp.client-ip=209.85.216.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="HMIhet1X" Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-38fdeaed181so816767a91.1 for ; Thu, 13 Aug 2026 21:31:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786681893; x=1787286693; 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=eBpO2YRHAeMLE3X30baFA0npp58hMq07/JMAZ4L3PQU=; b=HMIhet1XEGPV/CIgQB1u6VixlcmzoRKzz4c+6O8SDLmAFznaqYqMl5SL8GYZqHqEIK TSYF74UZ2JHr+gO0+s0gEPJZ85wNQXVK7sDwHtKCPFv9/bKFVr03ebL8oQ6WaPEhdaQk onC0yocebkz96znuoA63Ndu+uV9IDL7NUurlWQkueVEfeLImOp3Thh+7PkC5m+0QDoNG Tjys6XAv7gdFEcwB8mQ6nRDLTMRYuJzNtZwCJKgIb81//yJl76O7X0W1l7Q6PKebdtFe qnwfnGEk3e3njR6aKI83jiL3G3DC/Gn556DHewETa9VrdV1VBwgjCmN8U+ZGaD66u+7Q DxBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786681893; x=1787286693; 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=eBpO2YRHAeMLE3X30baFA0npp58hMq07/JMAZ4L3PQU=; b=CCsMJFwLOQzO8nPtjjFTZnlvZjZZcWlQQIKhgIG4UNPTN5oN9I2jQy4KwyjT3jHoyI J7Pa28bSSHB6jlXvCIwOC/UT73WEkvkrx1eai59RcHZ2BsoMfl2GuCo5bluzxGGIpoOk kna12JGAqVIAxQD69stco/NCDDxMa2PexLH6gxE1zBQTEjxFJfCoUcjkA+A0sEP9y51z nwQFhTMg7Rc+qm1D+ucmtNmY66eShZ6Ms2IM9fDoYsXVeXfT30rBaRVh4voYUSoA31AQ 2/TrfReLy77qFQ6a9cLoWtvOht2kL/RKD5BEE7tjrwc0YLpZt7ymqE/kEdA+H9JBaaiq 53Jw== X-Forwarded-Encrypted: i=1; AHgh+Rribv32pmCoz6M9j8je3/LSuvHwsivT8s2ZFhJeLMPicIkmyo5YiBTeB5C8LFTTFI7htVXr5YRPDNs7roU=@vger.kernel.org X-Gm-Message-State: AOJu0Yz1UCNrzL1fe6NA6TkEl6HrxFstE6DsSivtbf2YKXj+Ek0/zvID yKLir5Jmh2axaJ54HNWwgkL0YNsPGd0X+1/Eft7eP9Igh6G1qqPIrU0YPIhaOA== X-Gm-Gg: AR+sD1009pOwPIysZq7aDblG1rmeAPRdLjJcGsxMG5VNsEyp6/bk24GNz69Jtj3ATfX VwcA9HKZguRHX3asb/qOaDKOfhvXtrxqlByPk8Jbh4SZQu8TcGYRmTNI6vwJ6nyMXuBfqxdBUdY hD8d22Tx3zsKo5RSwDMnRU3XC9XMfa9c74SfJ32QktpO/ZEq6QKkUpy5bi/pxiHrV6bf8YAspf/ 48dWZtQaypJZ+7yA+nesf8R43xI22OHHF8CF+0jCVSiakBvASYOZc3iHgN4yRScD7RPwi+W5cdh IW9Es+W9aidIg/nSJGbwE1VomQa3AYunGaDpha+iE3rzjxTwVTQ5/OEMNy38c7AsdR2cXeAcGqe TEGN8DZN0FkaEbO6JsY4T4A7wlHQ0XoP/gnulvrQs/LJ+CJRMoLQAElj38GBv/2DHVt2Rgy/JZx sUHHXqFWFsQWU7LtC9GRe4Uhva6SRlDRh+qokJeUw3fFtPCK+bCWxZzTaHFnaRJ8xWwiL76QVEk CAGbrDg+PZpc8zduXCrjDx6qENiH/vNNmCwUKc= X-Received: by 2002:a17:90b:4fc1:b0:38e:2524:724f with SMTP id 98e67ed59e1d1-3933b8f143fmr3530854a91.12.1786681892895; Thu, 13 Aug 2026 21:31:32 -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 a92af1059eb24-1413887ee65sm4238288c88.10.2026.08.13.21.31.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Aug 2026 21:31:32 -0700 (PDT) From: Tsz Shan Chan X-Google-Original-From: Tsz Shan Chan Date: Fri, 14 Aug 2026 14:30:42 +1000 Subject: [PATCH v2 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: <20260814-vcnl4000-v2-1-9b771290cc1d@jacques.com.au> References: <20260814-vcnl4000-v2-0-9b771290cc1d@jacques.com.au> In-Reply-To: <20260814-vcnl4000-v2-0-9b771290cc1d@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 vcnl4200_spec sets .channel to vcnl4040_channels but .num_channels uses ARRAY_SIZE(vcnl4000_channels). Use ARRAY_SIZE(vcnl4040_channels) so num_channels matches .channels. Both arrays have the same size. No behaviour change. Signed-off-by: Tsz Shan Chan Reviewed-by: Andy Shevchenko --- 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 Aug 25 14:34:38 2026 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (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 E2421357D17 for ; Fri, 14 Aug 2026 04:31:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786681898; cv=none; b=g5D0adgU2CT5PATOuJICtF0wuwsWVMcNMpQeOTzPxQaNo7oKQ6cQ1f4X+WKI2SVMXxdeBXFNbpq/6XyolAN07XZKpj6oS3Kv3H6hPH1mzhPIlC1Psm39cTf5YoFOCQ8/uoJcBsGqG0TUdCifqKnQqIXU6TCoohyG1nEqds5qL5A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786681898; c=relaxed/simple; bh=8tTN2YWDidBgtH90yYX7IX9VaZHEYI81ZwvokZk/tQQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d/Fj5Nl5YyNg1emfBpm2bPJTldVCo8myT42HS/8q/yrHkfiq6iWQpVyZREywdh++2MTxcns9c8bQGkfjzrRu7/xtGfFR8d39RsP0CrbCt1jqW0j1p6bGYmXm5pzh+4X3yfl3c/IgIfWfvQ+nxo8bh+7hFvxjnGvqNbLXXjvxx5I= 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=fLazECS1; arc=none smtp.client-ip=209.85.214.173 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="fLazECS1" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2d01663d816so5884025ad.1 for ; Thu, 13 Aug 2026 21:31:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786681896; x=1787286696; 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=SSZFZdRs0Q9xUsBAqsFjxC+3BHMpojfecr9pFfdVV8M=; b=fLazECS1sXInMLyWySMXyu5UbCJudHHM/BkxYjW4rIzxWFNPuM4T8Q93FVH/txbOyB +jFxLOokoEFkb4Dn+nZNVv0bqvaVz4sI8NOUqnQItFiu2LW/q1pnZ/pnx02wH11Ul0oQ XTDgU4m6bYKin6glwqsC8dewsoIY63e+84TsS4h5j6ERjYfXiqSdRScpqmjAErZXHFxG asCXIp+QD5yJUvU2mixcYFuJadcgYe5KAW4McFfNbvd6c3k6DrOl6YfiPxMsEH2bIvBc yfDJlzbGEsjIuW3MHV7Qv9sx4afHPU6nXrdkzAPbGve4n9IX30MUMv7Iwx8cYJKd0+oZ lesA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786681896; x=1787286696; 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=SSZFZdRs0Q9xUsBAqsFjxC+3BHMpojfecr9pFfdVV8M=; b=F3NQUUx67CEpVf76V62xL6qxe2cFRA1oarlBeNyR90lx69aLb0g7ZZVLaRVT9J3Pe/ bwbmEeTKtZUUpKxzlMcJTRRY6TZGPi4gyh66itzodckNwcUACCFSwobHHO91XMVPQkIF SWwBFuO8jKuoWmOkRyQqzGp2+l7W+ksAWrBzQ92cGgHzLPsmxLhINe9C2rIGyCSUunOY Aoz1gGvsaH3xh1O5BwUm4q7vHKu6QJWhxyCisUMnb4sU0rxdAV18HenF2RZ8Klmh5jrJ 4rooGJJqbrclZdKwqz7wAzC3kPwJUjknKZuwwCPlt96Qr5+S2M09ONMYmNJyWhDWHwL5 8SWw== X-Forwarded-Encrypted: i=1; AHgh+RovhOnLc+F+NDk/noKdVldfwoDVVcpssOLBnAg+rH7B/CwAed85HHIK4YWtLk0Y42Vcjp0td0Nb2/T7QDU=@vger.kernel.org X-Gm-Message-State: AOJu0YyWf1RSyIjXN1f2OD0mgzLeaKYGiqyJ7rlTwXpd/ZQQduAPK7KT c4A+tK2WkhIW6VxLf2clVh3BDJVJq2szj/hXilber+d86AfNwgCg1e7ZlR/fCA== X-Gm-Gg: AR+sD11NU7LJEgLoTdwmwIN52RblUjue38+j+LmU0RnqwHwdwG/Ov7vtNtqyaUjtd1V 2R0SYROkb+ThRTUP0E7h5RRGd/tu9g2d0DTUwjcVQtROzW9cnBM3+3Z1X8F0YxZJc2kskGFKNyF rLXZQxphbd+GqdQJGqr8kBZzVr7VA3hWjwA8LsLYsub3IVDYtZF8uCFFqxIta22oJ3rI9hK1YHk ocWAVAteEpNY+xIi8tPpfUCfFW/Ss0GYqPqIK4VRiNOSDJe9zXFKXhp+ecjXeWaW54y/BchQiSC P4T1wpatbWDax0ILRfhlCPK1HAxW/qnilX5NWocxEHVgQnv/x6UFEiDEwhAr2vrmqS4GBJTG9sa b1MtAVZbFnDFKdkm1/IIS2Ugjg6CiqJjiTuO/KCItXOWiW9NQWXlz9g59dSng+lOk7TIt2q9bgp Sj4Mot4QPt53/aJBu2SCWtEiC2Y0Zq0AKvO0Qp6ylPkE4Ram6MXwAMlJ6WuQXoVMdTyaKFo+5H9 aQJkmnSHViBO/vyQo/c+4A5VkyvcOd973J5Aku3 X-Received: by 2002:a05:6300:2289:b0:3cb:e8b4:f03b with SMTP id adf61e73a8af0-3cc71ca5ad5mr3339618637.17.1786681896264; Thu, 13 Aug 2026 21:31:36 -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 a92af1059eb24-1413887ee65sm4238288c88.10.2026.08.13.21.31.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Aug 2026 21:31:35 -0700 (PDT) From: Tsz Shan Chan X-Google-Original-From: Tsz Shan Chan Date: Fri, 14 Aug 2026 14:30:43 +1000 Subject: [PATCH v2 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: <20260814-vcnl4000-v2-2-9b771290cc1d@jacques.com.au> References: <20260814-vcnl4000-v2-0-9b771290cc1d@jacques.com.au> In-Reply-To: <20260814-vcnl4000-v2-0-9b771290cc1d@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 The INT output of vcnl4010/4020 and vcnl4040/4200 is open drain active low which can be shared with other devices. Add IRQF_SHARED and switch the trigger type from IRQF_TRIGGER_FALLING to IRQF_TRIGGER_LOW. Edge triggering can miss interrupts on a shared line. Return IRQ_NONE from the irq handler when read fails or when none of the interrupt source bits handled by the driver are set. This prevents claiming interrupts from other devices on a shared line. Signed-off-by: Tsz Shan Chan Reviewed-by: Andy Shevchenko --- drivers/iio/light/vcnl4000.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index 663e623da833..8a723eaadbb6 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -1470,7 +1470,11 @@ static irqreturn_t vcnl4040_irq_thread(int irq, void= *p) =20 ret =3D i2c_smbus_read_word_data(data->client, data->chip_spec->int_reg); if (ret < 0) - return IRQ_HANDLED; + return IRQ_NONE; + + if (!(ret & (VCNL4040_PS_IF_CLOSE | VCNL4040_PS_IF_AWAY | + VCNL4040_ALS_FALLING | VCNL4040_ALS_RISING))) + return IRQ_NONE; =20 if (ret & VCNL4040_PS_IF_CLOSE) { iio_push_event(indio_dev, @@ -1526,7 +1530,10 @@ static irqreturn_t vcnl4010_irq_thread(int irq, void= *p) =20 ret =3D i2c_smbus_read_byte_data(data->client, VCNL4010_ISR); if (ret < 0) - goto end; + return IRQ_NONE; + + if (!(ret & (VCNL4010_INT_THR | VCNL4010_INT_DRDY))) + return IRQ_NONE; =20 isr =3D ret; =20 @@ -1558,7 +1565,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 @@ -1981,8 +1987,8 @@ static int vcnl4000_probe(struct i2c_client *client) if (client->irq && data->chip_spec->irq_thread) { ret =3D devm_request_threaded_irq(dev, client->irq, NULL, data->chip_spec->irq_thread, - IRQF_TRIGGER_FALLING | - IRQF_ONESHOT, + IRQF_TRIGGER_LOW | + IRQF_ONESHOT | IRQF_SHARED, "vcnl4000_irq", indio_dev); if (ret < 0) --=20 2.55.0