diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-15 16:30:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-15 16:30:35 -0400 |
commit | 43d39ae0cf8f891c35e8316948229c7cbffa3994 (patch) | |
tree | c8af6999a9327c8b9bbc7384efe8f52f851ff3d8 /arch | |
parent | 63bd8c48e04bbbc9cee3d752857914609d8d406f (diff) | |
parent | 84284d3c1d6372bc9ab496607661d230d9c45de4 (diff) |
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (35 commits)
xen-netfront: rearrange netfront structure to separate tx and rx
netdev: convert non-obvious instances to use ARRAY_SIZE()
ucc_geth: Fix build break introduced by commit 09f75cd7bf13720738e6a196cc0107ce9a5bd5a0
gianfar: Fix regression caused by new napi interface
gianfar: Cleanup compile warning caused by 0795af57
gianfar: Fix compile regression caused by bea3348e
add new prom.h for AU1x00
update AU1000 get_ethernet_addr()
MIPSsim: General cleanup
Jazzsonic: Fix warning about unused variable.
Remove msic_dcr_read() in axon_msi.c
Use dcr_host_t.base in dcr_unmap()
Add dcr_host_t.base in dcr_read()/dcr_write()
Use dcr_host_t.base in ibm_emac_mal
Update ibm_newemac to use dcr_host_t.base
tehuti: possible leak in bdx_probe
TC35815: Fix build
SAA9730: Fix build
AR7 ethernet
myri10ge: update driver version to 1.3.2-1.287
...
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/au1000/common/prom.c | 61 | ||||
-rw-r--r-- | arch/mips/au1000/common/setup.c | 5 | ||||
-rw-r--r-- | arch/mips/au1000/db1x00/init.c | 10 | ||||
-rw-r--r-- | arch/mips/au1000/mtx-1/init.c | 6 | ||||
-rw-r--r-- | arch/mips/au1000/pb1000/init.c | 10 | ||||
-rw-r--r-- | arch/mips/au1000/pb1100/init.c | 10 | ||||
-rw-r--r-- | arch/mips/au1000/pb1200/board_setup.c | 6 | ||||
-rw-r--r-- | arch/mips/au1000/pb1200/init.c | 10 | ||||
-rw-r--r-- | arch/mips/au1000/pb1500/init.c | 10 | ||||
-rw-r--r-- | arch/mips/au1000/pb1550/init.c | 10 | ||||
-rw-r--r-- | arch/mips/au1000/xxs1500/init.c | 10 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/axon_msi.c | 11 | ||||
-rw-r--r-- | arch/powerpc/sysdev/dcr.c | 4 | ||||
-rw-r--r-- | arch/powerpc/sysdev/mpic.c | 4 |
14 files changed, 70 insertions, 97 deletions
diff --git a/arch/mips/au1000/common/prom.c b/arch/mips/au1000/common/prom.c index a8637cdb5b4b..90d70695aa60 100644 --- a/arch/mips/au1000/common/prom.c +++ b/arch/mips/au1000/common/prom.c | |||
@@ -33,7 +33,6 @@ | |||
33 | * with this program; if not, write to the Free Software Foundation, Inc., | 33 | * with this program; if not, write to the Free Software Foundation, Inc., |
34 | * 675 Mass Ave, Cambridge, MA 02139, USA. | 34 | * 675 Mass Ave, Cambridge, MA 02139, USA. |
35 | */ | 35 | */ |
36 | |||
37 | #include <linux/module.h> | 36 | #include <linux/module.h> |
38 | #include <linux/kernel.h> | 37 | #include <linux/kernel.h> |
39 | #include <linux/init.h> | 38 | #include <linux/init.h> |
@@ -41,18 +40,16 @@ | |||
41 | 40 | ||
42 | #include <asm/bootinfo.h> | 41 | #include <asm/bootinfo.h> |
43 | 42 | ||
44 | /* #define DEBUG_CMDLINE */ | 43 | int prom_argc; |
45 | 44 | char **prom_argv; | |
46 | extern int prom_argc; | 45 | char **prom_envp; |
47 | extern char **prom_argv, **prom_envp; | ||
48 | |||
49 | 46 | ||
50 | char * __init_or_module prom_getcmdline(void) | 47 | char * __init_or_module prom_getcmdline(void) |
51 | { | 48 | { |
52 | return &(arcs_cmdline[0]); | 49 | return &(arcs_cmdline[0]); |
53 | } | 50 | } |
54 | 51 | ||
55 | void prom_init_cmdline(void) | 52 | void prom_init_cmdline(void) |
56 | { | 53 | { |
57 | char *cp; | 54 | char *cp; |
58 | int actr; | 55 | int actr; |
@@ -61,7 +58,7 @@ void prom_init_cmdline(void) | |||
61 | 58 | ||
62 | cp = &(arcs_cmdline[0]); | 59 | cp = &(arcs_cmdline[0]); |
63 | while(actr < prom_argc) { | 60 | while(actr < prom_argc) { |
64 | strcpy(cp, prom_argv[actr]); | 61 | strcpy(cp, prom_argv[actr]); |
65 | cp += strlen(prom_argv[actr]); | 62 | cp += strlen(prom_argv[actr]); |
66 | *cp++ = ' '; | 63 | *cp++ = ' '; |
67 | actr++; | 64 | actr++; |
@@ -70,10 +67,8 @@ void prom_init_cmdline(void) | |||
70 | --cp; | 67 | --cp; |
71 | if (prom_argc > 1) | 68 | if (prom_argc > 1) |
72 | *cp = '\0'; | 69 | *cp = '\0'; |
73 | |||
74 | } | 70 | } |
75 | 71 | ||
76 | |||
77 | char *prom_getenv(char *envname) | 72 | char *prom_getenv(char *envname) |
78 | { | 73 | { |
79 | /* | 74 | /* |
@@ -95,21 +90,23 @@ char *prom_getenv(char *envname) | |||
95 | } | 90 | } |
96 | env++; | 91 | env++; |
97 | } | 92 | } |
93 | |||
98 | return NULL; | 94 | return NULL; |
99 | } | 95 | } |
100 | 96 | ||
101 | inline unsigned char str2hexnum(unsigned char c) | 97 | static inline unsigned char str2hexnum(unsigned char c) |
102 | { | 98 | { |
103 | if(c >= '0' && c <= '9') | 99 | if (c >= '0' && c <= '9') |
104 | return c - '0'; | 100 | return c - '0'; |
105 | if(c >= 'a' && c <= 'f') | 101 | if (c >= 'a' && c <= 'f') |
106 | return c - 'a' + 10; | 102 | return c - 'a' + 10; |
107 | if(c >= 'A' && c <= 'F') | 103 | if (c >= 'A' && c <= 'F') |
108 | return c - 'A' + 10; | 104 | return c - 'A' + 10; |
105 | |||
109 | return 0; /* foo */ | 106 | return 0; /* foo */ |
110 | } | 107 | } |
111 | 108 | ||
112 | inline void str2eaddr(unsigned char *ea, unsigned char *str) | 109 | static inline void str2eaddr(unsigned char *ea, unsigned char *str) |
113 | { | 110 | { |
114 | int i; | 111 | int i; |
115 | 112 | ||
@@ -124,35 +121,29 @@ inline void str2eaddr(unsigned char *ea, unsigned char *str) | |||
124 | } | 121 | } |
125 | } | 122 | } |
126 | 123 | ||
127 | int get_ethernet_addr(char *ethernet_addr) | 124 | int prom_get_ethernet_addr(char *ethernet_addr) |
128 | { | 125 | { |
129 | char *ethaddr_str; | 126 | char *ethaddr_str; |
127 | char *argptr; | ||
130 | 128 | ||
131 | ethaddr_str = prom_getenv("ethaddr"); | 129 | /* Check the environment variables first */ |
130 | ethaddr_str = prom_getenv("ethaddr"); | ||
132 | if (!ethaddr_str) { | 131 | if (!ethaddr_str) { |
133 | printk("ethaddr not set in boot prom\n"); | 132 | /* Check command line */ |
134 | return -1; | 133 | argptr = prom_getcmdline(); |
135 | } | 134 | ethaddr_str = strstr(argptr, "ethaddr="); |
136 | str2eaddr(ethernet_addr, ethaddr_str); | 135 | if (!ethaddr_str) |
137 | 136 | return -1; | |
138 | #if 0 | ||
139 | { | ||
140 | int i; | ||
141 | 137 | ||
142 | printk("get_ethernet_addr: "); | 138 | ethaddr_str += strlen("ethaddr="); |
143 | for (i=0; i<5; i++) | ||
144 | printk("%02x:", (unsigned char)*(ethernet_addr+i)); | ||
145 | printk("%02x\n", *(ethernet_addr+i)); | ||
146 | } | 139 | } |
147 | #endif | 140 | |
141 | str2eaddr(ethernet_addr, ethaddr_str); | ||
148 | 142 | ||
149 | return 0; | 143 | return 0; |
150 | } | 144 | } |
145 | EXPORT_SYMBOL(prom_get_ethernet_addr); | ||
151 | 146 | ||
152 | void __init prom_free_prom_memory(void) | 147 | void __init prom_free_prom_memory(void) |
153 | { | 148 | { |
154 | } | 149 | } |
155 | |||
156 | EXPORT_SYMBOL(prom_getcmdline); | ||
157 | EXPORT_SYMBOL(get_ethernet_addr); | ||
158 | EXPORT_SYMBOL(str2eaddr); | ||
diff --git a/arch/mips/au1000/common/setup.c b/arch/mips/au1000/common/setup.c index b212c0726125..a90d425d4651 100644 --- a/arch/mips/au1000/common/setup.c +++ b/arch/mips/au1000/common/setup.c | |||
@@ -40,10 +40,11 @@ | |||
40 | #include <asm/mipsregs.h> | 40 | #include <asm/mipsregs.h> |
41 | #include <asm/reboot.h> | 41 | #include <asm/reboot.h> |
42 | #include <asm/pgtable.h> | 42 | #include <asm/pgtable.h> |
43 | #include <asm/mach-au1x00/au1000.h> | ||
44 | #include <asm/time.h> | 43 | #include <asm/time.h> |
45 | 44 | ||
46 | extern char * prom_getcmdline(void); | 45 | #include <au1000.h> |
46 | #include <prom.h> | ||
47 | |||
47 | extern void __init board_setup(void); | 48 | extern void __init board_setup(void); |
48 | extern void au1000_restart(char *); | 49 | extern void au1000_restart(char *); |
49 | extern void au1000_halt(void); | 50 | extern void au1000_halt(void); |
diff --git a/arch/mips/au1000/db1x00/init.c b/arch/mips/au1000/db1x00/init.c index 4d7bcfc8cf73..43298fd9459c 100644 --- a/arch/mips/au1000/db1x00/init.c +++ b/arch/mips/au1000/db1x00/init.c | |||
@@ -31,15 +31,13 @@ | |||
31 | #include <linux/mm.h> | 31 | #include <linux/mm.h> |
32 | #include <linux/sched.h> | 32 | #include <linux/sched.h> |
33 | #include <linux/bootmem.h> | 33 | #include <linux/bootmem.h> |
34 | #include <asm/addrspace.h> | ||
35 | #include <asm/bootinfo.h> | ||
36 | #include <linux/string.h> | 34 | #include <linux/string.h> |
37 | #include <linux/kernel.h> | 35 | #include <linux/kernel.h> |
38 | 36 | ||
39 | int prom_argc; | 37 | #include <asm/addrspace.h> |
40 | char **prom_argv, **prom_envp; | 38 | #include <asm/bootinfo.h> |
41 | extern void __init prom_init_cmdline(void); | 39 | |
42 | extern char *prom_getenv(char *envname); | 40 | #include <prom.h> |
43 | 41 | ||
44 | const char *get_system_type(void) | 42 | const char *get_system_type(void) |
45 | { | 43 | { |
diff --git a/arch/mips/au1000/mtx-1/init.c b/arch/mips/au1000/mtx-1/init.c index 2aa7b2ed6a8c..cdeae3212a2d 100644 --- a/arch/mips/au1000/mtx-1/init.c +++ b/arch/mips/au1000/mtx-1/init.c | |||
@@ -34,13 +34,11 @@ | |||
34 | #include <linux/init.h> | 34 | #include <linux/init.h> |
35 | #include <linux/mm.h> | 35 | #include <linux/mm.h> |
36 | #include <linux/bootmem.h> | 36 | #include <linux/bootmem.h> |
37 | |||
37 | #include <asm/addrspace.h> | 38 | #include <asm/addrspace.h> |
38 | #include <asm/bootinfo.h> | 39 | #include <asm/bootinfo.h> |
39 | 40 | ||
40 | int prom_argc; | 41 | #include <prom.h> |
41 | char **prom_argv, **prom_envp; | ||
42 | extern void __init prom_init_cmdline(void); | ||
43 | extern char *prom_getenv(char *envname); | ||
44 | 42 | ||
45 | const char *get_system_type(void) | 43 | const char *get_system_type(void) |
46 | { | 44 | { |
diff --git a/arch/mips/au1000/pb1000/init.c b/arch/mips/au1000/pb1000/init.c index 4535f7208e18..ddccaf6997d0 100644 --- a/arch/mips/au1000/pb1000/init.c +++ b/arch/mips/au1000/pb1000/init.c | |||
@@ -30,15 +30,13 @@ | |||
30 | #include <linux/mm.h> | 30 | #include <linux/mm.h> |
31 | #include <linux/sched.h> | 31 | #include <linux/sched.h> |
32 | #include <linux/bootmem.h> | 32 | #include <linux/bootmem.h> |
33 | #include <asm/addrspace.h> | ||
34 | #include <asm/bootinfo.h> | ||
35 | #include <linux/string.h> | 33 | #include <linux/string.h> |
36 | #include <linux/kernel.h> | 34 | #include <linux/kernel.h> |
37 | 35 | ||
38 | int prom_argc; | 36 | #include <asm/addrspace.h> |
39 | char **prom_argv, **prom_envp; | 37 | #include <asm/bootinfo.h> |
40 | extern void __init prom_init_cmdline(void); | 38 | |
41 | extern char *prom_getenv(char *envname); | 39 | #include <prom.h> |
42 | 40 | ||
43 | const char *get_system_type(void) | 41 | const char *get_system_type(void) |
44 | { | 42 | { |
diff --git a/arch/mips/au1000/pb1100/init.c b/arch/mips/au1000/pb1100/init.c index 7ba6852de7cd..c93fd39b4aba 100644 --- a/arch/mips/au1000/pb1100/init.c +++ b/arch/mips/au1000/pb1100/init.c | |||
@@ -31,15 +31,13 @@ | |||
31 | #include <linux/mm.h> | 31 | #include <linux/mm.h> |
32 | #include <linux/sched.h> | 32 | #include <linux/sched.h> |
33 | #include <linux/bootmem.h> | 33 | #include <linux/bootmem.h> |
34 | #include <asm/addrspace.h> | ||
35 | #include <asm/bootinfo.h> | ||
36 | #include <linux/string.h> | 34 | #include <linux/string.h> |
37 | #include <linux/kernel.h> | 35 | #include <linux/kernel.h> |
38 | 36 | ||
39 | int prom_argc; | 37 | #include <asm/addrspace.h> |
40 | char **prom_argv, **prom_envp; | 38 | #include <asm/bootinfo.h> |
41 | extern void __init prom_init_cmdline(void); | 39 | |
42 | extern char *prom_getenv(char *envname); | 40 | #include <prom.h> |
43 | 41 | ||
44 | const char *get_system_type(void) | 42 | const char *get_system_type(void) |
45 | { | 43 | { |
diff --git a/arch/mips/au1000/pb1200/board_setup.c b/arch/mips/au1000/pb1200/board_setup.c index 2122515f79d7..5dbc9868f598 100644 --- a/arch/mips/au1000/pb1200/board_setup.c +++ b/arch/mips/au1000/pb1200/board_setup.c | |||
@@ -41,8 +41,10 @@ | |||
41 | #include <asm/mipsregs.h> | 41 | #include <asm/mipsregs.h> |
42 | #include <asm/reboot.h> | 42 | #include <asm/reboot.h> |
43 | #include <asm/pgtable.h> | 43 | #include <asm/pgtable.h> |
44 | #include <asm/mach-au1x00/au1000.h> | 44 | |
45 | #include <asm/mach-au1x00/au1xxx_dbdma.h> | 45 | #include <au1000.h> |
46 | #include <au1xxx_dbdma.h> | ||
47 | #include <prom.h> | ||
46 | 48 | ||
47 | #ifdef CONFIG_MIPS_PB1200 | 49 | #ifdef CONFIG_MIPS_PB1200 |
48 | #include <asm/mach-pb1x00/pb1200.h> | 50 | #include <asm/mach-pb1x00/pb1200.h> |
diff --git a/arch/mips/au1000/pb1200/init.c b/arch/mips/au1000/pb1200/init.c index 5a70029d5388..c251570749ee 100644 --- a/arch/mips/au1000/pb1200/init.c +++ b/arch/mips/au1000/pb1200/init.c | |||
@@ -31,15 +31,13 @@ | |||
31 | #include <linux/mm.h> | 31 | #include <linux/mm.h> |
32 | #include <linux/sched.h> | 32 | #include <linux/sched.h> |
33 | #include <linux/bootmem.h> | 33 | #include <linux/bootmem.h> |
34 | #include <asm/addrspace.h> | ||
35 | #include <asm/bootinfo.h> | ||
36 | #include <linux/string.h> | 34 | #include <linux/string.h> |
37 | #include <linux/kernel.h> | 35 | #include <linux/kernel.h> |
38 | 36 | ||
39 | int prom_argc; | 37 | #include <asm/addrspace.h> |
40 | char **prom_argv, **prom_envp; | 38 | #include <asm/bootinfo.h> |
41 | extern void __init prom_init_cmdline(void); | 39 | |
42 | extern char *prom_getenv(char *envname); | 40 | #include <prom.h> |
43 | 41 | ||
44 | const char *get_system_type(void) | 42 | const char *get_system_type(void) |
45 | { | 43 | { |
diff --git a/arch/mips/au1000/pb1500/init.c b/arch/mips/au1000/pb1500/init.c index e58a9d6c5021..507d4b204161 100644 --- a/arch/mips/au1000/pb1500/init.c +++ b/arch/mips/au1000/pb1500/init.c | |||
@@ -31,15 +31,13 @@ | |||
31 | #include <linux/mm.h> | 31 | #include <linux/mm.h> |
32 | #include <linux/sched.h> | 32 | #include <linux/sched.h> |
33 | #include <linux/bootmem.h> | 33 | #include <linux/bootmem.h> |
34 | #include <asm/addrspace.h> | ||
35 | #include <asm/bootinfo.h> | ||
36 | #include <linux/string.h> | 34 | #include <linux/string.h> |
37 | #include <linux/kernel.h> | 35 | #include <linux/kernel.h> |
38 | 36 | ||
39 | int prom_argc; | 37 | #include <asm/addrspace.h> |
40 | char **prom_argv, **prom_envp; | 38 | #include <asm/bootinfo.h> |
41 | extern void __init prom_init_cmdline(void); | 39 | |
42 | extern char *prom_getenv(char *envname); | 40 | #include <prom.h> |
43 | 41 | ||
44 | const char *get_system_type(void) | 42 | const char *get_system_type(void) |
45 | { | 43 | { |
diff --git a/arch/mips/au1000/pb1550/init.c b/arch/mips/au1000/pb1550/init.c index fad53bf5aad1..b03eee601e36 100644 --- a/arch/mips/au1000/pb1550/init.c +++ b/arch/mips/au1000/pb1550/init.c | |||
@@ -31,15 +31,13 @@ | |||
31 | #include <linux/mm.h> | 31 | #include <linux/mm.h> |
32 | #include <linux/sched.h> | 32 | #include <linux/sched.h> |
33 | #include <linux/bootmem.h> | 33 | #include <linux/bootmem.h> |
34 | #include <asm/addrspace.h> | ||
35 | #include <asm/bootinfo.h> | ||
36 | #include <linux/string.h> | 34 | #include <linux/string.h> |
37 | #include <linux/kernel.h> | 35 | #include <linux/kernel.h> |
38 | 36 | ||
39 | int prom_argc; | 37 | #include <asm/addrspace.h> |
40 | char **prom_argv, **prom_envp; | 38 | #include <asm/bootinfo.h> |
41 | extern void __init prom_init_cmdline(void); | 39 | |
42 | extern char *prom_getenv(char *envname); | 40 | #include <prom.h> |
43 | 41 | ||
44 | const char *get_system_type(void) | 42 | const char *get_system_type(void) |
45 | { | 43 | { |
diff --git a/arch/mips/au1000/xxs1500/init.c b/arch/mips/au1000/xxs1500/init.c index 9f839c36f69e..6532939f377a 100644 --- a/arch/mips/au1000/xxs1500/init.c +++ b/arch/mips/au1000/xxs1500/init.c | |||
@@ -30,15 +30,13 @@ | |||
30 | #include <linux/mm.h> | 30 | #include <linux/mm.h> |
31 | #include <linux/sched.h> | 31 | #include <linux/sched.h> |
32 | #include <linux/bootmem.h> | 32 | #include <linux/bootmem.h> |
33 | #include <asm/addrspace.h> | ||
34 | #include <asm/bootinfo.h> | ||
35 | #include <linux/string.h> | 33 | #include <linux/string.h> |
36 | #include <linux/kernel.h> | 34 | #include <linux/kernel.h> |
37 | 35 | ||
38 | int prom_argc; | 36 | #include <asm/addrspace.h> |
39 | char **prom_argv, **prom_envp; | 37 | #include <asm/bootinfo.h> |
40 | extern void __init prom_init_cmdline(void); | 38 | |
41 | extern char *prom_getenv(char *envname); | 39 | #include <prom.h> |
42 | 40 | ||
43 | const char *get_system_type(void) | 41 | const char *get_system_type(void) |
44 | { | 42 | { |
diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c index 1245b2f517bb..095988f13bf4 100644 --- a/arch/powerpc/platforms/cell/axon_msi.c +++ b/arch/powerpc/platforms/cell/axon_msi.c | |||
@@ -77,12 +77,7 @@ static void msic_dcr_write(struct axon_msic *msic, unsigned int dcr_n, u32 val) | |||
77 | { | 77 | { |
78 | pr_debug("axon_msi: dcr_write(0x%x, 0x%x)\n", val, dcr_n); | 78 | pr_debug("axon_msi: dcr_write(0x%x, 0x%x)\n", val, dcr_n); |
79 | 79 | ||
80 | dcr_write(msic->dcr_host, msic->dcr_host.base + dcr_n, val); | 80 | dcr_write(msic->dcr_host, dcr_n, val); |
81 | } | ||
82 | |||
83 | static u32 msic_dcr_read(struct axon_msic *msic, unsigned int dcr_n) | ||
84 | { | ||
85 | return dcr_read(msic->dcr_host, msic->dcr_host.base + dcr_n); | ||
86 | } | 81 | } |
87 | 82 | ||
88 | static void axon_msi_cascade(unsigned int irq, struct irq_desc *desc) | 83 | static void axon_msi_cascade(unsigned int irq, struct irq_desc *desc) |
@@ -91,7 +86,7 @@ static void axon_msi_cascade(unsigned int irq, struct irq_desc *desc) | |||
91 | u32 write_offset, msi; | 86 | u32 write_offset, msi; |
92 | int idx; | 87 | int idx; |
93 | 88 | ||
94 | write_offset = msic_dcr_read(msic, MSIC_WRITE_OFFSET_REG); | 89 | write_offset = dcr_read(msic->dcr_host, MSIC_WRITE_OFFSET_REG); |
95 | pr_debug("axon_msi: original write_offset 0x%x\n", write_offset); | 90 | pr_debug("axon_msi: original write_offset 0x%x\n", write_offset); |
96 | 91 | ||
97 | /* write_offset doesn't wrap properly, so we have to mask it */ | 92 | /* write_offset doesn't wrap properly, so we have to mask it */ |
@@ -306,7 +301,7 @@ static int axon_msi_notify_reboot(struct notifier_block *nb, | |||
306 | list_for_each_entry(msic, &axon_msic_list, list) { | 301 | list_for_each_entry(msic, &axon_msic_list, list) { |
307 | pr_debug("axon_msi: disabling %s\n", | 302 | pr_debug("axon_msi: disabling %s\n", |
308 | msic->irq_host->of_node->full_name); | 303 | msic->irq_host->of_node->full_name); |
309 | tmp = msic_dcr_read(msic, MSIC_CTRL_REG); | 304 | tmp = dcr_read(msic->dcr_host, MSIC_CTRL_REG); |
310 | tmp &= ~MSIC_CTRL_ENABLE & ~MSIC_CTRL_IRQ_ENABLE; | 305 | tmp &= ~MSIC_CTRL_ENABLE & ~MSIC_CTRL_IRQ_ENABLE; |
311 | msic_dcr_write(msic, MSIC_CTRL_REG, tmp); | 306 | msic_dcr_write(msic, MSIC_CTRL_REG, tmp); |
312 | } | 307 | } |
diff --git a/arch/powerpc/sysdev/dcr.c b/arch/powerpc/sysdev/dcr.c index ab11c0b29024..427027c7ea0f 100644 --- a/arch/powerpc/sysdev/dcr.c +++ b/arch/powerpc/sysdev/dcr.c | |||
@@ -126,13 +126,13 @@ dcr_host_t dcr_map(struct device_node *dev, unsigned int dcr_n, | |||
126 | } | 126 | } |
127 | EXPORT_SYMBOL_GPL(dcr_map); | 127 | EXPORT_SYMBOL_GPL(dcr_map); |
128 | 128 | ||
129 | void dcr_unmap(dcr_host_t host, unsigned int dcr_n, unsigned int dcr_c) | 129 | void dcr_unmap(dcr_host_t host, unsigned int dcr_c) |
130 | { | 130 | { |
131 | dcr_host_t h = host; | 131 | dcr_host_t h = host; |
132 | 132 | ||
133 | if (h.token == NULL) | 133 | if (h.token == NULL) |
134 | return; | 134 | return; |
135 | h.token += dcr_n * h.stride; | 135 | h.token += host.base * h.stride; |
136 | iounmap(h.token); | 136 | iounmap(h.token); |
137 | h.token = NULL; | 137 | h.token = NULL; |
138 | } | 138 | } |
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 893e65439e85..e47938899a92 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -156,7 +156,7 @@ static inline u32 _mpic_read(enum mpic_reg_type type, | |||
156 | switch(type) { | 156 | switch(type) { |
157 | #ifdef CONFIG_PPC_DCR | 157 | #ifdef CONFIG_PPC_DCR |
158 | case mpic_access_dcr: | 158 | case mpic_access_dcr: |
159 | return dcr_read(rb->dhost, rb->dhost.base + reg); | 159 | return dcr_read(rb->dhost, reg); |
160 | #endif | 160 | #endif |
161 | case mpic_access_mmio_be: | 161 | case mpic_access_mmio_be: |
162 | return in_be32(rb->base + (reg >> 2)); | 162 | return in_be32(rb->base + (reg >> 2)); |
@@ -173,7 +173,7 @@ static inline void _mpic_write(enum mpic_reg_type type, | |||
173 | switch(type) { | 173 | switch(type) { |
174 | #ifdef CONFIG_PPC_DCR | 174 | #ifdef CONFIG_PPC_DCR |
175 | case mpic_access_dcr: | 175 | case mpic_access_dcr: |
176 | return dcr_write(rb->dhost, rb->dhost.base + reg, value); | 176 | return dcr_write(rb->dhost, reg, value); |
177 | #endif | 177 | #endif |
178 | case mpic_access_mmio_be: | 178 | case mpic_access_mmio_be: |
179 | return out_be32(rb->base + (reg >> 2), value); | 179 | return out_be32(rb->base + (reg >> 2), value); |