
Dne St 23. Ĩervna 2010 22:51:28 Wolfgang Denk napsal(a):
Dear Marek Vasut,
In message 1277320683-2057-1-git-send-email-marek.vasut@gmail.com you wrote:
Signed-off-by: Marek Vasut marek.vasut@gmail.com
common/cmd_ide.c | 22 +++++++++++++--------- 1 files changed, 13 insertions(+), 9 deletions(-)
I don't see the big advantage of this patch yet.
It won't compile at least on ARM. Same case as with the dm9000 ethernet adapter.
#ifndef CONFIG_SYS_ATA_PORT_ADDR
@@ -526,7 +526,7 @@ __ide_outb(int dev, int port, unsigned char val)
{
debug ("ide_outb (dev= %d, port= 0x%x, val= 0x%02x) : @ 0x%08lx\n",
dev, port, val,
(ATA_CURR_BASE(dev)+CONFIG_SYS_ATA_PORT_ADDR(port)));
- outb(val, (ATA_CURR_BASE(dev)+CONFIG_SYS_ATA_PORT_ADDR(port)));
- writeb(val, (ATA_CURR_BASE(dev)+CONFIG_SYS_ATA_PORT_ADDR(port)));
So we replace outb() => writeb(), but the function where this is used is still __ide_outb() ?
The __ide_outb() => outb() mapping looks more logical to me.
See above.
-output_data(int dev, ulong *sect_buf, int words) +output_data(int dev, uint16_t *sect_buf, int words)
{
- outsw(ATA_CURR_BASE(dev)+ATA_DATA_REG, sect_buf, words<<1);
- int i;
- for (i = 0; i < (words << 1); i++)
writew(sect_buf[i], ATA_CURR_BASE(dev)+ATA_DATA_REG);
And here the code size is growing, too.
Possibly, I was unsure if there is some implementation of writesw/readsw elsewhere then on PPC.
What are the exact advantages of your version?
That it actually compiles and works on other architectures than ppc.
Best regards,
Wolfgang Denk
Cheers