On 5 February 2013 20:50, Linus Walleij <linus.wall...@stericsson.com> wrote:
> From: Linus Walleij <linus.wall...@linaro.org>
>
> The patch titled:
> "drivers/rtc/rtc-pl031.c: fix the missing operation on enable"
> accidentally broke the ST variants of PL031.
>
> The bit that is being poked as "clockwatch" enable bit
> for the ST variants does the work of bit 0 on this variant.
> Bit 0 is used for a clock divider on the ST variants, and
> setting it to 1 will affect timekeeping in a real bad way.
>
> Cc: Haojian Zhuang <haojian.zhu...@linaro.org>
> Cc: Mian Yousaf KAUKAB <mian.yousaf.kau...@stericsson.com>
> Cc: Srinidhi Kasagar <srinidhi.kasa...@stericsson.com>
> Cc: Alessandro Zummo <a.zu...@towertech.it>
> Cc: stable@vger.kernel.org
> Signed-off-by: Linus Walleij <linus.wall...@linaro.org>
> ---
>  drivers/rtc/rtc-pl031.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c
> index fe467c3..8900ea7 100644
> --- a/drivers/rtc/rtc-pl031.c
> +++ b/drivers/rtc/rtc-pl031.c
> @@ -350,7 +350,9 @@ static int pl031_probe(struct amba_device *adev, const 
> struct amba_id *id)
>         /* Enable the clockwatch on ST Variants */
>         if (vendor->clockwatch)
>                 data |= RTC_CR_CWEN;
> -       writel(data | RTC_CR_EN, ldata->base + RTC_CR);
> +       else
> +               data |= RTC_CR_EN;
> +       writel(data, ldata->base + RTC_CR);
>
>         /*
>          * On ST PL031 variants, the RTC reset value does not provide correct
> --
> 1.7.11.3
>

Acked-by: Haojian Zhuang <haojian.zhu...@gmail.com>
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to