On Sun, 3 Aug 2008 19:41:40 +0200 (CEST), Thomas Bogendoerfer
<tsbogend@alpha.franken.de> wrote:
> This driver replaces the broken ip27-rtc driver in drivers/char and
> gives back RTC support for SGI IP27 machines.
...
> +config RTC_DRV_M48T35
> + tristate "ST M48T35"
> + depends on SGI_IP27
Is this driver really IP27 specific? Let's make drivers generic as
possible.
> + if (yrs < 1970)
> + return -EINVAL;
> +
> + leap_yr = ((!(yrs % 4) && (yrs % 100)) || !(yrs % 400));
> +
> + if ((mon > 12) || (day == 0))
> + return -EINVAL;
> +
> + if (day > (days_in_mo[mon] + ((mon == 2) && leap_yr)))
> + return -EINVAL;
> +
> + if ((hrs >= 24) || (min >= 60) || (sec >= 60))
> + return -EINVAL;
rtc_valid_tm() can be used?
> + if (!request_mem_region(res->start, priv->size, pdev->name)) {
> + ret = -EBUSY;
> + goto out;
> + }
> + priv->baseaddr = res->start;
> + priv->reg = (struct m48t35_rtc __iomem *)res->start;
It seems priv->baseaddr is a physical address and priv->reg is a
virtual address. ioremap() is not needed?
---
Atsushi Nemoto
|