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

Configure Feed

Select the types of activity you want to include in your feed.

Merge master.kernel.org:/home/rmk/linux-2.6-arm

+93 -33
+8 -7
arch/arm/kernel/vmlinux.lds.S
··· 89 89 *(.got) /* Global offset table */ 90 90 } 91 91 92 - . = ALIGN(16); 93 - __ex_table : { /* Exception table */ 94 - __start___ex_table = .; 95 - *(__ex_table) 96 - __stop___ex_table = .; 97 - } 98 - 99 92 RODATA 100 93 101 94 _etext = .; /* End of text and rodata section */ ··· 129 136 */ 130 137 . = ALIGN(32); 131 138 *(.data.cacheline_aligned) 139 + 140 + /* 141 + * The exception fixup table (might need resorting at runtime) 142 + */ 143 + . = ALIGN(32); 144 + __start___ex_table = .; 145 + *(__ex_table) 146 + __stop___ex_table = .; 132 147 133 148 /* 134 149 * and the usual data section
+15 -5
arch/arm/mach-l7200/core.c
··· 7 7 */ 8 8 #include <linux/kernel.h> 9 9 #include <linux/init.h> 10 + #include <linux/device.h> 10 11 12 + #include <asm/types.h> 13 + #include <asm/irq.h> 14 + #include <asm/mach-types.h> 11 15 #include <asm/hardware.h> 12 16 #include <asm/page.h> 13 17 18 + #include <asm/mach/arch.h> 14 19 #include <asm/mach/map.h> 20 + #include <asm/mach/irq.h> 15 21 16 22 /* 17 23 * IRQ base register ··· 53 47 { 54 48 IRQ_ENABLE = 1 << irq; 55 49 } 50 + 51 + static struct irqchip l7200_irq_chip = { 52 + .ack = l7200_mask_irq, 53 + .mask = l7200_mask_irq, 54 + .unmask = l7200_unmask_irq 55 + }; 56 56 57 57 static void __init l7200_init_irq(void) 58 58 { ··· 68 56 FIQ_ENABLECLEAR = 0xffffffff; /* clear all fast interrupt enables */ 69 57 70 58 for (irq = 0; irq < NR_IRQS; irq++) { 71 - irq_desc[irq].valid = 1; 72 - irq_desc[irq].probe_ok = 1; 73 - irq_desc[irq].mask_ack = l7200_mask_irq; 74 - irq_desc[irq].mask = l7200_mask_irq; 75 - irq_desc[irq].unmask = l7200_unmask_irq; 59 + set_irq_chip(irq, &l7200_irq_chip); 60 + set_irq_flags(irq, IRQF_VALID); 61 + set_irq_handler(irq, do_level_IRQ); 76 62 } 77 63 78 64 init_FIQ();
+19 -1
arch/arm/mach-pxa/corgi_lcd.c
··· 467 467 { 468 468 if (get_hsync_time) 469 469 symbol_put(w100fb_get_hsynclen); 470 + get_hsync_time = NULL; 470 471 } 471 472 472 473 void corgi_wait_hsync(void) ··· 477 476 #endif 478 477 479 478 #ifdef CONFIG_PXA_SHARP_Cxx00 479 + static struct device *spitz_pxafb_dev; 480 + 481 + static int is_pxafb_device(struct device * dev, void * data) 482 + { 483 + struct platform_device *pdev = container_of(dev, struct platform_device, dev); 484 + 485 + return (strncmp(pdev->name, "pxa2xx-fb", 9) == 0); 486 + } 487 + 480 488 unsigned long spitz_get_hsync_len(void) 481 489 { 490 + if (!spitz_pxafb_dev) { 491 + spitz_pxafb_dev = bus_find_device(&platform_bus_type, NULL, NULL, is_pxafb_device); 492 + if (!spitz_pxafb_dev) 493 + return 0; 494 + } 482 495 if (!get_hsync_time) 483 496 get_hsync_time = symbol_get(pxafb_get_hsync_time); 484 497 if (!get_hsync_time) 485 498 return 0; 486 499 487 - return pxafb_get_hsync_time(&pxafb_device.dev); 500 + return pxafb_get_hsync_time(spitz_pxafb_dev); 488 501 } 489 502 490 503 void spitz_put_hsync(void) 491 504 { 505 + put_device(spitz_pxafb_dev); 492 506 if (get_hsync_time) 493 507 symbol_put(pxafb_get_hsync_time); 508 + spitz_pxafb_dev = NULL; 509 + get_hsync_time = NULL; 494 510 } 495 511 496 512 void spitz_wait_hsync(void)
+5
arch/arm/mach-pxa/generic.c
··· 208 208 .resource = pxafb_resources, 209 209 }; 210 210 211 + void __init set_pxa_fb_parent(struct device *parent_dev) 212 + { 213 + pxafb_device.dev.parent = parent_dev; 214 + } 215 + 211 216 static struct platform_device ffuart_device = { 212 217 .name = "pxa2xx-uart", 213 218 .id = 0,
+1 -3
arch/arm/mach-pxa/spitz.c
··· 36 36 #include <asm/arch/irq.h> 37 37 #include <asm/arch/mmc.h> 38 38 #include <asm/arch/udc.h> 39 - #include <asm/arch/ohci.h> 40 39 #include <asm/arch/pxafb.h> 41 40 #include <asm/arch/akita.h> 42 41 #include <asm/arch/spitz.h> ··· 303 304 &spitzkbd_device, 304 305 &spitzts_device, 305 306 &spitzbl_device, 306 - &spitzbattery_device, 307 307 }; 308 308 309 309 static void __init common_init(void) ··· 326 328 327 329 platform_add_devices(devices, ARRAY_SIZE(devices)); 328 330 pxa_set_mci_info(&spitz_mci_platform_data); 329 - pxafb_device.dev.parent = &spitzssp_device.dev; 331 + set_pxa_fb_parent(&spitzssp_device.dev); 330 332 set_pxa_fb_info(&spitz_pxafb_info); 331 333 } 332 334
+1
arch/arm/mach-s3c2410/Kconfig
··· 12 12 config ARCH_BAST 13 13 bool "Simtec Electronics BAST (EB2410ITX)" 14 14 select CPU_S3C2410 15 + select ISA 15 16 help 16 17 Say Y here if you are using the Simtec Electronics EB2410ITX 17 18 development board (also known as BAST)
+1 -1
drivers/input/keyboard/spitzkbd.c
··· 53 53 KEY_LEFTCTRL, KEY_1, KEY_3, KEY_5, KEY_6, KEY_7, KEY_9, KEY_0, KEY_BACKSPACE, SPITZ_KEY_EXOK, SPITZ_KEY_EXCANCEL, 0, 0, 0, 0, 0, /* 1-16 */ 54 54 0, KEY_2, KEY_4, KEY_R, KEY_Y, KEY_8, KEY_I, KEY_O, KEY_P, SPITZ_KEY_EXJOGDOWN, SPITZ_KEY_EXJOGUP, 0, 0, 0, 0, 0, /* 17-32 */ 55 55 KEY_TAB, KEY_Q, KEY_E, KEY_T, KEY_G, KEY_U, KEY_J, KEY_K, 0, 0, 0, 0, 0, 0, 0, 0, /* 33-48 */ 56 - SPITZ_KEY_CALENDER, KEY_W, KEY_S, KEY_F, KEY_V, KEY_H, KEY_M, KEY_L, 0, 0, KEY_RIGHTSHIFT, 0, 0, 0, 0, 0, /* 49-64 */ 56 + SPITZ_KEY_CALENDER, KEY_W, KEY_S, KEY_F, KEY_V, KEY_H, KEY_M, KEY_L, 0, KEY_RIGHTSHIFT, 0, 0, 0, 0, 0, 0, /* 49-64 */ 57 57 SPITZ_KEY_ADDRESS, KEY_A, KEY_D, KEY_C, KEY_B, KEY_N, KEY_DOT, 0, KEY_ENTER, KEY_LEFTSHIFT, 0, 0, 0, 0, 0, 0, /* 65-80 */ 58 58 SPITZ_KEY_MAIL, KEY_Z, KEY_X, KEY_MINUS, KEY_SPACE, KEY_COMMA, 0, KEY_UP, 0, 0, SPITZ_KEY_FN, 0, 0, 0, 0, 0, /* 81-96 */ 59 59 KEY_SYSRQ, SPITZ_KEY_JAP1, SPITZ_KEY_JAP2, SPITZ_KEY_CANCEL, SPITZ_KEY_OK, SPITZ_KEY_MENU, KEY_LEFT, KEY_DOWN, KEY_RIGHT, 0, 0, 0, 0, 0, 0, 0 /* 97-112 */
+1
include/asm-arm/arch-pxa/pxafb.h
··· 66 66 67 67 }; 68 68 void set_pxa_fb_info(struct pxafb_mach_info *hard_pxa_fb_info); 69 + void set_pxa_fb_parent(struct device *parent_dev); 69 70 unsigned long pxafb_get_hsync_time(struct device *dev);
+42 -16
include/asm-arm/arch-s3c2410/io.h
··· 9 9 * 06-Dec-1997 RMK Created. 10 10 * 02-Sep-2003 BJD Modified for S3C2410 11 11 * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA 12 - * 12 + * 13-Oct-2005 BJD Fixed problems with LDRH/STRH offset range 13 13 */ 14 14 15 15 #ifndef __ASM_ARM_ARCH_IO_H ··· 97 97 else \ 98 98 __asm__ __volatile__( \ 99 99 "strb %0, [%1, #0] @ outbc" \ 100 - : : "r" (value), "r" ((port))); \ 100 + : : "r" (value), "r" ((port))); \ 101 101 }) 102 102 103 103 #define __inbc(port) \ ··· 110 110 else \ 111 111 __asm__ __volatile__( \ 112 112 "ldrb %0, [%1, #0] @ inbc" \ 113 - : "=r" (result) : "r" ((port))); \ 113 + : "=r" (result) : "r" ((port))); \ 114 114 result; \ 115 115 }) 116 116 117 117 #define __outwc(value,port) \ 118 118 ({ \ 119 119 unsigned long v = value; \ 120 - if (__PORT_PCIO((port))) \ 121 - __asm__ __volatile__( \ 122 - "strh %0, [%1, %2] @ outwc" \ 123 - : : "r" (v), "r" (PCIO_BASE), "Jr" ((port))); \ 124 - else \ 120 + if (__PORT_PCIO((port))) { \ 121 + if ((port) < 256 && (port) > -256) \ 122 + __asm__ __volatile__( \ 123 + "strh %0, [%1, %2] @ outwc" \ 124 + : : "r" (v), "r" (PCIO_BASE), "Jr" ((port))); \ 125 + else if ((port) > 0) \ 126 + __asm__ __volatile__( \ 127 + "strh %0, [%1, %2] @ outwc" \ 128 + : : "r" (v), \ 129 + "r" (PCIO_BASE + ((port) & ~0xff)), \ 130 + "Jr" (((port) & 0xff))); \ 131 + else \ 132 + __asm__ __volatile__( \ 133 + "strh %0, [%1, #0] @ outwc" \ 134 + : : "r" (v), \ 135 + "r" (PCIO_BASE + (port))); \ 136 + } else \ 125 137 __asm__ __volatile__( \ 126 138 "strh %0, [%1, #0] @ outwc" \ 127 - : : "r" (v), "r" ((port))); \ 139 + : : "r" (v), "r" ((port))); \ 128 140 }) 129 141 130 142 #define __inwc(port) \ 131 143 ({ \ 132 144 unsigned short result; \ 133 - if (__PORT_PCIO((port))) \ 134 - __asm__ __volatile__( \ 135 - "ldrh %0, [%1, %2] @ inwc" \ 136 - : "=r" (result) : "r" (PCIO_BASE), "Jr" ((port))); \ 137 - else \ 145 + if (__PORT_PCIO((port))) { \ 146 + if ((port) < 256 && (port) > -256 ) \ 147 + __asm__ __volatile__( \ 148 + "ldrh %0, [%1, %2] @ inwc" \ 149 + : "=r" (result) \ 150 + : "r" (PCIO_BASE), \ 151 + "Jr" ((port))); \ 152 + else if ((port) > 0) \ 153 + __asm__ __volatile__( \ 154 + "ldrh %0, [%1, %2] @ inwc" \ 155 + : "=r" (result) \ 156 + : "r" (PCIO_BASE + ((port) & ~0xff)), \ 157 + "Jr" (((port) & 0xff))); \ 158 + else \ 159 + __asm__ __volatile__( \ 160 + "ldrh %0, [%1, #0] @ inwc" \ 161 + : "=r" (result) \ 162 + : "r" (PCIO_BASE + ((port)))); \ 163 + } else \ 138 164 __asm__ __volatile__( \ 139 165 "ldrh %0, [%1, #0] @ inwc" \ 140 - : "=r" (result) : "r" ((port))); \ 141 - result; \ 166 + : "=r" (result) : "r" ((port))); \ 167 + result; \ 142 168 }) 143 169 144 170 #define __outlc(value,port) \