On 8/16/07, Jeff Garzik <jeff@xxxxxxxxxx> wrote: > Sonic Zhang wrote: > > +static void bfin_set_piomode(struct ata_port *ap, struct ata_device *adev) > > +{ > > + int mode = adev->pio_mode - XFER_PIO_0; > > + unsigned long base = (unsigned long)ap->ioaddr.ctl_addr; > > > (added Bryan Wu to CC) > > Someone needs to need fix the bfin architecture: the addresses on the > bfin_read/bfin_write functions should be 'void __iomem *' not unsigned long. there are no address pointers anymore, so there is nothing to cast ... the bfin_read/bfin_write macros are done in sexy asm: #define bfin_write8(addr,val) __asm__ __volatile__("b[%0] = %1;" :: "a"(addr), "d"(val)) or i'm misunderstanding what you mean ... where do you see (unsigned long) ? -mike - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html