1/* 2 * Copyright �� 2001-2010 David Woodhouse <dwmw2@infradead.org> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 * 18 */ 19 20#include <asm/byteorder.h> 21 22#ifndef CONFIG_MTD_CFI_ADV_OPTIONS 23 24#define CFI_HOST_ENDIAN 25 26#else 27 28#ifdef CONFIG_MTD_CFI_NOSWAP 29#define CFI_HOST_ENDIAN 30#endif 31 32#ifdef CONFIG_MTD_CFI_LE_BYTE_SWAP 33#define CFI_LITTLE_ENDIAN 34#endif 35 36#ifdef CONFIG_MTD_CFI_BE_BYTE_SWAP 37#define CFI_BIG_ENDIAN 38#endif 39 40#endif 41 42#if defined(CFI_LITTLE_ENDIAN) 43#define cpu_to_cfi8(x) (x) 44#define cfi8_to_cpu(x) (x) 45#define cpu_to_cfi16(x) cpu_to_le16(x) 46#define cpu_to_cfi32(x) cpu_to_le32(x) 47#define cpu_to_cfi64(x) cpu_to_le64(x) 48#define cfi16_to_cpu(x) le16_to_cpu(x) 49#define cfi32_to_cpu(x) le32_to_cpu(x) 50#define cfi64_to_cpu(x) le64_to_cpu(x) 51#elif defined(CFI_BIG_ENDIAN) 52#define cpu_to_cfi8(x) (x) 53#define cfi8_to_cpu(x) (x) 54#define cpu_to_cfi16(x) cpu_to_be16(x) 55#define cpu_to_cfi32(x) cpu_to_be32(x) 56#define cpu_to_cfi64(x) cpu_to_be64(x) 57#define cfi16_to_cpu(x) be16_to_cpu(x) 58#define cfi32_to_cpu(x) be32_to_cpu(x) 59#define cfi64_to_cpu(x) be64_to_cpu(x) 60#elif defined(CFI_HOST_ENDIAN) 61#define cpu_to_cfi8(x) (x) 62#define cfi8_to_cpu(x) (x) 63#define cpu_to_cfi16(x) (x) 64#define cpu_to_cfi32(x) (x) 65#define cpu_to_cfi64(x) (x) 66#define cfi16_to_cpu(x) (x) 67#define cfi32_to_cpu(x) (x) 68#define cfi64_to_cpu(x) (x) 69#else 70#error No CFI endianness defined 71#endif 72