From nobody Sun Dec 14 12:06:46 2025 Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) (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 CA2131A2390; Sat, 19 Apr 2025 13:56:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745071004; cv=none; b=CiDFdzbBJp4tVwxaIR7e3uWxHlkJK9lg2eVDFL26EPEJmRcdGukBzRkbDbnGtnL33emFuXLVkjJfUITwid4uzrGHxNR2B/4qFOeBgmGJp1iaRyY0o5Y7a7hKnrexINhWDR+9oE4UmKmSWM3lCXA6CsiZst28rq6+zhAcC78mb8E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745071004; c=relaxed/simple; bh=nhjNiEws7JDfpSABnQRCrgaV/jVLhmHTd1ukZHOLh3Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tN5Veg1CjhTfyyZzd7P5lkFFXQKAXov4oVSyla8LhtYS/px1fYDHpMvZntoqiMdji/GrPixGQg3WfqNTKHFdDcn5U0sdeabxdyRja330CH18gqwDIRP0GZFLBkoowToFQwAG8VTlOKUV8gP1uPDYn8Yn4kZWtOwxD4Wj0aLQMLk= 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=jQjHYoi+; arc=none smtp.client-ip=209.85.222.180 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="jQjHYoi+" Received: by mail-qk1-f180.google.com with SMTP id af79cd13be357-7c5568355ffso213636085a.0; Sat, 19 Apr 2025 06:56:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745071001; x=1745675801; 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=jQjHYoi+O+tliMaVb0U0Ioxo0R45+1fwaMS/W/2mHwj82VorTVR1Hdze6XV4Z4huKG +LHalZce+R11sQ+Z7I+aouM+s9WA/2kVwCD8YLoUCeBLDCk3IJ9f+R7cTJpEC7eEfwbx RC6Quvp/5RY5Cvgks3yFW+mRKcemEgmJGWyZzVuHIi1iitOG2UIbSZEb9d/VVFfwk8wI Y9nCjSFK6oRfZUuzwKEhkLGOVfc28Gxp+fILpvKt/nBoa5ytP3P44G4q7eS0ulW96oQJ 5hCOQEfq6Vuu9s2t2nvwmrRjbT1UZ7iiOMG+Oh47G0Z7dAUXQxbfy9voDMxSkCmy+elO kNrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745071001; x=1745675801; 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=clJlLrPiTX5VyRwywAEVtLcYbJLwj2qnsmn7duxGBsHjCOFyC3HhMpEESocbbWO2mR gzTJa4mzka9yytEQHhSGOAjmYR6yLTJBsc/uY5FUrBo/tyGsi2YCM2PVlpIsrckbMSHX NsDUAhCLwOPQgGQHhMGIx5hrVo63A1H182qsvPWM8dOtpgtwLHRqJASMS3qmb+lAmofX RqejzR8YjRNJOdq97HRMFeI7bKAtFPgeJEKXfRhhFgunoq6AHfGvBifSLNHfSoSvmFJp fLdAcTxiI6XD/sM7duNvywfh8jzJzxW2fMtBEe/9aGnRNTAgBkhPhskh03SRgv/hkMHq bNqA== X-Forwarded-Encrypted: i=1; AJvYcCUX6OWC6iHkYYj+3TVXbLj4mH0NWam8XFK35/8FW7UegHqY1J8GCZGVkAF/E5dNQjY5dsOw7VTtLIQ=@vger.kernel.org, AJvYcCVlUT5aGf+g5UpIU6KGieneeGvq/xCM9OzKC2oo+sGOnY+T38b+d8baRxG/dj7DmbFaU5/Q9efA@vger.kernel.org, AJvYcCXNAX+J2zeAmAxo5FdCQUBza8mpMIPA+ACHacOvsHB9I0P0BIJLWdXazmMw7D63scNgncXuNP9ylACAtp9c@vger.kernel.org X-Gm-Message-State: AOJu0YxFbQuUSIc0X0BPuNC2v4GIo4F8GeIPUrV75HohZ5ELLJEhqnfl SPkb3nwElP51Z0CNWaGiaCpv2OVFteuORMvA8Du/LrVaI13CWE8v X-Gm-Gg: ASbGncu6xxqGqnkfXKl0I0+NVCd2QlDMeze5AywH9sHJZcnZpvLbGiJL/gAqErNGcE3 7t0qESE+j5KoJkKy7h+hKtLSn2YZk2FwCFmmj8BxyzZ2imGreYeBQkigdtwEAeToZQNe5/1BoDg HUbwQgpAeFCFMx8Nq+9Ra48nRnxhpGetUh+SAPayJQMI/nNJZ49q5odTo7PFVQipA7AuX3iEtUP u0A/EVGCBbPHPGMLEQi2cqiRePMOs/ivbWb/GDQB4qvxBtVlYJepfy+a2QdayisfWjynwFHcism ZGGDpWOerWLiWQwyfVVzd8khhnxpEO+s9jnQnvh/e1okiW5SMpZ79GrJSN3gf4G+Nw== X-Google-Smtp-Source: AGHT+IF/z6GEDB37r31F0OmR0P3pDnZmdP9f9ReQJm7FpvmCkWJBHCBmLHMxzR7sz1S46RqTgA3Cew== X-Received: by 2002:a05:620a:400e:b0:7c7:6543:2018 with SMTP id af79cd13be357-7c927f6b2c4mr926327385a.7.1745071001441; Sat, 19 Apr 2025 06:56:41 -0700 (PDT) Received: from theriatric.mshome.net ([73.123.232.110]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c925ac4749sm214350185a.59.2025.04.19.06.56.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Apr 2025 06:56:41 -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 1/5] staging: iio: adc: ad7816: Allow channel 7 for all devices Date: Sat, 19 Apr 2025 09:56:34 -0400 Message-ID: <20250419135638.810070-2-gshahrouzi@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250419135638.810070-1-gshahrouzi@gmail.com> References: <20250419135638.810070-1-gshahrouzi@gmail.com> 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 12:06:46 2025 Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.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 A875D1DDC11; Sat, 19 Apr 2025 13:56:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745071006; cv=none; b=RAa7WSqfcOYnLXCQa+cwjAallE3iuAVbiKM6eqoPXMfTRhR+3vnHeUjXlwWmT0mRRLTiuM4WWt3/4tJXcO+eHMps23RRLc2oY1hfjnx/ST1IgODkSvxuF8Ie10QNvGfdtBi9l9x0fHQ9PrICJA5EubaSXJZgjAd8XhsVFBw4LbY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745071006; c=relaxed/simple; bh=ZtWyf+85ZAZuuUdke/D6KK+1edjKVBiOUFx39D2hd6E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=p/X4TQvk1aU9it6r0yA4X38jb5MmVSLBxW6TKGKDTrrvd60D+c40AlgY8Ns9Kw7IknP/fFGJVfP7VrYpq1xmtc6kWP/M+iuw3bwpB/JwlZGNaAt4NQ1cQk87MzKxCkhZHNRpImWuBtSN2nz097HMNVFVgkJwUcaRulQZyc7HotM= 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=d6QjuiaX; arc=none smtp.client-ip=209.85.222.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="d6QjuiaX" Received: by mail-qk1-f173.google.com with SMTP id af79cd13be357-7c5ba363f1aso348222985a.0; Sat, 19 Apr 2025 06:56:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745071002; x=1745675802; 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=d6QjuiaX1CgnE2nRscsRM+IqfTEql7UN3dLnMwdOgGaunp+Lh6lc9sr5RuFA4JqH/W 3wMHoIU6MxXyKhu7JMIn9tCMzzutUoJnUg1HDrOUyHh7hc4HagEei8Byhrl+lOfXBuur eMqSYcoc5AiyXewNmOgI8UlY4VvaK1uXAI3tqIlFa13K4q71WDoqncveALt8ZKDOrin+ Qr5elWefzdZuFaKyy87VwOdNXZKnzpzzyJIhCI6/N49B0z0bbfvIKLGgH6vnphc06pCJ KwMrNULyHIpK9tQAju/Vj2Rgvqe8QDL/yZteOhIFz0p/bzag4h5e2hbbbGXUx23Hj5Cv BK5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745071002; x=1745675802; 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=oi8ehL0dEA074pqhN+Gcq14JPCx6mjBlPN2UtYhVIUQXNwfazcKFNXMiYnaygjwVDK gMC3G+XnjDW01KYjgkRjlnHAgjG2BOZgryHIrmyDmDrFZLW3eeQOGPNWHST1Dfw0dXfN qYeP91mmpahMQAXUiMJlM7cOehQ1tZcgUd/BjzeyxC7T9P93BqyLMfZGsOjTUUd7/ZeG 1TLfFZKmlV3LrZScGdnnMnpXVznjkll2MesuTqiMupPnKY4dKKUdzL9EFdRIv2/t9oj9 WPFlGP82seNzWtH21kl+WEpiF27eMRZvpnqz+mADIOKSAnTj71NJaSiLdo2JQ57+D3Hz 3f7w== X-Forwarded-Encrypted: i=1; AJvYcCWc8CKAuFnlTodYiOOuXKx/Lp4ho1tjgvo5SO9/fz807cjSA63wi4ERpgDXID4tgX95VbRxsF84KmZePDNC@vger.kernel.org, AJvYcCXPjlGGgpREKwP8SdGldm8z3sb4ZB1uZttuZ0OvKVNmyNFZGxZ2pffXWJNM9ATd5lgFkMUKjV4lxnk=@vger.kernel.org X-Gm-Message-State: AOJu0Ywq1ie2t8SqgwzGrz/uTIhyXqVi1v3Iq4GcG01gpYX06QzHP7mN jyE3Td9Gh0V6+Soya05S1dmfdCgfc93QKv18Z167GLnDyVFjbcUVjZfZnswbAWo= X-Gm-Gg: ASbGnctTzJD11CxW35hE2ONWdGhirBJsKq0QUt4vmiH3ZqeDgbEGV2mPqB6Ub8EA0Si YdWJJdAV9V6zOdlr/dz257gLIwOHuPGZm0c0WE8r0lFUuyYUVU9o3iDnI82k3auKHysNMDi1iK4 OLc8S56u7mpKhQ6f+9rg/7vE1nARMz4lMQItoVGeltAcKftSNHQcld+BJ40U3fGPRDrqn4NVZT8 tSBwq0FACacqXZnG1HVq6EAMBZADeKeNgeKevRDfywIb17rV94mmp7ypOpBkF6Bbw7u5zYZGmaE zKU/OXR5U6wK+Nj3Pl6fTb8khaxydtdsZme+BrBpyt4jVsxrWRyn97ULg3JRJvNyIg== X-Google-Smtp-Source: AGHT+IGjO9XrU530ITxvlahmC6BM8XwQH9uXIKeS9Jh/wyHB2OzRz2dqUKbHhGBZbB44HCl8uOWXMg== X-Received: by 2002:a05:620a:2802:b0:7c5:a2f8:e6e4 with SMTP id af79cd13be357-7c927fb1a9bmr968863585a.29.1745071002382; Sat, 19 Apr 2025 06:56:42 -0700 (PDT) Received: from theriatric.mshome.net ([73.123.232.110]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c925ac4749sm214350185a.59.2025.04.19.06.56.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Apr 2025 06:56:42 -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 2/5] staging: iio: adc: ad7816: Rename state structure Date: Sat, 19 Apr 2025 09:56:35 -0400 Message-ID: <20250419135638.810070-3-gshahrouzi@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250419135638.810070-1-gshahrouzi@gmail.com> References: <20250419135638.810070-1-gshahrouzi@gmail.com> 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 12:06:46 2025 Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) (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 975E31DDC0B; Sat, 19 Apr 2025 13:56:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745071006; cv=none; b=d8vwris1afV2cXgDaDdO1/AHPZ5hLmWUwcPnYLKcQQBmmVVecwxgprMr2Js1xoOO9haT5Z81Hwt3HNFnVjItQCn/Naoae0hHw6ImehLlUXOzHdhKHRqu3UsQIn7DGHPD6J9vOIlVvAlif55O8mg3YHYLgpPidoeFOA5n6z0J8BQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745071006; c=relaxed/simple; bh=FS5Q98qLID6FAQ/N12FPnFMlE/nozAWlI7CwtVF5bKM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BV8w4GPSvsV9hRkHtDaI0HQaHDCxiRmgjlZhUD3sWa0fcBIspjUFUUsKUAJj9CYDQU7a+tHZdS7+cO15a+X7FXE3j7NMRXhqUxHaeGyAjtNe/fRjOGCHY4ySaXA740H6ruPSalao1VmraaTcKPfgEH2x9C03INuE23ygE3vCgUQ= 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=NxfAuJWg; arc=none smtp.client-ip=209.85.222.178 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="NxfAuJWg" Received: by mail-qk1-f178.google.com with SMTP id af79cd13be357-7c59e7039eeso372765585a.2; Sat, 19 Apr 2025 06:56:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745071003; x=1745675803; 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=NxfAuJWgAnDE6QSV/g3duXOAXs/vym16QyE6w5h94iXYJ44EjdcWb4UY6Vsnmfjlkm zEAUnbHbr98cEl1Ej9oaul83uyOwXR60JtpqGGcR84Qzvc7Dw/3qTN9ZO7TI1bgyitGv 42kw7uFofzQMsVW3rBxK/fUSGmr6bF2paVCqggwkMXSkwMMG1RfYt3FuGO/68/gIkbNB aCYhrUGfKUBP1uroTbRtSu80/tH4fnCTUbYMpYuMMVnQN7FOGcIEX2SQJtMHzSx16ZSz TZeGsWVkjmaActTHiKjjpuiWF5HNxNB3gxbpw3vJ6MG39QShi9MR3Lo1uO8ESff5aqkA uAlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745071003; x=1745675803; 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=P+CM1S9fC/sr75zP/tu//h2C2sbwYRvGhF/qFJ1sbcFmQIFqRNpJt6arFhCHGMa92u 4OSd3A0PNM7NwgbeID/w75gj+JiGfzqHrYLMWZQOcG6TI7J/vJRA1WLchH7Vdxg2NKGm X79dQujejISAjS6RIr39T8vi3xuvNssogTU7MbVHsPANEfCQHN3D5nKpboMlcRFWyNsz 1H05ZxtQzabuhvaLcwemw3XFoopmUtc5P6F/Q45LsVyU4mRnnoBFkzIMBt2I9wZOpc04 S7+VXqJY3TQqeSK1oGnQ+jbXXMYG65xwlq8v8Pq3sOh54fJiwVLIIUdlZNpcS7pAmhfU KiLQ== X-Forwarded-Encrypted: i=1; AJvYcCU2RAl1Pe2SZ8UJTqNIBYyYMzOvsjH5ZALcA/nq9uX2rK69QN2BNEvi05+pab/mr1nA9DnmVO60/8R+JkTV@vger.kernel.org, AJvYcCUR2/dguEzMudyiLds27LvNJcvHHbVKozml/CTBYUuCDNf5eRzvQAcp91HcPzlImSLnqoFpk4kKZ54=@vger.kernel.org X-Gm-Message-State: AOJu0YznSRf9fQ1kC7xuTtTmkk+HuugisKTPJNvrlfzb4nTElHVn7oIN N+61iRFK30CcjnknwU2ePhABSZmM82DDfddHEmxrB+yvXIEpo8Bb X-Gm-Gg: ASbGncupm+28U6l0/kJq3eqFXBYAWv2qgBpiM3wL0cpaRd1n1nlWcy4Ti5QveUwiBDY Qj+sAj/ECwls4S56xPlRCogRP1ZPAE4Z3rDFXYRoTP9sX1X1UYzKwKdo46gVQOJF/GZoOaHrVyd JpohK3WECDppbdJ9f3qBF7jLBYArcQPWl6BaibXQ4afarCXoWhWu1VTGx3aI/qxJbAHDpXTdBQl UhGfZObrG0ox4bAfCuEXD2E4tPCLdJMgrv/Wrl4n3t7yWcNUgHbeUb7lMhoIMsF6R6HzBwHLvJC /PSH693D0u1w4pfmom+prVyoxvLwa0+3ofsZxD3zQOweBiilZRay4Jw= X-Google-Smtp-Source: AGHT+IFVmEYILIl7Bx9bPOG6d33ZGT/0pPwV1G1+NPCc5IPhW9OYdHlwxHRMX0my6CmQO0+vJtJu2w== X-Received: by 2002:a05:620a:4153:b0:7c5:a2de:71d3 with SMTP id af79cd13be357-7c927f92045mr827457885a.20.1745071003444; Sat, 19 Apr 2025 06:56:43 -0700 (PDT) Received: from theriatric.mshome.net ([73.123.232.110]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c925ac4749sm214350185a.59.2025.04.19.06.56.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Apr 2025 06:56:43 -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 3/5] staging: iio: adc: ad7816: Introduce chip_info and use pointer matching Date: Sat, 19 Apr 2025 09:56:36 -0400 Message-ID: <20250419135638.810070-4-gshahrouzi@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250419135638.810070-1-gshahrouzi@gmail.com> References: <20250419135638.810070-1-gshahrouzi@gmail.com> 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 12:06:46 2025 Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.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 ABDB31DE3DB; Sat, 19 Apr 2025 13:56:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745071007; cv=none; b=S4SolaRVmgkP5vpq1IXkZxZ5lheS55tTzrTWi4yI6QjF1AhI4wSyQw+cq1AmFYBGoSr32GdLNtdTvUSih5vIRRKO24P2q1w25TT7ei+w9il0DwXyAfd9KNMT1c3s/+ExI9URRMkAEkEtjXtqdwLfYwqjRAVxT2SG/Th4NTV4TRM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745071007; c=relaxed/simple; bh=IeGkgU0YBXtfAvHiWobFFEYEFFchmZKYlSuvetJAaME=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rH5MMLyeS5VlEU1TFVsQMQ/72tEZrNL5LxJacNGmyuppX6E0p7NRwuKdBvNpjSIYChwm9/LDDcvb4E+uM0YztutixtOBjtYtW3Uykpf10CqWiJeXivKVV2Se8eC1lTZfxPyf5YvsmnD0+M0jiWnp77i4hpURyL3tRUrwtmHlIf0= 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=dc1uxoNo; arc=none smtp.client-ip=209.85.222.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="dc1uxoNo" Received: by mail-qk1-f173.google.com with SMTP id af79cd13be357-7c55500cf80so206252085a.1; Sat, 19 Apr 2025 06:56:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745071004; x=1745675804; 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=dc1uxoNo1VkYUuLz2XEtTs/kKzGjAhLw8zazTaU/W00Qd9Xo6wUJvNEonRwGJTCnMq Wiyk4kSaHXFR88dE3BQZ1/AD/9rIcYaB3//Lxizf+LBXtRvhHm5eE7Hd6IY/pDHWp+Tu kmuIS4exmgeE7/aSbmVaKLLoyHUn/xcXg3nJy+IK6PoObMXYajeXRUtKxAH0V2N3Djti QFM7v3rOKbiU58tiTc+G007nH2MbdS4deML/lMIGyZWsEs84+e6W2yjFHonP9gqXWVmq U0TMQ/bmXmUCaST8zTC00cMXS9UFItFXIxT4DbrOK9Ttb7HJ36xMzXahC7KJRo63C1kW 4uBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745071004; x=1745675804; 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=sPpZG7sCs5u7/0S3LySTKmVxQmX+GF0E2eh3CCqA/DJIJQLgkLIvZmsIjVNP0VX97i RjdtxWZnlJe6msBONuYqBpXFUrVDlNlT20kVmQCvkHSoAOzMWYFhxmW7JXYbabeNXCCq WYWpgDbJoxMfmYne2N7031L+Z2o5Ehtiinj/ZWlETepLZvnHN0EKjXp/c22DjbKduNyi od6LcmVUO38eVJAetWwsxFP37SaGebdeA0hewnslymqJIO4MfPaJR9JkGtpIoskMrMIc BXCyHoeLkJONNYzI4q/2gnNLcxk/2Qaejxn5RPQGRdYhbLspsWJz8mjg8cnpBGPexSB3 1AWw== X-Forwarded-Encrypted: i=1; AJvYcCVKHWaUe7zAueGhyqEYKbrNDO2I60OYVzK7RDHeVCklVmt6z5713BvcxKw0nGirSQr+v7iN+zVc4OZgWLza@vger.kernel.org, AJvYcCWg/ZRbBs5efQ6t/5iCNexZo9FpFgZv7sxna8iM+hMIONy/yOkxzySJ7QCgvTQGJ4oVW03h8xbuQe4=@vger.kernel.org X-Gm-Message-State: AOJu0YxGLxgfMJwnfbnN2MzgL9ugcPPTdh2UECVTDx/kauG/CR5jXiMW C56u3OXkzI10QWxf5OYgA8B15bIed44zBEcctV4ojh7YCv6IoNlM X-Gm-Gg: ASbGnctFH4kEKXhWSRdm/pceyrOU7pT7Y3rNqSHv2oyOxLn4bZO8+YZKeKaAnAEhxLk VqVXQ0HshNpKYYeW+60h2vQFfQO+2NnjoFE1FQokk1Z4eh35c3sUv7ekgzAnbyZBzn0h5Dp8KVg A9Mpf+H3F4hQ1lnmrCPbsuZAMHmHOFsQR0J4w33pPRiQHRv3WgA/0ZKC5n7T6I/p8SKf9dQZaCW OAE4ay31BUVp+ejiWNLYyyl7wb/VJRf5CqnffAyo2wXZ97zS06KfPUaAmGbQrznA/5LDqWpqobU gitA21rJJM/BHrSpXaDCzC6rHTViGBB6mimee5h0LSCdkQdzT7XcFaE= X-Google-Smtp-Source: AGHT+IFE5Q10ytdMM8/SuSSTefTUYIbTBwb4vK2u7waQDWVfRENh+ujjhU4ceANhgI0oVyC+lc+k9g== X-Received: by 2002:a05:620a:319d:b0:7c5:4c49:76a5 with SMTP id af79cd13be357-7c927f59296mr765340185a.12.1745071004357; Sat, 19 Apr 2025 06:56:44 -0700 (PDT) Received: from theriatric.mshome.net ([73.123.232.110]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c925ac4749sm214350185a.59.2025.04.19.06.56.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Apr 2025 06:56:44 -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 4/5] staging: iio: adc: ad7816: Use chip_info for device capabilities Date: Sat, 19 Apr 2025 09:56:37 -0400 Message-ID: <20250419135638.810070-5-gshahrouzi@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250419135638.810070-1-gshahrouzi@gmail.com> References: <20250419135638.810070-1-gshahrouzi@gmail.com> 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 12:06:46 2025 Received: from mail-qk1-f179.google.com (mail-qk1-f179.google.com [209.85.222.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 591601DE4E3; Sat, 19 Apr 2025 13:56:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745071007; cv=none; b=GzFNzrTabSrjqjyJBuEtB8U/vahiw9tSzq+1HZe3QuzqYBfsnQXU9oi6dyYWKFNMXngBl8VhWX7hcTdRdK5SCVC/lZTf0yLN7FX+Lvc3SfBZVCavSojYUQYmpVPeCQb5US7hoFCXhJ6NYbeGO4EeAsJNwdfntowiVUTqaA/xeXE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745071007; c=relaxed/simple; bh=Ubbbw15hEAZ+J5L1Ub1FKSI3XNWrOXLdqS9DAd1ONgc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OhcH4Tyu/s5YujaKrV3OANvUjrMURa8JYhbx98YDWFo4FCWL+jLmRZeL9u/IQFqqtwPvcXmmTsgLa/ejjmBz3TfJs90WMfJQJl37vuXqpLc74cmlgSW3iD+Q1W8e3+p/QQifW9sXUY7nb13oDi9UQ//MoeMGdN3EnNIoWX6SS48= 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=hrrtT06l; arc=none smtp.client-ip=209.85.222.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="hrrtT06l" Received: by mail-qk1-f179.google.com with SMTP id af79cd13be357-7c5ba363f1aso348226885a.0; Sat, 19 Apr 2025 06:56:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745071005; x=1745675805; 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=aXLzgwUjjblsXqDwVt3NWjFIy+rshNgbw5xBdqozz6Y=; b=hrrtT06lJXVAIxITzNZJ7zdPxhodZHC8tEYIfuz1rtvL6N+6D2b0T8QlXi4v/J1jTI lRpqvSzeyIT5p1IB4TNGMnEvM6cPvEWXuuTK8mUMfuaeVB1C9MDG79l0eGuwRg6E8nOv GvsgaAyoHNozfjHzb/93GBubi7VrMOdgFWdjBQ0xhw7RJYvGxjb1hQoXSpOIX9U59vQM u8vzSQlEP+51gfuZ+jClBQPjl6ZJ14oISPGNT6G3eR8Hdoz5kJgdzdxoMPk+F0aVcjub 5tNR8WUCrl29ZOPK7D2EPDEDtLFxz31OILCZddcV8URCGBjuYRjtc7+g67ZFHGc0ua8M 9bsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745071005; x=1745675805; 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=aXLzgwUjjblsXqDwVt3NWjFIy+rshNgbw5xBdqozz6Y=; b=XLy4OA2GYU7t5lJmJ2pyBueMKIx5R5Pq7+qFelN4Lc3e7BSO2zlNzTdXKfXAtm2DqU eh67tV8wSyepRiNIlGZp31gLu4IRryfybyKocFa91urh5bxUZk97aTvaHAS0EzBNU0Hr KCdMUG/trRDO68XgpP+l0+WogI4dGlgJjkkDyDxzoZAeM+03lw+BZNUKtIC3ow9MEriK iyZ8zpmP7aCoMWPxECGmYsyiqlR5n0+IJECS4JU9Ij6UCI+zQAHsU9PE2eZZ0ClAl8eG YN5XPojzxhDnTuMFl2m2rflxqlWC7rhfy/QouDsHHBif6sYEo42OHA+eSAgeiFU6k9BD a38g== X-Forwarded-Encrypted: i=1; AJvYcCUR+smzRulaNWq71mhNkyIv/jev1Quyfs1H4PRFkBBIUdJBO3VX7t84Mas8mLhu0yF14F0U/hd0IE4=@vger.kernel.org, AJvYcCVOlajSL9Ni8r9d4rHsAEN0m0eXDEUs/euBZuI04KXctdYTgS/ZJ+6aiRsSMrnVMXDukqAIExNUl3GKhBzl@vger.kernel.org X-Gm-Message-State: AOJu0YyeH7lSw+AWOtv5SLK8ls7cjBQskTLfDH77434ljTTDNE7jcCXr UgUUeCzh55C8u7dkVzRFjx2hu24Ufd19SFAj2AiQw7Ijxrvx8i2R X-Gm-Gg: ASbGncsD+wXgMpWBNlCH6tmN1fV6YZRLauDWgV4hiZN13dkyaNQdw0Kjrov6swfDYDE 2xJGKSzbTX9Y67hpwLoB+U0IcgjiiAGz4VTQP9W6CNlOLQqjsKNhGfO34e3rNF2jEXjzQrYmxFe 6O34vXl0ZdACqzsjq72o83CLsYw4rDGnBhImrbLouR8adXo/GswveNDfrcwEow8fUinQ/XYXJ9s w08E/DSOCAd6lTWiXPNqS3AhQQe21elVU2TlaDD9of73PllVsUWgb0SabPCpQJAy880aMlAeE6q ghYVY3tirCJV5a7e85nIFq8+WGJ5yCdJsWM5uhqcC08uax/LAl4rwRI= X-Google-Smtp-Source: AGHT+IEY8DzCnNRzJzQfqd4P+slFQb/ni465buefMU1Eu3pZIczpyhT3BmlaRKBhgbKTouNSjsq4gg== X-Received: by 2002:a05:620a:4694:b0:7c5:4738:8a1b with SMTP id af79cd13be357-7c927fb19cemr812146285a.28.1745071005256; Sat, 19 Apr 2025 06:56:45 -0700 (PDT) Received: from theriatric.mshome.net ([73.123.232.110]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c925ac4749sm214350185a.59.2025.04.19.06.56.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Apr 2025 06:56:45 -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 5/5] staging: iio: adc: ad7816: Simplify channel validation using chip_info Date: Sat, 19 Apr 2025 09:56:38 -0400 Message-ID: <20250419135638.810070-6-gshahrouzi@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250419135638.810070-1-gshahrouzi@gmail.com> References: <20250419135638.810070-1-gshahrouzi@gmail.com> 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 | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7= 816.c index ab7520a8a3da9..7a59cfbcc6e33 100644 --- a/drivers/staging/iio/adc/ad7816.c +++ b/drivers/staging/iio/adc/ad7816.c @@ -204,17 +204,9 @@ static ssize_t ad7816_store_channel(struct device *dev, 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); - 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); + data, chip->chip_info->name); return -EINVAL; } =20 --=20 2.43.0