linux-rtc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: "Daniel González Cabanelas" <dgcbueu@gmail.com>
Cc: a.zummo@towertech.it, linux-rtc@vger.kernel.org
Subject: Re: [PATCH 2/2] rtc: rs5c372: let the alarm to be used as wakeup source
Date: Tue, 12 Jan 2021 23:44:20 +0100	[thread overview]
Message-ID: <20210112224420.GL3654@piout.net> (raw)
In-Reply-To: <2324307.0LpMOBvr9T@tool>

On 23/11/2020 11:38:48+0100, Daniel González Cabanelas wrote:
> Currently there is no use for the interrupts on the rs5c372 RTC and the
> wakealarm isn't enabled. There are some devices like NAS which use this
> RTC to wake up from the power off state when the INTR pin is activated by
> the alarm clock.
> 
> Enable the alarm and let to be used as a wakeup source. Tested on a Buffalo
> LS421DE NAS.
> 
> Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
> ---
>  drivers/rtc/rtc-rs5c372.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/drivers/rtc/rtc-rs5c372.c b/drivers/rtc/rtc-rs5c372.c
> index 94b778c6e..76775d66e 100644
> --- a/drivers/rtc/rtc-rs5c372.c
> +++ b/drivers/rtc/rtc-rs5c372.c
> @@ -654,6 +654,7 @@ static int rs5c372_probe(struct i2c_client *client,
>  	int err = 0;
>  	int smbus_mode = 0;
>  	struct rs5c372 *rs5c372;
> +	bool rs5c372_can_wakeup_device = false;
>  
>  	dev_dbg(&client->dev, "%s\n", __func__);
>  
> @@ -689,6 +690,12 @@ static int rs5c372_probe(struct i2c_client *client,
>  	else
>  		rs5c372->type = id->driver_data;
>  
> +#ifdef CONFIG_OF

I don't think you need to protect this section

> +	if(of_property_read_bool(client->dev.of_node,

but you'll have to check client->dev.of_node is not null.

> +					      "wakeup-source"))
> +		rs5c372_can_wakeup_device = true;
> +#endif
> +
>  	/* we read registers 0x0f then 0x00-0x0f; skip the first one */
>  	rs5c372->regs = &rs5c372->buf[1];
>  	rs5c372->smbus = smbus_mode;
> @@ -722,6 +729,8 @@ static int rs5c372_probe(struct i2c_client *client,
>  		goto exit;
>  	}
>  
> +	rs5c372->has_irq = 1;
> +
This is an unrelated change but is this actually useful? I guess you
should simply remove has_irq.

>  	/* if the oscillator lost power and no other software (like
>  	 * the bootloader) set it up, do it here.
>  	 *
> @@ -748,6 +757,10 @@ static int rs5c372_probe(struct i2c_client *client,
>  			);
>  
>  	/* REVISIT use client->irq to register alarm irq ... */
> +	if (rs5c372_can_wakeup_device) {
> +		device_init_wakeup(&client->dev, true);
> +	}
> +
>  	rs5c372->rtc = devm_rtc_device_register(&client->dev,
>  					rs5c372_driver.driver.name,
>  					&rs5c372_rtc_ops, THIS_MODULE);
> @@ -761,6 +774,9 @@ static int rs5c372_probe(struct i2c_client *client,
>  	if (err)
>  		goto exit;
>  
> +	/* the rs5c372 alarm only supports a minute accuracy */
> +	rs5c372->rtc->uie_unsupported = 1;
> +

Honestly, the whole driver would need some modernization so if you have
time to test, I can propose a set of patches.


-- 
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2021-01-12 22:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-23 10:38 [PATCH 2/2] rtc: rs5c372: let the alarm to be used as wakeup source Daniel González Cabanelas
2021-01-12 22:44 ` Alexandre Belloni [this message]
2021-03-08 11:38   ` Daniel González Cabanelas

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=20210112224420.GL3654@piout.net \
    --to=alexandre.belloni@bootlin.com \
    --cc=a.zummo@towertech.it \
    --cc=dgcbueu@gmail.com \
    --cc=linux-rtc@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;
as well as URLs for NNTP newsgroup(s).