diff options
Diffstat (limited to 'arch/sparc/include')
-rw-r--r-- | arch/sparc/include/asm/floppy_32.h | 8 | ||||
-rw-r--r-- | arch/sparc/include/asm/floppy_64.h | 4 | ||||
-rw-r--r-- | arch/sparc/include/asm/leon.h | 3 | ||||
-rw-r--r-- | arch/sparc/include/asm/leon_pci.h | 21 | ||||
-rw-r--r-- | arch/sparc/include/asm/pci_32.h | 24 | ||||
-rw-r--r-- | arch/sparc/include/asm/pcic.h | 2 | ||||
-rw-r--r-- | arch/sparc/include/asm/system_32.h | 2 | ||||
-rw-r--r-- | arch/sparc/include/asm/system_64.h | 2 |
8 files changed, 57 insertions, 9 deletions
diff --git a/arch/sparc/include/asm/floppy_32.h b/arch/sparc/include/asm/floppy_32.h index 482c79e2a416..7440915e86d8 100644 --- a/arch/sparc/include/asm/floppy_32.h +++ b/arch/sparc/include/asm/floppy_32.h | |||
@@ -138,7 +138,7 @@ static unsigned char sun_82072_fd_inb(int port) | |||
138 | return sun_fdc->data_82072; | 138 | return sun_fdc->data_82072; |
139 | case 7: /* FD_DIR */ | 139 | case 7: /* FD_DIR */ |
140 | return sun_read_dir(); | 140 | return sun_read_dir(); |
141 | }; | 141 | } |
142 | panic("sun_82072_fd_inb: How did I get here?"); | 142 | panic("sun_82072_fd_inb: How did I get here?"); |
143 | } | 143 | } |
144 | 144 | ||
@@ -161,7 +161,7 @@ static void sun_82072_fd_outb(unsigned char value, int port) | |||
161 | case 4: /* FD_STATUS */ | 161 | case 4: /* FD_STATUS */ |
162 | sun_fdc->status_82072 = value; | 162 | sun_fdc->status_82072 = value; |
163 | break; | 163 | break; |
164 | }; | 164 | } |
165 | return; | 165 | return; |
166 | } | 166 | } |
167 | 167 | ||
@@ -186,7 +186,7 @@ static unsigned char sun_82077_fd_inb(int port) | |||
186 | return sun_fdc->data_82077; | 186 | return sun_fdc->data_82077; |
187 | case 7: /* FD_DIR */ | 187 | case 7: /* FD_DIR */ |
188 | return sun_read_dir(); | 188 | return sun_read_dir(); |
189 | }; | 189 | } |
190 | panic("sun_82077_fd_inb: How did I get here?"); | 190 | panic("sun_82077_fd_inb: How did I get here?"); |
191 | } | 191 | } |
192 | 192 | ||
@@ -212,7 +212,7 @@ static void sun_82077_fd_outb(unsigned char value, int port) | |||
212 | case 3: /* FD_TDR */ | 212 | case 3: /* FD_TDR */ |
213 | sun_fdc->tapectl_82077 = value; | 213 | sun_fdc->tapectl_82077 = value; |
214 | break; | 214 | break; |
215 | }; | 215 | } |
216 | return; | 216 | return; |
217 | } | 217 | } |
218 | 218 | ||
diff --git a/arch/sparc/include/asm/floppy_64.h b/arch/sparc/include/asm/floppy_64.h index 6597ce874d78..bcef1f5a2a6d 100644 --- a/arch/sparc/include/asm/floppy_64.h +++ b/arch/sparc/include/asm/floppy_64.h | |||
@@ -111,7 +111,7 @@ static unsigned char sun_82077_fd_inb(unsigned long port) | |||
111 | case 7: /* FD_DIR */ | 111 | case 7: /* FD_DIR */ |
112 | /* XXX: Is DCL on 0x80 in sun4m? */ | 112 | /* XXX: Is DCL on 0x80 in sun4m? */ |
113 | return sbus_readb(&sun_fdc->dir_82077); | 113 | return sbus_readb(&sun_fdc->dir_82077); |
114 | }; | 114 | } |
115 | panic("sun_82072_fd_inb: How did I get here?"); | 115 | panic("sun_82072_fd_inb: How did I get here?"); |
116 | } | 116 | } |
117 | 117 | ||
@@ -135,7 +135,7 @@ static void sun_82077_fd_outb(unsigned char value, unsigned long port) | |||
135 | case 4: /* FD_STATUS */ | 135 | case 4: /* FD_STATUS */ |
136 | sbus_writeb(value, &sun_fdc->status_82077); | 136 | sbus_writeb(value, &sun_fdc->status_82077); |
137 | break; | 137 | break; |
138 | }; | 138 | } |
139 | return; | 139 | return; |
140 | } | 140 | } |
141 | 141 | ||
diff --git a/arch/sparc/include/asm/leon.h b/arch/sparc/include/asm/leon.h index 6bdaf1e43d2a..a4e457f003ed 100644 --- a/arch/sparc/include/asm/leon.h +++ b/arch/sparc/include/asm/leon.h | |||
@@ -318,6 +318,9 @@ struct device_node; | |||
318 | extern unsigned int leon_build_device_irq(unsigned int real_irq, | 318 | extern unsigned int leon_build_device_irq(unsigned int real_irq, |
319 | irq_flow_handler_t flow_handler, | 319 | irq_flow_handler_t flow_handler, |
320 | const char *name, int do_ack); | 320 | const char *name, int do_ack); |
321 | extern void leon_update_virq_handling(unsigned int virq, | ||
322 | irq_flow_handler_t flow_handler, | ||
323 | const char *name, int do_ack); | ||
321 | extern void leon_clear_clock_irq(void); | 324 | extern void leon_clear_clock_irq(void); |
322 | extern void leon_load_profile_irq(int cpu, unsigned int limit); | 325 | extern void leon_load_profile_irq(int cpu, unsigned int limit); |
323 | extern void leon_init_timers(irq_handler_t counter_fn); | 326 | extern void leon_init_timers(irq_handler_t counter_fn); |
diff --git a/arch/sparc/include/asm/leon_pci.h b/arch/sparc/include/asm/leon_pci.h new file mode 100644 index 000000000000..42b4b31a82fe --- /dev/null +++ b/arch/sparc/include/asm/leon_pci.h | |||
@@ -0,0 +1,21 @@ | |||
1 | /* | ||
2 | * asm/leon_pci.h | ||
3 | * | ||
4 | * Copyright (C) 2011 Aeroflex Gaisler AB, Daniel Hellstrom | ||
5 | */ | ||
6 | |||
7 | #ifndef _ASM_LEON_PCI_H_ | ||
8 | #define _ASM_LEON_PCI_H_ | ||
9 | |||
10 | /* PCI related definitions */ | ||
11 | struct leon_pci_info { | ||
12 | struct pci_ops *ops; | ||
13 | struct resource io_space; | ||
14 | struct resource mem_space; | ||
15 | int (*map_irq)(struct pci_dev *dev, u8 slot, u8 pin); | ||
16 | }; | ||
17 | |||
18 | extern void leon_pci_init(struct platform_device *ofdev, | ||
19 | struct leon_pci_info *info); | ||
20 | |||
21 | #endif /* _ASM_LEON_PCI_H_ */ | ||
diff --git a/arch/sparc/include/asm/pci_32.h b/arch/sparc/include/asm/pci_32.h index 332ac9ab36bc..862e3ce92b15 100644 --- a/arch/sparc/include/asm/pci_32.h +++ b/arch/sparc/include/asm/pci_32.h | |||
@@ -47,7 +47,31 @@ extern struct device_node *pci_device_to_OF_node(struct pci_dev *pdev); | |||
47 | 47 | ||
48 | #endif /* __KERNEL__ */ | 48 | #endif /* __KERNEL__ */ |
49 | 49 | ||
50 | #ifndef CONFIG_LEON_PCI | ||
50 | /* generic pci stuff */ | 51 | /* generic pci stuff */ |
51 | #include <asm-generic/pci.h> | 52 | #include <asm-generic/pci.h> |
53 | #else | ||
54 | /* | ||
55 | * On LEON PCI Memory space is mapped 1:1 with physical address space. | ||
56 | * | ||
57 | * I/O space is located at low 64Kbytes in PCI I/O space. The I/O addresses | ||
58 | * are converted into CPU addresses to virtual addresses that are mapped with | ||
59 | * MMU to the PCI Host PCI I/O space window which are translated to the low | ||
60 | * 64Kbytes by the Host controller. | ||
61 | */ | ||
62 | |||
63 | extern void | ||
64 | pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, | ||
65 | struct resource *res); | ||
66 | |||
67 | extern void | ||
68 | pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, | ||
69 | struct pci_bus_region *region); | ||
70 | |||
71 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) | ||
72 | { | ||
73 | return PCI_IRQ_NONE; | ||
74 | } | ||
75 | #endif | ||
52 | 76 | ||
53 | #endif /* __SPARC_PCI_H */ | 77 | #endif /* __SPARC_PCI_H */ |
diff --git a/arch/sparc/include/asm/pcic.h b/arch/sparc/include/asm/pcic.h index 7eb5d78f5211..6676cbcc8b6a 100644 --- a/arch/sparc/include/asm/pcic.h +++ b/arch/sparc/include/asm/pcic.h | |||
@@ -29,7 +29,7 @@ struct linux_pcic { | |||
29 | int pcic_imdim; | 29 | int pcic_imdim; |
30 | }; | 30 | }; |
31 | 31 | ||
32 | #ifdef CONFIG_PCI | 32 | #ifdef CONFIG_PCIC_PCI |
33 | extern int pcic_present(void); | 33 | extern int pcic_present(void); |
34 | extern int pcic_probe(void); | 34 | extern int pcic_probe(void); |
35 | extern void pci_time_init(void); | 35 | extern void pci_time_init(void); |
diff --git a/arch/sparc/include/asm/system_32.h b/arch/sparc/include/asm/system_32.h index 47a7e862474e..aba16092a81b 100644 --- a/arch/sparc/include/asm/system_32.h +++ b/arch/sparc/include/asm/system_32.h | |||
@@ -220,7 +220,7 @@ static inline unsigned long __xchg(unsigned long x, __volatile__ void * ptr, int | |||
220 | switch (size) { | 220 | switch (size) { |
221 | case 4: | 221 | case 4: |
222 | return xchg_u32(ptr, x); | 222 | return xchg_u32(ptr, x); |
223 | }; | 223 | } |
224 | __xchg_called_with_bad_pointer(); | 224 | __xchg_called_with_bad_pointer(); |
225 | return x; | 225 | return x; |
226 | } | 226 | } |
diff --git a/arch/sparc/include/asm/system_64.h b/arch/sparc/include/asm/system_64.h index 3c96d3bb9f15..10bcabce97b2 100644 --- a/arch/sparc/include/asm/system_64.h +++ b/arch/sparc/include/asm/system_64.h | |||
@@ -234,7 +234,7 @@ static inline unsigned long __xchg(unsigned long x, __volatile__ void * ptr, | |||
234 | return xchg32(ptr, x); | 234 | return xchg32(ptr, x); |
235 | case 8: | 235 | case 8: |
236 | return xchg64(ptr, x); | 236 | return xchg64(ptr, x); |
237 | }; | 237 | } |
238 | __xchg_called_with_bad_pointer(); | 238 | __xchg_called_with_bad_pointer(); |
239 | return x; | 239 | return x; |
240 | } | 240 | } |