Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: tegra: fuse: use apbio dma for register access

Use the apbio dma functions for accessing the fuse registers.

Signed-off-by: Olof Johansson <olof@lixom.net>

+8 -12
+8 -12
arch/arm/mach-tegra/fuse.c
··· 23 23 #include <mach/iomap.h> 24 24 25 25 #include "fuse.h" 26 + #include "apbio.h" 26 27 27 28 #define FUSE_UID_LOW 0x108 28 29 #define FUSE_UID_HIGH 0x10c 29 30 #define FUSE_SKU_INFO 0x110 30 31 #define FUSE_SPARE_BIT 0x200 31 32 32 - static inline u32 fuse_readl(unsigned long offset) 33 + static inline u32 tegra_fuse_readl(unsigned long offset) 33 34 { 34 - return readl(IO_TO_VIRT(TEGRA_FUSE_BASE + offset)); 35 - } 36 - 37 - static inline void fuse_writel(u32 value, unsigned long offset) 38 - { 39 - writel(value, IO_TO_VIRT(TEGRA_FUSE_BASE + offset)); 35 + return tegra_apb_readl(TEGRA_FUSE_BASE + offset); 40 36 } 41 37 42 38 void tegra_init_fuse(void) ··· 50 54 { 51 55 unsigned long long lo, hi; 52 56 53 - lo = fuse_readl(FUSE_UID_LOW); 54 - hi = fuse_readl(FUSE_UID_HIGH); 57 + lo = tegra_fuse_readl(FUSE_UID_LOW); 58 + hi = tegra_fuse_readl(FUSE_UID_HIGH); 55 59 return (hi << 32ull) | lo; 56 60 } 57 61 58 62 int tegra_sku_id(void) 59 63 { 60 64 int sku_id; 61 - u32 reg = fuse_readl(FUSE_SKU_INFO); 65 + u32 reg = tegra_fuse_readl(FUSE_SKU_INFO); 62 66 sku_id = reg & 0xFF; 63 67 return sku_id; 64 68 } ··· 66 70 int tegra_cpu_process_id(void) 67 71 { 68 72 int cpu_process_id; 69 - u32 reg = fuse_readl(FUSE_SPARE_BIT); 73 + u32 reg = tegra_fuse_readl(FUSE_SPARE_BIT); 70 74 cpu_process_id = (reg >> 6) & 3; 71 75 return cpu_process_id; 72 76 } ··· 74 78 int tegra_core_process_id(void) 75 79 { 76 80 int core_process_id; 77 - u32 reg = fuse_readl(FUSE_SPARE_BIT); 81 + u32 reg = tegra_fuse_readl(FUSE_SPARE_BIT); 78 82 core_process_id = (reg >> 12) & 3; 79 83 return core_process_id; 80 84 }