
Dear Pavel Herrmann,
This changes input_data() and friends from static function to global symbols under weak alias, to enable board specific overrides (and therefore get rid of board-specific code in cmd_ide.c) Also declare ide_bus_offset in the header file, so other files can use ATA_CURR_BASE as well.
Signed-off-by: Pavel Herrmann morpheus.ibis@gmail.com
[...]
+void ide_input_swap_data(int dev, ulong *sect_buf, int words)
- __attribute__ ((weak, alias("__ide_input_swap_data")));
#include <linux/compiler.h>
__weak void ide_input_swap_data(int dev, ulong *sect_buf, int words) { ... body ... }
Works just fine ;-)
[...]
+/*
- I/O function overrides
- */
+void ide_input_swap_data(int dev, ulong *sect_buf, int words); +void ide_input_data(int dev, ulong *sect_buf, int words); +void ide_output_data(int dev, const ulong *sect_buf, int words); +void ide_input_data_shorts(int dev, ushort *sect_buf, int words); +void ide_output_data_shorts(int dev, ushort *sect_buf, int words);
Shorts ... you mean like pants ? :-p
I'd say it's supposed to be "short", like u16 ;-)
#endif /* _IDE_H */