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

Merge tag 'sparc-for-6.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/alarsson/linux-sparc

Pull sparc updates from Andreas Larsson:

- Fix missing prototype warnings in various places, including switching
to using generic cmpdi2/ucmpdi2 and parport.h and stop selecting
unneeded GENERIC_ISA_DMA.

- Reduce duplicate code by using shared font data, with dependency
fixup in separate commit touching lib/fonts.

- Convert sbus drives to use remove callbacks returning void

- Fix return values of __setup handlers

- Section mismatch fix for grpci pci drivers

- Make the vio bus type constant

- Kconfig cleanups and fixes

- Typo fixes

* tag 'sparc-for-6.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/alarsson/linux-sparc:
lib/fonts: Allow Sparc console 8x16 font for sparc64 early boot text console
sbus: uctrl: Convert to platform remove callback returning void
sbus: flash: Convert to platform remove callback returning void
sbus: envctrl: Convert to platform remove callback returning void
sbus: display7seg: Convert to platform remove callback returning void
sbus: bbc_i2c: Convert to platform remove callback returning void
sbus: Add prototype for bbc_envctrl_init and bbc_envctrl_cleanup to header
sparc32: Fix section mismatch in leon_pci_grpci
sparc32: Fix parport build with sparc32
sparc32: Do not select GENERIC_ISA_DMA
mtd: maps: sun_uflash: Declare uflash_devinit static
sparc32: Fix build with trapbase
sparc32: Use generic cmpdi2/ucmpdi2 variants
sparc: select FRAME_POINTER instead of redefining it
sparc: vDSO: fix return value of __setup handler
sparc64: NMI watchdog: fix return value of __setup handler
sparc: vio: make vio_bus_type const
sparc: Fix typos
sparc: Use shared font data
sparc: remove obsolete config ARCH_ATU

+344 -744
+4 -8
arch/sparc/Kconfig
··· 58 58 select CLZ_TAB 59 59 select DMA_DIRECT_REMAP 60 60 select GENERIC_ATOMIC64 61 + select GENERIC_LIB_CMPDI2 62 + select GENERIC_LIB_UCMPDI2 61 63 select HAVE_UID16 62 64 select HAVE_PAGE_SIZE_4KB 63 65 select LOCK_MM_AND_FIND_VMA ··· 117 115 config CPU_BIG_ENDIAN 118 116 def_bool y 119 117 120 - config ARCH_ATU 121 - bool 122 - default y if SPARC64 123 - 124 118 config STACKTRACE_SUPPORT 125 119 bool 126 120 default y if SPARC64 ··· 140 142 bool 141 143 default y if SPARC32 142 144 select KMAP_LOCAL 143 - 144 - config GENERIC_ISA_DMA 145 - bool 146 - default y if SPARC32 147 145 148 146 config PGTABLE_LEVELS 149 147 default 4 if 64BIT ··· 216 222 bool "Support for early boot text console" 217 223 default y 218 224 depends on SPARC64 225 + select FONT_SUN8x16 226 + select FONT_SUPPORT 219 227 help 220 228 Say Y here to enable a faster early framebuffer boot console. 221 229
+2 -5
arch/sparc/Kconfig.debug
··· 8 8 bool 9 9 depends on SPARC64 10 10 depends on FUNCTION_TRACER 11 - default y 12 - 13 - config FRAME_POINTER 14 - bool 15 - depends on MCOUNT 11 + select ARCH_WANT_FRAME_POINTERS 12 + select FRAME_POINTER 16 13 default y 17 14 18 15 config HAVE_HARDLOCKUP_DETECTOR_SPARC64
+3 -3
arch/sparc/include/asm/hypervisor.h
··· 430 430 * ERRORS: No errors defined. 431 431 * 432 432 * Return the hypervisor ID handle for the current CPU. Use by a 433 - * virtual CPU to discover it's own identity. 433 + * virtual CPU to discover its own identity. 434 434 */ 435 435 #define HV_FAST_CPU_MYID 0x16 436 436 ··· 1221 1221 * EBADALIGNED software state description is not correctly 1222 1222 * aligned 1223 1223 * 1224 - * This allows the guest to report it's soft state to the hypervisor. There 1224 + * This allows the guest to report its soft state to the hypervisor. There 1225 1225 * are two primary components to this state. The first part states whether 1226 1226 * the guest software is running or not. The second containts optional 1227 1227 * details specific to the software. ··· 1502 1502 * configuration error of some sort. 1503 1503 * 1504 1504 * The dump services provide an opaque buffer into which the 1505 - * hypervisor can place it's internal state in order to assist in 1505 + * hypervisor can place its internal state in order to assist in 1506 1506 * debugging such situations. The contents are opaque and extremely 1507 1507 * platform and hypervisor implementation specific. The guest, during 1508 1508 * a core dump, requests that the hypervisor update any information in
+1 -1
arch/sparc/include/asm/ldc.h
··· 13 13 * or data becomes available on the receive side. 14 14 * 15 15 * For non-RAW links, if the LDC_EVENT_RESET event arrives the 16 - * driver should reset all of it's internal state and reinvoke 16 + * driver should reset all of its internal state and reinvoke 17 17 * ldc_connect() to try and bring the link up again. 18 18 * 19 19 * For RAW links, ldc_connect() is not used. Instead the driver
+2 -2
arch/sparc/include/asm/mmu_context_64.h
··· 93 93 94 94 /* We have to be extremely careful here or else we will miss 95 95 * a TSB grow if we switch back and forth between a kernel 96 - * thread and an address space which has it's TSB size increased 96 + * thread and an address space which has its TSB size increased 97 97 * on another processor. 98 98 * 99 99 * It is possible to play some games in order to optimize the ··· 118 118 * 119 119 * At that point cpu0 continues to use a stale TSB, the one from 120 120 * before the TSB grow performed on cpu1. cpu1 did not cross-call 121 - * cpu0 to update it's TSB because at that point the cpu_vm_mask 121 + * cpu0 to update its TSB because at that point the cpu_vm_mask 122 122 * only had cpu1 set in it. 123 123 */ 124 124 tsb_context_switch_ctx(mm, CTX_HWBITS(mm->context));
+7 -252
arch/sparc/include/asm/parport.h
··· 1 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 - /* parport.h: sparc64 specific parport initialization and dma. 3 - * 4 - * Copyright (C) 1999 Eddie C. Dost (ecd@skynet.be) 5 - */ 2 + #ifndef ___ASM_SPARC_PARPORT_H 3 + #define ___ASM_SPARC_PARPORT_H 6 4 7 - #ifndef _ASM_SPARC64_PARPORT_H 8 - #define _ASM_SPARC64_PARPORT_H 1 9 - 10 - #include <linux/of.h> 11 - #include <linux/platform_device.h> 12 - 13 - #include <asm/ebus_dma.h> 14 - #include <asm/ns87303.h> 15 - #include <asm/prom.h> 16 - 17 - #define PARPORT_PC_MAX_PORTS PARPORT_MAX 18 - 19 - /* 20 - * While sparc64 doesn't have an ISA DMA API, we provide something that looks 21 - * close enough to make parport_pc happy 22 - */ 23 - #define HAS_DMA 24 - 25 - #ifdef CONFIG_PARPORT_PC_FIFO 26 - static DEFINE_SPINLOCK(dma_spin_lock); 27 - 28 - #define claim_dma_lock() \ 29 - ({ unsigned long flags; \ 30 - spin_lock_irqsave(&dma_spin_lock, flags); \ 31 - flags; \ 32 - }) 33 - 34 - #define release_dma_lock(__flags) \ 35 - spin_unlock_irqrestore(&dma_spin_lock, __flags); 5 + #if defined(__sparc__) && defined(__arch64__) 6 + #include <asm/parport_64.h> 7 + #else 8 + #include <asm-generic/parport.h> 9 + #endif 36 10 #endif 37 11 38 - static struct sparc_ebus_info { 39 - struct ebus_dma_info info; 40 - unsigned int addr; 41 - unsigned int count; 42 - int lock; 43 - 44 - struct parport *port; 45 - } sparc_ebus_dmas[PARPORT_PC_MAX_PORTS]; 46 - 47 - static DECLARE_BITMAP(dma_slot_map, PARPORT_PC_MAX_PORTS); 48 - 49 - static inline int request_dma(unsigned int dmanr, const char *device_id) 50 - { 51 - if (dmanr >= PARPORT_PC_MAX_PORTS) 52 - return -EINVAL; 53 - if (xchg(&sparc_ebus_dmas[dmanr].lock, 1) != 0) 54 - return -EBUSY; 55 - return 0; 56 - } 57 - 58 - static inline void free_dma(unsigned int dmanr) 59 - { 60 - if (dmanr >= PARPORT_PC_MAX_PORTS) { 61 - printk(KERN_WARNING "Trying to free DMA%d\n", dmanr); 62 - return; 63 - } 64 - if (xchg(&sparc_ebus_dmas[dmanr].lock, 0) == 0) { 65 - printk(KERN_WARNING "Trying to free free DMA%d\n", dmanr); 66 - return; 67 - } 68 - } 69 - 70 - static inline void enable_dma(unsigned int dmanr) 71 - { 72 - ebus_dma_enable(&sparc_ebus_dmas[dmanr].info, 1); 73 - 74 - if (ebus_dma_request(&sparc_ebus_dmas[dmanr].info, 75 - sparc_ebus_dmas[dmanr].addr, 76 - sparc_ebus_dmas[dmanr].count)) 77 - BUG(); 78 - } 79 - 80 - static inline void disable_dma(unsigned int dmanr) 81 - { 82 - ebus_dma_enable(&sparc_ebus_dmas[dmanr].info, 0); 83 - } 84 - 85 - static inline void clear_dma_ff(unsigned int dmanr) 86 - { 87 - /* nothing */ 88 - } 89 - 90 - static inline void set_dma_mode(unsigned int dmanr, char mode) 91 - { 92 - ebus_dma_prepare(&sparc_ebus_dmas[dmanr].info, (mode != DMA_MODE_WRITE)); 93 - } 94 - 95 - static inline void set_dma_addr(unsigned int dmanr, unsigned int addr) 96 - { 97 - sparc_ebus_dmas[dmanr].addr = addr; 98 - } 99 - 100 - static inline void set_dma_count(unsigned int dmanr, unsigned int count) 101 - { 102 - sparc_ebus_dmas[dmanr].count = count; 103 - } 104 - 105 - static inline unsigned int get_dma_residue(unsigned int dmanr) 106 - { 107 - return ebus_dma_residue(&sparc_ebus_dmas[dmanr].info); 108 - } 109 - 110 - static int ecpp_probe(struct platform_device *op) 111 - { 112 - unsigned long base = op->resource[0].start; 113 - unsigned long config = op->resource[1].start; 114 - unsigned long d_base = op->resource[2].start; 115 - unsigned long d_len; 116 - struct device_node *parent; 117 - struct parport *p; 118 - int slot, err; 119 - 120 - parent = op->dev.of_node->parent; 121 - if (of_node_name_eq(parent, "dma")) { 122 - p = parport_pc_probe_port(base, base + 0x400, 123 - op->archdata.irqs[0], PARPORT_DMA_NOFIFO, 124 - op->dev.parent->parent, 0); 125 - if (!p) 126 - return -ENOMEM; 127 - dev_set_drvdata(&op->dev, p); 128 - return 0; 129 - } 130 - 131 - for (slot = 0; slot < PARPORT_PC_MAX_PORTS; slot++) { 132 - if (!test_and_set_bit(slot, dma_slot_map)) 133 - break; 134 - } 135 - err = -ENODEV; 136 - if (slot >= PARPORT_PC_MAX_PORTS) 137 - goto out_err; 138 - 139 - spin_lock_init(&sparc_ebus_dmas[slot].info.lock); 140 - 141 - d_len = (op->resource[2].end - d_base) + 1UL; 142 - sparc_ebus_dmas[slot].info.regs = 143 - of_ioremap(&op->resource[2], 0, d_len, "ECPP DMA"); 144 - 145 - if (!sparc_ebus_dmas[slot].info.regs) 146 - goto out_clear_map; 147 - 148 - sparc_ebus_dmas[slot].info.flags = 0; 149 - sparc_ebus_dmas[slot].info.callback = NULL; 150 - sparc_ebus_dmas[slot].info.client_cookie = NULL; 151 - sparc_ebus_dmas[slot].info.irq = 0xdeadbeef; 152 - strcpy(sparc_ebus_dmas[slot].info.name, "parport"); 153 - if (ebus_dma_register(&sparc_ebus_dmas[slot].info)) 154 - goto out_unmap_regs; 155 - 156 - ebus_dma_irq_enable(&sparc_ebus_dmas[slot].info, 1); 157 - 158 - /* Configure IRQ to Push Pull, Level Low */ 159 - /* Enable ECP, set bit 2 of the CTR first */ 160 - outb(0x04, base + 0x02); 161 - ns87303_modify(config, PCR, 162 - PCR_EPP_ENABLE | 163 - PCR_IRQ_ODRAIN, 164 - PCR_ECP_ENABLE | 165 - PCR_ECP_CLK_ENA | 166 - PCR_IRQ_POLAR); 167 - 168 - /* CTR bit 5 controls direction of port */ 169 - ns87303_modify(config, PTR, 170 - 0, PTR_LPT_REG_DIR); 171 - 172 - p = parport_pc_probe_port(base, base + 0x400, 173 - op->archdata.irqs[0], 174 - slot, 175 - op->dev.parent, 176 - 0); 177 - err = -ENOMEM; 178 - if (!p) 179 - goto out_disable_irq; 180 - 181 - dev_set_drvdata(&op->dev, p); 182 - 183 - return 0; 184 - 185 - out_disable_irq: 186 - ebus_dma_irq_enable(&sparc_ebus_dmas[slot].info, 0); 187 - ebus_dma_unregister(&sparc_ebus_dmas[slot].info); 188 - 189 - out_unmap_regs: 190 - of_iounmap(&op->resource[2], sparc_ebus_dmas[slot].info.regs, d_len); 191 - 192 - out_clear_map: 193 - clear_bit(slot, dma_slot_map); 194 - 195 - out_err: 196 - return err; 197 - } 198 - 199 - static int ecpp_remove(struct platform_device *op) 200 - { 201 - struct parport *p = dev_get_drvdata(&op->dev); 202 - int slot = p->dma; 203 - 204 - parport_pc_unregister_port(p); 205 - 206 - if (slot != PARPORT_DMA_NOFIFO) { 207 - unsigned long d_base = op->resource[2].start; 208 - unsigned long d_len; 209 - 210 - d_len = (op->resource[2].end - d_base) + 1UL; 211 - 212 - ebus_dma_irq_enable(&sparc_ebus_dmas[slot].info, 0); 213 - ebus_dma_unregister(&sparc_ebus_dmas[slot].info); 214 - of_iounmap(&op->resource[2], 215 - sparc_ebus_dmas[slot].info.regs, 216 - d_len); 217 - clear_bit(slot, dma_slot_map); 218 - } 219 - 220 - return 0; 221 - } 222 - 223 - static const struct of_device_id ecpp_match[] = { 224 - { 225 - .name = "ecpp", 226 - }, 227 - { 228 - .name = "parallel", 229 - .compatible = "ecpp", 230 - }, 231 - { 232 - .name = "parallel", 233 - .compatible = "ns87317-ecpp", 234 - }, 235 - { 236 - .name = "parallel", 237 - .compatible = "pnpALI,1533,3", 238 - }, 239 - {}, 240 - }; 241 - 242 - static struct platform_driver ecpp_driver = { 243 - .driver = { 244 - .name = "ecpp", 245 - .of_match_table = ecpp_match, 246 - }, 247 - .probe = ecpp_probe, 248 - .remove = ecpp_remove, 249 - }; 250 - 251 - static int parport_pc_find_nonpci_ports(int autoirq, int autodma) 252 - { 253 - return platform_driver_register(&ecpp_driver); 254 - } 255 - 256 - #endif /* !(_ASM_SPARC64_PARPORT_H */
+256
arch/sparc/include/asm/parport_64.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 2 + /* parport.h: sparc64 specific parport initialization and dma. 3 + * 4 + * Copyright (C) 1999 Eddie C. Dost (ecd@skynet.be) 5 + */ 6 + 7 + #ifndef _ASM_SPARC64_PARPORT_H 8 + #define _ASM_SPARC64_PARPORT_H 1 9 + 10 + #include <linux/of.h> 11 + #include <linux/platform_device.h> 12 + 13 + #include <asm/ebus_dma.h> 14 + #include <asm/ns87303.h> 15 + #include <asm/prom.h> 16 + 17 + #define PARPORT_PC_MAX_PORTS PARPORT_MAX 18 + 19 + /* 20 + * While sparc64 doesn't have an ISA DMA API, we provide something that looks 21 + * close enough to make parport_pc happy 22 + */ 23 + #define HAS_DMA 24 + 25 + #ifdef CONFIG_PARPORT_PC_FIFO 26 + static DEFINE_SPINLOCK(dma_spin_lock); 27 + 28 + #define claim_dma_lock() \ 29 + ({ unsigned long flags; \ 30 + spin_lock_irqsave(&dma_spin_lock, flags); \ 31 + flags; \ 32 + }) 33 + 34 + #define release_dma_lock(__flags) \ 35 + spin_unlock_irqrestore(&dma_spin_lock, __flags); 36 + #endif 37 + 38 + static struct sparc_ebus_info { 39 + struct ebus_dma_info info; 40 + unsigned int addr; 41 + unsigned int count; 42 + int lock; 43 + 44 + struct parport *port; 45 + } sparc_ebus_dmas[PARPORT_PC_MAX_PORTS]; 46 + 47 + static DECLARE_BITMAP(dma_slot_map, PARPORT_PC_MAX_PORTS); 48 + 49 + static inline int request_dma(unsigned int dmanr, const char *device_id) 50 + { 51 + if (dmanr >= PARPORT_PC_MAX_PORTS) 52 + return -EINVAL; 53 + if (xchg(&sparc_ebus_dmas[dmanr].lock, 1) != 0) 54 + return -EBUSY; 55 + return 0; 56 + } 57 + 58 + static inline void free_dma(unsigned int dmanr) 59 + { 60 + if (dmanr >= PARPORT_PC_MAX_PORTS) { 61 + printk(KERN_WARNING "Trying to free DMA%d\n", dmanr); 62 + return; 63 + } 64 + if (xchg(&sparc_ebus_dmas[dmanr].lock, 0) == 0) { 65 + printk(KERN_WARNING "Trying to free free DMA%d\n", dmanr); 66 + return; 67 + } 68 + } 69 + 70 + static inline void enable_dma(unsigned int dmanr) 71 + { 72 + ebus_dma_enable(&sparc_ebus_dmas[dmanr].info, 1); 73 + 74 + if (ebus_dma_request(&sparc_ebus_dmas[dmanr].info, 75 + sparc_ebus_dmas[dmanr].addr, 76 + sparc_ebus_dmas[dmanr].count)) 77 + BUG(); 78 + } 79 + 80 + static inline void disable_dma(unsigned int dmanr) 81 + { 82 + ebus_dma_enable(&sparc_ebus_dmas[dmanr].info, 0); 83 + } 84 + 85 + static inline void clear_dma_ff(unsigned int dmanr) 86 + { 87 + /* nothing */ 88 + } 89 + 90 + static inline void set_dma_mode(unsigned int dmanr, char mode) 91 + { 92 + ebus_dma_prepare(&sparc_ebus_dmas[dmanr].info, (mode != DMA_MODE_WRITE)); 93 + } 94 + 95 + static inline void set_dma_addr(unsigned int dmanr, unsigned int addr) 96 + { 97 + sparc_ebus_dmas[dmanr].addr = addr; 98 + } 99 + 100 + static inline void set_dma_count(unsigned int dmanr, unsigned int count) 101 + { 102 + sparc_ebus_dmas[dmanr].count = count; 103 + } 104 + 105 + static inline unsigned int get_dma_residue(unsigned int dmanr) 106 + { 107 + return ebus_dma_residue(&sparc_ebus_dmas[dmanr].info); 108 + } 109 + 110 + static int ecpp_probe(struct platform_device *op) 111 + { 112 + unsigned long base = op->resource[0].start; 113 + unsigned long config = op->resource[1].start; 114 + unsigned long d_base = op->resource[2].start; 115 + unsigned long d_len; 116 + struct device_node *parent; 117 + struct parport *p; 118 + int slot, err; 119 + 120 + parent = op->dev.of_node->parent; 121 + if (of_node_name_eq(parent, "dma")) { 122 + p = parport_pc_probe_port(base, base + 0x400, 123 + op->archdata.irqs[0], PARPORT_DMA_NOFIFO, 124 + op->dev.parent->parent, 0); 125 + if (!p) 126 + return -ENOMEM; 127 + dev_set_drvdata(&op->dev, p); 128 + return 0; 129 + } 130 + 131 + for (slot = 0; slot < PARPORT_PC_MAX_PORTS; slot++) { 132 + if (!test_and_set_bit(slot, dma_slot_map)) 133 + break; 134 + } 135 + err = -ENODEV; 136 + if (slot >= PARPORT_PC_MAX_PORTS) 137 + goto out_err; 138 + 139 + spin_lock_init(&sparc_ebus_dmas[slot].info.lock); 140 + 141 + d_len = (op->resource[2].end - d_base) + 1UL; 142 + sparc_ebus_dmas[slot].info.regs = 143 + of_ioremap(&op->resource[2], 0, d_len, "ECPP DMA"); 144 + 145 + if (!sparc_ebus_dmas[slot].info.regs) 146 + goto out_clear_map; 147 + 148 + sparc_ebus_dmas[slot].info.flags = 0; 149 + sparc_ebus_dmas[slot].info.callback = NULL; 150 + sparc_ebus_dmas[slot].info.client_cookie = NULL; 151 + sparc_ebus_dmas[slot].info.irq = 0xdeadbeef; 152 + strcpy(sparc_ebus_dmas[slot].info.name, "parport"); 153 + if (ebus_dma_register(&sparc_ebus_dmas[slot].info)) 154 + goto out_unmap_regs; 155 + 156 + ebus_dma_irq_enable(&sparc_ebus_dmas[slot].info, 1); 157 + 158 + /* Configure IRQ to Push Pull, Level Low */ 159 + /* Enable ECP, set bit 2 of the CTR first */ 160 + outb(0x04, base + 0x02); 161 + ns87303_modify(config, PCR, 162 + PCR_EPP_ENABLE | 163 + PCR_IRQ_ODRAIN, 164 + PCR_ECP_ENABLE | 165 + PCR_ECP_CLK_ENA | 166 + PCR_IRQ_POLAR); 167 + 168 + /* CTR bit 5 controls direction of port */ 169 + ns87303_modify(config, PTR, 170 + 0, PTR_LPT_REG_DIR); 171 + 172 + p = parport_pc_probe_port(base, base + 0x400, 173 + op->archdata.irqs[0], 174 + slot, 175 + op->dev.parent, 176 + 0); 177 + err = -ENOMEM; 178 + if (!p) 179 + goto out_disable_irq; 180 + 181 + dev_set_drvdata(&op->dev, p); 182 + 183 + return 0; 184 + 185 + out_disable_irq: 186 + ebus_dma_irq_enable(&sparc_ebus_dmas[slot].info, 0); 187 + ebus_dma_unregister(&sparc_ebus_dmas[slot].info); 188 + 189 + out_unmap_regs: 190 + of_iounmap(&op->resource[2], sparc_ebus_dmas[slot].info.regs, d_len); 191 + 192 + out_clear_map: 193 + clear_bit(slot, dma_slot_map); 194 + 195 + out_err: 196 + return err; 197 + } 198 + 199 + static int ecpp_remove(struct platform_device *op) 200 + { 201 + struct parport *p = dev_get_drvdata(&op->dev); 202 + int slot = p->dma; 203 + 204 + parport_pc_unregister_port(p); 205 + 206 + if (slot != PARPORT_DMA_NOFIFO) { 207 + unsigned long d_base = op->resource[2].start; 208 + unsigned long d_len; 209 + 210 + d_len = (op->resource[2].end - d_base) + 1UL; 211 + 212 + ebus_dma_irq_enable(&sparc_ebus_dmas[slot].info, 0); 213 + ebus_dma_unregister(&sparc_ebus_dmas[slot].info); 214 + of_iounmap(&op->resource[2], 215 + sparc_ebus_dmas[slot].info.regs, 216 + d_len); 217 + clear_bit(slot, dma_slot_map); 218 + } 219 + 220 + return 0; 221 + } 222 + 223 + static const struct of_device_id ecpp_match[] = { 224 + { 225 + .name = "ecpp", 226 + }, 227 + { 228 + .name = "parallel", 229 + .compatible = "ecpp", 230 + }, 231 + { 232 + .name = "parallel", 233 + .compatible = "ns87317-ecpp", 234 + }, 235 + { 236 + .name = "parallel", 237 + .compatible = "pnpALI,1533,3", 238 + }, 239 + {}, 240 + }; 241 + 242 + static struct platform_driver ecpp_driver = { 243 + .driver = { 244 + .name = "ecpp", 245 + .of_match_table = ecpp_match, 246 + }, 247 + .probe = ecpp_probe, 248 + .remove = ecpp_remove, 249 + }; 250 + 251 + static int parport_pc_find_nonpci_ports(int autoirq, int autodma) 252 + { 253 + return platform_driver_register(&ecpp_driver); 254 + } 255 + 256 + #endif /* !(_ASM_SPARC64_PARPORT_H */
+1 -1
arch/sparc/include/asm/switch_to_64.h
··· 15 15 * for l0/l1. It will use one for 'next' and the other to hold 16 16 * the output value of 'last'. 'next' is not referenced again 17 17 * past the invocation of switch_to in the scheduler, so we need 18 - * not preserve it's value. Hairy, but it lets us remove 2 loads 18 + * not preserve its value. Hairy, but it lets us remove 2 loads 19 19 * and 2 stores in this critical code path. -DaveM 20 20 */ 21 21 #define switch_to(prev, next, last) \
+9 -356
arch/sparc/kernel/btext.c
··· 8 8 #include <linux/string.h> 9 9 #include <linux/init.h> 10 10 #include <linux/console.h> 11 + #include <linux/font.h> 11 12 12 13 #include <asm/btext.h> 13 14 #include <asm/oplib.h> ··· 21 20 #endif 22 21 23 22 static void draw_byte(unsigned char c, long locX, long locY); 24 - static void draw_byte_32(unsigned char *bits, unsigned int *base, int rb); 25 - static void draw_byte_16(unsigned char *bits, unsigned int *base, int rb); 26 - static void draw_byte_8(unsigned char *bits, unsigned int *base, int rb); 23 + static void draw_byte_32(const unsigned char *bits, unsigned int *base, int rb); 24 + static void draw_byte_16(const unsigned char *bits, unsigned int *base, int rb); 25 + static void draw_byte_8(const unsigned char *bits, unsigned int *base, int rb); 27 26 28 27 #define __force_data __section(".data") 29 28 ··· 36 35 static int dispDeviceDepth __force_data; 37 36 static int dispDeviceRect[4] __force_data; 38 37 static unsigned char *dispDeviceBase __force_data; 39 - 40 - #define cmapsz (16*256) 41 - 42 - static unsigned char vga_font[cmapsz]; 43 38 44 39 static int __init btext_initialize(phandle node) 45 40 { ··· 191 194 static void draw_byte(unsigned char c, long locX, long locY) 192 195 { 193 196 unsigned char *base = calc_base(locX << 3, locY << 4); 194 - unsigned char *font = &vga_font[((unsigned int)c) * 16]; 197 + unsigned int font_index = c * 16; 198 + const unsigned char *font = font_sun_8x16.data + font_index; 195 199 int rb = dispDeviceRowBytes; 196 200 197 201 switch(dispDeviceDepth) { ··· 237 239 }; 238 240 239 241 240 - static void draw_byte_32(unsigned char *font, unsigned int *base, int rb) 242 + static void draw_byte_32(const unsigned char *font, unsigned int *base, int rb) 241 243 { 242 244 int l, bits; 243 245 int fg = 0xFFFFFFFFUL; ··· 258 260 } 259 261 } 260 262 261 - static void draw_byte_16(unsigned char *font, unsigned int *base, int rb) 263 + static void draw_byte_16(const unsigned char *font, unsigned int *base, int rb) 262 264 { 263 265 int l, bits; 264 266 int fg = 0xFFFFFFFFUL; ··· 276 278 } 277 279 } 278 280 279 - static void draw_byte_8(unsigned char *font, unsigned int *base, int rb) 281 + static void draw_byte_8(const unsigned char *font, unsigned int *base, int rb) 280 282 { 281 283 int l, bits; 282 284 int fg = 0x0F0F0F0FUL; ··· 324 326 } 325 327 return ret; 326 328 } 327 - 328 - static unsigned char vga_font[cmapsz] = { 329 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 330 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x81, 0xa5, 0x81, 0x81, 0xbd, 331 - 0x99, 0x81, 0x81, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xff, 332 - 0xdb, 0xff, 0xff, 0xc3, 0xe7, 0xff, 0xff, 0x7e, 0x00, 0x00, 0x00, 0x00, 333 - 0x00, 0x00, 0x00, 0x00, 0x6c, 0xfe, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 334 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x7c, 0xfe, 335 - 0x7c, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 336 - 0x3c, 0x3c, 0xe7, 0xe7, 0xe7, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, 337 - 0x00, 0x00, 0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x18, 0x18, 0x3c, 338 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 339 - 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 340 - 0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 341 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x42, 0x42, 0x66, 0x3c, 0x00, 342 - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x99, 0xbd, 343 - 0xbd, 0x99, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x1e, 0x0e, 344 - 0x1a, 0x32, 0x78, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, 0x00, 0x00, 0x00, 0x00, 345 - 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18, 0x18, 346 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x33, 0x3f, 0x30, 0x30, 0x30, 347 - 0x30, 0x70, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x63, 348 - 0x7f, 0x63, 0x63, 0x63, 0x63, 0x67, 0xe7, 0xe6, 0xc0, 0x00, 0x00, 0x00, 349 - 0x00, 0x00, 0x00, 0x18, 0x18, 0xdb, 0x3c, 0xe7, 0x3c, 0xdb, 0x18, 0x18, 350 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xf8, 351 - 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x0e, 352 - 0x1e, 0x3e, 0xfe, 0x3e, 0x1e, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 353 - 0x00, 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x00, 354 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 355 - 0x66, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xdb, 356 - 0xdb, 0xdb, 0x7b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x00, 0x00, 0x00, 0x00, 357 - 0x00, 0x7c, 0xc6, 0x60, 0x38, 0x6c, 0xc6, 0xc6, 0x6c, 0x38, 0x0c, 0xc6, 358 - 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 359 - 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 360 - 0x7e, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00, 361 - 0x00, 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 362 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 363 - 0x18, 0x7e, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 364 - 0x00, 0x18, 0x0c, 0xfe, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 365 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x60, 0xfe, 0x60, 0x30, 0x00, 0x00, 366 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 367 - 0xc0, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 368 - 0x00, 0x24, 0x66, 0xff, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 369 - 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x7c, 0x7c, 0xfe, 0xfe, 0x00, 370 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x7c, 0x7c, 371 - 0x38, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 372 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 373 - 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x3c, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 374 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00, 375 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 376 - 0x6c, 0xfe, 0x6c, 0x6c, 0x6c, 0xfe, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 377 - 0x18, 0x18, 0x7c, 0xc6, 0xc2, 0xc0, 0x7c, 0x06, 0x06, 0x86, 0xc6, 0x7c, 378 - 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0xc6, 0x0c, 0x18, 379 - 0x30, 0x60, 0xc6, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 380 - 0x6c, 0x38, 0x76, 0xdc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 381 - 0x00, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 382 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30, 383 - 0x30, 0x30, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x18, 384 - 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 385 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00, 386 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 387 - 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 388 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 389 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 390 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 391 - 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 392 - 0x02, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 393 - 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xce, 0xde, 0xf6, 0xe6, 0xc6, 0xc6, 0x7c, 394 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 395 - 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 396 - 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00, 397 - 0x00, 0x00, 0x7c, 0xc6, 0x06, 0x06, 0x3c, 0x06, 0x06, 0x06, 0xc6, 0x7c, 398 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1c, 0x3c, 0x6c, 0xcc, 0xfe, 399 - 0x0c, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc0, 400 - 0xc0, 0xc0, 0xfc, 0x06, 0x06, 0x06, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 401 - 0x00, 0x00, 0x38, 0x60, 0xc0, 0xc0, 0xfc, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 402 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc6, 0x06, 0x06, 0x0c, 0x18, 403 - 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 404 - 0xc6, 0xc6, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 405 - 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x06, 0x06, 0x0c, 0x78, 406 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 407 - 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 408 - 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 409 - 0x00, 0x00, 0x00, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x06, 410 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 411 - 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 412 - 0x30, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 413 - 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0x0c, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 414 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xde, 0xde, 415 - 0xde, 0xdc, 0xc0, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 416 - 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, 417 - 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x66, 0x66, 0xfc, 418 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xc0, 419 - 0xc0, 0xc2, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x6c, 420 - 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6c, 0xf8, 0x00, 0x00, 0x00, 0x00, 421 - 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xfe, 422 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68, 423 - 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 424 - 0xc2, 0xc0, 0xc0, 0xde, 0xc6, 0xc6, 0x66, 0x3a, 0x00, 0x00, 0x00, 0x00, 425 - 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 426 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 427 - 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x0c, 428 - 0x0c, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0xcc, 0x78, 0x00, 0x00, 0x00, 0x00, 429 - 0x00, 0x00, 0xe6, 0x66, 0x66, 0x6c, 0x78, 0x78, 0x6c, 0x66, 0x66, 0xe6, 430 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 431 - 0x60, 0x62, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xe7, 432 - 0xff, 0xff, 0xdb, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, 433 - 0x00, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde, 0xce, 0xc6, 0xc6, 0xc6, 0xc6, 434 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 435 - 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x66, 436 - 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00, 437 - 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xd6, 0xde, 0x7c, 438 - 0x0c, 0x0e, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x6c, 439 - 0x66, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 440 - 0xc6, 0x60, 0x38, 0x0c, 0x06, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 441 - 0x00, 0x00, 0xff, 0xdb, 0x99, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 442 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 443 - 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 444 - 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 445 - 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xdb, 0xdb, 0xff, 0x66, 0x66, 446 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x18, 447 - 0x3c, 0x66, 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 448 - 0xc3, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, 449 - 0x00, 0x00, 0xff, 0xc3, 0x86, 0x0c, 0x18, 0x30, 0x60, 0xc1, 0xc3, 0xff, 450 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x30, 0x30, 0x30, 0x30, 0x30, 451 - 0x30, 0x30, 0x30, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 452 - 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 453 - 0x00, 0x00, 0x3c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x3c, 454 - 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00, 455 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 456 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 457 - 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 458 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0c, 0x7c, 459 - 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x60, 460 - 0x60, 0x78, 0x6c, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x00, 461 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc0, 0xc0, 0xc0, 0xc6, 0x7c, 462 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x0c, 0x0c, 0x3c, 0x6c, 0xcc, 463 - 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 464 - 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 465 - 0x00, 0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60, 0x60, 0x60, 0x60, 0xf0, 466 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc, 467 - 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xcc, 0x78, 0x00, 0x00, 0x00, 0xe0, 0x60, 468 - 0x60, 0x6c, 0x76, 0x66, 0x66, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00, 469 - 0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 470 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x0e, 0x06, 0x06, 471 - 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0xe0, 0x60, 472 - 0x60, 0x66, 0x6c, 0x78, 0x78, 0x6c, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00, 473 - 0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 474 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0xff, 0xdb, 475 - 0xdb, 0xdb, 0xdb, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 476 - 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 477 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 478 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x66, 0x66, 479 - 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 480 - 0x00, 0x76, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0x0c, 0x1e, 0x00, 481 - 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x76, 0x66, 0x60, 0x60, 0x60, 0xf0, 482 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0x60, 483 - 0x38, 0x0c, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 484 - 0x30, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1c, 0x00, 0x00, 0x00, 0x00, 485 - 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 486 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0xc3, 487 - 0xc3, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 488 - 0x00, 0xc3, 0xc3, 0xc3, 0xdb, 0xdb, 0xff, 0x66, 0x00, 0x00, 0x00, 0x00, 489 - 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0xc3, 490 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 491 - 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 492 - 0x00, 0xfe, 0xcc, 0x18, 0x30, 0x60, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00, 493 - 0x00, 0x00, 0x0e, 0x18, 0x18, 0x18, 0x70, 0x18, 0x18, 0x18, 0x18, 0x0e, 494 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 495 - 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x18, 496 - 0x18, 0x18, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00, 497 - 0x00, 0x00, 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 498 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 499 - 0xc6, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 500 - 0xc2, 0xc0, 0xc0, 0xc0, 0xc2, 0x66, 0x3c, 0x0c, 0x06, 0x7c, 0x00, 0x00, 501 - 0x00, 0x00, 0xcc, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 502 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 0x00, 0x7c, 0xc6, 0xfe, 503 - 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 504 - 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 505 - 0x00, 0x00, 0xcc, 0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 506 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0x78, 0x0c, 0x7c, 507 - 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x38, 508 - 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 509 - 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x60, 0x60, 0x66, 0x3c, 0x0c, 0x06, 510 - 0x3c, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xfe, 511 - 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 512 - 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 513 - 0x00, 0x60, 0x30, 0x18, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c, 514 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x38, 0x18, 0x18, 515 - 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x66, 516 - 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, 517 - 0x00, 0x60, 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 518 - 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 519 - 0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x38, 0x00, 520 - 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, 521 - 0x18, 0x30, 0x60, 0x00, 0xfe, 0x66, 0x60, 0x7c, 0x60, 0x60, 0x66, 0xfe, 522 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x3b, 0x1b, 523 - 0x7e, 0xd8, 0xdc, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x6c, 524 - 0xcc, 0xcc, 0xfe, 0xcc, 0xcc, 0xcc, 0xcc, 0xce, 0x00, 0x00, 0x00, 0x00, 525 - 0x00, 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 526 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 527 - 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 528 - 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 529 - 0x00, 0x30, 0x78, 0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 530 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0xcc, 0xcc, 0xcc, 531 - 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 532 - 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0x78, 0x00, 533 - 0x00, 0xc6, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 534 - 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 535 - 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 536 - 0xc3, 0xc0, 0xc0, 0xc0, 0xc3, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 537 - 0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60, 0x60, 0x60, 0x60, 0xe6, 0xfc, 538 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x66, 0x3c, 0x18, 0xff, 0x18, 539 - 0xff, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x66, 0x66, 540 - 0x7c, 0x62, 0x66, 0x6f, 0x66, 0x66, 0x66, 0xf3, 0x00, 0x00, 0x00, 0x00, 541 - 0x00, 0x0e, 0x1b, 0x18, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 542 - 0xd8, 0x70, 0x00, 0x00, 0x00, 0x18, 0x30, 0x60, 0x00, 0x78, 0x0c, 0x7c, 543 - 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 544 - 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, 545 - 0x00, 0x18, 0x30, 0x60, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 546 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x30, 0x60, 0x00, 0xcc, 0xcc, 0xcc, 547 - 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 548 - 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 549 - 0x76, 0xdc, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde, 0xce, 0xc6, 0xc6, 0xc6, 550 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x6c, 0x6c, 0x3e, 0x00, 0x7e, 0x00, 551 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x6c, 552 - 0x38, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 553 - 0x00, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x60, 0xc0, 0xc6, 0xc6, 0x7c, 554 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc0, 555 - 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 556 - 0x00, 0x00, 0xfe, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 557 - 0x00, 0xc0, 0xc0, 0xc2, 0xc6, 0xcc, 0x18, 0x30, 0x60, 0xce, 0x9b, 0x06, 558 - 0x0c, 0x1f, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc2, 0xc6, 0xcc, 0x18, 0x30, 559 - 0x66, 0xce, 0x96, 0x3e, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 560 - 0x00, 0x18, 0x18, 0x18, 0x3c, 0x3c, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 561 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x6c, 0xd8, 0x6c, 0x36, 0x00, 0x00, 562 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x6c, 0x36, 563 - 0x6c, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x44, 0x11, 0x44, 564 - 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 565 - 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 566 - 0x55, 0xaa, 0x55, 0xaa, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 567 - 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0x18, 0x18, 0x18, 0x18, 568 - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 569 - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18, 570 - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0xf8, 571 - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x36, 0x36, 0x36, 0x36, 572 - 0x36, 0x36, 0x36, 0xf6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 573 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x36, 0x36, 0x36, 0x36, 574 - 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0xf8, 575 - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x36, 0x36, 0x36, 0x36, 576 - 0x36, 0xf6, 0x06, 0xf6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 577 - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 578 - 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x06, 0xf6, 579 - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 580 - 0x36, 0xf6, 0x06, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 581 - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xfe, 0x00, 0x00, 0x00, 0x00, 582 - 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0xf8, 583 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 584 - 0x00, 0x00, 0x00, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 585 - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00, 586 - 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 587 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 588 - 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 589 - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18, 590 - 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 591 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 592 - 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 593 - 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18, 594 - 0x18, 0x18, 0x18, 0x18, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 595 - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 596 - 0x36, 0x37, 0x30, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 597 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36, 598 - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xf7, 0x00, 0xff, 599 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 600 - 0x00, 0xff, 0x00, 0xf7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 601 - 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36, 602 - 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 603 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x36, 0x36, 604 - 0x36, 0xf7, 0x00, 0xf7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 605 - 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 606 - 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xff, 607 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 608 - 0x00, 0xff, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 609 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x36, 0x36, 0x36, 0x36, 610 - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x3f, 611 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 612 - 0x18, 0x1f, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 613 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18, 614 - 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 615 - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 616 - 0x36, 0x36, 0x36, 0xff, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 617 - 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18, 618 - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 619 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 620 - 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 621 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 622 - 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 623 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 624 - 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 625 - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 626 - 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 627 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 628 - 0x00, 0x76, 0xdc, 0xd8, 0xd8, 0xd8, 0xdc, 0x76, 0x00, 0x00, 0x00, 0x00, 629 - 0x00, 0x00, 0x78, 0xcc, 0xcc, 0xcc, 0xd8, 0xcc, 0xc6, 0xc6, 0xc6, 0xcc, 630 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc6, 0xc6, 0xc0, 0xc0, 0xc0, 631 - 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 632 - 0xfe, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 633 - 0x00, 0x00, 0x00, 0xfe, 0xc6, 0x60, 0x30, 0x18, 0x30, 0x60, 0xc6, 0xfe, 634 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xd8, 0xd8, 635 - 0xd8, 0xd8, 0xd8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 636 - 0x66, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xc0, 0x00, 0x00, 0x00, 637 - 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 638 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x18, 0x3c, 0x66, 0x66, 639 - 0x66, 0x3c, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 640 - 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0x6c, 0x38, 0x00, 0x00, 0x00, 0x00, 641 - 0x00, 0x00, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0x6c, 0x6c, 0x6c, 0x6c, 0xee, 642 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x30, 0x18, 0x0c, 0x3e, 0x66, 643 - 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 644 - 0x00, 0x7e, 0xdb, 0xdb, 0xdb, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 645 - 0x00, 0x00, 0x00, 0x03, 0x06, 0x7e, 0xdb, 0xdb, 0xf3, 0x7e, 0x60, 0xc0, 646 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x30, 0x60, 0x60, 0x7c, 0x60, 647 - 0x60, 0x60, 0x30, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 648 - 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, 649 - 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00, 650 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18, 651 - 0x18, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 652 - 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x30, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 653 - 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x00, 0x7e, 654 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x1b, 0x1b, 0x1b, 0x18, 0x18, 655 - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 656 - 0x18, 0x18, 0x18, 0x18, 0xd8, 0xd8, 0xd8, 0x70, 0x00, 0x00, 0x00, 0x00, 657 - 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x7e, 0x00, 0x18, 0x18, 0x00, 658 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x00, 659 - 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x6c, 660 - 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 661 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 662 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 663 - 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x0c, 664 - 0x0c, 0x0c, 0x0c, 0xec, 0x6c, 0x6c, 0x3c, 0x1c, 0x00, 0x00, 0x00, 0x00, 665 - 0x00, 0xd8, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 666 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xd8, 0x30, 0x60, 0xc8, 0xf8, 0x00, 667 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 668 - 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 669 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 670 - 0x00, 0x00, 0x00, 0x00, 671 - };
+3 -3
arch/sparc/kernel/irq_32.c
··· 268 268 if (sparc_cpu_model != sparc_leon) { 269 269 struct tt_entry *trap_table; 270 270 271 - trap_table = &trapbase_cpu1; 271 + trap_table = &trapbase_cpu1[0]; 272 272 INSTANTIATE(trap_table) 273 - trap_table = &trapbase_cpu2; 273 + trap_table = &trapbase_cpu2[0]; 274 274 INSTANTIATE(trap_table) 275 - trap_table = &trapbase_cpu3; 275 + trap_table = &trapbase_cpu3[0]; 276 276 INSTANTIATE(trap_table) 277 277 } 278 278 #endif
+1 -1
arch/sparc/kernel/irq_64.c
··· 980 980 * 981 981 * On SMP this gets invoked from the CPU trampoline before 982 982 * the cpu has fully taken over the trap table from OBP, 983 - * and it's kernel stack + %g6 thread register state is 983 + * and its kernel stack + %g6 thread register state is 984 984 * not fully cooked yet. 985 985 * 986 986 * Therefore you cannot make any OBP calls, not even prom_printf,
+4 -4
arch/sparc/kernel/kernel.h
··· 138 138 extern unsigned int linux_trap_ipi15_sun4d[]; 139 139 extern unsigned int linux_trap_ipi15_sun4m[]; 140 140 141 - extern struct tt_entry trapbase; 142 - extern struct tt_entry trapbase_cpu1; 143 - extern struct tt_entry trapbase_cpu2; 144 - extern struct tt_entry trapbase_cpu3; 141 + extern struct tt_entry trapbase[]; 142 + extern struct tt_entry trapbase_cpu1[]; 143 + extern struct tt_entry trapbase_cpu2[]; 144 + extern struct tt_entry trapbase_cpu3[]; 145 145 146 146 extern char cputypval[]; 147 147
+2 -2
arch/sparc/kernel/kgdb_32.c
··· 37 37 gdb_regs[GDB_Y] = regs->y; 38 38 gdb_regs[GDB_PSR] = regs->psr; 39 39 gdb_regs[GDB_WIM] = 0; 40 - gdb_regs[GDB_TBR] = (unsigned long) &trapbase; 40 + gdb_regs[GDB_TBR] = (unsigned long) &trapbase[0]; 41 41 gdb_regs[GDB_PC] = regs->pc; 42 42 gdb_regs[GDB_NPC] = regs->npc; 43 43 gdb_regs[GDB_FSR] = 0; ··· 72 72 73 73 gdb_regs[GDB_PSR] = t->kpsr; 74 74 gdb_regs[GDB_WIM] = t->kwim; 75 - gdb_regs[GDB_TBR] = (unsigned long) &trapbase; 75 + gdb_regs[GDB_TBR] = (unsigned long) &trapbase[0]; 76 76 gdb_regs[GDB_PC] = t->kpc; 77 77 gdb_regs[GDB_NPC] = t->kpc + 4; 78 78 gdb_regs[GDB_FSR] = 0;
+1 -1
arch/sparc/kernel/kprobes.c
··· 230 230 return regs->tnpc; 231 231 } 232 232 233 - /* If INSN is an instruction which writes it's PC location 233 + /* If INSN is an instruction which writes its PC location 234 234 * into a destination register, fix that up. 235 235 */ 236 236 static void __kprobes retpc_fixup(struct pt_regs *regs, u32 insn,
+1 -1
arch/sparc/kernel/ldc.c
··· 1854 1854 * This seems the best behavior because this allows 1855 1855 * a user of the LDC layer to start with a small 1856 1856 * RX buffer for ldc_read() calls and use -EMSGSIZE 1857 - * as a cue to enlarge it's read buffer. 1857 + * as a cue to enlarge its read buffer. 1858 1858 */ 1859 1859 err = -EMSGSIZE; 1860 1860 break;
+1 -1
arch/sparc/kernel/leon_pci_grpci1.c
··· 697 697 return err; 698 698 } 699 699 700 - static const struct of_device_id grpci1_of_match[] __initconst = { 700 + static const struct of_device_id grpci1_of_match[] = { 701 701 { 702 702 .name = "GAISLER_PCIFBRG", 703 703 },
+2 -2
arch/sparc/kernel/leon_pci_grpci2.c
··· 586 586 REGSTORE(regs->io_map, REGLOAD(regs->io_map) & 0x0000ffff); 587 587 588 588 /* set 1:1 mapping between AHB -> PCI memory space, for all Masters 589 - * Each AHB master has it's own mapping registers. Max 16 AHB masters. 589 + * Each AHB master has its own mapping registers. Max 16 AHB masters. 590 590 */ 591 591 for (i = 0; i < 16; i++) 592 592 REGSTORE(regs->ahbmst_map[i], priv->pci_area); ··· 889 889 return err; 890 890 } 891 891 892 - static const struct of_device_id grpci2_of_match[] __initconst = { 892 + static const struct of_device_id grpci2_of_match[] = { 893 893 { 894 894 .name = "GAISLER_GRPCI2", 895 895 },
+3 -3
arch/sparc/kernel/leon_smp.c
··· 245 245 246 246 /* Free unneeded trap tables */ 247 247 if (!cpu_present(1)) { 248 - free_reserved_page(virt_to_page(&trapbase_cpu1)); 248 + free_reserved_page(virt_to_page(&trapbase_cpu1[0])); 249 249 } 250 250 if (!cpu_present(2)) { 251 - free_reserved_page(virt_to_page(&trapbase_cpu2)); 251 + free_reserved_page(virt_to_page(&trapbase_cpu2[0])); 252 252 } 253 253 if (!cpu_present(3)) { 254 - free_reserved_page(virt_to_page(&trapbase_cpu3)); 254 + free_reserved_page(virt_to_page(&trapbase_cpu3[0])); 255 255 } 256 256 /* Ok, they are spinning and ready to go. */ 257 257 smp_processors_ready = 1;
+1 -1
arch/sparc/kernel/nmi.c
··· 279 279 if (!strncmp(str, "panic", 5)) 280 280 panic_on_timeout = 1; 281 281 282 - return 0; 282 + return 1; 283 283 } 284 284 __setup("nmi_watchdog=", setup_nmi_watchdog); 285 285
+1 -1
arch/sparc/kernel/of_device_64.c
··· 560 560 * 561 561 * If we hit a bus type or situation we cannot handle, we 562 562 * stop and assume that the original IRQ number was in a 563 - * format which has special meaning to it's immediate parent. 563 + * format which has special meaning to its immediate parent. 564 564 */ 565 565 pp = dp->parent; 566 566 ip = NULL;
+1 -1
arch/sparc/kernel/pci.c
··· 311 311 /* We can't actually use the firmware value, we have 312 312 * to read what is in the register right now. One 313 313 * reason is that in the case of IDE interfaces the 314 - * firmware can sample the value before the the IDE 314 + * firmware can sample the value before the IDE 315 315 * interface is programmed into native mode. 316 316 */ 317 317 pci_read_config_dword(dev, PCI_CLASS_REVISION, &class);
+2 -2
arch/sparc/kernel/pci_impl.h
··· 19 19 * each with one (Sabre) or two (PSYCHO/SCHIZO) PCI bus modules 20 20 * underneath. Each PCI bus module uses an IOMMU (shared by both 21 21 * PBMs of a controller, or per-PBM), and if a streaming buffer 22 - * is present, each PCI bus module has it's own. (ie. the IOMMU 22 + * is present, each PCI bus module has its own. (ie. the IOMMU 23 23 * might be shared between PBMs, the STC is never shared) 24 - * Furthermore, each PCI bus module controls it's own autonomous 24 + * Furthermore, each PCI bus module controls its own autonomous 25 25 * PCI bus. 26 26 */ 27 27
+2 -2
arch/sparc/kernel/pci_schizo.c
··· 145 145 146 146 /* This is __REALLY__ dangerous. When we put the 147 147 * streaming buffer into diagnostic mode to probe 148 - * it's tags and error status, we _must_ clear all 148 + * its tags and error status, we _must_ clear all 149 149 * of the line tag valid bits before re-enabling 150 150 * the streaming buffer. If any dirty data lives 151 151 * in the STC when we do this, we will end up ··· 275 275 pbm->name, type_string); 276 276 277 277 /* Put the IOMMU into diagnostic mode and probe 278 - * it's TLB for entries with error status. 278 + * its TLB for entries with error status. 279 279 * 280 280 * It is very possible for another DVMA to occur 281 281 * while we do this probe, and corrupt the system
+1 -1
arch/sparc/kernel/perf_event.c
··· 979 979 980 980 static void sparc_pmu_start(struct perf_event *event, int flags); 981 981 982 - /* On this PMU each PIC has it's own PCR control register. */ 982 + /* On this PMU each PIC has its own PCR control register. */ 983 983 static void calculate_multiple_pcrs(struct cpu_hw_events *cpuc) 984 984 { 985 985 int i;
+1 -1
arch/sparc/kernel/prom_irqtrans.c
··· 394 394 iclr = schizo_ino_to_iclr(pbm_regs, ino); 395 395 396 396 /* On Schizo, no inofixup occurs. This is because each 397 - * INO has it's own IMAP register. On Psycho and Sabre 397 + * INO has its own IMAP register. On Psycho and Sabre 398 398 * there is only one IMAP register for each PCI slot even 399 399 * though four different INOs can be generated by each 400 400 * PCI slot.
+1 -1
arch/sparc/kernel/psycho_common.c
··· 50 50 spin_lock(&stc_buf_lock); 51 51 52 52 /* This is __REALLY__ dangerous. When we put the streaming 53 - * buffer into diagnostic mode to probe it's tags and error 53 + * buffer into diagnostic mode to probe its tags and error 54 54 * status, we _must_ clear all of the line tag valid bits 55 55 * before re-enabling the streaming buffer. If any dirty data 56 56 * lives in the STC when we do this, we will end up
+2 -2
arch/sparc/kernel/setup_32.c
··· 67 67 __asm__ __volatile__("wr %0, 0x0, %%tbr\n\t" 68 68 "nop\n\t" 69 69 "nop\n\t" 70 - "nop\n\t" : : "r" (&trapbase)); 70 + "nop\n\t" : : "r" (&trapbase[0])); 71 71 72 72 prom_printf("PROM SYNC COMMAND...\n"); 73 73 show_mem(); ··· 285 285 int i; 286 286 unsigned long highest_paddr; 287 287 288 - sparc_ttable = &trapbase; 288 + sparc_ttable = &trapbase[0]; 289 289 290 290 /* Initialize PROM console and command line. */ 291 291 *cmdline_p = prom_getbootargs();
+1 -1
arch/sparc/kernel/signal_32.c
··· 473 473 * 474 474 * %g7 is used as the "thread register". %g6 is not used in 475 475 * any fixed manner. %g6 is used as a scratch register and 476 - * a compiler temporary, but it's value is never used across 476 + * a compiler temporary, but its value is never used across 477 477 * a system call. Therefore %g6 is usable for orig_i0 storage. 478 478 */ 479 479 if (pt_regs_is_syscall(regs) && (regs->psr & PSR_C))
+1 -1
arch/sparc/kernel/signal_64.c
··· 494 494 * 495 495 * %g7 is used as the "thread register". %g6 is not used in 496 496 * any fixed manner. %g6 is used as a scratch register and 497 - * a compiler temporary, but it's value is never used across 497 + * a compiler temporary, but its value is never used across 498 498 * a system call. Therefore %g6 is usable for orig_i0 storage. 499 499 */ 500 500 if (pt_regs_is_syscall(regs) &&
+1 -1
arch/sparc/kernel/vio.c
··· 149 149 }; 150 150 ATTRIBUTE_GROUPS(vio_dev); 151 151 152 - static struct bus_type vio_bus_type = { 152 + static const struct bus_type vio_bus_type = { 153 153 .name = "vio", 154 154 .dev_groups = vio_dev_groups, 155 155 .uevent = vio_hotplug,
+2 -2
arch/sparc/lib/Makefile
··· 14 14 lib-$(CONFIG_SPARC32) += copy_user.o locks.o 15 15 lib-$(CONFIG_SPARC64) += atomic_64.o 16 16 lib-$(CONFIG_SPARC32) += lshrdi3.o ashldi3.o 17 - lib-$(CONFIG_SPARC32) += muldi3.o bitext.o cmpdi2.o 17 + lib-$(CONFIG_SPARC32) += muldi3.o bitext.o 18 18 lib-$(CONFIG_SPARC64) += multi3.o 19 19 lib-$(CONFIG_SPARC64) += fls.o 20 20 lib-$(CONFIG_SPARC64) += fls64.o ··· 51 51 lib-$(CONFIG_SPARC64) += mcount.o ipcsum.o xor.o hweight.o ffs.o 52 52 53 53 obj-$(CONFIG_SPARC64) += iomap.o 54 - obj-$(CONFIG_SPARC32) += atomic32.o ucmpdi2.o 54 + obj-$(CONFIG_SPARC32) += atomic32.o 55 55 obj-$(CONFIG_SPARC64) += PeeCeeI.o
-28
arch/sparc/lib/cmpdi2.c
··· 1 - // SPDX-License-Identifier: GPL-2.0 2 - #include <linux/module.h> 3 - 4 - #include "libgcc.h" 5 - 6 - word_type __cmpdi2(long long a, long long b) 7 - { 8 - const DWunion au = { 9 - .ll = a 10 - }; 11 - const DWunion bu = { 12 - .ll = b 13 - }; 14 - 15 - if (au.s.high < bu.s.high) 16 - return 0; 17 - else if (au.s.high > bu.s.high) 18 - return 2; 19 - 20 - if ((unsigned int) au.s.low < (unsigned int) bu.s.low) 21 - return 0; 22 - else if ((unsigned int) au.s.low > (unsigned int) bu.s.low) 23 - return 2; 24 - 25 - return 1; 26 - } 27 - 28 - EXPORT_SYMBOL(__cmpdi2);
-20
arch/sparc/lib/ucmpdi2.c
··· 1 - // SPDX-License-Identifier: GPL-2.0 2 - #include <linux/module.h> 3 - #include "libgcc.h" 4 - 5 - word_type __ucmpdi2(unsigned long long a, unsigned long long b) 6 - { 7 - const DWunion au = {.ll = a}; 8 - const DWunion bu = {.ll = b}; 9 - 10 - if ((unsigned int) au.s.high < (unsigned int) bu.s.high) 11 - return 0; 12 - else if ((unsigned int) au.s.high > (unsigned int) bu.s.high) 13 - return 2; 14 - if ((unsigned int) au.s.low < (unsigned int) bu.s.low) 15 - return 0; 16 - else if ((unsigned int) au.s.low > (unsigned int) bu.s.low) 17 - return 2; 18 - return 1; 19 - } 20 - EXPORT_SYMBOL(__ucmpdi2);
+1 -1
arch/sparc/mm/srmmu.c
··· 1513 1513 1514 1514 /* 1515 1515 * We need this to make sure old viking takes no hits 1516 - * on it's cache for dma snoops to workaround the 1516 + * on its cache for dma snoops to workaround the 1517 1517 * "load from non-cacheable memory" interrupt bug. 1518 1518 * This is only necessary because of the new way in 1519 1519 * which we use the IOMMU.
+1 -1
arch/sparc/mm/tsb.c
··· 385 385 * will not trigger any longer. 386 386 * 387 387 * The TSB can be anywhere from 8K to 1MB in size, in increasing powers 388 - * of two. The TSB must be aligned to it's size, so f.e. a 512K TSB 388 + * of two. The TSB must be aligned to its size, so f.e. a 512K TSB 389 389 * must be 512K aligned. It also must be physically contiguous, so we 390 390 * cannot use vmalloc(). 391 391 *
+3 -3
arch/sparc/net/bpf_jit_comp_32.c
··· 300 300 * 301 301 * The most common case is to emit a branch at the end of such 302 302 * a code sequence. So this would be two instructions, the 303 - * branch and it's delay slot. 303 + * branch and its delay slot. 304 304 * 305 305 * Therefore by default the branch emitters calculate the branch 306 306 * offset field as: ··· 309 309 * 310 310 * This "addrs[i] - 8" is the address of the branch itself or 311 311 * what "." would be in assembler notation. The "8" part is 312 - * how we take into consideration the branch and it's delay 312 + * how we take into consideration the branch and its delay 313 313 * slot mentioned above. 314 314 * 315 315 * Sometimes we need to emit a branch earlier in the code 316 316 * sequence. And in these situations we adjust "destination" 317 317 * to accommodate this difference. For example, if we needed 318 - * to emit a branch (and it's delay slot) right before the 318 + * to emit a branch (and its delay slot) right before the 319 319 * final instruction emitted for a BPF opcode, we'd use 320 320 * "destination + 4" instead of just plain "destination" above. 321 321 *
+3 -4
arch/sparc/vdso/vma.c
··· 449 449 unsigned long val; 450 450 451 451 err = kstrtoul(s, 10, &val); 452 - if (err) 453 - return err; 454 - vdso_enabled = val; 455 - return 0; 452 + if (!err) 453 + vdso_enabled = val; 454 + return 1; 456 455 } 457 456 __setup("vdso=", vdso_setup);
+1 -1
drivers/mtd/maps/sun_uflash.c
··· 47 47 .bankwidth = UFLASH_BUSWIDTH, 48 48 }; 49 49 50 - int uflash_devinit(struct platform_device *op, struct device_node *dp) 50 + static int uflash_devinit(struct platform_device *op, struct device_node *dp) 51 51 { 52 52 struct uflash_dev *up; 53 53
+2 -7
drivers/sbus/char/bbc_i2c.c
··· 358 358 return NULL; 359 359 } 360 360 361 - extern int bbc_envctrl_init(struct bbc_i2c_bus *bp); 362 - extern void bbc_envctrl_cleanup(struct bbc_i2c_bus *bp); 363 - 364 361 static int bbc_i2c_probe(struct platform_device *op) 365 362 { 366 363 struct bbc_i2c_bus *bp; ··· 382 385 return err; 383 386 } 384 387 385 - static int bbc_i2c_remove(struct platform_device *op) 388 + static void bbc_i2c_remove(struct platform_device *op) 386 389 { 387 390 struct bbc_i2c_bus *bp = dev_get_drvdata(&op->dev); 388 391 ··· 396 399 of_iounmap(&op->resource[1], bp->i2c_control_regs, 2); 397 400 398 401 kfree(bp); 399 - 400 - return 0; 401 402 } 402 403 403 404 static const struct of_device_id bbc_i2c_match[] = { ··· 413 418 .of_match_table = bbc_i2c_match, 414 419 }, 415 420 .probe = bbc_i2c_probe, 416 - .remove = bbc_i2c_remove, 421 + .remove_new = bbc_i2c_remove, 417 422 }; 418 423 419 424 module_platform_driver(bbc_i2c_driver);
+3
drivers/sbus/char/bbc_i2c.h
··· 82 82 extern int bbc_i2c_write_buf(struct bbc_i2c_client *, char *buf, int len, int off); 83 83 extern int bbc_i2c_read_buf(struct bbc_i2c_client *, char *buf, int len, int off); 84 84 85 + extern int bbc_envctrl_init(struct bbc_i2c_bus *bp); 86 + extern void bbc_envctrl_cleanup(struct bbc_i2c_bus *bp); 87 + 85 88 #endif /* _BBC_I2C_H */
+2 -4
drivers/sbus/char/display7seg.c
··· 229 229 goto out; 230 230 } 231 231 232 - static int d7s_remove(struct platform_device *op) 232 + static void d7s_remove(struct platform_device *op) 233 233 { 234 234 struct d7s *p = dev_get_drvdata(&op->dev); 235 235 u8 regs = readb(p->regs); ··· 245 245 246 246 misc_deregister(&d7s_miscdev); 247 247 of_iounmap(&op->resource[0], p->regs, sizeof(u8)); 248 - 249 - return 0; 250 248 } 251 249 252 250 static const struct of_device_id d7s_match[] = { ··· 261 263 .of_match_table = d7s_match, 262 264 }, 263 265 .probe = d7s_probe, 264 - .remove = d7s_remove, 266 + .remove_new = d7s_remove, 265 267 }; 266 268 267 269 module_platform_driver(d7s_driver);
+2 -4
drivers/sbus/char/envctrl.c
··· 1097 1097 return err; 1098 1098 } 1099 1099 1100 - static int envctrl_remove(struct platform_device *op) 1100 + static void envctrl_remove(struct platform_device *op) 1101 1101 { 1102 1102 int index; 1103 1103 ··· 1108 1108 1109 1109 for (index = 0; index < ENVCTRL_MAX_CPU * 2; index++) 1110 1110 kfree(i2c_childlist[index].tables); 1111 - 1112 - return 0; 1113 1111 } 1114 1112 1115 1113 static const struct of_device_id envctrl_match[] = { ··· 1125 1127 .of_match_table = envctrl_match, 1126 1128 }, 1127 1129 .probe = envctrl_probe, 1128 - .remove = envctrl_remove, 1130 + .remove_new = envctrl_remove, 1129 1131 }; 1130 1132 1131 1133 module_platform_driver(envctrl_driver);
+2 -4
drivers/sbus/char/flash.c
··· 187 187 return misc_register(&flash_dev); 188 188 } 189 189 190 - static int flash_remove(struct platform_device *op) 190 + static void flash_remove(struct platform_device *op) 191 191 { 192 192 misc_deregister(&flash_dev); 193 - 194 - return 0; 195 193 } 196 194 197 195 static const struct of_device_id flash_match[] = { ··· 206 208 .of_match_table = flash_match, 207 209 }, 208 210 .probe = flash_probe, 209 - .remove = flash_remove, 211 + .remove_new = flash_remove, 210 212 }; 211 213 212 214 module_platform_driver(flash_driver);
+2 -3
drivers/sbus/char/uctrl.c
··· 399 399 goto out; 400 400 } 401 401 402 - static int uctrl_remove(struct platform_device *op) 402 + static void uctrl_remove(struct platform_device *op) 403 403 { 404 404 struct uctrl_driver *p = dev_get_drvdata(&op->dev); 405 405 ··· 409 409 of_iounmap(&op->resource[0], p->regs, resource_size(&op->resource[0])); 410 410 kfree(p); 411 411 } 412 - return 0; 413 412 } 414 413 415 414 static const struct of_device_id uctrl_match[] = { ··· 425 426 .of_match_table = uctrl_match, 426 427 }, 427 428 .probe = uctrl_probe, 428 - .remove = uctrl_remove, 429 + .remove_new = uctrl_remove, 429 430 }; 430 431 431 432
+2 -1
lib/fonts/Kconfig
··· 98 98 99 99 config FONT_SUN8x16 100 100 bool "Sparc console 8x16 font" 101 - depends on (FRAMEBUFFER_CONSOLE && (FONTS || SPARC)) || BOOTX_TEXT 101 + depends on (FRAMEBUFFER_CONSOLE && (FONTS || SPARC)) || \ 102 + BOOTX_TEXT || EARLYFB 102 103 help 103 104 This is the high resolution console font for Sun machines. Say Y. 104 105