Czesc On Friday 16 January 2009 18:43, Bartlomiej Zolnierkiewicz wrote: > > +static const struct ide_port_info at91_ide_port_info __initdata = { > > + .port_ops = &at91_ide_port_ops, > > + .tp_ops = &at91_ide_tp_ops, > > + .host_flags = IDE_HFLAG_MMIO | IDE_HFLAG_NO_DMA | IDE_HFLAG_SINGLE, > > + .pio_mask = ATA_PIO6, > > +}; > > AFAICS IDE_HFLAG_NO_IO_32BIT should also be set here, > you may also want to set IDE_HFLAG_UNMASK_IRQS while at it I have some doubts about things pointed out by Alan - atomic access. Due to flipping 8/16 bit in this driver, all functions accessing task file and data register should do things atomically. If for example tp_ops->input_data() will be braked by interrupt and any other function accessing task file will be called very bad things can happen. If I use IDE_HFLAG_UNMASK_IRQS IDE layer will assure atomic access to ATA registers ? Stanislaw Gruszka -- 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