X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fpowerpc%2Fplatforms%2Fpowermac%2Fnvram.c;fp=arch%2Fpowerpc%2Fplatforms%2Fpowermac%2Fnvram.c;h=3ebd045a335048a954cc401bd9dc135df0473103;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=692945c149194e77914318f71a9f8240567664d8;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/arch/powerpc/platforms/powermac/nvram.c b/arch/powerpc/platforms/powermac/nvram.c index 692945c14..3ebd045a3 100644 --- a/arch/powerpc/platforms/powermac/nvram.c +++ b/arch/powerpc/platforms/powermac/nvram.c @@ -1,4 +1,6 @@ /* + * arch/ppc/platforms/pmac_nvram.c + * * Copyright (C) 2002 Benjamin Herrenschmidt (benh@kernel.crashing.org) * * This program is free software; you can redistribute it and/or @@ -8,6 +10,7 @@ * * Todo: - add support for the OF persistent properties */ +#include #include #include #include @@ -29,8 +32,6 @@ #include #include -#include "pmac.h" - #define DEBUG #ifdef DEBUG @@ -75,13 +76,16 @@ struct core99_header { * Read and write the non-volatile RAM on PowerMacs and CHRP machines. */ static int nvram_naddrs; -static volatile unsigned char __iomem *nvram_data; +static volatile unsigned char *nvram_data; static int is_core_99; static int core99_bank = 0; static int nvram_partitions[3]; // XXX Turn that into a sem static DEFINE_SPINLOCK(nv_lock); +extern int pmac_newworld; +extern int system_running; + static int (*core99_write_bank)(int bank, u8* datas); static int (*core99_erase_bank)(int bank); @@ -146,7 +150,7 @@ static ssize_t core99_nvram_size(void) } #ifdef CONFIG_PPC32 -static volatile unsigned char __iomem *nvram_addr; +static volatile unsigned char *nvram_addr; static int nvram_mult; static unsigned char direct_nvram_read_byte(int addr) @@ -195,7 +199,7 @@ static void pmu_nvram_complete(struct adb_request *req) static unsigned char pmu_nvram_read_byte(int addr) { struct adb_request req; - DECLARE_COMPLETION_ONSTACK(req_complete); + DECLARE_COMPLETION(req_complete); req.arg = system_state == SYSTEM_RUNNING ? &req_complete : NULL; if (pmu_request(&req, pmu_nvram_complete, 3, PMU_READ_NVRAM, @@ -211,7 +215,7 @@ static unsigned char pmu_nvram_read_byte(int addr) static void pmu_nvram_write_byte(int addr, unsigned char val) { struct adb_request req; - DECLARE_COMPLETION_ONSTACK(req_complete); + DECLARE_COMPLETION(req_complete); req.arg = system_state == SYSTEM_RUNNING ? &req_complete : NULL; if (pmu_request(&req, pmu_nvram_complete, 4, PMU_WRITE_NVRAM, @@ -283,7 +287,7 @@ static int sm_erase_bank(int bank) int stat, i; unsigned long timeout; - u8 __iomem *base = (u8 __iomem *)nvram_data + core99_bank*NVRAM_SIZE; + u8* base = (u8 *)nvram_data + core99_bank*NVRAM_SIZE; DBG("nvram: Sharp/Micron Erasing bank %d...\n", bank); @@ -315,7 +319,7 @@ static int sm_write_bank(int bank, u8* datas) int i, stat = 0; unsigned long timeout; - u8 __iomem *base = (u8 __iomem *)nvram_data + core99_bank*NVRAM_SIZE; + u8* base = (u8 *)nvram_data + core99_bank*NVRAM_SIZE; DBG("nvram: Sharp/Micron Writing bank %d...\n", bank); @@ -350,7 +354,7 @@ static int amd_erase_bank(int bank) int i, stat = 0; unsigned long timeout; - u8 __iomem *base = (u8 __iomem *)nvram_data + core99_bank*NVRAM_SIZE; + u8* base = (u8 *)nvram_data + core99_bank*NVRAM_SIZE; DBG("nvram: AMD Erasing bank %d...\n", bank); @@ -397,7 +401,7 @@ static int amd_write_bank(int bank, u8* datas) int i, stat = 0; unsigned long timeout; - u8 __iomem *base = (u8 __iomem *)nvram_data + core99_bank*NVRAM_SIZE; + u8* base = (u8 *)nvram_data + core99_bank*NVRAM_SIZE; DBG("nvram: AMD Writing bank %d...\n", bank); @@ -595,7 +599,7 @@ int __init pmac_nvram_init(void) } #ifdef CONFIG_PPC32 - if (machine_is(chrp) && nvram_naddrs == 1) { + if (_machine == _MACH_chrp && nvram_naddrs == 1) { nvram_data = ioremap(r1.start, s1); nvram_mult = 1; ppc_md.nvram_read_val = direct_nvram_read_byte;