diff options
| -rw-r--r-- | drivers/mtd/cfi_flash.c | 32 | 
1 files changed, 25 insertions, 7 deletions
| diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c index 24e9b9fa2..f10d5fea1 100644 --- a/drivers/mtd/cfi_flash.c +++ b/drivers/mtd/cfi_flash.c @@ -209,38 +209,38 @@ struct cfi_pri_hdr {  	u8	minor_version;  } __attribute__((packed)); -static void flash_write8(u8 value, void *addr) +static void __flash_write8(u8 value, void *addr)  {  	__raw_writeb(value, addr);  } -static void flash_write16(u16 value, void *addr) +static void __flash_write16(u16 value, void *addr)  {  	__raw_writew(value, addr);  } -static void flash_write32(u32 value, void *addr) +static void __flash_write32(u32 value, void *addr)  {  	__raw_writel(value, addr);  } -static void flash_write64(u64 value, void *addr) +static void __flash_write64(u64 value, void *addr)  {  	/* No architectures currently implement __raw_writeq() */  	*(volatile u64 *)addr = value;  } -static u8 flash_read8(void *addr) +static u8 __flash_read8(void *addr)  {  	return __raw_readb(addr);  } -static u16 flash_read16(void *addr) +static u16 __flash_read16(void *addr)  {  	return __raw_readw(addr);  } -static u32 flash_read32(void *addr) +static u32 __flash_read32(void *addr)  {  	return __raw_readl(addr);  } @@ -251,7 +251,25 @@ static u64 __flash_read64(void *addr)  	return *(volatile u64 *)addr;  } +#ifdef CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS +void flash_write8(u8 value, void *addr)__attribute__((weak, alias("__flash_write8"))); +void flash_write16(u16 value, void *addr)__attribute__((weak, alias("__flash_write16"))); +void flash_write32(u32 value, void *addr)__attribute__((weak, alias("__flash_write32"))); +void flash_write64(u64 value, void *addr)__attribute__((weak, alias("__flash_write64"))); +u8 flash_read8(void *addr)__attribute__((weak, alias("__flash_read8"))); +u16 flash_read16(void *addr)__attribute__((weak, alias("__flash_read16"))); +u32 flash_read32(void *addr)__attribute__((weak, alias("__flash_read32")));  u64 flash_read64(void *addr)__attribute__((weak, alias("__flash_read64"))); +#else +#define flash_write8	__flash_write8 +#define flash_write16	__flash_write16 +#define flash_write32	__flash_write32 +#define flash_write64	__flash_write64 +#define flash_read8	__flash_read8 +#define flash_read16	__flash_read16 +#define flash_read32	__flash_read32 +#define flash_read64	__flash_read64 +#endif  /*-----------------------------------------------------------------------   */ |