On 5 February 2013 20:50, Linus Walleij <[email protected]> wrote: > From: Linus Walleij <[email protected]> > > 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 <[email protected]> > Cc: Mian Yousaf KAUKAB <[email protected]> > Cc: Srinidhi Kasagar <[email protected]> > Cc: Alessandro Zummo <[email protected]> > Cc: [email protected] > Signed-off-by: Linus Walleij <[email protected]> > --- > 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 <[email protected]> -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
