2020-05-08 05:56:13

by Biwen Li (OSS)

[permalink] [raw]
Subject: [PATCH 1/3] rtc: ds1374: add uie_unsupported property to drop warning

From: Biwen Li <[email protected]>

Add uie_unsupported property to drop warning as follows:
- $ hwclock.util-linux
hwclock.util-liux: select() /dev/rtc0
to wait for clock tick timed out

My case:
- RTC ds1374's INT pin is connected to VCC on T4240RDB,
then the RTC cannot inform cpu about the alarm
interrupt

Signed-off-by: Biwen Li <[email protected]>
---
drivers/rtc/rtc-ds1374.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/rtc/rtc-ds1374.c b/drivers/rtc/rtc-ds1374.c
index 9c51a12cf70f..e530e887a17e 100644
--- a/drivers/rtc/rtc-ds1374.c
+++ b/drivers/rtc/rtc-ds1374.c
@@ -651,6 +651,10 @@ static int ds1374_probe(struct i2c_client *client,
if (ret)
return ret;

+ if (of_property_read_bool(client->dev.of_node,
+ "uie_unsupported"))
+ ds1374->rtc->uie_unsupported = true;
+
#ifdef CONFIG_RTC_DRV_DS1374_WDT
save_client = client;
ret = misc_register(&ds1374_miscdev);
--
2.17.1


2020-05-08 05:57:05

by Biwen Li (OSS)

[permalink] [raw]
Subject: [PATCH 2/3] dts: ppc: t4240rdb: add uie_unsupported property to drop warning

From: Biwen Li <[email protected]>

This adds uie_unsupported property to drop warning as follows:
- $ hwclock.util-linux
hwclock.util-linux: select() to /dev/rtc0
to wait for clock tick timed out

My case:
- RTC ds1374's INT pin is connected to VCC on T4240RDB,
then the RTC cannot inform cpu about the alarm interrupt

Signed-off-by: Biwen Li <[email protected]>
---
arch/powerpc/boot/dts/fsl/t4240rdb.dts | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/boot/dts/fsl/t4240rdb.dts b/arch/powerpc/boot/dts/fsl/t4240rdb.dts
index a56a705d41f7..ccdd10202e56 100644
--- a/arch/powerpc/boot/dts/fsl/t4240rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/t4240rdb.dts
@@ -144,7 +144,11 @@
rtc@68 {
compatible = "dallas,ds1374";
reg = <0x68>;
- interrupts = <0x1 0x1 0 0>;
+ // The ds1374's INT pin isn't
+ // connected to cpu's INT pin,
+ // so the rtc cannot synchronize
+ // clock tick per second.
+ uie_unsupported;
};
};

--
2.17.1

2020-05-08 11:52:28

by Alexandre Belloni

[permalink] [raw]
Subject: Re: [PATCH 1/3] rtc: ds1374: add uie_unsupported property to drop warning

Hi,

On 08/05/2020 13:49:23+0800, Biwen Li wrote:
> From: Biwen Li <[email protected]>
>
> Add uie_unsupported property to drop warning as follows:
> - $ hwclock.util-linux
> hwclock.util-liux: select() /dev/rtc0
> to wait for clock tick timed out
>
> My case:
> - RTC ds1374's INT pin is connected to VCC on T4240RDB,
> then the RTC cannot inform cpu about the alarm
> interrupt
>
> Signed-off-by: Biwen Li <[email protected]>
> ---
> drivers/rtc/rtc-ds1374.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/rtc/rtc-ds1374.c b/drivers/rtc/rtc-ds1374.c
> index 9c51a12cf70f..e530e887a17e 100644
> --- a/drivers/rtc/rtc-ds1374.c
> +++ b/drivers/rtc/rtc-ds1374.c
> @@ -651,6 +651,10 @@ static int ds1374_probe(struct i2c_client *client,
> if (ret)
> return ret;
>
> + if (of_property_read_bool(client->dev.of_node,
> + "uie_unsupported"))
> + ds1374->rtc->uie_unsupported = true;
> +

This is not how this is supposed to work, either the RTC support uie or
don't, it is not board dependent and certainly doesn't require an
(undocumented) DT property.

> #ifdef CONFIG_RTC_DRV_DS1374_WDT
> save_client = client;
> ret = misc_register(&ds1374_miscdev);
> --
> 2.17.1
>

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

2020-05-08 11:55:51

by Alexandre Belloni

[permalink] [raw]
Subject: Re: [PATCH 2/3] dts: ppc: t4240rdb: add uie_unsupported property to drop warning

On 08/05/2020 13:49:24+0800, Biwen Li wrote:
> From: Biwen Li <[email protected]>
>
> This adds uie_unsupported property to drop warning as follows:
> - $ hwclock.util-linux
> hwclock.util-linux: select() to /dev/rtc0
> to wait for clock tick timed out
>
> My case:
> - RTC ds1374's INT pin is connected to VCC on T4240RDB,
> then the RTC cannot inform cpu about the alarm interrupt
>
> Signed-off-by: Biwen Li <[email protected]>
> ---
> arch/powerpc/boot/dts/fsl/t4240rdb.dts | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/boot/dts/fsl/t4240rdb.dts b/arch/powerpc/boot/dts/fsl/t4240rdb.dts
> index a56a705d41f7..ccdd10202e56 100644
> --- a/arch/powerpc/boot/dts/fsl/t4240rdb.dts
> +++ b/arch/powerpc/boot/dts/fsl/t4240rdb.dts
> @@ -144,7 +144,11 @@
> rtc@68 {
> compatible = "dallas,ds1374";
> reg = <0x68>;
> - interrupts = <0x1 0x1 0 0>;

removing the interrupt should be enough to solve your issue

> + // The ds1374's INT pin isn't
> + // connected to cpu's INT pin,
> + // so the rtc cannot synchronize
> + // clock tick per second.
> + uie_unsupported;
> };
> };
>
> --
> 2.17.1
>

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

2020-05-08 12:01:04

by Biwen Li (OSS)

[permalink] [raw]
Subject: RE: [PATCH 1/3] rtc: ds1374: add uie_unsupported property to drop warning

>
> Hi,
>
> On 08/05/2020 13:49:23+0800, Biwen Li wrote:
> > From: Biwen Li <[email protected]>
> >
> > Add uie_unsupported property to drop warning as follows:
> > - $ hwclock.util-linux
> > hwclock.util-liux: select() /dev/rtc0
> > to wait for clock tick timed out
> >
> > My case:
> > - RTC ds1374's INT pin is connected to VCC on T4240RDB,
> > then the RTC cannot inform cpu about the alarm
> > interrupt
> >
> > Signed-off-by: Biwen Li <[email protected]>
> > ---
> > drivers/rtc/rtc-ds1374.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/drivers/rtc/rtc-ds1374.c b/drivers/rtc/rtc-ds1374.c index
> > 9c51a12cf70f..e530e887a17e 100644
> > --- a/drivers/rtc/rtc-ds1374.c
> > +++ b/drivers/rtc/rtc-ds1374.c
> > @@ -651,6 +651,10 @@ static int ds1374_probe(struct i2c_client *client,
> > if (ret)
> > return ret;
> >
> > + if (of_property_read_bool(client->dev.of_node,
> > + "uie_unsupported"))
> > + ds1374->rtc->uie_unsupported = true;
> > +
>
> This is not how this is supposed to work, either the RTC support uie or don't, it is
> not board dependent and certainly doesn't require an
> (undocumented) DT property.
Okay, got it. Thanks.
>
> > #ifdef CONFIG_RTC_DRV_DS1374_WDT
> > save_client = client;
> > ret = misc_register(&ds1374_miscdev);
> > --
> > 2.17.1
> >
>
> --
> Alexandre Belloni, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

2020-05-08 12:01:41

by Biwen Li (OSS)

[permalink] [raw]
Subject: RE: [PATCH 2/3] dts: ppc: t4240rdb: add uie_unsupported property to drop warning

>
> On 08/05/2020 13:49:24+0800, Biwen Li wrote:
> > From: Biwen Li <[email protected]>
> >
> > This adds uie_unsupported property to drop warning as follows:
> > - $ hwclock.util-linux
> > hwclock.util-linux: select() to /dev/rtc0
> > to wait for clock tick timed out
> >
> > My case:
> > - RTC ds1374's INT pin is connected to VCC on T4240RDB,
> > then the RTC cannot inform cpu about the alarm interrupt
> >
> > Signed-off-by: Biwen Li <[email protected]>
> > ---
> > arch/powerpc/boot/dts/fsl/t4240rdb.dts | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/powerpc/boot/dts/fsl/t4240rdb.dts
> b/arch/powerpc/boot/dts/fsl/t4240rdb.dts
> > index a56a705d41f7..ccdd10202e56 100644
> > --- a/arch/powerpc/boot/dts/fsl/t4240rdb.dts
> > +++ b/arch/powerpc/boot/dts/fsl/t4240rdb.dts
> > @@ -144,7 +144,11 @@
> > rtc@68 {
> > compatible = "dallas,ds1374";
> > reg = <0x68>;
> > - interrupts = <0x1 0x1 0 0>;
>
> removing the interrupt should be enough to solve your issue
Okay, got it. Thanks.
>
> > + // The ds1374's INT pin isn't
> > + // connected to cpu's INT pin,
> > + // so the rtc cannot synchronize
> > + // clock tick per second.
> > + uie_unsupported;
> > };
> > };
> >
> > --
> > 2.17.1
> >
>
> --
> Alexandre Belloni, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com