
Dne Čt 24. června 2010 02:36:00 Marek Vasut napsal(a):
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
Any updates ?