Re: [PATCH V4]ARM: NUC900: add RTC driver support for nuc910 andnuc920

From: Andrew Morton
Date: Mon Nov 30 2009 - 17:24:04 EST


On Sun, 29 Nov 2009 20:37:23 +0800
Wan ZongShun <mcuos.com@xxxxxxxxx> wrote:

> Dear Alessandro,
>
> I fixed this patch and submitted it again.
>
> thanks!
>
> signed-off-by: Wan ZongShun <mcuos.com@xxxxxxxxx>

That's not a terribly useful changelog.

>
> ...
>
> +static void check_rtc_power(struct nuc900_rtc *nuc900_rtc)
> +{
> + unsigned int i;
> + __raw_writel(INIRRESET, nuc900_rtc->rtc_reg + REG_RTC_INIR);
> +
> + mdelay(10);
> +
> + __raw_writel(AERPOWERON, nuc900_rtc->rtc_reg + REG_RTC_AER);
> +
> + for (i = 0; i < 1000000; i++) {
> + if (__raw_readl(nuc900_rtc->rtc_reg + REG_RTC_AER) & AERRWENB)
> + break;
> + }
> +}

I don't like that function much.

- It's not obvious what it actually does (I don't know), so it should
have some comment explaining this.

- It's called "check_rtc_power", but it doesn't actually "check"
anything.

- If that enormously expensive loop times out, the function will not
inform the caller of this, so it will be called again and again and
will continue to be enormously expensive.

>
> ...
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/