split AU1X00 specific code from cmd_ide.c

move special case of ide_swap_read() for AU1X00 SoC into SoC-specific directory.

Signed-off-by: Pavel Herrmann <morpheus.ibis@gmail.com>
master
Pavel Herrmann 12 years ago committed by Tom Rini
parent 0a4a64c079
commit 4d1361d867
  1. 2
      arch/mips/cpu/mips32/au1x00/Makefile
  2. 32
      arch/mips/cpu/mips32/au1x00/au1x00_ide.c
  3. 5
      common/cmd_ide.c

@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(SOC).o
COBJS = au1x00_eth.o au1x00_serial.o au1x00_usb_ohci.o
COBJS = au1x00_eth.o au1x00_serial.o au1x00_usb_ohci.o au1x00_ide.o
SRCS := $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS))

@ -0,0 +1,32 @@
/*
* (C) Copyright 2000-2011
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*/
#include <common.h>
#include <ide.h>
/* AU1X00 swaps data in big-endian mode, enforce little-endian function */
void ide_input_swap_data(int dev, ulong *sect_buf, int words)
{
ide_input_data(dev, sect_buf, words);
}

@ -503,8 +503,7 @@ void ide_output_data(int dev, const ulong *sect_buf, int words)
__attribute__ ((weak, alias("__ide_output_data")));
/* We only need to swap data if we are running on a big endian cpu. */
/* But Au1x00 cpu:s already swaps data in big endian mode! */
#if defined(__LITTLE_ENDIAN) || defined(CONFIG_SOC_AU1X00)
#if defined(__LITTLE_ENDIAN)
void __ide_input_swap_data(int dev, ulong *sect_buf, int words)
{
ide_input_data(dev, sect_buf, words);
@ -532,7 +531,7 @@ void __ide_input_swap_data(int dev, ulong *sect_buf, int words)
#endif /* !MIPS */
}
}
#endif /* __LITTLE_ENDIAN || CONFIG_AU1X00 */
#endif /* __LITTLE_ENDIAN */
#if defined(CONFIG_IDE_SWAP_IO)

Loading…
Cancel
Save