Thread (2 messages) 2 messages, 2 authors, 2006-11-21

Re: [PATCH] drivers/ide: PATA driver for Celleb

flat view

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2006-11-21 11:02:00
Also in: linux-ide

quoted
We use a drivers/ide driver because its design is more suitable for
SCC IDE controller than libata driver. Since SCC supports only 32bit
read/write, we must override many callbacks of ata_port_operations
by modifying generic helpers. Each time the libata common code is
updated, we must update those modified helpers. It is very hard for us.
But we will try to implement the libata driver as needed.

This patch set is intended to be merged to 2.6.20.
If you have any comment, please write to me.
Care to post libata version (even if it's not complete)?  Let's work 
something out.
The main problem is error handling / reset code.

With the current libata, basically, you can only override the whole
thing pretty much at the toplevel. The problem is with things like
ata_std_prereset, ata_std_softreset and ata_std_postreset and callees.

We can either comletely re-implement them but that seems fairly dodgy to
me, or find a way to add hooks. At the end of the day, all they need is:

 - write to the control register
 - read & write of nsect_addr & lbal_addr

I wonder how much of these could be replaced by either a hook, or
taskfile accessors (possibly with a special flag).

Cheers,
Ben.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help