[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3ad3fb30-d56f-78be-610d-a02c9609ba42@linaro.org>
Date: Mon, 5 Sep 2022 17:20:47 +0200
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: Jagath Jog J <jagathjog1996@...il.com>,
alexandre.belloni@...tlin.com, a.zummo@...ertech.it,
robh+dt@...nel.org, krzysztof.kozlowski+dt@...aro.org
Cc: linux-rtc@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org
Subject: Re: [PATCH v1 2/2] rtc: maxim: Add Maxim max31329 real time clock.
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@...il.com>
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
Powered by blists - more mailing lists