lkml.org 
[lkml]   [2023]   [Oct]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3 2/2] rtc: max31335: add driver support
From
On 10/31/23 08:30, Antoniu Miclaus wrote:
> RTC driver for MAX31335 ±2ppm Automotive Real-Time Clock with
> Integrated MEMS Resonator.
>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> ---
> changes in v3:
> - drop MAX31335_STATUS1 register check inside probe function.
> drivers/rtc/Kconfig | 11 +
> drivers/rtc/Makefile | 1 +
> drivers/rtc/rtc-max31335.c | 765 +++++++++++++++++++++++++++++++++++++
> 3 files changed, 777 insertions(+)
> create mode 100644 drivers/rtc/rtc-max31335.c
>
> diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
> index d7502433c78a..11c7d7fe1e85 100644
> --- a/drivers/rtc/Kconfig
> +++ b/drivers/rtc/Kconfig
> @@ -373,6 +373,17 @@ config RTC_DRV_MAX8997
> This driver can also be built as a module. If so, the module
> will be called rtc-max8997.
>
> +config RTC_DRV_MAX31335
> + tristate "Analog Devices MAX31335"
> + depends on I2C
> + select REGMAP_I2C
> + help
> + If you say yes here you get support for the Analog Devices
> + MAX31335.
> +
> + This driver can also be built as a module. If so, the module
> + will be called rtc-max31335.
> +

Just out of curiosity, is this an unreleased chip ? I only find
MAX311331 and MAX31334 on the Analog website, but the register
map for those is different, and they don't support reporting
the chip temperature.

[ ... ]

> +
> +static const struct hwmon_channel_info *max31335_info[] = {
> + HWMON_CHANNEL_INFO(temp, HWMON_T_INPUT),

According to the register map above, the chip does support
low and high temperature limits as well as over- and undertemperature
alarms and interrupts. I would suggest to add support for all of those.
You might also consider adding support for temperature alarm interrupts
and report temperature alarm events by calling hwmon_notify_event()
if a thermal event occurs.

[ ... ]

> +
> + hwmon = devm_hwmon_device_register_with_info(&client->dev, client->name,
> + max31335,
> + &max31335_chip_info,
> + NULL);

There is no "depends on HWMON" in the Kconfig entry, meaning this will fail
to compile if HWMON=n or if HWMON=m and RTC_DRV_MAX31335=y.

Guenter

\
 
 \ /
  Last update: 2023-10-31 17:01    [W:0.474 / U:0.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site