Re: [PATCH v1 2/2] rtc: maxim: Add Maxim max31329 real time clock.

From: Krzysztof Kozlowski
Date: Mon Sep 05 2022 - 11:21:50 EST


On 04/09/2022 06:47, Jagath Jog J wrote:
> Add real time clock support for Maxim max31329 real time clock.
>
> Signed-off-by: Jagath Jog J <jagathjog1996@xxxxxxxxx>

Thank you for your patch. There is something to discuss/improve.

> + max31329->rtc->ops = &max31329_rtc_ops;
> + max31329->irq = client->irq;
> + max31329->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
> + max31329->rtc->range_max = RTC_TIMESTAMP_END_2199;
> + max31329->dev = &client->dev;
> +
> + if (max31329->irq) {
> + ret = devm_request_threaded_irq(&client->dev, max31329->irq,
> + NULL, max31329_irq_handler,
> + IRQF_TRIGGER_LOW | IRQF_ONESHOT,
> + "max31329", &client->dev);
> + if (ret) {
> + dev_err(&client->dev, "unable to request IRQ\n");
> + max31329->irq = 0;
> + return ret;
> + }
> +
> + ret = regmap_write(max31329->regmap, MAX31329_RTC_CONFIG2_REG,
> + MAX31329_RTC_CONFIG2_ENCLKO);
> + if (ret) {
> + dev_err(&client->dev, "unable to configure INT pin");
> + max31329->irq = 0;
> + return ret;
> + }
> +
> + device_set_wakeup_capable(&client->dev, true);

Probably you should rather respect wakeup-source DT property.

> + set_bit(RTC_FEATURE_ALARM, max31329->rtc->features);
> + }
> +
> + ret = devm_rtc_register_device(max31329->rtc);
> + if (ret)
> + return ret;
> +
> + max31329_trickle_config(&client->dev);
> +
> + nvmem_cfg.priv = max31329->regmap;
> + devm_rtc_nvmem_register(max31329->rtc, &nvmem_cfg);
> +
> +#ifdef CONFIG_COMMON_CLK
> + max31329_clkout_register_clk(max31329, client);
> +#endif
> +
> + return 0;
> +}
> +
> +static const struct of_device_id max31329_of_match[] = {
> + { .compatible = "maxim,max31329", },
> + { }
> +};
> +MODULE_DEVICE_TABLE(of, max31329_of_match);
> +
> +static struct i2c_driver max31329_driver = {
> + .driver = {
> + .name = "rtc-max31329",
> + .of_match_table = of_match_ptr(max31329_of_match),

of_match_ptr without maybe_unused on the table should cause compile test
warnings. You need both or none.


Best regards,
Krzysztof