> Actually, an even stronger reason to use an abstraction is the > fact that this is not really a PCI device and you therefore > don't use readl/writel, but rather in_be32/out_be32. > > If you think the code gets better by using the low-level calls, > then it would be good if you also do the patch to implement them. > > My feeling about your driver is that the amount of code duplication > is far too much, and it should better be based on generalizing the > existing libata code to deal with whatever you need to handle > differently. I've been having a quick look at it since at least another driver has a similar issue (needing to replace the taskfile accessors for individual register accesses). Right now, you can only re-implement the whole reset handling, you can't have it just use different register accessors. I think that's a waste. Best way might be to have a hook for individual register access... the reset code basically needs the control register and the LBA for the signature (and status but there's already a hook for it). Ben. - 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