From nobody Wed Oct 8 10:56:56 2025 Received: from mail-oa1-f53.google.com (mail-oa1-f53.google.com [209.85.160.53]) (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 B7B9F1A257D for ; Sat, 28 Jun 2025 18:15:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751134525; cv=none; b=a0L0L19c5uwc7LkWQpDR0l+DTA/Ev0tR5m7HvOL3a3pppeImX/Eu92cCkSBaPv7mqmYwVHurC9iV7r0nKH7t7jcUG4/zgi7IiWrqrTnGMs+Ji1MFZcrJ0YjxxQ8tnxi+LNH/n42HidCoCFVjz7KJB9oMCdn+2rlmhovJEj5vNw8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751134525; c=relaxed/simple; bh=3zt8mg+aPAZlpd8w1QdUrw5xGVfDzOsGq/kAkTkdoOY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=OxZ/GsSU4d0osRwRc1HFgKTHsxJlVeibDioAS4f2YS71uIsHCdYyvnZs7EZ4j+u5NFs/F5rn9QeSysGIgG2vvBE7GnDV1AObkWBmTG3XHb0I6gCnFlvRbwwhRuTOAZ3Y4N5R4jen6ZEHnL6NqKlIgC32CvxYYwSMq8FdcI7mC6U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=IVYuAib/; arc=none smtp.client-ip=209.85.160.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="IVYuAib/" Received: by mail-oa1-f53.google.com with SMTP id 586e51a60fabf-2ea58f008e9so751461fac.0 for ; Sat, 28 Jun 2025 11:15:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1751134522; x=1751739322; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=4v6Cx2Kl49nGHZFG9V4yM6ZGEQFrnKHNkOfmL1J6bYY=; b=IVYuAib//IatBWbX0fkIKwSWnW0i1tTfw8TV31Lfo5gx8C0egUEGFsw3F6lFBUFbZ7 1ObvxtNbZF4hRt7QIUw19jDFwpXVlULkXiay3JAz3Bnz51fJxTj4hwe53TYwRwmx3hi/ QaHo7Xs5h8F+M0zRjU70BkdY2YySrvTTKcuAfKnt5HFmF3QVmVaDH+s4C1OsRql1m2Zf ++x8ld+8ZQ/Yuy1n4O3Dgewz7fvBkGm24Rh5iDIbBFPVQ7oEg2d6IEES07UYUAujQOuk o/uFyfExcLPpwMRkuU/EMx+L8VzuMSlDvtONg/AbztgVmjn/QEh3C5IpJ9ga+zDbHSw1 sl8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751134522; x=1751739322; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4v6Cx2Kl49nGHZFG9V4yM6ZGEQFrnKHNkOfmL1J6bYY=; b=NASJHAKluze0ySjnb9QjjIN/gfhW0Ol3O9Y9hAD8gPyc69ICq4714PKqY9C6qIrJ6E Za54Sr5HXAqcwlXMwLKj7tCG2vDiWjY/psYOkhL5N317C2HgoCydIxF8kU0tjckWRHdH hVsV3sbVXzFAIKg9QFNfFP7UL6E7GAOk+5l6HAgFveUp0oeOPpyxtPxJ/+xJRrKLZ3UP nqmcTvOHjgRheKaOqnfEbh3CbRzHcsP4lL51B8+M88LTP2Ds9i07qtc0g0IMe9qm8j1A NMYKAFSXu9HAmNRMlPPAuhmRL8MX+HEy5hEGN+fLuOAOKDyNpuLjojYG7C2cMRKo2CMZ y5cQ== X-Forwarded-Encrypted: i=1; AJvYcCWZJcmsO6986mi0AUFDkTq/R969MKV7TK06gmKlpjlWNYh98eYD6mffq7xhS/JWu9PWG163czRqvawcjd4=@vger.kernel.org X-Gm-Message-State: AOJu0YxSlboqFJo1eT8OVbl0RP/OvIN/xJ6c3Bw9sPo9J051XS+0P4RG uAch72w/V1JHHv6hrqGJeQN8nsapcLy+Yp8bOArqmX4OFBkhi/ONmtdFG83eSC0ISQNKlwSCh0i x/xuri4g= X-Gm-Gg: ASbGncsAAUFjSht/Pe87R5Sz9v2gunwjmO+nRBiD3Gjdc2pCT8pDtxJF0af04Ppp0g2 Ql8MWOiVTpbkXQgwk43hP8fR7mqfnafW6HKtIy6UYw7CNp/2LnvytMAJL3FFygbu8dBo2SuXcU6 lKhIbMLKmhBiCyW1+RBnFjWCsbDUOfMBs61EeZjE/QKbx32jXWo2W4wOMT1G7zL4CcarIS0L9vJ 5imHtHQY3G96INn7eNnvS35dWVfdUXGpTPBsEKczN6xBYKIyf8QK9hpI8wpeTU7zm0PbQ927IaX QS/ykR4BIjovwzU4vi/xsgOzFDXdQUvNvhqt7m8wi6NEb1zRNYFRa4JBbB9NnQmbFuMq X-Google-Smtp-Source: AGHT+IENC1KdkgQYgN9/eCaJhA2+gss4TeO/RTBnSgmy0/m5TEMULwDDw20Va7gGOlvJrKOfLAyXSQ== X-Received: by 2002:a05:6871:3806:b0:2d5:ba2d:80ed with SMTP id 586e51a60fabf-2efed68536bmr5092378fac.25.1751134521710; Sat, 28 Jun 2025 11:15:21 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:3092:a48c:b0c6:cbf4]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-2efd50b1a53sm1636356fac.31.2025.06.28.11.15.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Jun 2025 11:15:21 -0700 (PDT) From: David Lechner Date: Sat, 28 Jun 2025 13:15:10 -0500 Subject: [PATCH v2] iio: pressure: dlhl60d: drop use of chip info array 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: <20250628-iio-const-data-24-v2-1-1c90073d1323@baylibre.com> X-B4-Tracking: v=1; b=H4sIAC0xYGgC/32NQQ6CMBBFr0Jm7Rg6gFRX3sOwaMsgkyglLWkkh LtbOYDL95L//gaRg3CEW7FB4CRR/JSBTgW40UxPRukzA5XUlBfSKOLR+Sku2JvFINVYG8eajG7 t0EPezYEH+RzNR5d5lLj4sB4XSf3sv1pSqLBqKnttSaumqu/WrC+xgc/Ov6Hb9/0L8Sj4IbUAA AA= X-Change-ID: 20250628-iio-const-data-24-4ace82a87bfd To: Jonathan Cameron , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, David Lechner X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4406; i=dlechner@baylibre.com; h=from:subject:message-id; bh=3zt8mg+aPAZlpd8w1QdUrw5xGVfDzOsGq/kAkTkdoOY=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoYDExnXvBRerSor1UGBH82MTrZonp+SKHedS9D cBwsgkP2KaJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaGAxMQAKCRDCzCAB/wGP wOsMB/44VX/iH1HtT5Y4t1+Qyy/TIinxdiJJGT41AV1ADvv6USrSovlMuM6dakeWLpGAG8vDa5Z agX0G7SU8+jseuk67ZQXVxiSZtQyoOwEfcJKcO1/SEzzc+uQ9CwDpM/K4bMGI0tyGFNGMCDKejf 6TPahTRIFFrPyxGea+WtkhFrCcDVC0dQfOjb0gzCR481f5JOB1m+TDhYVXItlgohD5ETt35DLOf iKut9ZhbPZkHAKKjo/lklwlBLrOsJTHUUS3mooYuKbZpttpiy3eO5MmrwJmc5GZhaJyrvGR4yvU C8Xc/a9Fe+haVMM8Yqd3sRC57BGWfTYBbBOTJyYzbeEIoFbq X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Change the dlhl60d driver to use individual chip info structures instead of an array. This reduces the verbosity of the code. Also, the data is now const as it should have been in the first place. Signed-off-by: David Lechner --- Changes in v2: - Changed the patch to drop the chip info array. - Link to v1: https://lore.kernel.org/r/20250628-iio-const-data-24-v1-1-353= b97281534@baylibre.com --- drivers/iio/pressure/dlhl60d.c | 47 +++++++++++++++++++-------------------= ---- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/drivers/iio/pressure/dlhl60d.c b/drivers/iio/pressure/dlhl60d.c index 48afe5c94000b44eb324d7631f3c0db8e3d0079e..6a13cf2eaf50187d4cbd94cd93b= 1d14ad4de8b26 100644 --- a/drivers/iio/pressure/dlhl60d.c +++ b/drivers/iio/pressure/dlhl60d.c @@ -32,35 +32,31 @@ /* DLH timings */ #define DLH_SINGLE_DUT_MS 5 =20 -enum dhl_ids { - dlhl60d, - dlhl60g, -}; - struct dlh_info { + const char *name; /* chip name */ u8 osdig; /* digital offset factor */ unsigned int fss; /* full scale span (inch H2O) */ }; =20 struct dlh_state { struct i2c_client *client; - struct dlh_info info; + const struct dlh_info *info; bool use_interrupt; struct completion completion; u8 rx_buf[DLH_NUM_READ_BYTES]; }; =20 -static struct dlh_info dlh_info_tbl[] =3D { - [dlhl60d] =3D { - .osdig =3D 2, - .fss =3D 120, - }, - [dlhl60g] =3D { - .osdig =3D 10, - .fss =3D 60, - }, +static const struct dlh_info dlhl60d_info =3D { + .name =3D "dlhl60d", + .osdig =3D 2, + .fss =3D 120, }; =20 +static const struct dlh_info dlhl60g_info =3D { + .name =3D "dlhl60g", + .osdig =3D 10, + .fss =3D 60, +}; =20 static int dlh_cmd_start_single(struct dlh_state *st) { @@ -170,7 +166,7 @@ static int dlh_read_raw(struct iio_dev *indio_dev, case IIO_CHAN_INFO_SCALE: switch (channel->type) { case IIO_PRESSURE: - tmp =3D div_s64(125LL * st->info.fss * 24909 * 100, + tmp =3D div_s64(125LL * st->info->fss * 24909 * 100, 1 << DLH_NUM_PR_BITS); tmp =3D div_s64_rem(tmp, 1000000000LL, &rem); *value =3D tmp; @@ -188,8 +184,8 @@ static int dlh_read_raw(struct iio_dev *indio_dev, case IIO_CHAN_INFO_OFFSET: switch (channel->type) { case IIO_PRESSURE: - *value =3D -125 * st->info.fss * 24909; - *value2 =3D 100 * st->info.osdig * 100000; + *value =3D -125 * st->info->fss * 24909; + *value2 =3D 100 * st->info->osdig * 100000; return IIO_VAL_FRACTIONAL; =20 case IIO_TEMP: @@ -281,7 +277,6 @@ static irqreturn_t dlh_interrupt(int irq, void *private) =20 static int dlh_probe(struct i2c_client *client) { - const struct i2c_device_id *id =3D i2c_client_get_device_id(client); struct dlh_state *st; struct iio_dev *indio_dev; int ret; @@ -302,11 +297,11 @@ static int dlh_probe(struct i2c_client *client) i2c_set_clientdata(client, indio_dev); =20 st =3D iio_priv(indio_dev); - st->info =3D dlh_info_tbl[id->driver_data]; + st->info =3D i2c_get_match_data(client); st->client =3D client; st->use_interrupt =3D false; =20 - indio_dev->name =3D id->name; + indio_dev->name =3D st->info->name; indio_dev->info =3D &dlh_info; indio_dev->modes =3D INDIO_DIRECT_MODE; indio_dev->channels =3D dlh_channels; @@ -316,7 +311,7 @@ static int dlh_probe(struct i2c_client *client) ret =3D devm_request_threaded_irq(&client->dev, client->irq, dlh_interrupt, NULL, IRQF_TRIGGER_RISING | IRQF_ONESHOT, - id->name, indio_dev); + st->info->name, indio_dev); if (ret) { dev_err(&client->dev, "failed to allocate threaded irq"); return ret; @@ -341,15 +336,15 @@ static int dlh_probe(struct i2c_client *client) } =20 static const struct of_device_id dlh_of_match[] =3D { - { .compatible =3D "asc,dlhl60d" }, - { .compatible =3D "asc,dlhl60g" }, + { .compatible =3D "asc,dlhl60d", .data =3D &dlhl60d_info }, + { .compatible =3D "asc,dlhl60g", .data =3D &dlhl60g_info }, { } }; MODULE_DEVICE_TABLE(of, dlh_of_match); =20 static const struct i2c_device_id dlh_id[] =3D { - { "dlhl60d", dlhl60d }, - { "dlhl60g", dlhl60g }, + { "dlhl60d", (kernel_ulong_t)&dlhl60d_info }, + { "dlhl60g", (kernel_ulong_t)&dlhl60g_info }, { } }; MODULE_DEVICE_TABLE(i2c, dlh_id); --- base-commit: 14071b9cf2d751ff9bc8b5e43fa94fbf08aceea1 change-id: 20250628-iio-const-data-24-4ace82a87bfd Best regards, --=20 David Lechner