From: Guenter Roeck <linux@roeck-us.net>
To: Hardware Monitoring <linux-hwmon@vger.kernel.org>
Cc: Guenter Roeck <linux@roeck-us.net>
Subject: [PATCH 5/6] hwmon: (lm95234) Add support for tempX_enable attribute
Date: Wed, 17 Jul 2024 20:39:34 -0700 [thread overview]
Message-ID: <20240718033935.205185-6-linux@roeck-us.net> (raw)
In-Reply-To: <20240718033935.205185-1-linux@roeck-us.net>
LM95233/LM95234 support enabling temperature channels one by one.
Add support for tempX_enable attribute to be able to use that
functionality.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
drivers/hwmon/lm95234.c | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/drivers/hwmon/lm95234.c b/drivers/hwmon/lm95234.c
index 1a164f47fb3e..f0df1134f811 100644
--- a/drivers/hwmon/lm95234.c
+++ b/drivers/hwmon/lm95234.c
@@ -144,6 +144,11 @@ static int lm95234_temp_write(struct device *dev, u32 attr, int channel, long va
struct regmap *regmap = data->regmap;
switch (attr) {
+ case hwmon_temp_enable:
+ if (val && val != 1)
+ return -EINVAL;
+ return regmap_update_bits(regmap, LM95234_REG_ENABLE,
+ BIT(channel), val ? BIT(channel) : 0);
case hwmon_temp_type:
if (val != 1 && val != 2)
return -EINVAL;
@@ -183,6 +188,12 @@ static int lm95234_temp_read(struct device *dev, u32 attr, int channel, long *va
int ret;
switch (attr) {
+ case hwmon_temp_enable:
+ ret = regmap_read(regmap, LM95234_REG_ENABLE, ®val);
+ if (ret)
+ return ret;
+ *val = !!(regval & BIT(channel));
+ break;
case hwmon_temp_input:
return lm95234_read_temp(regmap, channel, val);
case hwmon_temp_max_alarm:
@@ -331,6 +342,7 @@ static umode_t lm95234_is_visible(const void *_data, enum hwmon_sensor_types typ
case hwmon_temp_fault:
return channel ? 0444 : 0;
case hwmon_temp_max:
+ case hwmon_temp_enable:
return 0644;
case hwmon_temp_max_hyst:
return channel ? 0444 : 0644;
@@ -350,21 +362,21 @@ static const struct hwmon_channel_info * const lm95234_info[] = {
HWMON_CHANNEL_INFO(chip, HWMON_C_UPDATE_INTERVAL),
HWMON_CHANNEL_INFO(temp,
HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST |
- HWMON_T_MAX_ALARM,
+ HWMON_T_MAX_ALARM | HWMON_T_ENABLE,
HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST |
HWMON_T_MAX_ALARM | HWMON_T_FAULT | HWMON_T_TYPE |
HWMON_T_CRIT | HWMON_T_CRIT_HYST |
- HWMON_T_CRIT_ALARM | HWMON_T_OFFSET,
+ HWMON_T_CRIT_ALARM | HWMON_T_OFFSET | HWMON_T_ENABLE,
HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST |
HWMON_T_MAX_ALARM | HWMON_T_FAULT | HWMON_T_TYPE |
HWMON_T_CRIT | HWMON_T_CRIT_HYST |
- HWMON_T_CRIT_ALARM | HWMON_T_OFFSET,
+ HWMON_T_CRIT_ALARM | HWMON_T_OFFSET | HWMON_T_ENABLE,
HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST |
HWMON_T_MAX_ALARM | HWMON_T_FAULT | HWMON_T_TYPE |
- HWMON_T_OFFSET,
+ HWMON_T_OFFSET | HWMON_T_ENABLE,
HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST |
HWMON_T_MAX_ALARM | HWMON_T_FAULT | HWMON_T_TYPE |
- HWMON_T_OFFSET),
+ HWMON_T_OFFSET | HWMON_T_ENABLE),
NULL
};
--
2.39.2
next prev parent reply other threads:[~2024-07-18 3:39 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-18 3:39 [PATCH 0/6] hwmon: (lm9534) Various improvements Guenter Roeck
2024-07-18 3:39 ` [PATCH 1/6] hwmon: (lm95234) Reorder include files to be in alphabetic order Guenter Roeck
2024-07-18 16:39 ` Tzung-Bi Shih
2024-07-18 3:39 ` [PATCH 2/6] hwmon: (lm95234) Use find_closest to find matching update interval Guenter Roeck
2024-07-18 16:39 ` Tzung-Bi Shih
2024-07-18 17:48 ` Guenter Roeck
2024-07-18 17:53 ` Guenter Roeck
2024-07-19 0:52 ` Tzung-Bi Shih
2024-07-18 3:39 ` [PATCH 3/6] hwmon: (lm95234) Convert to use regmap Guenter Roeck
2024-07-18 16:40 ` Tzung-Bi Shih
2024-07-18 3:39 ` [PATCH 4/6] hwmon: (lm95234) Convert to with_info hwmon API Guenter Roeck
2024-07-18 16:40 ` Tzung-Bi Shih
2024-07-18 17:47 ` Guenter Roeck
2024-07-19 0:52 ` Tzung-Bi Shih
2024-07-19 1:55 ` Guenter Roeck
2024-07-18 3:39 ` Guenter Roeck [this message]
2024-07-18 16:40 ` [PATCH 5/6] hwmon: (lm95234) Add support for tempX_enable attribute Tzung-Bi Shih
2024-07-18 3:39 ` [PATCH 6/6] hwmon: (lm95234) Use multi-byte regmap operations Guenter Roeck
2024-07-18 16:40 ` Tzung-Bi Shih
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240718033935.205185-6-linux@roeck-us.net \
--to=linux@roeck-us.net \
--cc=linux-hwmon@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox