From nobody Thu Apr 2 15:39:00 2026 Received: from mail-dy1-f173.google.com (mail-dy1-f173.google.com [74.125.82.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 57BF9371878 for ; Fri, 6 Mar 2026 07:17:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772781467; cv=none; b=LZJbtmSn2zmsFLM1rR0zHEn51vwMsmgy2HQCBrHLDYpBE4vsZm+Ioq7yq9FDz+BE5mnpLyNzxkKriDu7HD7A9n+l+aIQG1lT+MCA0stH+CvujyLF+wUf5cxueTt36/1mYx/c3cNl2OCmm4RkhItEk9xpDPq+Eug0MqYLrpVOVfo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772781467; c=relaxed/simple; bh=UFx1zfBhIFtNwm637rBCqONNfHs5cD5op/U4yfb32pE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NipUijPRzMEXBv+toc/i/xGTWMG4nRO5cY/gkX8QJVLtC37FkXEvMLcGUvabySl87uzx6qSJbC3eLuAqxuNGJQtUfdwFdfa4VmSNu/zcphYCu0ptQt3Ma1G+8hUAsVTrzcbEAoQrlp5/NDSYeEhEsGtZuznK8Z7pZSAn6Y5JSiM= 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=dsGypjP3; arc=none smtp.client-ip=74.125.82.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="dsGypjP3" Received: by mail-dy1-f173.google.com with SMTP id 5a478bee46e88-2ba9c484e5eso8307055eec.1 for ; Thu, 05 Mar 2026 23:17:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772781465; x=1773386265; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=aqNJET3JHiOSv7w1wEksf8FrxnvvCl8V1ojVMOruH/g=; b=dsGypjP3QXKKklE0czRywrqCKrwnLvsTHXahA3rpb2RzerftnsTziSJzByZIRYYgMx kqO/Eq18NIZoMUvm8M/E3ZD3/tp81j/RJ6jx0+6lZDuKDWl0F1Kbx6t7BF9x7cG2mOy5 HuiRBwUknVC3T9oyVDPytUoi1Fhp92gllPXo3X0v9PCb5ivPzqWCaebYAL1NNRe158A/ 6v02HnmQDza2Y72Pl9OAtfII57vAv/cM9e4O6WLznwqsjS7eZs+5xCuK0adc2tVjliQw 5aMJHPUWAQ+3a4l5GDrOGnMBRPUwHTkLrGjBw+nweda7fHyZ5V9/K1pa8CCC4qSAkD1l 2VgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772781465; x=1773386265; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=aqNJET3JHiOSv7w1wEksf8FrxnvvCl8V1ojVMOruH/g=; b=fplO/TBAuG+NAyZHsgWiuP670kMiL3u2gfWQ5xB6vKLcGV+BcpTZvXYWIXVluLv8yr t1kGKTh9nc83DdRzKtU+ZUgEKatXhATLqAKbhqQhRGPr/3sTvVyt24SI3Gz4/NLAI53n rJp6bOijtdLxhssN6Yt0UOllsLpUEa1bLo/GHFgJmnAibWjswpbHsomRK1KyhqIp7fxY YfIrTrX4c36wu+TEc0Lz0tuu511Dnt1H0tZhgrHjZGoqgAjMRhdE7y0HoHFSijRuW4aV iZMt1gR0mFVcQ+UGU+fUIXFwSRW7e/VgeDk82sC5R3J0BvnzAhGm+mv94xpUEuQ4P4Y1 SjuQ== X-Forwarded-Encrypted: i=1; AJvYcCXCOhThMOShlVqqQQ3/aHdohI2h/WGL4C2a4q5mwT1N5UpkpeDKS4VeI7BNR9f92DJzN92RctVLddQu0YM=@vger.kernel.org X-Gm-Message-State: AOJu0YzKTj2+Fdeg+35yai353gDY1TfDvHZ3L6/zmjcm23a2McTr7qo3 7Dxn/dZFEa3WfWvKbB7yf2N01OC3ZMzN1KMDpFGUt0f5Jx0MNDvlfc48 X-Gm-Gg: ATEYQzyENnDU36p7cpmb2rH04LqtPdftlfcnQBS4vEch1TRJALUoZRJAaexx+CBdpSs XdcXet/cc7qT72QaL6v+CKB4R802DhLxECm5LWY0/gP1QvpUbEwQnNSTCXMgZLJmBlgkk2y/Qdu OaVZQXQ7AXeoVwXzvdr2wIq542vEJMLf9GtYODoAVDXwj0z+5T+ZynXLSRirpLShtuMwFMvYyRn op5Hr7n9JQCPmb0mrXP6FmKKuisg4qbIRaoKMt4VujiN8ufnfOSdSiSrksgTcgQfeznlKIMaVMn Ve7xNqEVtOMnRYUmGmtGjnplqPdJD1ELlSAM7wdlZUX6uIt1Ul1TGOvVC9Zr/Be3BAVHGKYucHM d1MSshvTdHDLXyPyJOZEOSh8gx69FE06q31YvDZrKRspvqf2Q96KP6ncrRZLpNwvFRVHQ3FbTG7 tVCeOs2jr+rB1+J1mqZMUKSS3nU8vfSbof5PgAqWWEZEV0WH/x X-Received: by 2002:a05:7300:fd18:b0:2bd:afdb:72d7 with SMTP id 5a478bee46e88-2be4dfd0250mr383385eec.3.1772781465467; Thu, 05 Mar 2026 23:17:45 -0800 (PST) Received: from [192.168.1.187] ([76.50.196.152]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2be4f96f25bsm545713eec.28.2026.03.05.23.17.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 23:17:44 -0800 (PST) From: Michael Harris Date: Thu, 05 Mar 2026 23:16:58 -0800 Subject: [PATCH v2 1/4] staging: iio: adt7316: refactor temperature calculation logic 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: <20260305-adt7316-correct-macros-v2-1-3702e3841c42@gmail.com> References: <20260305-adt7316-correct-macros-v2-0-3702e3841c42@gmail.com> In-Reply-To: <20260305-adt7316-correct-macros-v2-0-3702e3841c42@gmail.com> To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Greg Kroah-Hartman Cc: David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Michael Harris X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772781459; l=2203; i=michaelharriscode@gmail.com; s=20260130; h=from:subject:message-id; bh=UFx1zfBhIFtNwm637rBCqONNfHs5cD5op/U4yfb32pE=; b=/zE4P8C9urMQSsiLpDt9DJmmjAFyaqo+W+Vzn8yMfxHzEGmo85jyHsgb/4+BEnbXPF+tkIaTF VqPy87qIaUdANTJHhrVhhYyn6/kiO7WuhCTThSg5EWEt9cdTvCSoYhE X-Developer-Key: i=michaelharriscode@gmail.com; a=ed25519; pk=td/zQD3XANAhdG3Kf3mSetXiynk1Ql0eM4s0+eks5DU= Replace the manual sign manipulation with sign_extend32() and change the affected variable from u16 to s32 to properly handle negative values. Resolve a logic error where the sign bit was being checked at bit 10 instead of bit 9 for a 10-bit value. Convert the data variable to be in centidegrees celsius (0.25 C per bit) so we can use simple division and modulo for sysfs_emit() instead of the convoluted bit shifting and masking. Signed-off-by: Michael Harris --- drivers/staging/iio/addac/adt7316.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/adda= c/adt7316.c index 8a9a8262c2bec34f3c3e79d8174f492b9a23fb70..1412808c50c76a68b5771a25c46= dd3308c5cbcdb 100644 --- a/drivers/staging/iio/addac/adt7316.c +++ b/drivers/staging/iio/addac/adt7316.c @@ -155,9 +155,12 @@ * ADT7316 value masks */ #define ADT7316_VALUE_MASK 0xfff -#define ADT7316_T_VALUE_SIGN 0x400 #define ADT7316_T_VALUE_FLOAT_OFFSET 2 -#define ADT7316_T_VALUE_FLOAT_MASK 0x2 + +/* + * ADT7316 hardware constants + */ +#define ADT7316_TEMP_CENTIDEG_PER_BIT 25 =20 /* * Chip ID @@ -1090,9 +1093,8 @@ static IIO_DEVICE_ATTR(DAC_internal_Vref, 0644, static ssize_t adt7316_show_ad(struct adt7316_chip_info *chip, int channel, char *buf) { - u16 data; + s32 data; u8 msb, lsb; - char sign =3D ' '; int ret; =20 if ((chip->config2 & ADT7316_AD_SINGLE_CH_MODE) && @@ -1151,15 +1153,13 @@ static ssize_t adt7316_show_ad(struct adt7316_chip_= info *chip, break; } =20 - if (data & ADT7316_T_VALUE_SIGN) { - /* convert supplement to positive value */ - data =3D (ADT7316_T_VALUE_SIGN << 1) - data; - sign =3D '-'; - } + data =3D sign_extend32(data, 9); + data *=3D ADT7316_TEMP_CENTIDEG_PER_BIT; =20 - return sysfs_emit(buf, "%c%d.%.2d\n", sign, - (data >> ADT7316_T_VALUE_FLOAT_OFFSET), - (data & ADT7316_T_VALUE_FLOAT_MASK) * 25); + return sysfs_emit(buf, "%s%d.%02u\n", + (data < 0 ? "-" : ""), + abs(data / 100), + abs(data % 100)); } =20 static ssize_t adt7316_show_VDD(struct device *dev, --=20 2.53.0 From nobody Thu Apr 2 15:39:00 2026 Received: from mail-dy1-f179.google.com (mail-dy1-f179.google.com [74.125.82.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 1AB2A37419E for ; Fri, 6 Mar 2026 07:17:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772781469; cv=none; b=Zvltuh7mm5pUdJ/Q/E2MKSBVpfR+c5aIjBZqh2yFiCU2Fgq5j5VEHAsfbr+rTWqgDChCQPecS0YbMWkVKw4wjvzaQ6dyq31ZxSYzs4dANvD0r3NmrDDT0p33eFEMl9INRTilLapwkHY+QYMaO3JFWi/Qs3M3u3RVbWrL2iDADq0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772781469; c=relaxed/simple; bh=oeQmZIlz2JJz59gBI5BPetmmm+BU84jH/mvfVStshOg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Nc7alTHzgAs5RXl6wpENk33rsmm5FvBSnHFt57JQjoEvJgsefosbKktZ+xJ/rO4OnufLWKKULE3A7fyUOo1QGZmOASHfNgpssw5RhSotHh81DjbaPVomFTiDbDULdvS5CrzQFrwadtn3Gks+IfFoKm+Niioxt10lYPGN1YGfEqQ= 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=OwlPhxRa; arc=none smtp.client-ip=74.125.82.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="OwlPhxRa" Received: by mail-dy1-f179.google.com with SMTP id 5a478bee46e88-2bdfc4b191fso4642803eec.1 for ; Thu, 05 Mar 2026 23:17:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772781467; x=1773386267; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=05RQko9c+bX0Bo97buy99JJ6b/j1nxAiAkWb4nM2qMM=; b=OwlPhxRauwNMKq2mANiK8CEu4ocOym0LdpiWuAFMQkfX6PtYi8AfJhBk7eAAS+Ah64 /TktnOECkdHZrB0oNndhGpW5whMdmHQl+lua9OehK9O8YxLzWCo4KrtLkKSYEVVkhyqD izyYG99ct1L9VlvMeN6UJ5W7WgFA2VIMhXllpGInFz4lDoDvS9jX0puynBi/pxbaYQYj wVVmQ41pPlDjD778DHF2o2Aqm4YoiBTOK58k1JVG0Xb0wd0I9U0+uqjJGNTJA9lgY3R5 N5y8cfsaimXplKxXN9917y2c7cF9kYscAZmsH98weZEfyYd4HxK1T1PlgDQz5JFA9whw of3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772781467; x=1773386267; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=05RQko9c+bX0Bo97buy99JJ6b/j1nxAiAkWb4nM2qMM=; b=kxPRVA8/qMEHJr1SEDSQFW7HGuaOUhb5LDNY2ztFh8eb7HZFL9yY9dvm9/FZYf411p l6MV6xZMN2zyPu5wfX8WBnAXBJo2ej4EdjFh9pdqvWPxuz2ivHkuU/FUhs9lt2nvAwGQ hoJvAYV208oO6sWfMblMZfaobt9YHJVNGDR6amQggfIl0FF+//++z0v9qCiJHj08sPpM 7Ej0KHixiO7besh/rmvsVKwjSmzQvCnDo0F1dwbXtNWo/J5xApmnTBMfx7yuB67r4fYX 75Lqspsop1MNc4XJgg2Ogv8AF7+ift4EgT8L/fz0RWyFy79jnBy4wocMjB9rGTgLmY+v izsw== X-Forwarded-Encrypted: i=1; AJvYcCWm0YyuToeTCu8oxOWIpVEUlpM3aH2jHAiudhR8TuXLDeyAnilmoYi56SxuMGic2oIcagBAa6ROgiQC9Dk=@vger.kernel.org X-Gm-Message-State: AOJu0YwzTHj911xsxQDgUgsPM1s5Yiep6XynuplC8CIlYZ9agfjuBNsP osth/OeCgFRbre3SfJMVJcLQhUPxK5XYDy3gkz38Noo2hwpLJe8YJZM/ X-Gm-Gg: ATEYQzxy90uhYRaDa3e/eVIrsI7EFA4+IzVnhqpoHqBOFk4PRNBfJCPmq/LMLOfEmWq x1P1ib4g3188hlnuUPqh0B5TQ03c0JvIaUSOUCP/p/s+kIDZmajdB1X+FwjHh+xFuHHZmW1fGrr BRlffstT/joVyw9H/smtw0qWESENOjWIYF/T0KvbQgVsFyPck7p63p4x+rmwXJz2zfLaaJt2TQQ Bq2YHXsYmhmlT6Qz37YNkBmLVOar3XvT1TF3cQdnfMNhkOr73KJjplOBkrWR8BL9ZHu87PtiS2y 7ag7zIXh+GzLy4uoHaukxqLUc4sdO0vanvwr86jxP0vlZPmjA0aObII8ZQ0gpAK/Mfs0suDhKIE Ntq3aKWpw73JOuVMP1ExirjRzolBPlm6POv2HYo4q5obXFOFNH78X0QhDwFODDV7+kFdho6OPHw /n5z65IsOJelBVnGFHOGYyTB5Rp83KerEEx7WtPCNSURS8QdS0 X-Received: by 2002:a05:7300:d70c:b0:2be:171c:5034 with SMTP id 5a478bee46e88-2be4de8dfe3mr416221eec.3.1772781467139; Thu, 05 Mar 2026 23:17:47 -0800 (PST) Received: from [192.168.1.187] ([76.50.196.152]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2be4f96f25bsm545713eec.28.2026.03.05.23.17.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 23:17:46 -0800 (PST) From: Michael Harris Date: Thu, 05 Mar 2026 23:16:59 -0800 Subject: [PATCH v2 2/4] staging: iio: adt7316: remove shift/offset macros 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: <20260305-adt7316-correct-macros-v2-2-3702e3841c42@gmail.com> References: <20260305-adt7316-correct-macros-v2-0-3702e3841c42@gmail.com> In-Reply-To: <20260305-adt7316-correct-macros-v2-0-3702e3841c42@gmail.com> To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Greg Kroah-Hartman Cc: David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Michael Harris X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772781459; l=6748; i=michaelharriscode@gmail.com; s=20260130; h=from:subject:message-id; bh=oeQmZIlz2JJz59gBI5BPetmmm+BU84jH/mvfVStshOg=; b=Ev++nxoH1vfEiiEqCE4gFGEJhwvyysEaC6C/O/fX0YszI4ksJfMyuysgemfLswxqioxHzuv8F EbZzrLwOkzXDbkxRQcnW0NYPomM64yCd6SyFug4hezKck92zaTJrK28 X-Developer-Key: i=michaelharriscode@gmail.com; a=ed25519; pk=td/zQD3XANAhdG3Kf3mSetXiynk1Ql0eM4s0+eks5DU= Remove shift/offset macros and instead use the corresponding mask with FIELD_GET(), FIELD_PREP(), or FIELD_FIT(). In cases where an appropriate mask didn't exist, it was created. One of the shift/offset macros was used for a convoluted dynamic bitfield extraction. In its place, a helper function, adt7316_extract_ad_lsb(), was created so the shift/offset could be removed. Signed-off-by: Michael Harris --- drivers/staging/iio/addac/adt7316.c | 59 ++++++++++++++++++++++-----------= ---- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/adda= c/adt7316.c index 1412808c50c76a68b5771a25c46dd3308c5cbcdb..b8b66f4dd14bb59c3d29fdd569d= 84f0dd786db9e 100644 --- a/drivers/staging/iio/addac/adt7316.c +++ b/drivers/staging/iio/addac/adt7316.c @@ -17,6 +17,7 @@ #include #include #include +#include =20 #include #include @@ -31,10 +32,11 @@ #define ADT7316_LSB_IN_TEMP_VDD 0x3 #define ADT7316_LSB_IN_TEMP_MASK 0x3 #define ADT7316_LSB_VDD_MASK 0xC -#define ADT7316_LSB_VDD_OFFSET 2 #define ADT7316_LSB_EX_TEMP_AIN 0x4 -#define ADT7316_LSB_EX_TEMP_MASK 0x3 -#define ADT7516_LSB_AIN_SHIFT 2 +#define ADT7316_LSB_EX_TEMP_AIN1_MASK GENMASK_U32(1, 0) +#define ADT7516_LSB_AIN2_MASK GENMASK_U32(3, 2) +#define ADT7516_LSB_AIN3_MASK GENMASK_U32(5, 4) +#define ADT7516_LSB_AIN4_MASK GENMASK_U32(7, 6) #define ADT7316_AD_MSB_DATA_BASE 0x6 #define ADT7316_AD_MSB_DATA_REGS 3 #define ADT7516_AD_MSB_DATA_REGS 6 @@ -46,8 +48,8 @@ #define ADT7516_MSB_AIN3 0xA #define ADT7516_MSB_AIN4 0xB #define ADT7316_DA_DATA_BASE 0x10 -#define ADT7316_DA_10_BIT_LSB_SHIFT 6 -#define ADT7316_DA_12_BIT_LSB_SHIFT 4 +#define ADT7316_DA_10_BIT_LSB_MASK GENMASK_U32(7, 6) +#define ADT7316_DA_12_BIT_LSB_MASK GENMASK_U32(7, 4) #define ADT7316_DA_MSB_DATA_REGS 4 #define ADT7316_LSB_DAC_A 0x10 #define ADT7316_MSB_DAC_A 0x11 @@ -128,7 +130,6 @@ */ #define ADT7316_DA_2VREF_CH_MASK 0xF #define ADT7316_DA_EN_MODE_MASK 0x30 -#define ADT7316_DA_EN_MODE_SHIFT 4 #define ADT7316_DA_EN_MODE_SINGLE 0x00 #define ADT7316_DA_EN_MODE_AB_CD 0x10 #define ADT7316_DA_EN_MODE_ABCD 0x20 @@ -143,7 +144,6 @@ #define ADT7316_DAC_IN_VREF 0x10 #define ADT7516_DAC_AB_IN_VREF 0x10 #define ADT7516_DAC_CD_IN_VREF 0x20 -#define ADT7516_DAC_IN_VREF_OFFSET 4 #define ADT7516_DAC_IN_VREF_MASK 0x30 =20 /* @@ -155,7 +155,7 @@ * ADT7316 value masks */ #define ADT7316_VALUE_MASK 0xfff -#define ADT7316_T_VALUE_FLOAT_OFFSET 2 +#define ADT7316_AD_MSB_MASK GENMASK_U32(9, 2) =20 /* * ADT7316 hardware constants @@ -873,11 +873,11 @@ static ssize_t adt7316_store_DAC_update_mode(struct d= evice *dev, return -EPERM; =20 ret =3D kstrtou8(buf, 10, &data); - if (ret || data > (ADT7316_DA_EN_MODE_MASK >> ADT7316_DA_EN_MODE_SHIFT)) + if (ret || !FIELD_FIT(ADT7316_DA_EN_MODE_MASK, data)) return -EINVAL; =20 dac_config =3D chip->dac_config & (~ADT7316_DA_EN_MODE_MASK); - dac_config |=3D data << ADT7316_DA_EN_MODE_SHIFT; + dac_config |=3D FIELD_PREP(ADT7316_DA_EN_MODE_MASK, data); =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config); if (ret) @@ -1038,8 +1038,7 @@ static ssize_t adt7316_show_DAC_internal_Vref(struct = device *dev, =20 if ((chip->id & ID_FAMILY_MASK) =3D=3D ID_ADT75XX) return sysfs_emit(buf, "0x%x\n", - (chip->ldac_config & ADT7516_DAC_IN_VREF_MASK) >> - ADT7516_DAC_IN_VREF_OFFSET); + FIELD_GET(ADT7516_DAC_IN_VREF_MASK, chip->ldac_config)); return sysfs_emit(buf, "%d\n", !!(chip->ldac_config & ADT7316_DAC_IN_VREF)); } @@ -1090,6 +1089,22 @@ static IIO_DEVICE_ATTR(DAC_internal_Vref, 0644, adt7316_store_DAC_internal_Vref, 0); =20 +static u8 adt7316_extract_ad_lsb(u8 lsb, int channel) +{ + switch (channel) { + case ADT7316_AD_SINGLE_CH_EX: + return FIELD_GET(ADT7316_LSB_EX_TEMP_AIN1_MASK, lsb); + case ADT7516_AD_SINGLE_CH_AIN2: + return FIELD_GET(ADT7516_LSB_AIN2_MASK, lsb); + case ADT7516_AD_SINGLE_CH_AIN3: + return FIELD_GET(ADT7516_LSB_AIN3_MASK, lsb); + case ADT7516_AD_SINGLE_CH_AIN4: + return FIELD_GET(ADT7516_LSB_AIN4_MASK, lsb); + default: + return 0; + } +} + static ssize_t adt7316_show_ad(struct adt7316_chip_info *chip, int channel, char *buf) { @@ -1113,7 +1128,7 @@ static ssize_t adt7316_show_ad(struct adt7316_chip_in= fo *chip, if (ret) return -EIO; =20 - data =3D msb << ADT7316_T_VALUE_FLOAT_OFFSET; + data =3D FIELD_PREP(ADT7316_AD_MSB_MASK, msb); data |=3D lsb & ADT7316_LSB_IN_TEMP_MASK; break; case ADT7316_AD_SINGLE_CH_VDD: @@ -1128,8 +1143,8 @@ static ssize_t adt7316_show_ad(struct adt7316_chip_in= fo *chip, if (ret) return -EIO; =20 - data =3D msb << ADT7316_T_VALUE_FLOAT_OFFSET; - data |=3D (lsb & ADT7316_LSB_VDD_MASK) >> ADT7316_LSB_VDD_OFFSET; + data =3D FIELD_PREP(ADT7316_AD_MSB_MASK, msb); + data |=3D FIELD_GET(ADT7316_LSB_VDD_MASK, lsb); return sysfs_emit(buf, "%d\n", data); default: /* ex_temp and ain */ ret =3D chip->bus.read(chip->bus.client, @@ -1142,10 +1157,8 @@ static ssize_t adt7316_show_ad(struct adt7316_chip_i= nfo *chip, if (ret) return -EIO; =20 - data =3D msb << ADT7316_T_VALUE_FLOAT_OFFSET; - data |=3D lsb & (ADT7316_LSB_EX_TEMP_MASK << - (ADT7516_LSB_AIN_SHIFT * (channel - - (ADT7316_MSB_EX_TEMP - ADT7316_AD_MSB_DATA_BASE)))); + data =3D FIELD_PREP(ADT7316_AD_MSB_MASK, msb); + data |=3D adt7316_extract_ad_lsb(lsb, channel); =20 if ((chip->id & ID_FAMILY_MASK) =3D=3D ID_ADT75XX) return sysfs_emit(buf, "%d\n", data); @@ -1410,9 +1423,9 @@ static ssize_t adt7316_show_DAC(struct adt7316_chip_i= nfo *chip, return -EIO; =20 if (chip->dac_bits =3D=3D 12) - data =3D lsb >> ADT7316_DA_12_BIT_LSB_SHIFT; + data =3D FIELD_GET(ADT7316_DA_12_BIT_LSB_MASK, lsb); else if (chip->dac_bits =3D=3D 10) - data =3D lsb >> ADT7316_DA_10_BIT_LSB_SHIFT; + data =3D FIELD_GET(ADT7316_DA_10_BIT_LSB_MASK, lsb); data |=3D msb << offset; =20 return sysfs_emit(buf, "%d\n", data); @@ -1441,9 +1454,9 @@ static ssize_t adt7316_store_DAC(struct adt7316_chip_= info *chip, if (chip->dac_bits > 8) { lsb =3D data & ((1 << offset) - 1); if (chip->dac_bits =3D=3D 12) - lsb_reg =3D lsb << ADT7316_DA_12_BIT_LSB_SHIFT; + lsb_reg =3D FIELD_PREP(ADT7316_DA_12_BIT_LSB_MASK, lsb); else - lsb_reg =3D lsb << ADT7316_DA_10_BIT_LSB_SHIFT; + lsb_reg =3D FIELD_PREP(ADT7316_DA_10_BIT_LSB_MASK, lsb); ret =3D chip->bus.write(chip->bus.client, ADT7316_DA_DATA_BASE + channel * 2, lsb_reg); if (ret) --=20 2.53.0 From nobody Thu Apr 2 15:39:00 2026 Received: from mail-dy1-f174.google.com (mail-dy1-f174.google.com [74.125.82.174]) (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 B2A54375F9A for ; Fri, 6 Mar 2026 07:17:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772781471; cv=none; b=nMsOIvgnyBwPIeTe7na9OT8jX3VhpNmJm3FdPy74tEwyNl0YiY7pQuFrwKuZy3F+Hv/uDB7lTYeAijW1tEssqbICg7lq0fhn3YkDJio24fKt6pihWS06+Q6cjiamt8y0wUjQ+eXWLM3u0i5uHfh2t8NXLpbw0Txb7rGRRUof8Eg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772781471; c=relaxed/simple; bh=FnnVUipcnXp2uwXZ+svU7qIgeUZRJVxaE3eFoy49gvk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fX2UIpF2km1AwyD33KJ7KCiWoAbDMdfRUJng2lgyHm7T8G2+Yv8APum00G/P6kCex9Rs7TS0rsl7GO02rzvPw/QmK5bI3uM/QtSQxiqF/KpfJWRueYQJusXzuEQTzPNKCnjQr70IYmJ0khed775J0GZzayP7OwhkXi7/6r/WIGo= 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=IS2j+4su; arc=none smtp.client-ip=74.125.82.174 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="IS2j+4su" Received: by mail-dy1-f174.google.com with SMTP id 5a478bee46e88-2be1c918173so8069823eec.1 for ; Thu, 05 Mar 2026 23:17:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772781469; x=1773386269; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=/ZgrgHECWYzN34F/29U4qOQ3ECWsuSmnQ/TM4j8ot7k=; b=IS2j+4suZ+lJSfCwmA0Pxk31ltBBL/S7GHgLt+hlY6ubw8weo8rrQJv6NXE/yWD1tI dAa5LZGtjoynF7G7rUkiGDNe2IiDDuM08FRDMG1U/dCWQzaVmhKJVo8wooNBQ2TMHkzP bRkGfE4OlMf9Jy5A19ea+erXc5rJMEM0AZAYE0HlesQtcHriAimmdWfltJhdPPXvDWig qnuP7DLyyOP6T9qfGDzRFcVxS8V/mQeUhxgEz9tc2krvBlg2fDJeOr1YB+rRjso+XOds MiD+BwqVQTdU+1jqLHgiODCHBG6hLbVAtdcaXBH1j0rQsrFPem3ZDvcvY0Qx+/fUS5iD nY/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772781469; x=1773386269; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=/ZgrgHECWYzN34F/29U4qOQ3ECWsuSmnQ/TM4j8ot7k=; b=tlsd/xuvlp3Ix6UpslvHa4kuOdXHy1XwCh+6XpT/04XurlVD9fZgyjL26bSgjpCv2E cm+1TRuIAQOopMuIN7pC67hs0PVuIGK3w6GViZ0sZrxkzDRySFw3CHn0wxFIPjL023dt DcU0YZylgP0NXGipV9dFWPusJOWmQ2lEfk96k2yl4deEuPhlSeZtPXxA1R00I9wZ5rC3 cCSPuHJuGUXvwKZSCa3CaPNj3JXnikpZXZ9jrUlo5CzY33wPgYczxO6CxDkKMEs6+gGo d3815ITU1MxTE4aVtBfNzo9HwXvOtDhnxRx1D1YwUBa8IBp+CGuCrJ3BtvA0VGq/BbAN SIfQ== X-Forwarded-Encrypted: i=1; AJvYcCXbsKN7/VLqvWwpuxOqyOiz7AQNGKL5h8nA6BhkqfvkH7ENGMll17DRrmDYgPkGI38KU2ubkV/Zbn4MWhs=@vger.kernel.org X-Gm-Message-State: AOJu0YyD5mzzUyg3nJ5xoEn5g+L4gaamG7m+OknYxRJelUcx5zwcK9Cn 46Uz5F5xRrxFUCjSjLFqs3vdWHjYUkvkYUbI2XFP0cuKEDzQb/r2d3yu X-Gm-Gg: ATEYQzzwQWbXixzwrB7dFACbAOCVLD7RGcn6ZLYXQsGmPQChtF2/z3czodu6hYZIivD xr9smVsQfjH412gS4NXMobYjZfrwlaRq/E5N0ph8El/MsvKVytTZ6EC59Z6TpmZkNjmnDJuIyDI kq/H1a/1S3sZNGkCSJiGcK34cUMwuw2nGOqUex3fw/E+6OvoAgvrKNnsXewBExxFZwlWhryZzrA eSggyuQi6kKEom/S53IyFKk8KC2APXtHbvTe3hfQtK03M2rZDubYma9H3DrIJcp8ynDMM7AKxtt ZczlurErG2ojIOKpoP1hBXkgI/NbUcCllk/1GgDls4/FLKseqCJ7mX2FAeMatSka7B9GclOoRfI Onby0PBy9isb6Tsam5WrUq221VU43azVoxmybDjpaJ+qVbWzTXLXYjHC9/WW0fUCb71x9iNgC4l LxzGY36F0CMF4i0mNEImjWV9BxzyGttbJbsSXO+A== X-Received: by 2002:a05:7301:1f12:b0:2b7:f809:9c3f with SMTP id 5a478bee46e88-2be4e03d117mr546570eec.24.1772781468675; Thu, 05 Mar 2026 23:17:48 -0800 (PST) Received: from [192.168.1.187] ([76.50.196.152]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2be4f96f25bsm545713eec.28.2026.03.05.23.17.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 23:17:48 -0800 (PST) From: Michael Harris Date: Thu, 05 Mar 2026 23:17:00 -0800 Subject: [PATCH v2 3/4] staging: iio: adt7316: add config names to registers and reorder 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: <20260305-adt7316-correct-macros-v2-3-3702e3841c42@gmail.com> References: <20260305-adt7316-correct-macros-v2-0-3702e3841c42@gmail.com> In-Reply-To: <20260305-adt7316-correct-macros-v2-0-3702e3841c42@gmail.com> To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Greg Kroah-Hartman Cc: David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Michael Harris X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772781459; l=30783; i=michaelharriscode@gmail.com; s=20260130; h=from:subject:message-id; bh=FnnVUipcnXp2uwXZ+svU7qIgeUZRJVxaE3eFoy49gvk=; b=2kNg/qcuMdazf5pZYi+fpH4hNsPd5QizJoqKWEecoTJD2hHF/i9Ctby5DqmmZnMC8s+kUnMEr UqpJQjgtURoALK5Jb73QZF3yfi7HUoslVqEFCvA7DXHUdHNrIFnPMQL X-Developer-Key: i=michaelharriscode@gmail.com; a=ed25519; pk=td/zQD3XANAhdG3Kf3mSetXiynk1Ql0eM4s0+eks5DU= Add config names to macros to make it more clear which register they're affecting. Also renamed ADT7316_EN to further clarify what it's enabling. Some macros were reordered, so that mask values were below the actual mask. Signed-off-by: Michael Harris --- drivers/staging/iio/addac/adt7316.c | 299 +++++++++++++++++++-------------= ---- 1 file changed, 154 insertions(+), 145 deletions(-) diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/adda= c/adt7316.c index b8b66f4dd14bb59c3d29fdd569d84f0dd786db9e..ea7d97bb0f378f3a3ce1225d8d1= 3af2c5955ca56 100644 --- a/drivers/staging/iio/addac/adt7316.c +++ b/drivers/staging/iio/addac/adt7316.c @@ -90,61 +90,61 @@ /* * ADT7316 config1 */ -#define ADT7316_EN 0x1 -#define ADT7516_SEL_EX_TEMP 0x4 -#define ADT7516_SEL_AIN1_2_EX_TEMP_MASK 0x6 -#define ADT7516_SEL_AIN3 0x8 -#define ADT7316_INT_EN 0x20 -#define ADT7316_INT_POLARITY 0x40 -#define ADT7316_PD 0x80 +#define ADT7316_CONFIG1_MONITOR_EN 0x1 +#define ADT7516_CONFIG1_SEL_AIN1_2_EX_TEMP_MASK 0x6 +#define ADT7516_CONFIG1_SEL_EX_TEMP 0x4 +#define ADT7516_CONFIG1_SEL_AIN3 0x8 +#define ADT7316_CONFIG1_INT_EN 0x20 +#define ADT7316_CONFIG1_INT_POLARITY 0x40 +#define ADT7316_CONFIG1_PD 0x80 =20 /* * ADT7316 config2 */ -#define ADT7316_AD_SINGLE_CH_MASK 0x3 -#define ADT7516_AD_SINGLE_CH_MASK 0x7 -#define ADT7316_AD_SINGLE_CH_VDD 0 -#define ADT7316_AD_SINGLE_CH_IN 1 -#define ADT7316_AD_SINGLE_CH_EX 2 -#define ADT7516_AD_SINGLE_CH_AIN1 2 -#define ADT7516_AD_SINGLE_CH_AIN2 3 -#define ADT7516_AD_SINGLE_CH_AIN3 4 -#define ADT7516_AD_SINGLE_CH_AIN4 5 -#define ADT7316_AD_SINGLE_CH_MODE 0x10 -#define ADT7316_DISABLE_AVERAGING 0x20 -#define ADT7316_EN_SMBUS_TIMEOUT 0x40 -#define ADT7316_RESET 0x80 +#define ADT7316_CONFIG2_AD_SINGLE_CH_MASK 0x3 +#define ADT7516_CONFIG2_AD_SINGLE_CH_MASK 0x7 +#define ADT7316_CONFIG2_AD_SINGLE_CH_VDD 0 +#define ADT7316_CONFIG2_AD_SINGLE_CH_IN 1 +#define ADT7316_CONFIG2_AD_SINGLE_CH_EX 2 +#define ADT7516_CONFIG2_AD_SINGLE_CH_AIN1 2 +#define ADT7516_CONFIG2_AD_SINGLE_CH_AIN2 3 +#define ADT7516_CONFIG2_AD_SINGLE_CH_AIN3 4 +#define ADT7516_CONFIG2_AD_SINGLE_CH_AIN4 5 +#define ADT7316_CONFIG2_AD_SINGLE_CH_MODE 0x10 +#define ADT7316_CONFIG2_DISABLE_AVERAGING 0x20 +#define ADT7316_CONFIG2_EN_SMBUS_TIMEOUT 0x40 +#define ADT7316_CONFIG2_RESET 0x80 =20 /* * ADT7316 config3 */ -#define ADT7316_ADCLK_22_5 0x1 -#define ADT7316_DA_HIGH_RESOLUTION 0x2 -#define ADT7316_DA_EN_VIA_DAC_LDAC 0x8 -#define ADT7516_AIN_IN_VREF 0x10 -#define ADT7316_EN_IN_TEMP_PROP_DACA 0x20 -#define ADT7316_EN_EX_TEMP_PROP_DACB 0x40 +#define ADT7316_CONFIG3_ADCLK_22_5 0x1 +#define ADT7316_CONFIG3_DA_HIGH_RESOLUTION 0x2 +#define ADT7316_CONFIG3_DA_EN_VIA_DAC_LDAC 0x8 +#define ADT7516_CONFIG3_AIN_IN_VREF 0x10 +#define ADT7316_CONFIG3_EN_IN_TEMP_PROP_DACA 0x20 +#define ADT7316_CONFIG3_EN_EX_TEMP_PROP_DACB 0x40 =20 /* * ADT7316 DAC config */ -#define ADT7316_DA_2VREF_CH_MASK 0xF -#define ADT7316_DA_EN_MODE_MASK 0x30 -#define ADT7316_DA_EN_MODE_SINGLE 0x00 -#define ADT7316_DA_EN_MODE_AB_CD 0x10 -#define ADT7316_DA_EN_MODE_ABCD 0x20 -#define ADT7316_DA_EN_MODE_LDAC 0x30 -#define ADT7316_VREF_BYPASS_DAC_AB 0x40 -#define ADT7316_VREF_BYPASS_DAC_CD 0x80 +#define ADT7316_DAC_CONFIG_2VREF_CH_MASK 0xF +#define ADT7316_DAC_CONFIG_EN_MODE_MASK 0x30 +#define ADT7316_DAC_CONFIG_EN_MODE_SINGLE 0x00 +#define ADT7316_DAC_CONFIG_EN_MODE_AB_CD 0x10 +#define ADT7316_DAC_CONFIG_EN_MODE_ABCD 0x20 +#define ADT7316_DAC_CONFIG_EN_MODE_LDAC 0x30 +#define ADT7316_DAC_CONFIG_VREF_BYPASS_AB 0x40 +#define ADT7316_DAC_CONFIG_VREF_BYPASS_CD 0x80 =20 /* * ADT7316 LDAC config */ -#define ADT7316_LDAC_EN_DA_MASK 0xF -#define ADT7316_DAC_IN_VREF 0x10 -#define ADT7516_DAC_AB_IN_VREF 0x10 -#define ADT7516_DAC_CD_IN_VREF 0x20 -#define ADT7516_DAC_IN_VREF_MASK 0x30 +#define ADT7316_LDAC_CONFIG_EN_DA_MASK 0xF +#define ADT7316_LDAC_CONFIG_DAC_IN_VREF 0x10 +#define ADT7516_LDAC_CONFIG_DAC_AB_IN_VREF 0x10 +#define ADT7516_LDAC_CONFIG_DAC_CD_IN_VREF 0x20 +#define ADT7516_LDAC_CONFIG_DAC_IN_VREF_MASK 0x30 =20 /* * ADT7316 INT_MASK2 @@ -219,7 +219,8 @@ static ssize_t adt7316_show_enabled(struct device *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - return sysfs_emit(buf, "%d\n", !!(chip->config1 & ADT7316_EN)); + return sysfs_emit(buf, "%d\n", + !!(chip->config1 & ADT7316_CONFIG1_MONITOR_EN)); } =20 static ssize_t _adt7316_store_enabled(struct adt7316_chip_info *chip, @@ -229,9 +230,9 @@ static ssize_t _adt7316_store_enabled(struct adt7316_ch= ip_info *chip, int ret; =20 if (enable) - config1 =3D chip->config1 | ADT7316_EN; + config1 =3D chip->config1 | ADT7316_CONFIG1_MONITOR_EN; else - config1 =3D chip->config1 & ~ADT7316_EN; + config1 =3D chip->config1 & ~ADT7316_CONFIG1_MONITOR_EN; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1); if (ret) @@ -277,7 +278,8 @@ static ssize_t adt7316_show_select_ex_temp(struct devic= e *dev, if ((chip->id & ID_FAMILY_MASK) !=3D ID_ADT75XX) return -EPERM; =20 - return sysfs_emit(buf, "%d\n", !!(chip->config1 & ADT7516_SEL_EX_TEMP)); + return sysfs_emit(buf, "%d\n", + !!(chip->config1 & ADT7516_CONFIG1_SEL_EX_TEMP)); } =20 static ssize_t adt7316_store_select_ex_temp(struct device *dev, @@ -293,9 +295,9 @@ static ssize_t adt7316_store_select_ex_temp(struct devi= ce *dev, if ((chip->id & ID_FAMILY_MASK) !=3D ID_ADT75XX) return -EPERM; =20 - config1 =3D chip->config1 & (~ADT7516_SEL_EX_TEMP); + config1 =3D chip->config1 & (~ADT7516_CONFIG1_SEL_EX_TEMP); if (buf[0] =3D=3D '1') - config1 |=3D ADT7516_SEL_EX_TEMP; + config1 |=3D ADT7516_CONFIG1_SEL_EX_TEMP; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1); if (ret) @@ -318,7 +320,7 @@ static ssize_t adt7316_show_mode(struct device *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - if (chip->config2 & ADT7316_AD_SINGLE_CH_MODE) + if (chip->config2 & ADT7316_CONFIG2_AD_SINGLE_CH_MODE) return sysfs_emit(buf, "single_channel\n"); =20 return sysfs_emit(buf, "round_robin\n"); @@ -334,9 +336,9 @@ static ssize_t adt7316_store_mode(struct device *dev, u8 config2; int ret; =20 - config2 =3D chip->config2 & (~ADT7316_AD_SINGLE_CH_MODE); + config2 =3D chip->config2 & (~ADT7316_CONFIG2_AD_SINGLE_CH_MODE); if (!memcmp(buf, "single_channel", 14)) - config2 |=3D ADT7316_AD_SINGLE_CH_MODE; + config2 |=3D ADT7316_CONFIG2_AD_SINGLE_CH_MODE; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2); if (ret) @@ -368,31 +370,31 @@ static ssize_t adt7316_show_ad_channel(struct device = *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - if (!(chip->config2 & ADT7316_AD_SINGLE_CH_MODE)) + if (!(chip->config2 & ADT7316_CONFIG2_AD_SINGLE_CH_MODE)) return -EPERM; =20 - switch (chip->config2 & ADT7516_AD_SINGLE_CH_MASK) { - case ADT7316_AD_SINGLE_CH_VDD: + switch (chip->config2 & ADT7516_CONFIG2_AD_SINGLE_CH_MASK) { + case ADT7316_CONFIG2_AD_SINGLE_CH_VDD: return sysfs_emit(buf, "0 - VDD\n"); - case ADT7316_AD_SINGLE_CH_IN: + case ADT7316_CONFIG2_AD_SINGLE_CH_IN: return sysfs_emit(buf, "1 - Internal Temperature\n"); - case ADT7316_AD_SINGLE_CH_EX: + case ADT7316_CONFIG2_AD_SINGLE_CH_EX: if (((chip->id & ID_FAMILY_MASK) =3D=3D ID_ADT75XX) && - (chip->config1 & ADT7516_SEL_AIN1_2_EX_TEMP_MASK) =3D=3D 0) + (chip->config1 & ADT7516_CONFIG1_SEL_AIN1_2_EX_TEMP_MASK) =3D=3D 0) return sysfs_emit(buf, "2 - AIN1\n"); =20 return sysfs_emit(buf, "2 - External Temperature\n"); - case ADT7516_AD_SINGLE_CH_AIN2: - if ((chip->config1 & ADT7516_SEL_AIN1_2_EX_TEMP_MASK) =3D=3D 0) + case ADT7516_CONFIG2_AD_SINGLE_CH_AIN2: + if ((chip->config1 & ADT7516_CONFIG1_SEL_AIN1_2_EX_TEMP_MASK) =3D=3D 0) return sysfs_emit(buf, "3 - AIN2\n"); =20 return sysfs_emit(buf, "N/A\n"); - case ADT7516_AD_SINGLE_CH_AIN3: - if (chip->config1 & ADT7516_SEL_AIN3) + case ADT7516_CONFIG2_AD_SINGLE_CH_AIN3: + if (chip->config1 & ADT7516_CONFIG1_SEL_AIN3) return sysfs_emit(buf, "4 - AIN3\n"); =20 return sysfs_emit(buf, "N/A\n"); - case ADT7516_AD_SINGLE_CH_AIN4: + case ADT7516_CONFIG2_AD_SINGLE_CH_AIN4: return sysfs_emit(buf, "5 - AIN4\n"); default: return sysfs_emit(buf, "N/A\n"); @@ -410,7 +412,7 @@ static ssize_t adt7316_store_ad_channel(struct device *= dev, u8 data; int ret; =20 - if (!(chip->config2 & ADT7316_AD_SINGLE_CH_MODE)) + if (!(chip->config2 & ADT7316_CONFIG2_AD_SINGLE_CH_MODE)) return -EPERM; =20 ret =3D kstrtou8(buf, 10, &data); @@ -421,12 +423,12 @@ static ssize_t adt7316_store_ad_channel(struct device= *dev, if (data > 5) return -EINVAL; =20 - config2 =3D chip->config2 & (~ADT7516_AD_SINGLE_CH_MASK); + config2 =3D chip->config2 & (~ADT7516_CONFIG2_AD_SINGLE_CH_MASK); } else { if (data > 2) return -EINVAL; =20 - config2 =3D chip->config2 & (~ADT7316_AD_SINGLE_CH_MASK); + config2 =3D chip->config2 & (~ADT7316_CONFIG2_AD_SINGLE_CH_MASK); } =20 config2 |=3D data; @@ -452,7 +454,7 @@ static ssize_t adt7316_show_all_ad_channels(struct devi= ce *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - if (!(chip->config2 & ADT7316_AD_SINGLE_CH_MODE)) + if (!(chip->config2 & ADT7316_CONFIG2_AD_SINGLE_CH_MODE)) return -EPERM; =20 if ((chip->id & ID_FAMILY_MASK) =3D=3D ID_ADT75XX) @@ -474,7 +476,7 @@ static ssize_t adt7316_show_disable_averaging(struct de= vice *dev, struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 return sysfs_emit(buf, "%d\n", - !!(chip->config2 & ADT7316_DISABLE_AVERAGING)); + !!(chip->config2 & ADT7316_CONFIG2_DISABLE_AVERAGING)); } =20 static ssize_t adt7316_store_disable_averaging(struct device *dev, @@ -487,9 +489,9 @@ static ssize_t adt7316_store_disable_averaging(struct d= evice *dev, u8 config2; int ret; =20 - config2 =3D chip->config2 & (~ADT7316_DISABLE_AVERAGING); + config2 =3D chip->config2 & (~ADT7316_CONFIG2_DISABLE_AVERAGING); if (buf[0] =3D=3D '1') - config2 |=3D ADT7316_DISABLE_AVERAGING; + config2 |=3D ADT7316_CONFIG2_DISABLE_AVERAGING; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2); if (ret) @@ -513,7 +515,7 @@ static ssize_t adt7316_show_enable_smbus_timeout(struct= device *dev, struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 return sysfs_emit(buf, "%d\n", - !!(chip->config2 & ADT7316_EN_SMBUS_TIMEOUT)); + !!(chip->config2 & ADT7316_CONFIG2_EN_SMBUS_TIMEOUT)); } =20 static ssize_t adt7316_store_enable_smbus_timeout(struct device *dev, @@ -526,9 +528,9 @@ static ssize_t adt7316_store_enable_smbus_timeout(struc= t device *dev, u8 config2; int ret; =20 - config2 =3D chip->config2 & (~ADT7316_EN_SMBUS_TIMEOUT); + config2 =3D chip->config2 & (~ADT7316_CONFIG2_EN_SMBUS_TIMEOUT); if (buf[0] =3D=3D '1') - config2 |=3D ADT7316_EN_SMBUS_TIMEOUT; + config2 |=3D ADT7316_CONFIG2_EN_SMBUS_TIMEOUT; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2); if (ret) @@ -551,7 +553,7 @@ static ssize_t adt7316_show_powerdown(struct device *de= v, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - return sysfs_emit(buf, "%d\n", !!(chip->config1 & ADT7316_PD)); + return sysfs_emit(buf, "%d\n", !!(chip->config1 & ADT7316_CONFIG1_PD)); } =20 static ssize_t adt7316_store_powerdown(struct device *dev, @@ -564,9 +566,9 @@ static ssize_t adt7316_store_powerdown(struct device *d= ev, u8 config1; int ret; =20 - config1 =3D chip->config1 & (~ADT7316_PD); + config1 =3D chip->config1 & (~ADT7316_CONFIG1_PD); if (buf[0] =3D=3D '1') - config1 |=3D ADT7316_PD; + config1 |=3D ADT7316_CONFIG1_PD; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1); if (ret) @@ -589,7 +591,8 @@ static ssize_t adt7316_show_fast_ad_clock(struct device= *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - return sysfs_emit(buf, "%d\n", !!(chip->config3 & ADT7316_ADCLK_22_5)); + return sysfs_emit(buf, "%d\n", + !!(chip->config3 & ADT7316_CONFIG3_ADCLK_22_5)); } =20 static ssize_t adt7316_store_fast_ad_clock(struct device *dev, @@ -602,9 +605,9 @@ static ssize_t adt7316_store_fast_ad_clock(struct devic= e *dev, u8 config3; int ret; =20 - config3 =3D chip->config3 & (~ADT7316_ADCLK_22_5); + config3 =3D chip->config3 & (~ADT7316_CONFIG3_ADCLK_22_5); if (buf[0] =3D=3D '1') - config3 |=3D ADT7316_ADCLK_22_5; + config3 |=3D ADT7316_CONFIG3_ADCLK_22_5; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3); if (ret) @@ -627,7 +630,7 @@ static ssize_t adt7316_show_da_high_resolution(struct d= evice *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - if (chip->config3 & ADT7316_DA_HIGH_RESOLUTION) { + if (chip->config3 & ADT7316_CONFIG3_DA_HIGH_RESOLUTION) { if (chip->id !=3D ID_ADT7318 && chip->id !=3D ID_ADT7519) return sysfs_emit(buf, "1 (10 bits)\n"); } @@ -648,9 +651,9 @@ static ssize_t adt7316_store_da_high_resolution(struct = device *dev, if (chip->id =3D=3D ID_ADT7318 || chip->id =3D=3D ID_ADT7519) return -EPERM; =20 - config3 =3D chip->config3 & (~ADT7316_DA_HIGH_RESOLUTION); + config3 =3D chip->config3 & (~ADT7316_CONFIG3_DA_HIGH_RESOLUTION); if (buf[0] =3D=3D '1') - config3 |=3D ADT7316_DA_HIGH_RESOLUTION; + config3 |=3D ADT7316_CONFIG3_DA_HIGH_RESOLUTION; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3); if (ret) @@ -677,7 +680,7 @@ static ssize_t adt7316_show_AIN_internal_Vref(struct de= vice *dev, return -EPERM; =20 return sysfs_emit(buf, "%d\n", - !!(chip->config3 & ADT7516_AIN_IN_VREF)); + !!(chip->config3 & ADT7516_CONFIG3_AIN_IN_VREF)); } =20 static ssize_t adt7316_store_AIN_internal_Vref(struct device *dev, @@ -694,9 +697,9 @@ static ssize_t adt7316_store_AIN_internal_Vref(struct d= evice *dev, return -EPERM; =20 if (buf[0] !=3D '1') - config3 =3D chip->config3 & (~ADT7516_AIN_IN_VREF); + config3 =3D chip->config3 & (~ADT7516_CONFIG3_AIN_IN_VREF); else - config3 =3D chip->config3 | ADT7516_AIN_IN_VREF; + config3 =3D chip->config3 | ADT7516_CONFIG3_AIN_IN_VREF; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3); if (ret) @@ -720,7 +723,7 @@ static ssize_t adt7316_show_enable_prop_DACA(struct dev= ice *dev, struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 return sysfs_emit(buf, "%d\n", - !!(chip->config3 & ADT7316_EN_IN_TEMP_PROP_DACA)); + !!(chip->config3 & ADT7316_CONFIG3_EN_IN_TEMP_PROP_DACA)); } =20 static ssize_t adt7316_store_enable_prop_DACA(struct device *dev, @@ -733,9 +736,9 @@ static ssize_t adt7316_store_enable_prop_DACA(struct de= vice *dev, u8 config3; int ret; =20 - config3 =3D chip->config3 & (~ADT7316_EN_IN_TEMP_PROP_DACA); + config3 =3D chip->config3 & (~ADT7316_CONFIG3_EN_IN_TEMP_PROP_DACA); if (buf[0] =3D=3D '1') - config3 |=3D ADT7316_EN_IN_TEMP_PROP_DACA; + config3 |=3D ADT7316_CONFIG3_EN_IN_TEMP_PROP_DACA; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3); if (ret) @@ -759,7 +762,7 @@ static ssize_t adt7316_show_enable_prop_DACB(struct dev= ice *dev, struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 return sysfs_emit(buf, "%d\n", - !!(chip->config3 & ADT7316_EN_EX_TEMP_PROP_DACB)); + !!(chip->config3 & ADT7316_CONFIG3_EN_EX_TEMP_PROP_DACB)); } =20 static ssize_t adt7316_store_enable_prop_DACB(struct device *dev, @@ -772,9 +775,9 @@ static ssize_t adt7316_store_enable_prop_DACB(struct de= vice *dev, u8 config3; int ret; =20 - config3 =3D chip->config3 & (~ADT7316_EN_EX_TEMP_PROP_DACB); + config3 =3D chip->config3 & (~ADT7316_CONFIG3_EN_EX_TEMP_PROP_DACB); if (buf[0] =3D=3D '1') - config3 |=3D ADT7316_EN_EX_TEMP_PROP_DACB; + config3 |=3D ADT7316_CONFIG3_EN_EX_TEMP_PROP_DACB; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3); if (ret) @@ -798,7 +801,7 @@ static ssize_t adt7316_show_DAC_2Vref_ch_mask(struct de= vice *dev, struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 return sysfs_emit(buf, "0x%x\n", - chip->dac_config & ADT7316_DA_2VREF_CH_MASK); + chip->dac_config & ADT7316_DAC_CONFIG_2VREF_CH_MASK); } =20 static ssize_t adt7316_store_DAC_2Vref_ch_mask(struct device *dev, @@ -813,10 +816,10 @@ static ssize_t adt7316_store_DAC_2Vref_ch_mask(struct= device *dev, int ret; =20 ret =3D kstrtou8(buf, 16, &data); - if (ret || data > ADT7316_DA_2VREF_CH_MASK) + if (ret || data > ADT7316_DAC_CONFIG_2VREF_CH_MASK) return -EINVAL; =20 - dac_config =3D chip->dac_config & (~ADT7316_DA_2VREF_CH_MASK); + dac_config =3D chip->dac_config & (~ADT7316_DAC_CONFIG_2VREF_CH_MASK); dac_config |=3D data; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config); @@ -840,20 +843,20 @@ static ssize_t adt7316_show_DAC_update_mode(struct de= vice *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - if (!(chip->config3 & ADT7316_DA_EN_VIA_DAC_LDAC)) + if (!(chip->config3 & ADT7316_CONFIG3_DA_EN_VIA_DAC_LDAC)) return sysfs_emit(buf, "manual\n"); =20 - switch (chip->dac_config & ADT7316_DA_EN_MODE_MASK) { - case ADT7316_DA_EN_MODE_SINGLE: + switch (chip->dac_config & ADT7316_DAC_CONFIG_EN_MODE_MASK) { + case ADT7316_DAC_CONFIG_EN_MODE_SINGLE: return sysfs_emit(buf, "0 - auto at any MSB DAC writing\n"); - case ADT7316_DA_EN_MODE_AB_CD: + case ADT7316_DAC_CONFIG_EN_MODE_AB_CD: return sysfs_emit(buf, "1 - auto at MSB DAC AB and CD writing\n"); - case ADT7316_DA_EN_MODE_ABCD: + case ADT7316_DAC_CONFIG_EN_MODE_ABCD: return sysfs_emit(buf, "2 - auto at MSB DAC ABCD writing\n"); - default: /* ADT7316_DA_EN_MODE_LDAC */ + default: /* ADT7316_DAC_CONFIG_EN_MODE_LDAC */ return sysfs_emit(buf, "3 - manual\n"); } } @@ -869,15 +872,15 @@ static ssize_t adt7316_store_DAC_update_mode(struct d= evice *dev, u8 data; int ret; =20 - if (!(chip->config3 & ADT7316_DA_EN_VIA_DAC_LDAC)) + if (!(chip->config3 & ADT7316_CONFIG3_DA_EN_VIA_DAC_LDAC)) return -EPERM; =20 ret =3D kstrtou8(buf, 10, &data); - if (ret || !FIELD_FIT(ADT7316_DA_EN_MODE_MASK, data)) + if (ret || !FIELD_FIT(ADT7316_DAC_CONFIG_EN_MODE_MASK, data)) return -EINVAL; =20 - dac_config =3D chip->dac_config & (~ADT7316_DA_EN_MODE_MASK); - dac_config |=3D FIELD_PREP(ADT7316_DA_EN_MODE_MASK, data); + dac_config =3D chip->dac_config & (~ADT7316_DAC_CONFIG_EN_MODE_MASK); + dac_config |=3D FIELD_PREP(ADT7316_DAC_CONFIG_EN_MODE_MASK, data); =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config); if (ret) @@ -900,7 +903,7 @@ static ssize_t adt7316_show_all_DAC_update_modes(struct= device *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - if (chip->config3 & ADT7316_DA_EN_VIA_DAC_LDAC) + if (chip->config3 & ADT7316_CONFIG3_DA_EN_VIA_DAC_LDAC) return sysfs_emit(buf, "0 - auto at any MSB DAC writing\n" "1 - auto at MSB DAC AB and CD writing\n" "2 - auto at MSB DAC ABCD writing\n" @@ -922,16 +925,17 @@ static ssize_t adt7316_store_update_DAC(struct device= *dev, u8 data; int ret; =20 - if (chip->config3 & ADT7316_DA_EN_VIA_DAC_LDAC) { - if ((chip->dac_config & ADT7316_DA_EN_MODE_MASK) !=3D - ADT7316_DA_EN_MODE_LDAC) + if (chip->config3 & ADT7316_CONFIG3_DA_EN_VIA_DAC_LDAC) { + if ((chip->dac_config & ADT7316_DAC_CONFIG_EN_MODE_MASK) !=3D + ADT7316_DAC_CONFIG_EN_MODE_LDAC) return -EPERM; =20 ret =3D kstrtou8(buf, 16, &data); - if (ret || data > ADT7316_LDAC_EN_DA_MASK) + if (ret || data > ADT7316_LDAC_CONFIG_EN_DA_MASK) return -EINVAL; =20 - ldac_config =3D chip->ldac_config & (~ADT7316_LDAC_EN_DA_MASK); + ldac_config =3D chip->ldac_config & + (~ADT7316_LDAC_CONFIG_EN_DA_MASK); ldac_config |=3D data; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_LDAC_CONFIG, @@ -959,7 +963,7 @@ static ssize_t adt7316_show_DA_AB_Vref_bypass(struct de= vice *dev, struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 return sysfs_emit(buf, "%d\n", - !!(chip->dac_config & ADT7316_VREF_BYPASS_DAC_AB)); + !!(chip->dac_config & ADT7316_DAC_CONFIG_VREF_BYPASS_AB)); } =20 static ssize_t adt7316_store_DA_AB_Vref_bypass(struct device *dev, @@ -972,9 +976,9 @@ static ssize_t adt7316_store_DA_AB_Vref_bypass(struct d= evice *dev, u8 dac_config; int ret; =20 - dac_config =3D chip->dac_config & (~ADT7316_VREF_BYPASS_DAC_AB); + dac_config =3D chip->dac_config & (~ADT7316_DAC_CONFIG_VREF_BYPASS_AB); if (buf[0] =3D=3D '1') - dac_config |=3D ADT7316_VREF_BYPASS_DAC_AB; + dac_config |=3D ADT7316_DAC_CONFIG_VREF_BYPASS_AB; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config); if (ret) @@ -998,7 +1002,7 @@ static ssize_t adt7316_show_DA_CD_Vref_bypass(struct d= evice *dev, struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 return sysfs_emit(buf, "%d\n", - !!(chip->dac_config & ADT7316_VREF_BYPASS_DAC_CD)); + !!(chip->dac_config & ADT7316_DAC_CONFIG_VREF_BYPASS_CD)); } =20 static ssize_t adt7316_store_DA_CD_Vref_bypass(struct device *dev, @@ -1011,9 +1015,9 @@ static ssize_t adt7316_store_DA_CD_Vref_bypass(struct= device *dev, u8 dac_config; int ret; =20 - dac_config =3D chip->dac_config & (~ADT7316_VREF_BYPASS_DAC_CD); + dac_config =3D chip->dac_config & (~ADT7316_DAC_CONFIG_VREF_BYPASS_CD); if (buf[0] =3D=3D '1') - dac_config |=3D ADT7316_VREF_BYPASS_DAC_CD; + dac_config |=3D ADT7316_DAC_CONFIG_VREF_BYPASS_CD; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config); if (ret) @@ -1038,9 +1042,10 @@ static ssize_t adt7316_show_DAC_internal_Vref(struct= device *dev, =20 if ((chip->id & ID_FAMILY_MASK) =3D=3D ID_ADT75XX) return sysfs_emit(buf, "0x%x\n", - FIELD_GET(ADT7516_DAC_IN_VREF_MASK, chip->ldac_config)); + FIELD_GET(ADT7516_LDAC_CONFIG_DAC_IN_VREF_MASK, + chip->ldac_config)); return sysfs_emit(buf, "%d\n", - !!(chip->ldac_config & ADT7316_DAC_IN_VREF)); + !!(chip->ldac_config & ADT7316_LDAC_CONFIG_DAC_IN_VREF)); } =20 static ssize_t adt7316_store_DAC_internal_Vref(struct device *dev, @@ -1059,19 +1064,22 @@ static ssize_t adt7316_store_DAC_internal_Vref(stru= ct device *dev, if (ret || data > 3) return -EINVAL; =20 - ldac_config =3D chip->ldac_config & (~ADT7516_DAC_IN_VREF_MASK); + ldac_config =3D chip->ldac_config & + (~ADT7516_LDAC_CONFIG_DAC_IN_VREF_MASK); if (data & 0x1) - ldac_config |=3D ADT7516_DAC_AB_IN_VREF; + ldac_config |=3D ADT7516_LDAC_CONFIG_DAC_AB_IN_VREF; if (data & 0x2) - ldac_config |=3D ADT7516_DAC_CD_IN_VREF; + ldac_config |=3D ADT7516_LDAC_CONFIG_DAC_CD_IN_VREF; } else { ret =3D kstrtou8(buf, 16, &data); if (ret) return -EINVAL; =20 - ldac_config =3D chip->ldac_config & (~ADT7316_DAC_IN_VREF); + ldac_config =3D chip->ldac_config & + (~ADT7316_LDAC_CONFIG_DAC_IN_VREF); if (data) - ldac_config =3D chip->ldac_config | ADT7316_DAC_IN_VREF; + ldac_config =3D chip->ldac_config | + ADT7316_LDAC_CONFIG_DAC_IN_VREF; } =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_LDAC_CONFIG, @@ -1092,13 +1100,13 @@ static IIO_DEVICE_ATTR(DAC_internal_Vref, 0644, static u8 adt7316_extract_ad_lsb(u8 lsb, int channel) { switch (channel) { - case ADT7316_AD_SINGLE_CH_EX: + case ADT7316_CONFIG2_AD_SINGLE_CH_EX: return FIELD_GET(ADT7316_LSB_EX_TEMP_AIN1_MASK, lsb); - case ADT7516_AD_SINGLE_CH_AIN2: + case ADT7516_CONFIG2_AD_SINGLE_CH_AIN2: return FIELD_GET(ADT7516_LSB_AIN2_MASK, lsb); - case ADT7516_AD_SINGLE_CH_AIN3: + case ADT7516_CONFIG2_AD_SINGLE_CH_AIN3: return FIELD_GET(ADT7516_LSB_AIN3_MASK, lsb); - case ADT7516_AD_SINGLE_CH_AIN4: + case ADT7516_CONFIG2_AD_SINGLE_CH_AIN4: return FIELD_GET(ADT7516_LSB_AIN4_MASK, lsb); default: return 0; @@ -1112,12 +1120,12 @@ static ssize_t adt7316_show_ad(struct adt7316_chip_= info *chip, u8 msb, lsb; int ret; =20 - if ((chip->config2 & ADT7316_AD_SINGLE_CH_MODE) && - channel !=3D (chip->config2 & ADT7516_AD_SINGLE_CH_MASK)) + if ((chip->config2 & ADT7316_CONFIG2_AD_SINGLE_CH_MODE) && + channel !=3D (chip->config2 & ADT7516_CONFIG2_AD_SINGLE_CH_MASK)) return -EPERM; =20 switch (channel) { - case ADT7316_AD_SINGLE_CH_IN: + case ADT7316_CONFIG2_AD_SINGLE_CH_IN: ret =3D chip->bus.read(chip->bus.client, ADT7316_LSB_IN_TEMP_VDD, &lsb); if (ret) @@ -1131,7 +1139,7 @@ static ssize_t adt7316_show_ad(struct adt7316_chip_in= fo *chip, data =3D FIELD_PREP(ADT7316_AD_MSB_MASK, msb); data |=3D lsb & ADT7316_LSB_IN_TEMP_MASK; break; - case ADT7316_AD_SINGLE_CH_VDD: + case ADT7316_CONFIG2_AD_SINGLE_CH_VDD: ret =3D chip->bus.read(chip->bus.client, ADT7316_LSB_IN_TEMP_VDD, &lsb); if (ret) @@ -1182,7 +1190,7 @@ static ssize_t adt7316_show_VDD(struct device *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - return adt7316_show_ad(chip, ADT7316_AD_SINGLE_CH_VDD, buf); + return adt7316_show_ad(chip, ADT7316_CONFIG2_AD_SINGLE_CH_VDD, buf); } static IIO_DEVICE_ATTR(VDD, 0444, adt7316_show_VDD, NULL, 0); =20 @@ -1193,7 +1201,7 @@ static ssize_t adt7316_show_in_temp(struct device *de= v, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - return adt7316_show_ad(chip, ADT7316_AD_SINGLE_CH_IN, buf); + return adt7316_show_ad(chip, ADT7316_CONFIG2_AD_SINGLE_CH_IN, buf); } =20 static IIO_DEVICE_ATTR(in_temp, 0444, adt7316_show_in_temp, NULL, 0); @@ -1205,7 +1213,7 @@ static ssize_t adt7316_show_ex_temp_AIN1(struct devic= e *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - return adt7316_show_ad(chip, ADT7316_AD_SINGLE_CH_EX, buf); + return adt7316_show_ad(chip, ADT7316_CONFIG2_AD_SINGLE_CH_EX, buf); } =20 static IIO_DEVICE_ATTR(ex_temp_AIN1, 0444, adt7316_show_ex_temp_AIN1, @@ -1219,7 +1227,7 @@ static ssize_t adt7316_show_AIN2(struct device *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - return adt7316_show_ad(chip, ADT7516_AD_SINGLE_CH_AIN2, buf); + return adt7316_show_ad(chip, ADT7516_CONFIG2_AD_SINGLE_CH_AIN2, buf); } static IIO_DEVICE_ATTR(AIN2, 0444, adt7316_show_AIN2, NULL, 0); =20 @@ -1230,7 +1238,7 @@ static ssize_t adt7316_show_AIN3(struct device *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - return adt7316_show_ad(chip, ADT7516_AD_SINGLE_CH_AIN3, buf); + return adt7316_show_ad(chip, ADT7516_CONFIG2_AD_SINGLE_CH_AIN3, buf); } static IIO_DEVICE_ATTR(AIN3, 0444, adt7316_show_AIN3, NULL, 0); =20 @@ -1241,7 +1249,7 @@ static ssize_t adt7316_show_AIN4(struct device *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - return adt7316_show_ad(chip, ADT7516_AD_SINGLE_CH_AIN4, buf); + return adt7316_show_ad(chip, ADT7516_CONFIG2_AD_SINGLE_CH_AIN4, buf); } static IIO_DEVICE_ATTR(AIN4, 0444, adt7316_show_AIN4, NULL, 0); =20 @@ -1403,9 +1411,9 @@ static ssize_t adt7316_show_DAC(struct adt7316_chip_i= nfo *chip, =20 if (channel >=3D ADT7316_DA_MSB_DATA_REGS || (channel =3D=3D 0 && - (chip->config3 & ADT7316_EN_IN_TEMP_PROP_DACA)) || + (chip->config3 & ADT7316_CONFIG3_EN_IN_TEMP_PROP_DACA)) || (channel =3D=3D 1 && - (chip->config3 & ADT7316_EN_EX_TEMP_PROP_DACB))) + (chip->config3 & ADT7316_CONFIG3_EN_EX_TEMP_PROP_DACB))) return -EPERM; =20 offset =3D chip->dac_bits - 8; @@ -1440,9 +1448,9 @@ static ssize_t adt7316_store_DAC(struct adt7316_chip_= info *chip, =20 if (channel >=3D ADT7316_DA_MSB_DATA_REGS || (channel =3D=3D 0 && - (chip->config3 & ADT7316_EN_IN_TEMP_PROP_DACA)) || + (chip->config3 & ADT7316_CONFIG3_EN_IN_TEMP_PROP_DACA)) || (channel =3D=3D 1 && - (chip->config3 & ADT7316_EN_EX_TEMP_PROP_DACB))) + (chip->config3 & ADT7316_CONFIG3_EN_EX_TEMP_PROP_DACB))) return -EPERM; =20 offset =3D chip->dac_bits - 8; @@ -1834,7 +1842,7 @@ static int adt7316_setup_irq(struct iio_dev *indio_de= v) } =20 if (irq_type & IRQF_TRIGGER_HIGH) - chip->config1 |=3D ADT7316_INT_POLARITY; + chip->config1 |=3D ADT7316_CONFIG1_INT_POLARITY; =20 return 0; } @@ -1918,7 +1926,7 @@ static inline ssize_t adt7316_show_ad_bound(struct de= vice *dev, data =3D (int)val; =20 if (!((chip->id & ID_FAMILY_MASK) =3D=3D ID_ADT75XX && - (chip->config1 & ADT7516_SEL_AIN1_2_EX_TEMP_MASK) =3D=3D 0)) { + (chip->config1 & ADT7516_CONFIG1_SEL_AIN1_2_EX_TEMP_MASK) =3D=3D 0)= ) { if (data & 0x80) data -=3D 256; } @@ -1947,7 +1955,7 @@ static inline ssize_t adt7316_set_ad_bound(struct dev= ice *dev, return -EINVAL; =20 if ((chip->id & ID_FAMILY_MASK) =3D=3D ID_ADT75XX && - (chip->config1 & ADT7516_SEL_AIN1_2_EX_TEMP_MASK) =3D=3D 0) { + (chip->config1 & ADT7516_CONFIG1_SEL_AIN1_2_EX_TEMP_MASK) =3D=3D 0) { if (data > 255 || data < 0) return -EINVAL; } else { @@ -1974,7 +1982,8 @@ static ssize_t adt7316_show_int_enabled(struct device= *dev, struct iio_dev *dev_info =3D dev_to_iio_dev(dev); struct adt7316_chip_info *chip =3D iio_priv(dev_info); =20 - return sysfs_emit(buf, "%d\n", !!(chip->config1 & ADT7316_INT_EN)); + return sysfs_emit(buf, "%d\n", + !!(chip->config1 & ADT7316_CONFIG1_INT_EN)); } =20 static ssize_t adt7316_set_int_enabled(struct device *dev, @@ -1987,9 +1996,9 @@ static ssize_t adt7316_set_int_enabled(struct device = *dev, u8 config1; int ret; =20 - config1 =3D chip->config1 & (~ADT7316_INT_EN); + config1 =3D chip->config1 & (~ADT7316_CONFIG1_INT_EN); if (buf[0] =3D=3D '1') - config1 |=3D ADT7316_INT_EN; + config1 |=3D ADT7316_CONFIG1_INT_EN; =20 ret =3D chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1); if (ret) @@ -2167,9 +2176,9 @@ int adt7316_probe(struct device *dev, struct adt7316_= bus *bus, } =20 if (!chip->ldac_pin) { - chip->config3 |=3D ADT7316_DA_EN_VIA_DAC_LDAC; + chip->config3 |=3D ADT7316_CONFIG3_DA_EN_VIA_DAC_LDAC; if ((chip->id & ID_FAMILY_MASK) =3D=3D ID_ADT75XX) - chip->config1 |=3D ADT7516_SEL_AIN3; + chip->config1 |=3D ADT7516_CONFIG1_SEL_AIN3; } chip->int_mask =3D ADT7316_TEMP_INT_MASK | ADT7316_VDD_INT_MASK; if ((chip->id & ID_FAMILY_MASK) =3D=3D ID_ADT75XX) --=20 2.53.0 From nobody Thu Apr 2 15:39:00 2026 Received: from mail-dy1-f173.google.com (mail-dy1-f173.google.com [74.125.82.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 23A81372ED9 for ; Fri, 6 Mar 2026 07:17:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772781472; cv=none; b=m4uAJ8raH1M9R1wTRKfQmSyAQNFYyVJZn5iADuZCEGs89sHLFIGtf3bmKWkIoLe6TPxdtsad9j2MPx4wxvWuiHOwp1X2oA0tWwMwI+KkHu5YRtTDxyimdolJYNVk+p8AfQIiyqZZoFScC2vWmYLSZqtkDgpAOLsEJ5NfBD+CgXc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772781472; c=relaxed/simple; bh=0rAB9MBGoOdOMIG3fhy02OT6Cyxc/u79BMxz/VaekZ4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tAgi1IRZ90s/TQbZc1F/trfyZxTJFRek7Un43bwavaYlwexpRb0wVOUhbdVQmJTFZcBXWDFx4YJ08j5pZl6lyRKwVpYKn9KO2Gqgg1Lao98GCTsNGqJDigQGLoRirgvCy3upkB4thZP37+K8s/Ff/RZevwfAw2LaNVxXG3Itfyk= 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=GVq4BVai; arc=none smtp.client-ip=74.125.82.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="GVq4BVai" Received: by mail-dy1-f173.google.com with SMTP id 5a478bee46e88-2be1ab1fa7dso6613436eec.0 for ; Thu, 05 Mar 2026 23:17:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772781470; x=1773386270; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=aMYOEONlQSsPyZ3EdoCsxjFpvIJZ2m37u2LdjlQwwyY=; b=GVq4BVaixbl48rrPtZ3uq3EMGxfMz8ZGWU9HtlKme87w/OuSjpKVVKAxbgc7XaAzfq DCDSw7w/wPccyrV5bSvzh+XzQi+KUb1AmNP3RYvQcVCI7UNEW82Jpb+sbEHArmt98hSR Uxqy6V18Lbis1MinjCmaUKhNB9QaN4qd3oFbSVYsRSGvrTpTUFQLk2nQID0JNI9WRMdi aYt+E8cNVSB78424HERrlrBvr851DNJ7MvLQ2OZhrwGreoWFB6aSjtOYV+dO11VLjtKq N1ROiJF1s1LBLy1AVZGBe6b2P0WInsN2ju6MBndCtoIhwMCtP57S5D1A3SBadM/fBqk4 G5Dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772781470; x=1773386270; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=aMYOEONlQSsPyZ3EdoCsxjFpvIJZ2m37u2LdjlQwwyY=; b=wzPCmT7+pySIwD5WwoKGdCN/ZocZSikSghGcoZhy5e1vo+ok/qD+8qKQ2swL3Tfp+B PVJO5YG5tw5mClx3GPeyZTJz0vS3I62ZCrahK/pjL9AcVrK3U/Ok812oHBUN5BPAkT52 0hN4VXGVQAvU6dR4H+TnpEGdZwNx9EcX0xb7ecFlGytnjcuVvgiIc+HS9PJrzfSY2ZxR 4VKUN/3CvJkFHq+4Do9RTJ1Zsey9om/KlipIJBpuY1dolBWnZeieJ9eaC2kiJCq3R8R2 mpOkhkgLLjUMJbl65Rb2rK03wZtEC0bqDmqIeoGUQIexY/3TvS732xrzZevN7ilfSXof U+8A== X-Forwarded-Encrypted: i=1; AJvYcCXPYwO9xjx1yTe7hOoJZfhNhw20pYjb4f4+yICR5K7D6eVDM9vi+fntAb3xr9iIYlM78sg3w0wpiEo9UXI=@vger.kernel.org X-Gm-Message-State: AOJu0YzktQlygtd5i0kKcDhQSGkijvBZPUvbHtU1PnPI3dmeKAuorPos azaP0gUfootWafMMke7cdiYVYDokiHSMuM8Hq3Sn3/aXnItun0WapI6D X-Gm-Gg: ATEYQzx3Upd34fzlslYHarDpLx/AD3aQKi+aA91i4EH7opVFdh/qcPj/AgCZoayGNHG wGfCNILhyIi4l3i/KR9inrp2sL6I2DgOWJXrftbRgQNM6qC651A33/bzWgKE6QzF5u32dhoRXI8 UUTE1Ixk7a1XjDB2T6f7Zwqnlens7iIUbvkA+Z3bsFr8+U3XCM/XPJBJh+SAlj/iH+RZLIhgoOc KeV6zGmY8auwwl6rcWa+0alOJjN6RpPqfpbeFtcuOCxdhhjNUpo0mMfaLEgUjivAdaQpgFLJq9K vBmt3kw5QHLVHl4NNPCvyood31o9GIthbpQNkU5cHPfF7V+Wy3MSvfl1kL0Gie/rxCcnyM//sLn ihi2Obcjl72bbbDIQMzJiqzDsJf1Prg5+72+BwIAYKvM50Il0T0mUYf3wGdW4FCYIrKTpu6kv8Y yQsPn7Y3wWym1xSlJF7jZoccmTP1VYDRiNvNXymw== X-Received: by 2002:a05:7301:1291:b0:2bd:f432:d545 with SMTP id 5a478bee46e88-2be4deb8b8cmr460852eec.17.1772781470331; Thu, 05 Mar 2026 23:17:50 -0800 (PST) Received: from [192.168.1.187] ([76.50.196.152]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2be4f96f25bsm545713eec.28.2026.03.05.23.17.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 23:17:49 -0800 (PST) From: Michael Harris Date: Thu, 05 Mar 2026 23:17:01 -0800 Subject: [PATCH v2 4/4] staging: iio: adt7316: convert magic numbers to BIT_U32() or GENMASK_U32() 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: <20260305-adt7316-correct-macros-v2-4-3702e3841c42@gmail.com> References: <20260305-adt7316-correct-macros-v2-0-3702e3841c42@gmail.com> In-Reply-To: <20260305-adt7316-correct-macros-v2-0-3702e3841c42@gmail.com> To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Greg Kroah-Hartman Cc: David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Michael Harris X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772781459; l=5562; i=michaelharriscode@gmail.com; s=20260130; h=from:subject:message-id; bh=0rAB9MBGoOdOMIG3fhy02OT6Cyxc/u79BMxz/VaekZ4=; b=5MBgmK5XwbhRJgOsfvxYxLgjH4BN49GWnBZYl3dSOPGCax98N3pasMXF75qbVcJkAPUcEob+N 1onOStR7tCWBqV0kO2gxF8uoRwU2+SgrM3tkVlKUBpLfbGQNyJvH96w X-Developer-Key: i=michaelharriscode@gmail.com; a=ed25519; pk=td/zQD3XANAhdG3Kf3mSetXiynk1Ql0eM4s0+eks5DU= Improve readability by converting raw hex macros to use BIT_U32() or GENMASK_U32() instead. Signed-off-by: Michael Harris --- drivers/staging/iio/addac/adt7316.c | 72 ++++++++++++++++++---------------= ---- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/adda= c/adt7316.c index ea7d97bb0f378f3a3ce1225d8d13af2c5955ca56..824801c022475c35b8dfd462682= 0a533fbb68a17 100644 --- a/drivers/staging/iio/addac/adt7316.c +++ b/drivers/staging/iio/addac/adt7316.c @@ -30,8 +30,8 @@ #define ADT7316_INT_STAT1 0x0 #define ADT7316_INT_STAT2 0x1 #define ADT7316_LSB_IN_TEMP_VDD 0x3 -#define ADT7316_LSB_IN_TEMP_MASK 0x3 -#define ADT7316_LSB_VDD_MASK 0xC +#define ADT7316_LSB_IN_TEMP_MASK GENMASK_U32(1, 0) +#define ADT7316_LSB_VDD_MASK GENMASK_U32(3, 2) #define ADT7316_LSB_EX_TEMP_AIN 0x4 #define ADT7316_LSB_EX_TEMP_AIN1_MASK GENMASK_U32(1, 0) #define ADT7516_LSB_AIN2_MASK GENMASK_U32(3, 2) @@ -90,19 +90,19 @@ /* * ADT7316 config1 */ -#define ADT7316_CONFIG1_MONITOR_EN 0x1 -#define ADT7516_CONFIG1_SEL_AIN1_2_EX_TEMP_MASK 0x6 -#define ADT7516_CONFIG1_SEL_EX_TEMP 0x4 -#define ADT7516_CONFIG1_SEL_AIN3 0x8 -#define ADT7316_CONFIG1_INT_EN 0x20 -#define ADT7316_CONFIG1_INT_POLARITY 0x40 -#define ADT7316_CONFIG1_PD 0x80 +#define ADT7316_CONFIG1_MONITOR_EN BIT_U32(0) +#define ADT7516_CONFIG1_SEL_AIN1_2_EX_TEMP_MASK GENMASK_U32(2, 1) +#define ADT7516_CONFIG1_SEL_EX_TEMP BIT_U32(2) +#define ADT7516_CONFIG1_SEL_AIN3 BIT_U32(3) +#define ADT7316_CONFIG1_INT_EN BIT_U32(5) +#define ADT7316_CONFIG1_INT_POLARITY BIT_U32(6) +#define ADT7316_CONFIG1_PD BIT_U32(7) =20 /* * ADT7316 config2 */ -#define ADT7316_CONFIG2_AD_SINGLE_CH_MASK 0x3 -#define ADT7516_CONFIG2_AD_SINGLE_CH_MASK 0x7 +#define ADT7316_CONFIG2_AD_SINGLE_CH_MASK GENMASK_U32(1, 0) +#define ADT7516_CONFIG2_AD_SINGLE_CH_MASK GENMASK_U32(2, 0) #define ADT7316_CONFIG2_AD_SINGLE_CH_VDD 0 #define ADT7316_CONFIG2_AD_SINGLE_CH_IN 1 #define ADT7316_CONFIG2_AD_SINGLE_CH_EX 2 @@ -110,51 +110,51 @@ #define ADT7516_CONFIG2_AD_SINGLE_CH_AIN2 3 #define ADT7516_CONFIG2_AD_SINGLE_CH_AIN3 4 #define ADT7516_CONFIG2_AD_SINGLE_CH_AIN4 5 -#define ADT7316_CONFIG2_AD_SINGLE_CH_MODE 0x10 -#define ADT7316_CONFIG2_DISABLE_AVERAGING 0x20 -#define ADT7316_CONFIG2_EN_SMBUS_TIMEOUT 0x40 -#define ADT7316_CONFIG2_RESET 0x80 +#define ADT7316_CONFIG2_AD_SINGLE_CH_MODE BIT_U32(4) +#define ADT7316_CONFIG2_DISABLE_AVERAGING BIT_U32(5) +#define ADT7316_CONFIG2_EN_SMBUS_TIMEOUT BIT_U32(6) +#define ADT7316_CONFIG2_RESET BIT_U32(7) =20 /* * ADT7316 config3 */ -#define ADT7316_CONFIG3_ADCLK_22_5 0x1 -#define ADT7316_CONFIG3_DA_HIGH_RESOLUTION 0x2 -#define ADT7316_CONFIG3_DA_EN_VIA_DAC_LDAC 0x8 -#define ADT7516_CONFIG3_AIN_IN_VREF 0x10 -#define ADT7316_CONFIG3_EN_IN_TEMP_PROP_DACA 0x20 -#define ADT7316_CONFIG3_EN_EX_TEMP_PROP_DACB 0x40 +#define ADT7316_CONFIG3_ADCLK_22_5 BIT_U32(0) +#define ADT7316_CONFIG3_DA_HIGH_RESOLUTION BIT_U32(1) +#define ADT7316_CONFIG3_DA_EN_VIA_DAC_LDAC BIT_U32(3) +#define ADT7516_CONFIG3_AIN_IN_VREF BIT_U32(4) +#define ADT7316_CONFIG3_EN_IN_TEMP_PROP_DACA BIT_U32(5) +#define ADT7316_CONFIG3_EN_EX_TEMP_PROP_DACB BIT_U32(6) =20 /* * ADT7316 DAC config */ -#define ADT7316_DAC_CONFIG_2VREF_CH_MASK 0xF -#define ADT7316_DAC_CONFIG_EN_MODE_MASK 0x30 +#define ADT7316_DAC_CONFIG_2VREF_CH_MASK GENMASK_U32(3, 0) +#define ADT7316_DAC_CONFIG_EN_MODE_MASK GENMASK_U32(5, 4) #define ADT7316_DAC_CONFIG_EN_MODE_SINGLE 0x00 #define ADT7316_DAC_CONFIG_EN_MODE_AB_CD 0x10 #define ADT7316_DAC_CONFIG_EN_MODE_ABCD 0x20 #define ADT7316_DAC_CONFIG_EN_MODE_LDAC 0x30 -#define ADT7316_DAC_CONFIG_VREF_BYPASS_AB 0x40 -#define ADT7316_DAC_CONFIG_VREF_BYPASS_CD 0x80 +#define ADT7316_DAC_CONFIG_VREF_BYPASS_AB BIT_U32(6) +#define ADT7316_DAC_CONFIG_VREF_BYPASS_CD BIT_U32(7) =20 /* * ADT7316 LDAC config */ -#define ADT7316_LDAC_CONFIG_EN_DA_MASK 0xF -#define ADT7316_LDAC_CONFIG_DAC_IN_VREF 0x10 -#define ADT7516_LDAC_CONFIG_DAC_AB_IN_VREF 0x10 -#define ADT7516_LDAC_CONFIG_DAC_CD_IN_VREF 0x20 -#define ADT7516_LDAC_CONFIG_DAC_IN_VREF_MASK 0x30 +#define ADT7316_LDAC_CONFIG_EN_DA_MASK GENMASK_U32(3, 0) +#define ADT7316_LDAC_CONFIG_DAC_IN_VREF BIT_U32(4) +#define ADT7516_LDAC_CONFIG_DAC_AB_IN_VREF BIT_U32(4) +#define ADT7516_LDAC_CONFIG_DAC_CD_IN_VREF BIT_U32(5) +#define ADT7516_LDAC_CONFIG_DAC_IN_VREF_MASK GENMASK_U32(5, 4) =20 /* * ADT7316 INT_MASK2 */ -#define ADT7316_INT_MASK2_VDD 0x10 +#define ADT7316_INT_MASK2_VDD BIT_U32(4) =20 /* * ADT7316 value masks */ -#define ADT7316_VALUE_MASK 0xfff +#define ADT7316_VALUE_MASK GENMASK_U32(11, 0) #define ADT7316_AD_MSB_MASK GENMASK_U32(9, 2) =20 /* @@ -172,7 +172,7 @@ #define ID_ADT7517 0x12 #define ID_ADT7519 0x14 =20 -#define ID_FAMILY_MASK 0xF0 +#define ID_FAMILY_MASK GENMASK_U32(7, 4) #define ID_ADT73XX 0x0 #define ID_ADT75XX 0x10 =20 @@ -206,9 +206,9 @@ struct adt7316_chip_info { #define ADT7516_AIN2_INT_MASK 0x20 #define ADT7516_AIN3_INT_MASK 0x40 #define ADT7516_AIN4_INT_MASK 0x80 -#define ADT7316_VDD_INT_MASK 0x100 -#define ADT7316_TEMP_INT_MASK 0x1F -#define ADT7516_AIN_INT_MASK 0xE0 +#define ADT7316_VDD_INT_MASK BIT_U32(8) +#define ADT7316_TEMP_INT_MASK GENMASK_U32(4, 0) +#define ADT7516_AIN_INT_MASK GENMASK_U32(7, 5) #define ADT7316_TEMP_AIN_INT_MASK \ (ADT7316_TEMP_INT_MASK) =20 --=20 2.53.0