RTC_FLAGS
readb(ioaddr + RTC_FLAGS); /* clear interrupts */
if (readb(ioaddr + RTC_FLAGS) & RTC_FLAGS_AF) {
if (readb(ioaddr + RTC_FLAGS) & RTC_FLAGS_BLF)
flags = readb(pdata->ioaddr + RTC_FLAGS);
writeb(flags | RTC_READ, ioaddr + RTC_FLAGS);
writeb(flags & ~RTC_READ, ioaddr + RTC_FLAGS);
flags = readb(ioaddr + RTC_FLAGS);
writeb(flags | RTC_WRITE, ioaddr + RTC_FLAGS);
readb(ioaddr + RTC_FLAGS); /* clear interrupts */
writeb(flags & ~RTC_WRITE, ioaddr + RTC_FLAGS);
if (readb(ioaddr + RTC_FLAGS) & RTC_FLAGS_AF) {
flags = readb(ioaddr + RTC_FLAGS);
writeb(flags | RTC_WRITE, ioaddr + RTC_FLAGS);
writeb(flags & ~RTC_WRITE, ioaddr + RTC_FLAGS);
if (readb(ioaddr + RTC_FLAGS) & RTC_FLAGS_PF)
flags = readb(pdata->ioaddr + RTC_FLAGS);
writeb(flags | RTC_WRITE, pdata->ioaddr + RTC_FLAGS);
writeb(flags & ~RTC_WRITE, pdata->ioaddr + RTC_FLAGS);