From nobody Sun Dec 14 02:18:18 2025 Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47]) (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 E8BDC240604; Fri, 18 Apr 2025 20:50:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745009429; cv=none; b=BoBx2C9z+BzV/wOZDIZdJjG0/nlayDEOijkc/2+t3VxdhgXYWFt1BJpED7T5wFcFeHTFg59uUb3bPhMLBYoxHTKu5+t4AqZnmWv+Kq4FGJ0AMnvDYUuzCADg9pSwgQCydyvYT4s3NBtAAo85PGsD6JhJvlLZhuUFK6iT2Crz51g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745009429; c=relaxed/simple; bh=nhjNiEws7JDfpSABnQRCrgaV/jVLhmHTd1ukZHOLh3Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ouw+PqwIjk7NSCbYIg2eQr3TtlXzH+bWPo1ymNBZ89ei5r/Z1k6EWgWthxnWYAUJSBNOTsljkufM+LlpjdgoBieBa/Qg3AFhdiAhmcJ7/DdE6FRQWRcnpkQatsjkcg3zKSAQUNUMzASQJ3+NREJt/Aj/BxpjB44s0eZ400Y9MrQ= 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=l+r7q4vb; arc=none smtp.client-ip=209.85.219.47 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="l+r7q4vb" Received: by mail-qv1-f47.google.com with SMTP id 6a1803df08f44-6eeb7589db4so23675686d6.1; Fri, 18 Apr 2025 13:50:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745009427; x=1745614227; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Gk0TUJMIcvb2/Yt9CvbEI4RZU5fYHN3893YNwk+aijI=; b=l+r7q4vbJekjYwygdQm/7CHUhOwXIPCQGEQ2ZHl6NJ5hHb6FfWTJ9VWTmxLyZtKTkW q92penQhTV7Uz+BO3kl2H160a/AwxSJ+fNJ39TS2cbQC8dc3hwd/z2spP76PrO1PCmT/ h0cwKtvkPagWFlZ/5SZ8s0ssPd3n/WGJK0v/1fVRS9Z4li4B0RqhxUdHwYiFHm6ONhMh G/WNQVFrQcnzRwHlCvMr+ucgErVkVfVEjtFHTRJTeLPqjepL831nlXSYDt19uXYIcinR 52DYa9sUqNTkOG/CRZIPmnOy1UtPxIlja678gW6uzQpUQDioX9AnGKDLHPOA0nq8DXEC mQww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745009427; x=1745614227; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Gk0TUJMIcvb2/Yt9CvbEI4RZU5fYHN3893YNwk+aijI=; b=r+gEru0uJUJmsfB56u6k8eopji1G19Pw3APRbMmBkxjdx3PQ3KB9a0S0bwPeM29/Wl 1buu4OwZF3ApG55LvKXM2I6+HGsirAcN41teIPNVg+YTo1/pWjJ4fHVP/4SbwP+dUTIz IYj4aTgKSqVUDCjpnpFcLgqy3I9v3ZtFAAO39tAyCFiPvz50GTDmVU+PlWxxllBvcBGd wJsJ+NTc92AROCKrZCpZ39ftcNFBjlCOyqilFFSOkuEZjF2mY+IcJRwil0zsL143eult rkhwdTTXJNqQJdYvmHZPeWLwqRCBEIDpTqwKqe8K1ziNuFow6srUtpIvZW5T1x+DfX2Z LaOQ== X-Forwarded-Encrypted: i=1; AJvYcCUmALTBQQvaX5d8tSD2eGBuBcZx9NNPJn5iYebJb4szam/BHxLZBMgxMt2vkWNzEPLXKcZxIXU5@vger.kernel.org, AJvYcCWd4l9qeDz51iGY/yU0vNgOzLOGx6KUEXvNpY9XAmt81UxiKhx8+3uxxQX1tzVxNNNLVZatQN/jkUgQFVdX@vger.kernel.org, AJvYcCXdgr92Dhlh7SSwoQLhc0Lo+vN13/1RYnMFynO1s+MEb/5DmGjHPjVEeAaGLjO5F0iSbyuAE71/erY=@vger.kernel.org X-Gm-Message-State: AOJu0Yw1nbIlFyQERROAgt8v5CP0GDkEuu2w7+lCpRpoGJToGQHpdFq2 GWLHm9onkkDIyOYneuDsCeeJq2igOR6ABLeoI2w7nseOM7lpcWFk X-Gm-Gg: ASbGncunhdfvtnjZ1V1K/EANC1uuRWV94CXDp7kA6z0QoVmGVpGRM7AwRh7jCuImiqj z06KW6diVn4ztakEglBdl2BbYeh+QtMYk5AO4RzcbVm4cud5YkNcWMuD61rRuUrue3YPf9GsG2I RP8eECIke3oWV7zjLWGOUqP57oO8SB/H7jkh1kBS1W2GmgnaCd+/DUTuxxRBXqZr0t2Su3OShA+ XzoGWZeNkaad9WSz52I0chY2kB8bnrwN41NxUub7+Vak1bezSiVMDHybmRqRERkkL/3Zc5b/WfP 9j27IwcwUl5K9P0dbaMwNbZOdPJFOUWlPsvlFNEHqLySL+08C2hI5xiu1P4pMwipk9ymSsdm/aN irPHZhih+ssgE8i5VtLU= X-Google-Smtp-Source: AGHT+IG9VgYTosOoLsZ74LQUJV3FY30wheql8pLd081+4mwYIwUcq/Vd77e5NAMewbOoGJBQ0G9b9g== X-Received: by 2002:a05:6214:2b08:b0:6e6:6a6e:7596 with SMTP id 6a1803df08f44-6f2c466f4d7mr61499376d6.39.1745009426846; Fri, 18 Apr 2025 13:50:26 -0700 (PDT) Received: from theriatric.mshome.net (c-73-123-232-110.hsd1.ma.comcast.net. [73.123.232.110]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6f2c2af11d7sm14355906d6.6.2025.04.18.13.50.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Apr 2025 13:50:26 -0700 (PDT) From: Gabriel Shahrouzi To: gregkh@linuxfoundation.org, jic23@kernel.org, lars@metafoo.de, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Michael.Hennerich@analog.com, sonic.zhang@analog.com, vapier@gentoo.org Cc: gshahrouzi@gmail.com, skhan@linuxfoundation.org, linux-kernel-mentees@lists.linux.dev, stable@vger.kernel.org Subject: [PATCH v3 1/5] staging: iio: adc: ad7816: Allow channel 7 for all devices Date: Fri, 18 Apr 2025 16:47:35 -0400 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" According to the datasheet on page 9 under the channel selection table, all devices (AD7816/7/8) are able to use the channel marked as 7. This channel is used for diagnostic purposes by routing the internal 1.23V bandgap source through the MUX to the input of the ADC. Modify the channel validation logic to permit channel 7 for all supported device types. Fixes: 7924425db04a ("staging: iio: adc: new driver for AD7816 devices") Cc: stable@vger.kernel.org Signed-off-by: Gabriel Shahrouzi --- drivers/staging/iio/adc/ad7816.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7= 816.c index 6c14d7bcdd675..a44b0c8c82b12 100644 --- a/drivers/staging/iio/adc/ad7816.c +++ b/drivers/staging/iio/adc/ad7816.c @@ -190,11 +190,11 @@ static ssize_t ad7816_store_channel(struct device *de= v, dev_err(&chip->spi_dev->dev, "Invalid channel id %lu for %s.\n", data, indio_dev->name); return -EINVAL; - } else if (strcmp(indio_dev->name, "ad7818") =3D=3D 0 && data > 1) { + } else if (strcmp(indio_dev->name, "ad7818") =3D=3D 0 && data > 1 && data= !=3D AD7816_CS_MASK) { dev_err(&chip->spi_dev->dev, "Invalid channel id %lu for ad7818.\n", data); return -EINVAL; - } else if (strcmp(indio_dev->name, "ad7816") =3D=3D 0 && data > 0) { + } else if (strcmp(indio_dev->name, "ad7816") =3D=3D 0 && data > 0 && data= !=3D AD7816_CS_MASK) { dev_err(&chip->spi_dev->dev, "Invalid channel id %lu for ad7816.\n", data); return -EINVAL; --=20 2.43.0 From nobody Sun Dec 14 02:18:18 2025 Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) (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 BF330244196; Fri, 18 Apr 2025 20:50:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745009431; cv=none; b=gNqKisie7UOC7x/7oa0WcZxpwAjHL+136tma4heU6dr/nUITQJ5y4HT1i4kYeOCALtc4nuVMh8oFpPnsuCroTiOo4j5djS9m7a8r9AJRUu3YYYEkc7zh9J1H2jmHShrRTl7qvO5onrh64fPX0xGK6lGHtF+CES/et+E1JuebPYE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745009431; c=relaxed/simple; bh=ZtWyf+85ZAZuuUdke/D6KK+1edjKVBiOUFx39D2hd6E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oR5BywI03sNbFMV9S7pje1jntqsqPzHq6AJXNNa8hA68o5rwguanHXEd9ww/tWOdtLYDJ4LDRAbi+ycA4l0pcYYQPUDBtnpvG+L2m9HYmq/tPXQh0arICXnCiRzxid8RHJY+Y53ngEk7SPYcPAT9u/0/zlrE08twT59Qd8VxVLM= 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=hAylS444; arc=none smtp.client-ip=209.85.219.41 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="hAylS444" Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-6e8f8657f29so20583286d6.3; Fri, 18 Apr 2025 13:50:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745009428; x=1745614228; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=de216G9QJ9z5gWQFLLYUZKYI5uHds9pgvjd/vVy9J+I=; b=hAylS444n9Mf91eGeGzwTagVLvvTKgkedy4g2DjiY6X8hf7GpDxOWisZMCkQHALnDj s5cKlBE7VH4+xjvf9lLX7VV68xfQE51sgyBzGgvFVmoKrJ/LPj57Jmon16e9Gp0rDSaJ avDYhP/yXSv+KG7PKAlu4GUNzJSPWP98Zz4JW31HobmeGTjtiihiKesLnzPGJTLLIGPH AZ5YJsRU2mfLBF5/SRe+RVIxl91HBD1oAnLEQ3DWu17fhZVskw45RPtbrYuf7o8RkJ5P kEmn8Qdg9IhzGm59Q26mT1qIS6DfNT39DjdTA9kSJFeVv5TsatJH5tOIT2I6NL+5r5av mrug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745009428; x=1745614228; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=de216G9QJ9z5gWQFLLYUZKYI5uHds9pgvjd/vVy9J+I=; b=ebEjdNdvmXn1mbpcgyMPsxk4vnwQa4DWuzAXbtFjEOV2TyCR6r8LIwwa2h2uJWKeGS Y/3YNYxmBJb/cMNKDQ6zbIlbNsVFeuwgfDHoZS07HfZ7BFpTfHBYtTXgd49c2KlL2YQu 1Yt6vHLhzvzE/icv80igrxwUS7gIG3muaP0jabGbFMjjkJneiTDeMQrr66ZBYDdEN5qw 11uvvrWC+RJ/aIqPemQyTK50vNtAf3IQQXaoFpDYzf0O6Ye/Oqou0Y+bi6NEV0UuQSbE n9NkBehzBiJMtAGBa8r7SEnkCVp7M8q6jwV7YANo7BhT8nKENhU2BxrC93lBBl3PISUw vYxQ== X-Forwarded-Encrypted: i=1; AJvYcCW0PvcYtxYtBOGo1NIh3Z4+6ehpXNvmKHgOfWtmmhXG7uugFhIN14kjQ8HCuN0uSnSMAi0ramaxsFY=@vger.kernel.org, AJvYcCXXSleDgX3wD04MCGejseBv2eBubRhOaFg6mAjmcWcaBKT8xu19cjEgOzL+YE7tSC1k8pCzL9nKv/eioAXm@vger.kernel.org X-Gm-Message-State: AOJu0YxoL5nD3cPjrunK+xr+rsuuIKbu2hqxJ0TC5sy8P19Wb/rC/7Cm vd02/T0SDTCIQktNKJ+CYINbWHdvm/fG6RZP4TmvO7VKk7sVijuN X-Gm-Gg: ASbGncseT8RzxyIxT7NS5ikFHbZkTLuLmxUJF6Ec/A8nraYMaWxDhObbzFP9o0QR3CO jZ1oZscDcCqgVObBRKkfLSetS7V2Jh8riHYurieKgoDuW9kmy1XFlYd8qVrEwRVjKgmTXp2klQw eJ84Gacw21FL4yvDPT3yIrGntExpkVoikg2e7698k8p+B0bwakb+pqXXWz5CT1PUZTxoSouMdYc m2BTHfSbs2PklOUeBcJgf+Zy9FCel9Y7NvY/I3efYr2INr+SXP/JmkgLEZABOu+OYdM55Hb+bPo xxNCCreSEwD1dGuIgCmGagFyebDo2AjK50wWRNCqp/rByt9DnqOlbbptKqD5wg9rZEm8/RSwvaV O5QTA9WxGlpHNAvX5VIA= X-Google-Smtp-Source: AGHT+IGime0GJ1aBGvs77WfZsnIYGkl8D80gnhzNZ442Bzp45vV8+8Pl5nqX8PtMoaqO+wpE1Aqmwg== X-Received: by 2002:a05:6214:250b:b0:6e8:fbb7:6760 with SMTP id 6a1803df08f44-6f2c44ebfbdmr65373506d6.1.1745009428478; Fri, 18 Apr 2025 13:50:28 -0700 (PDT) Received: from theriatric.mshome.net (c-73-123-232-110.hsd1.ma.comcast.net. [73.123.232.110]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6f2c2af11d7sm14355906d6.6.2025.04.18.13.50.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Apr 2025 13:50:28 -0700 (PDT) From: Gabriel Shahrouzi To: gregkh@linuxfoundation.org, jic23@kernel.org, lars@metafoo.de, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Michael.Hennerich@analog.com, sonic.zhang@analog.com, vapier@gentoo.org Cc: gshahrouzi@gmail.com, skhan@linuxfoundation.org, linux-kernel-mentees@lists.linux.dev Subject: [PATCH v3 2/5] staging: iio: adc: ad7816: Rename state structure Date: Fri, 18 Apr 2025 16:47:36 -0400 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Rename the main driver state structure from 'ad7816_chip_info' to 'ad7816_state' to avoid confusion with the upcoming structure that will hold static, per-device-type information. This is purely a mechanical rename with no functional changes. Signed-off-by: Gabriel Shahrouzi --- drivers/staging/iio/adc/ad7816.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7= 816.c index a44b0c8c82b12..cad2e55aff3f9 100644 --- a/drivers/staging/iio/adc/ad7816.c +++ b/drivers/staging/iio/adc/ad7816.c @@ -38,10 +38,10 @@ #define AD7816_TEMP_FLOAT_MASK 0x3 =20 /* - * struct ad7816_chip_info - chip specific information + * struct ad7816_state - chip specific information */ =20 -struct ad7816_chip_info { +struct ad7816_state { kernel_ulong_t id; struct spi_device *spi_dev; struct gpio_desc *rdwr_pin; @@ -61,7 +61,7 @@ enum ad7816_type { /* * ad7816 data access by SPI */ -static int ad7816_spi_read(struct ad7816_chip_info *chip, u16 *data) +static int ad7816_spi_read(struct ad7816_state *chip, u16 *data) { struct spi_device *spi_dev =3D chip->spi_dev; int ret; @@ -102,7 +102,7 @@ static int ad7816_spi_read(struct ad7816_chip_info *chi= p, u16 *data) return ret; } =20 -static int ad7816_spi_write(struct ad7816_chip_info *chip, u8 data) +static int ad7816_spi_write(struct ad7816_state *chip, u8 data) { struct spi_device *spi_dev =3D chip->spi_dev; int ret; @@ -121,7 +121,7 @@ static ssize_t ad7816_show_mode(struct device *dev, char *buf) { struct iio_dev *indio_dev =3D dev_to_iio_dev(dev); - struct ad7816_chip_info *chip =3D iio_priv(indio_dev); + struct ad7816_state *chip =3D iio_priv(indio_dev); =20 if (chip->mode) return sprintf(buf, "power-save\n"); @@ -134,7 +134,7 @@ static ssize_t ad7816_store_mode(struct device *dev, size_t len) { struct iio_dev *indio_dev =3D dev_to_iio_dev(dev); - struct ad7816_chip_info *chip =3D iio_priv(indio_dev); + struct ad7816_state *chip =3D iio_priv(indio_dev); =20 if (strcmp(buf, "full")) { gpiod_set_value(chip->rdwr_pin, 1); @@ -167,7 +167,7 @@ static ssize_t ad7816_show_channel(struct device *dev, char *buf) { struct iio_dev *indio_dev =3D dev_to_iio_dev(dev); - struct ad7816_chip_info *chip =3D iio_priv(indio_dev); + struct ad7816_state *chip =3D iio_priv(indio_dev); =20 return sprintf(buf, "%d\n", chip->channel_id); } @@ -178,7 +178,7 @@ static ssize_t ad7816_store_channel(struct device *dev, size_t len) { struct iio_dev *indio_dev =3D dev_to_iio_dev(dev); - struct ad7816_chip_info *chip =3D iio_priv(indio_dev); + struct ad7816_state *chip =3D iio_priv(indio_dev); unsigned long data; int ret; =20 @@ -215,7 +215,7 @@ static ssize_t ad7816_show_value(struct device *dev, char *buf) { struct iio_dev *indio_dev =3D dev_to_iio_dev(dev); - struct ad7816_chip_info *chip =3D iio_priv(indio_dev); + struct ad7816_state *chip =3D iio_priv(indio_dev); u16 data; s8 value; int ret; @@ -271,7 +271,7 @@ static ssize_t ad7816_show_oti(struct device *dev, char *buf) { struct iio_dev *indio_dev =3D dev_to_iio_dev(dev); - struct ad7816_chip_info *chip =3D iio_priv(indio_dev); + struct ad7816_state *chip =3D iio_priv(indio_dev); int value; =20 if (chip->channel_id > AD7816_CS_MAX) { @@ -292,7 +292,7 @@ static inline ssize_t ad7816_set_oti(struct device *dev, size_t len) { struct iio_dev *indio_dev =3D dev_to_iio_dev(dev); - struct ad7816_chip_info *chip =3D iio_priv(indio_dev); + struct ad7816_state *chip =3D iio_priv(indio_dev); long value; u8 data; int ret; @@ -351,7 +351,7 @@ static const struct iio_info ad7816_info =3D { =20 static int ad7816_probe(struct spi_device *spi_dev) { - struct ad7816_chip_info *chip; + struct ad7816_state *chip; struct iio_dev *indio_dev; int i, ret; =20 --=20 2.43.0 From nobody Sun Dec 14 02:18:18 2025 Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 49A792472A1; Fri, 18 Apr 2025 20:50:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745009433; cv=none; b=DHJRKeDTEj39cTaEqhtUIePt1pTJPDiJCHQLhbr3g7zxulqMNrrjhM7O1A9FbbDkC5uKHog1ABNDrK+ANfRWAX6/WGgMCx0TqPIwYbOt39OuAYn1K/FSaJzCoHx8Q9gqMiZR3rK4tekHqNLlboETdAmWkFGqYbXSbjHNchM68mw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745009433; c=relaxed/simple; bh=FS5Q98qLID6FAQ/N12FPnFMlE/nozAWlI7CwtVF5bKM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JKdm71s79WoJQCc3FyTNLyAe4G40ob3d8jbgiSjQdQoVianpLUPhMel0QPPz5AkKzgcM3zBoa1Y6HzNePds4H5YbrSICTiToV6PQzLbYG+SqZA3fcORpEN/p78GxCRBfPHlOaf7/taUeluuADD32IFCld+cW5vI9UzI62Rd8HCU= 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=bQUDstcj; arc=none smtp.client-ip=209.85.219.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bQUDstcj" Received: by mail-qv1-f54.google.com with SMTP id 6a1803df08f44-6e8f7019422so21298216d6.1; Fri, 18 Apr 2025 13:50:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745009430; x=1745614230; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rd8epHvveGFvAa9vnuKQvCxPWBU3eQ5S8aYIg7aa9r4=; b=bQUDstcj0/N/57t6x4GKfwDWo3r7meDNgKKahPVVy+QvA3WYiwrZos5qfA82v3hcdb YQsscZKHay8bg0ePcvogHQ0PGvnuZrNIf8tuR+KScIr/jyBMFhWF8S1b08lKJW1pKkw5 80RjQzmpd4417jmno6gzRjpbuorv+ANHThxCqYJne2fuTyIG9+93KMHJIjvb2bPBt+ep UJ2SSfKFxS08kB0efrgCG+GzTslLSlgc4+DlnoOtFp+ibFRxVc/HlDjcKCfukI8Z30TB wyJooK0lbV1Wzw9MhAFeBie1OOjSDEskMejgY4fNLQDOoCH9YBuuBt59/NRx10ksCepT bF1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745009430; x=1745614230; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rd8epHvveGFvAa9vnuKQvCxPWBU3eQ5S8aYIg7aa9r4=; b=c/JYdGnciy86pp2OUwPclfx6lWNPDDDOX0QQ1RFrR4/oNmNkZnhQ2MEMOFXQJ8QeVy mQbrUI2mObTrPHzp57niOzVgf9IBdzHjkjef+7S95n0qbAwizAfGmSzK46HAvQYvtjX6 Ms/wHN4XHJIPK5bULzaXUIdZS8fNkLkd7o5wvHp7g+UTYbhK3Y25G9qWWb3W2bqwxkfu Yy+gDzbxluuu+CFelAFEnivmaJfutX7fFNGtfh+JOivYWOY1lesZJtzA9JOkqilS30xK tPXv26w2Ps0HA2m/aEiJWaMx2avoVxctdkUJFekvN9ZhYGjQ+ra6Bkp4FvdobeCO/2e/ 8Xrw== X-Forwarded-Encrypted: i=1; AJvYcCUdq8L8E2JuPJh1HnNL61Zh4PcYlirZQqwJUzBIDM3g6km/Sn3hm+rN0n7Z3Rmc3aVNu1Q+fdgr4iU=@vger.kernel.org, AJvYcCXhUwYGZUhQnTxDjGBTOlkX1RYP7Bt2s2s0C5yPeitOO8lveglNs0v4qo8/Ydmr6gG/s0G7Hgvb1nluON29@vger.kernel.org X-Gm-Message-State: AOJu0YyCZc3p2Q5fW92evY4CD/cyqDfzgcwvvnsxrwtja7yQtakX5glT DZaKU3LaijSNdBVs9nZ7IwZF31/9cS7fWF7rOsVeSGp84gy70aEF X-Gm-Gg: ASbGnctGjj9c7oWBXqCxaT6MWJe156o4/AkR9X1pr9nIrPEN5gzmTVxl55k4k2zafvZ vn32g7+mNhbdQoO8JpBBSU9Aj/0K8gv+rKfv3j5FJQO+QUeLfkkyj3cpja9fRjzK3zjvP2Ab0Qc MRQLATJ6aRGESpUmx85sRj2lc95sR6wizhGPVs6EWI6Tu0GwqPp2P4oGWeBt1Qc8O6Tqbty+Q4O J5kB3//PwXKjkcrK874DUSr3TzYaPdP2OCJ2HcT5XVMYj6z75qA3GaF5v7XW7zXGLdGqTLoqsKz O+/FHP2JjDqR0u4awllX8OnRCS9hVqgDflyw5DLil4sZL5WhCKpLVaRHUP70bcoImsHV0V8Z/Lw +a9xV+Cn5S4K6+Bp6Ams= X-Google-Smtp-Source: AGHT+IGDmHTGhruK6wW4y9Jl3xhk5kCK95hI0Cft5V7xjnVFOw31DW5QPpTuy/nGifTpriStN2f6PA== X-Received: by 2002:ad4:5f8e:0:b0:6e8:c713:321f with SMTP id 6a1803df08f44-6f2c4655d5fmr77521476d6.35.1745009430109; Fri, 18 Apr 2025 13:50:30 -0700 (PDT) Received: from theriatric.mshome.net (c-73-123-232-110.hsd1.ma.comcast.net. [73.123.232.110]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6f2c2af11d7sm14355906d6.6.2025.04.18.13.50.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Apr 2025 13:50:29 -0700 (PDT) From: Gabriel Shahrouzi To: gregkh@linuxfoundation.org, jic23@kernel.org, lars@metafoo.de, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Michael.Hennerich@analog.com, sonic.zhang@analog.com, vapier@gentoo.org Cc: gshahrouzi@gmail.com, skhan@linuxfoundation.org, linux-kernel-mentees@lists.linux.dev Subject: [PATCH v3 3/5] staging: iio: adc: ad7816: Introduce chip_info and use pointer matching Date: Fri, 18 Apr 2025 16:47:37 -0400 Message-ID: <975a52c4713491be77e2f1dcc73a872017293550.1745007964.git.gshahrouzi@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Introduce struct ad7816_chip_info to centralize static properties (e.g. name, max channels) that differ between chip variants (AD7816/7/8) but are constant for any specific type. Store pointers to these instances in the of_device_id (.data) and spi_device_id (driver_data) tables. Retrieve the pointer in probe() using the firmware-independent device_get_match_data() and store it in the ad7816_state struct. Signed-off-by: Gabriel Shahrouzi --- drivers/staging/iio/adc/ad7816.c | 55 +++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7= 816.c index cad2e55aff3f9..39310ade770d0 100644 --- a/drivers/staging/iio/adc/ad7816.c +++ b/drivers/staging/iio/adc/ad7816.c @@ -41,8 +41,28 @@ * struct ad7816_state - chip specific information */ =20 +struct ad7816_chip_info { + const char *name; + u8 max_channels; +}; + +static const struct ad7816_chip_info ad7816_info_ad7816 =3D { + .name =3D "ad7816", + .max_channels =3D 0, +}; + +static const struct ad7816_chip_info ad7817_info_ad7817 =3D { + .name =3D "ad7817", + .max_channels =3D 3, +}; + +static const struct ad7816_chip_info ad7818_info_ad7818 =3D { + .name =3D "ad7818", + .max_channels =3D 1, +}; + struct ad7816_state { - kernel_ulong_t id; + const struct ad7816_chip_info *chip_info; struct spi_device *spi_dev; struct gpio_desc *rdwr_pin; struct gpio_desc *convert_pin; @@ -52,12 +72,6 @@ struct ad7816_state { u8 mode; }; =20 -enum ad7816_type { - ID_AD7816, - ID_AD7817, - ID_AD7818, -}; - /* * ad7816 data access by SPI */ @@ -84,7 +98,7 @@ static int ad7816_spi_read(struct ad7816_state *chip, u16= *data) gpiod_set_value(chip->convert_pin, 1); } =20 - if (chip->id =3D=3D ID_AD7816 || chip->id =3D=3D ID_AD7817) { + if (chip->chip_info =3D=3D &ad7816_info_ad7816 || chip->chip_info =3D=3D = &ad7817_info_ad7817) { while (gpiod_get_value(chip->busy_pin)) cpu_relax(); } @@ -353,6 +367,7 @@ static int ad7816_probe(struct spi_device *spi_dev) { struct ad7816_state *chip; struct iio_dev *indio_dev; + const struct ad7816_chip_info *info; int i, ret; =20 indio_dev =3D devm_iio_device_alloc(&spi_dev->dev, sizeof(*chip)); @@ -362,11 +377,15 @@ static int ad7816_probe(struct spi_device *spi_dev) /* this is only used for device removal purposes */ dev_set_drvdata(&spi_dev->dev, indio_dev); =20 + info =3D device_get_match_data(&spi_dev->dev); + if (!info) + return -ENODEV; + chip->chip_info =3D info; + chip->spi_dev =3D spi_dev; for (i =3D 0; i <=3D AD7816_CS_MAX; i++) chip->oti_data[i] =3D 203; =20 - chip->id =3D spi_get_device_id(spi_dev)->driver_data; chip->rdwr_pin =3D devm_gpiod_get(&spi_dev->dev, "rdwr", GPIOD_OUT_HIGH); if (IS_ERR(chip->rdwr_pin)) { ret =3D PTR_ERR(chip->rdwr_pin); @@ -382,7 +401,7 @@ static int ad7816_probe(struct spi_device *spi_dev) ret); return ret; } - if (chip->id =3D=3D ID_AD7816 || chip->id =3D=3D ID_AD7817) { + if (chip->chip_info =3D=3D &ad7816_info_ad7816 || chip->chip_info =3D=3D = &ad7817_info_ad7817) { chip->busy_pin =3D devm_gpiod_get(&spi_dev->dev, "busy", GPIOD_IN); if (IS_ERR(chip->busy_pin)) { @@ -393,7 +412,7 @@ static int ad7816_probe(struct spi_device *spi_dev) } } =20 - indio_dev->name =3D spi_get_device_id(spi_dev)->name; + indio_dev->name =3D chip->chip_info->name; indio_dev->info =3D &ad7816_info; indio_dev->modes =3D INDIO_DIRECT_MODE; =20 @@ -420,18 +439,18 @@ static int ad7816_probe(struct spi_device *spi_dev) } =20 static const struct of_device_id ad7816_of_match[] =3D { - { .compatible =3D "adi,ad7816", }, - { .compatible =3D "adi,ad7817", }, - { .compatible =3D "adi,ad7818", }, + { .compatible =3D "adi,ad7816", .data =3D &ad7816_info_ad7816 }, + { .compatible =3D "adi,ad7817", .data =3D &ad7817_info_ad7817 }, + { .compatible =3D "adi,ad7818", .data =3D &ad7818_info_ad7818 }, { } }; MODULE_DEVICE_TABLE(of, ad7816_of_match); =20 static const struct spi_device_id ad7816_id[] =3D { - { "ad7816", ID_AD7816 }, - { "ad7817", ID_AD7817 }, - { "ad7818", ID_AD7818 }, - {} + { "ad7816", (kernel_ulong_t)&ad7816_info_ad7816 }, + { "ad7817", (kernel_ulong_t)&ad7817_info_ad7817 }, + { "ad7818", (kernel_ulong_t)&ad7818_info_ad7818 }, + { } }; =20 MODULE_DEVICE_TABLE(spi, ad7816_id); --=20 2.43.0 From nobody Sun Dec 14 02:18:18 2025 Received: from mail-qt1-f171.google.com (mail-qt1-f171.google.com [209.85.160.171]) (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 C63CB2505AA; Fri, 18 Apr 2025 20:50:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745009434; cv=none; b=btu6D7ABHblud6R+BDz17jJtzLdj+7Y7frHzxARXcjuSLfMAlQBPOz4AZY9I85rG+swm0fXPMrD7WejAfLb2mqJ1HYsIzCYDcV1GmUn808/+dX/cEYbugTVgynCXegJQVpjDT70ZHiRmhL2R4a1wSo+aCtO7wKW8s94L2+mtzXU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745009434; c=relaxed/simple; bh=IeGkgU0YBXtfAvHiWobFFEYEFFchmZKYlSuvetJAaME=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Y7T9OL58j875oKY8PJDdA9JnoCJttEL0ttZsenmlWQp0rGgZjjS67HAnxlzHnbn9thJ94mDAUpIi200bQ6/GMhzEncwhu8lamNwPSEQRhaDk15+k4Rp/eekJ7IkjreKhNyWuPpKMz3qzzpkXlj7KWFW1Q+5Wvr985VN+/dlBOPc= 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=ju6sISDB; arc=none smtp.client-ip=209.85.160.171 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="ju6sISDB" Received: by mail-qt1-f171.google.com with SMTP id d75a77b69052e-47686580529so24063221cf.2; Fri, 18 Apr 2025 13:50:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745009431; x=1745614231; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AWMbB3RCjLtzIka1EeVCBu0jLU/YK5i3+0Q0+aZfr+E=; b=ju6sISDBavWyefKtUbY6gfe89dMMcgJ/cdicH0cYF2eqqTO4enGmJ5y0arhNpiL7OU vmQZznOyzmysLjKCj1+3MpXbxKmAZIfbBoTFQbsmHilSB3Mud2jn9cXbo9sL4jZQdoUJ H06Iusyji82rC09St4LqRLWo8HSHHHwobQMspGO4rbOBX0Lyxeqf9OB20d2q+0gMn/iM +++ntywIq76RS4tVWd8lj+AtM/WOgUg+bnxE9gyn8DDfjQ7RWW4I2LW5WK0PF65GJ3Gq JTey7OVTFuTXG9lgqDAvcIveOKdcmAuS8Gf2hBTAqMU0yWh67MHZibAduTDBz4KT0E47 Z24A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745009431; x=1745614231; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AWMbB3RCjLtzIka1EeVCBu0jLU/YK5i3+0Q0+aZfr+E=; b=kaZRbjOCaV4pXEsDBsf7+KvsQiziTQyNshSTBvBPbuTTzydXAhsEevGs/OEzMW2sHn zsSxwTICkcdX1WZmTeedRYGvf7cLLaSXYDZcyXIrkWzlg/2NoF7JwKxx83NUvKxCLP9N SbMn0+00In6XUVtk13V0VFg89tWWpMHLMm8/OWv6pMkog06f0sja3bwSN4l532BID3y8 lxFr8oQBB8QnBM4J06CJ1eVd6Ve8MnCdHua6aYgw4XYQTVPQU15pjeXJAbTuSf+Z4W9v SeVFPivngoIGWc5I6+lH8eehW5fenfjhV/Ty+W0MMZbxwVB89hKkbo/ho2IWokRF5iEh Ad+A== X-Forwarded-Encrypted: i=1; AJvYcCUyb+h+pO0iAPSucTs5weomJ5IDX9dhFvS4nnRLIU8vcthzNPcOsMaCK9+CTF0CwHGJdkPbHz+fic4=@vger.kernel.org, AJvYcCVeWhKNYiu1oX4wJMvaQaWTHoqnh9J0JDZDT5HNoEWFrsZPaJf3GMBL+ze7YgDUODq2YDeoSk7Wg3iBIaWG@vger.kernel.org X-Gm-Message-State: AOJu0YxUq4QkplrKL797Zprjj+KjJ/K1REyyK52LqF0oYYGXKUu3PFC+ Sedy8aXACX+qXQu86/r5VfsxXsxyk26UrK4ui4TVh1K62/yaRHik X-Gm-Gg: ASbGncu5G2Ipz5W4V8QZ02dLiL38iRM2pMEPMlpnXQZyNRUl0BOgaPmhmxeo3yYaMFE 1zuy7u6uUKC372s8zSahQn/aCqEzca89cWMpPL8fxl0AAW3xyip+LA4WUWHYeERP1n23onF/2BE KWaY3HgY+kAcPtn27AHYKLpAC9XOKSCyCISu2163qSfr32j1eLfXlhuveGYWUV1QTaKJXhHa/9o 0GCVIrvKfpSfRlbY784Q+hXq+p6Osb9QhtJsk7hDa1TSIWXbuYDwf7JLZnoVdLePF/CGl/93IZs sCc/4yNHnmbcv/qUaeEJ3J8QEx45p6hY02o9leSJM4+PsbXESSvRmFTlC3+0PJAEoEqefB83xWk m5raPc/77Wgb4Hiw5WZNdxSVOu5XbEg== X-Google-Smtp-Source: AGHT+IElU1Yd0E+W2DyTMMcqARRpEtHiEHdV9D+YUDYwkXUwZpUeb/KR+3XphmY5lzjyf9I57bJbgg== X-Received: by 2002:a05:6214:21c1:b0:6eb:2e88:d47b with SMTP id 6a1803df08f44-6f2c457c2b3mr62600776d6.17.1745009431639; Fri, 18 Apr 2025 13:50:31 -0700 (PDT) Received: from theriatric.mshome.net (c-73-123-232-110.hsd1.ma.comcast.net. [73.123.232.110]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6f2c2af11d7sm14355906d6.6.2025.04.18.13.50.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Apr 2025 13:50:31 -0700 (PDT) From: Gabriel Shahrouzi To: gregkh@linuxfoundation.org, jic23@kernel.org, lars@metafoo.de, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Michael.Hennerich@analog.com, sonic.zhang@analog.com, vapier@gentoo.org Cc: gshahrouzi@gmail.com, skhan@linuxfoundation.org, linux-kernel-mentees@lists.linux.dev Subject: [PATCH v3 4/5] staging: iio: adc: ad7816: Use chip_info for device capabilities Date: Fri, 18 Apr 2025 16:47:38 -0400 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Move device-specific capability information, like the presence of a BUSY pin, into the ad7816_chip_info structure. Signed-off-by: Gabriel Shahrouzi --- drivers/staging/iio/adc/ad7816.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7= 816.c index 39310ade770d0..ab7520a8a3da9 100644 --- a/drivers/staging/iio/adc/ad7816.c +++ b/drivers/staging/iio/adc/ad7816.c @@ -44,21 +44,25 @@ struct ad7816_chip_info { const char *name; u8 max_channels; + bool has_busy_pin; }; =20 static const struct ad7816_chip_info ad7816_info_ad7816 =3D { .name =3D "ad7816", .max_channels =3D 0, + .has_busy_pin =3D true, }; =20 static const struct ad7816_chip_info ad7817_info_ad7817 =3D { .name =3D "ad7817", .max_channels =3D 3, + .has_busy_pin =3D true, }; =20 static const struct ad7816_chip_info ad7818_info_ad7818 =3D { .name =3D "ad7818", .max_channels =3D 1, + .has_busy_pin =3D false, }; =20 struct ad7816_state { @@ -98,7 +102,7 @@ static int ad7816_spi_read(struct ad7816_state *chip, u1= 6 *data) gpiod_set_value(chip->convert_pin, 1); } =20 - if (chip->chip_info =3D=3D &ad7816_info_ad7816 || chip->chip_info =3D=3D = &ad7817_info_ad7817) { + if (chip->chip_info->has_busy_pin) { while (gpiod_get_value(chip->busy_pin)) cpu_relax(); } --=20 2.43.0 From nobody Sun Dec 14 02:18:18 2025 Received: from mail-qv1-f51.google.com (mail-qv1-f51.google.com [209.85.219.51]) (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 5EAD6253326; Fri, 18 Apr 2025 20:50:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745009436; cv=none; b=bU207w9HMWnuWofTYSBgvKx1xPba2FnpTZaCtOF1/ShYVg1E1/JDVsRqD7R0Og3OQrFmhXpDjhtU7tPgESL3nJ1/Lm0OW8Vv/bKE7cP//hP0Io+qo60CE0/oA+UYokdKPJmkTp4u344YyLjQN+BIQiRTolrMtH3vY5JPsT+5wZc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745009436; c=relaxed/simple; bh=6b39M6YtW2A/3eICBTEDNqpUWewC4LsFqtDslsVsEOM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Zka0b22HjWA2fFJeBC6HrWNW+46IJ8PrrghlAIfcBYT6UjBzFT1YpUlTBfl/sARfby70pC8fHG4DIMjFKOGbknhWNDFlexh4ixE+fvBDzhN/Hsn16mK4bLSIJO+cRZAP22JTNPi7RxoQG7UHvI9YbOlCcchn1Un705i6+yHOy5c= 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=cprL+9Rj; arc=none smtp.client-ip=209.85.219.51 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="cprL+9Rj" Received: by mail-qv1-f51.google.com with SMTP id 6a1803df08f44-6e8f8657f29so20583626d6.3; Fri, 18 Apr 2025 13:50:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745009433; x=1745614233; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0SMPeQ941nuBw4ulrFHaEAxjMcMmjZp4/m3CVTBPiag=; b=cprL+9RjFelsJl7m3HXI3g3TUn9fLlIAQ1RLYtyPMcThPs+jZZ4MaxMntOiLK7k9JF ynvMofP6FVyPGDjkLg0v3hM48varrl0AMIbnK8ontEsLPvKFURSqWL2T0Iv879OorA94 U5eLbArjW9CslRGaVUVamT3zqDj31949X4Ouej7kINCKkrxmnOODSprECQwfespHBGnN /KMP9Ovfd5h8zUzeKzyd5scHNM5vmGjDLrvEJEwNvxQ4+nRxoGEE3hhumcJ+GpzIL/5x NUk/HIncbUnmyIGUprR4mV8c+zX3apsacIcPzmCrFgjTUiLR+9eaxP5+oyEEdGz7Epin uemw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745009433; x=1745614233; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0SMPeQ941nuBw4ulrFHaEAxjMcMmjZp4/m3CVTBPiag=; b=rhWzDNMFXJzK60EiHSi2k4YHk1WBSbLTaFRWAGzI9hAYt7SQ8wCn3hQuTSo1laQhH9 tN9qHS//6R4Hb880TUU2k/MaLbnBnQGuK7wWbekPsiVKrvu0uOW7ZEkbuWJImpnp0wl1 6VBpZDZ3fYaH0HeC/ngFRR7CVKc3n3A4qe+BAU48SR563gvq3+eytBlN6cY8pCfkaTYl ZRwC+17eXxdn4Ik14r+y2l7+0xGj8xIj/hd2ZZmGF54k2KC9FpvchwEi8SZIiSFC+KIY afHQmw3fMUEZuEdNoOx5bGWTtoQ/IOQcg0C4SbB+CGW08T7PRzhLv8u0PsjpZ7nMOgvA vslQ== X-Forwarded-Encrypted: i=1; AJvYcCUTjx77+sRTd9kqhw3az0ot2LBbwIhF3ByuIxtvcWnvOFdoPAaBa1wyKLOzvZ/6s1thFSTnwgf3znU=@vger.kernel.org, AJvYcCWcuUGce4HIyOnld+RnR0zVa6UNrcGM4r7P2Ok904+2r47uhLdF8KgPTsoUyMY3l7PxHft7QBGCVCzcXS1t@vger.kernel.org X-Gm-Message-State: AOJu0Yy44rZcQ2+RxB3oG/3JJcPUQa8mYAaz/oOmRpOKOJJUEyDNzr44 A7r+ZPCv1vKGSb1jbrlBVpkbKMhIFPP/klKjsAKeeSAaeon3jarT X-Gm-Gg: ASbGncv0eCXH9IyYGbKRkHMh9kxAlW3Fr/JDhpd+Y3GWPySA/plEDqTLXkQCm+cSqtq WX93Me9KOOHF3V0eDW/TTH1hNQJYl34U7v9v2eJcN+tlcY2R6ilIBIJkl/D7+K9M6+LI1lYNEtz qy6+BJ4Khp7DYmS+2S0LoQynyilePjQ/NlyRLEZmFp2m4gNDq3iIuQZicmRZ1ZPmFQg0U6+140l 8Igb8U7mFWF0FwfBrDoVdAXtLk0Fesvm58/Fy50//mfk9vLoANVcdFT3hbAXvap63OaTDbYHKRl jcZZwIVJCh1SnSzZ7H22Tr8y2cIGLmJ71EFU6CpiVAgAFGr98SVyf469UAddV+6skf2BKjV3+T9 LSSSWe9kKxXeyHi4dpF0= X-Google-Smtp-Source: AGHT+IGO6qNyMGRvR963+xpPXWdS16jJx2sEAFk2rlIOtDL+gt1OLO0T5tYCAfYC5Sf+S9gLqrFUKA== X-Received: by 2002:a05:6214:2389:b0:6e8:9dc9:1c03 with SMTP id 6a1803df08f44-6f2c455f647mr66305356d6.21.1745009433041; Fri, 18 Apr 2025 13:50:33 -0700 (PDT) Received: from theriatric.mshome.net (c-73-123-232-110.hsd1.ma.comcast.net. [73.123.232.110]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6f2c2af11d7sm14355906d6.6.2025.04.18.13.50.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Apr 2025 13:50:32 -0700 (PDT) From: Gabriel Shahrouzi To: gregkh@linuxfoundation.org, jic23@kernel.org, lars@metafoo.de, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Michael.Hennerich@analog.com, sonic.zhang@analog.com, vapier@gentoo.org Cc: gshahrouzi@gmail.com, skhan@linuxfoundation.org, linux-kernel-mentees@lists.linux.dev Subject: [PATCH v3 5/5] staging: iio: adc: ad7816: Simplify channel validation using chip_info Date: Fri, 18 Apr 2025 16:47:39 -0400 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Refactor the channel validation logic within ad7816_store_channel() to leverage the max_channels field previously introduced in the ad7816_chip_info structure. Signed-off-by: Gabriel Shahrouzi --- drivers/staging/iio/adc/ad7816.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7= 816.c index ab7520a8a3da9..b87934aaae581 100644 --- a/drivers/staging/iio/adc/ad7816.c +++ b/drivers/staging/iio/adc/ad7816.c @@ -204,19 +204,10 @@ static ssize_t ad7816_store_channel(struct device *de= v, if (ret) return ret; =20 - if (data > AD7816_CS_MAX && data !=3D AD7816_CS_MASK) { + if (data > chip->chip_info->max_channels && data !=3D AD7816_CS_MASK) { dev_err(&chip->spi_dev->dev, "Invalid channel id %lu for %s.\n", - data, indio_dev->name); + data, chip->chip_info->name); return -EINVAL; - } else if (strcmp(indio_dev->name, "ad7818") =3D=3D 0 && data > 1 && data= !=3D AD7816_CS_MASK) { - dev_err(&chip->spi_dev->dev, - "Invalid channel id %lu for ad7818.\n", data); - return -EINVAL; - } else if (strcmp(indio_dev->name, "ad7816") =3D=3D 0 && data > 0 && data= !=3D AD7816_CS_MASK) { - dev_err(&chip->spi_dev->dev, - "Invalid channel id %lu for ad7816.\n", data); - return -EINVAL; - } =20 chip->channel_id =3D data; =20 --=20 2.43.0