diff options
| -rw-r--r-- | arch/arm/kernel/vmlinux.lds.S | 15 | ||||
| -rw-r--r-- | arch/arm/mach-l7200/core.c | 20 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/corgi_lcd.c | 20 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/generic.c | 5 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/spitz.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/input/keyboard/spitzkbd.c | 2 | ||||
| -rw-r--r-- | include/asm-arm/arch-pxa/pxafb.h | 1 | ||||
| -rw-r--r-- | include/asm-arm/arch-s3c2410/io.h | 58 |
9 files changed, 93 insertions, 33 deletions
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index 08e58ecd44be..0d5db5279c5c 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S | |||
| @@ -89,13 +89,6 @@ SECTIONS | |||
| 89 | *(.got) /* Global offset table */ | 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 | RODATA | 92 | RODATA |
| 100 | 93 | ||
| 101 | _etext = .; /* End of text and rodata section */ | 94 | _etext = .; /* End of text and rodata section */ |
| @@ -138,6 +131,14 @@ SECTIONS | |||
| 138 | *(.data.cacheline_aligned) | 131 | *(.data.cacheline_aligned) |
| 139 | 132 | ||
| 140 | /* | 133 | /* |
| 134 | * The exception fixup table (might need resorting at runtime) | ||
| 135 | */ | ||
| 136 | . = ALIGN(32); | ||
| 137 | __start___ex_table = .; | ||
| 138 | *(__ex_table) | ||
| 139 | __stop___ex_table = .; | ||
| 140 | |||
| 141 | /* | ||
| 141 | * and the usual data section | 142 | * and the usual data section |
| 142 | */ | 143 | */ |
| 143 | *(.data) | 144 | *(.data) |
diff --git a/arch/arm/mach-l7200/core.c b/arch/arm/mach-l7200/core.c index 5fd8c9f97f9a..03ed742ae2be 100644 --- a/arch/arm/mach-l7200/core.c +++ b/arch/arm/mach-l7200/core.c | |||
| @@ -7,11 +7,17 @@ | |||
| 7 | */ | 7 | */ |
| 8 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
| 9 | #include <linux/init.h> | 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 | #include <asm/hardware.h> | 15 | #include <asm/hardware.h> |
| 12 | #include <asm/page.h> | 16 | #include <asm/page.h> |
| 13 | 17 | ||
| 18 | #include <asm/mach/arch.h> | ||
| 14 | #include <asm/mach/map.h> | 19 | #include <asm/mach/map.h> |
| 20 | #include <asm/mach/irq.h> | ||
| 15 | 21 | ||
| 16 | /* | 22 | /* |
| 17 | * IRQ base register | 23 | * IRQ base register |
| @@ -47,6 +53,12 @@ static void l7200_unmask_irq(unsigned int irq) | |||
| 47 | { | 53 | { |
| 48 | IRQ_ENABLE = 1 << irq; | 54 | IRQ_ENABLE = 1 << irq; |
| 49 | } | 55 | } |
| 56 | |||
| 57 | static struct irqchip l7200_irq_chip = { | ||
| 58 | .ack = l7200_mask_irq, | ||
| 59 | .mask = l7200_mask_irq, | ||
| 60 | .unmask = l7200_unmask_irq | ||
| 61 | }; | ||
| 50 | 62 | ||
| 51 | static void __init l7200_init_irq(void) | 63 | static void __init l7200_init_irq(void) |
| 52 | { | 64 | { |
| @@ -56,11 +68,9 @@ static void __init l7200_init_irq(void) | |||
| 56 | FIQ_ENABLECLEAR = 0xffffffff; /* clear all fast interrupt enables */ | 68 | FIQ_ENABLECLEAR = 0xffffffff; /* clear all fast interrupt enables */ |
| 57 | 69 | ||
| 58 | for (irq = 0; irq < NR_IRQS; irq++) { | 70 | for (irq = 0; irq < NR_IRQS; irq++) { |
| 59 | irq_desc[irq].valid = 1; | 71 | set_irq_chip(irq, &l7200_irq_chip); |
| 60 | irq_desc[irq].probe_ok = 1; | 72 | set_irq_flags(irq, IRQF_VALID); |
| 61 | irq_desc[irq].mask_ack = l7200_mask_irq; | 73 | set_irq_handler(irq, do_level_IRQ); |
| 62 | irq_desc[irq].mask = l7200_mask_irq; | ||
| 63 | irq_desc[irq].unmask = l7200_unmask_irq; | ||
| 64 | } | 74 | } |
| 65 | 75 | ||
| 66 | init_FIQ(); | 76 | init_FIQ(); |
diff --git a/arch/arm/mach-pxa/corgi_lcd.c b/arch/arm/mach-pxa/corgi_lcd.c index c02ef7c0f7ef..850538fadece 100644 --- a/arch/arm/mach-pxa/corgi_lcd.c +++ b/arch/arm/mach-pxa/corgi_lcd.c | |||
| @@ -467,6 +467,7 @@ void corgi_put_hsync(void) | |||
| 467 | { | 467 | { |
| 468 | if (get_hsync_time) | 468 | if (get_hsync_time) |
| 469 | symbol_put(w100fb_get_hsynclen); | 469 | symbol_put(w100fb_get_hsynclen); |
| 470 | get_hsync_time = NULL; | ||
| 470 | } | 471 | } |
| 471 | 472 | ||
| 472 | void corgi_wait_hsync(void) | 473 | void corgi_wait_hsync(void) |
| @@ -476,20 +477,37 @@ void corgi_wait_hsync(void) | |||
| 476 | #endif | 477 | #endif |
| 477 | 478 | ||
| 478 | #ifdef CONFIG_PXA_SHARP_Cxx00 | 479 | #ifdef CONFIG_PXA_SHARP_Cxx00 |
| 480 | static struct device *spitz_pxafb_dev; | ||
| 481 | |||
| 482 | static int is_pxafb_device(struct device * dev, void * data) | ||
| 483 | { | ||
| 484 | struct platform_device *pdev = container_of(dev, struct platform_device, dev); | ||
| 485 | |||
| 486 | return (strncmp(pdev->name, "pxa2xx-fb", 9) == 0); | ||
| 487 | } | ||
| 488 | |||
| 479 | unsigned long spitz_get_hsync_len(void) | 489 | unsigned long spitz_get_hsync_len(void) |
| 480 | { | 490 | { |
| 491 | if (!spitz_pxafb_dev) { | ||
| 492 | spitz_pxafb_dev = bus_find_device(&platform_bus_type, NULL, NULL, is_pxafb_device); | ||
| 493 | if (!spitz_pxafb_dev) | ||
| 494 | return 0; | ||
| 495 | } | ||
| 481 | if (!get_hsync_time) | 496 | if (!get_hsync_time) |
| 482 | get_hsync_time = symbol_get(pxafb_get_hsync_time); | 497 | get_hsync_time = symbol_get(pxafb_get_hsync_time); |
| 483 | if (!get_hsync_time) | 498 | if (!get_hsync_time) |
| 484 | return 0; | 499 | return 0; |
| 485 | 500 | ||
| 486 | return pxafb_get_hsync_time(&pxafb_device.dev); | 501 | return pxafb_get_hsync_time(spitz_pxafb_dev); |
| 487 | } | 502 | } |
| 488 | 503 | ||
| 489 | void spitz_put_hsync(void) | 504 | void spitz_put_hsync(void) |
| 490 | { | 505 | { |
| 506 | put_device(spitz_pxafb_dev); | ||
| 491 | if (get_hsync_time) | 507 | if (get_hsync_time) |
| 492 | symbol_put(pxafb_get_hsync_time); | 508 | symbol_put(pxafb_get_hsync_time); |
| 509 | spitz_pxafb_dev = NULL; | ||
| 510 | get_hsync_time = NULL; | ||
| 493 | } | 511 | } |
| 494 | 512 | ||
| 495 | void spitz_wait_hsync(void) | 513 | void spitz_wait_hsync(void) |
diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c index d0660a8c4b70..d327c127eddb 100644 --- a/arch/arm/mach-pxa/generic.c +++ b/arch/arm/mach-pxa/generic.c | |||
| @@ -208,6 +208,11 @@ static struct platform_device pxafb_device = { | |||
| 208 | .resource = pxafb_resources, | 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 | static struct platform_device ffuart_device = { | 216 | static struct platform_device ffuart_device = { |
| 212 | .name = "pxa2xx-uart", | 217 | .name = "pxa2xx-uart", |
| 213 | .id = 0, | 218 | .id = 0, |
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 568afe3d6e1a..d0ab428c2d7d 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
| @@ -36,7 +36,6 @@ | |||
| 36 | #include <asm/arch/irq.h> | 36 | #include <asm/arch/irq.h> |
| 37 | #include <asm/arch/mmc.h> | 37 | #include <asm/arch/mmc.h> |
| 38 | #include <asm/arch/udc.h> | 38 | #include <asm/arch/udc.h> |
| 39 | #include <asm/arch/ohci.h> | ||
| 40 | #include <asm/arch/pxafb.h> | 39 | #include <asm/arch/pxafb.h> |
| 41 | #include <asm/arch/akita.h> | 40 | #include <asm/arch/akita.h> |
| 42 | #include <asm/arch/spitz.h> | 41 | #include <asm/arch/spitz.h> |
| @@ -304,7 +303,6 @@ static struct platform_device *devices[] __initdata = { | |||
| 304 | &spitzkbd_device, | 303 | &spitzkbd_device, |
| 305 | &spitzts_device, | 304 | &spitzts_device, |
| 306 | &spitzbl_device, | 305 | &spitzbl_device, |
| 307 | &spitzbattery_device, | ||
| 308 | }; | 306 | }; |
| 309 | 307 | ||
| 310 | static void __init common_init(void) | 308 | static void __init common_init(void) |
| @@ -328,7 +326,7 @@ static void __init common_init(void) | |||
| 328 | 326 | ||
| 329 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 327 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
| 330 | pxa_set_mci_info(&spitz_mci_platform_data); | 328 | pxa_set_mci_info(&spitz_mci_platform_data); |
| 331 | pxafb_device.dev.parent = &spitzssp_device.dev; | 329 | set_pxa_fb_parent(&spitzssp_device.dev); |
| 332 | set_pxa_fb_info(&spitz_pxafb_info); | 330 | set_pxa_fb_info(&spitz_pxafb_info); |
| 333 | } | 331 | } |
| 334 | 332 | ||
diff --git a/arch/arm/mach-s3c2410/Kconfig b/arch/arm/mach-s3c2410/Kconfig index 06807c6ee68a..c796bcdd6158 100644 --- a/arch/arm/mach-s3c2410/Kconfig +++ b/arch/arm/mach-s3c2410/Kconfig | |||
| @@ -12,6 +12,7 @@ config MACH_ANUBIS | |||
| 12 | config ARCH_BAST | 12 | config ARCH_BAST |
| 13 | bool "Simtec Electronics BAST (EB2410ITX)" | 13 | bool "Simtec Electronics BAST (EB2410ITX)" |
| 14 | select CPU_S3C2410 | 14 | select CPU_S3C2410 |
| 15 | select ISA | ||
| 15 | help | 16 | help |
| 16 | Say Y here if you are using the Simtec Electronics EB2410ITX | 17 | Say Y here if you are using the Simtec Electronics EB2410ITX |
| 17 | development board (also known as BAST) | 18 | development board (also known as BAST) |
diff --git a/drivers/input/keyboard/spitzkbd.c b/drivers/input/keyboard/spitzkbd.c index 1714045a182b..344f46005401 100644 --- a/drivers/input/keyboard/spitzkbd.c +++ b/drivers/input/keyboard/spitzkbd.c | |||
| @@ -53,7 +53,7 @@ static unsigned char spitzkbd_keycode[NR_SCANCODES] = { | |||
| 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 */ | 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 | 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 */ | 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 | 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 */ | 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 | 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 */ | 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 | 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 */ | 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 | 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 */ | 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 */ |
diff --git a/include/asm-arm/arch-pxa/pxafb.h b/include/asm-arm/arch-pxa/pxafb.h index 21c0e16dce5f..aba9b30f4249 100644 --- a/include/asm-arm/arch-pxa/pxafb.h +++ b/include/asm-arm/arch-pxa/pxafb.h | |||
| @@ -66,4 +66,5 @@ struct pxafb_mach_info { | |||
| 66 | 66 | ||
| 67 | }; | 67 | }; |
| 68 | void set_pxa_fb_info(struct pxafb_mach_info *hard_pxa_fb_info); | 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 | unsigned long pxafb_get_hsync_time(struct device *dev); | 70 | unsigned long pxafb_get_hsync_time(struct device *dev); |
diff --git a/include/asm-arm/arch-s3c2410/io.h b/include/asm-arm/arch-s3c2410/io.h index 418233a7ee6f..4bf272ed9add 100644 --- a/include/asm-arm/arch-s3c2410/io.h +++ b/include/asm-arm/arch-s3c2410/io.h | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | * 06-Dec-1997 RMK Created. | 9 | * 06-Dec-1997 RMK Created. |
| 10 | * 02-Sep-2003 BJD Modified for S3C2410 | 10 | * 02-Sep-2003 BJD Modified for S3C2410 |
| 11 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | 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 | #ifndef __ASM_ARM_ARCH_IO_H | 15 | #ifndef __ASM_ARM_ARCH_IO_H |
| @@ -97,7 +97,7 @@ DECLARE_IO(int,l,"") | |||
| 97 | else \ | 97 | else \ |
| 98 | __asm__ __volatile__( \ | 98 | __asm__ __volatile__( \ |
| 99 | "strb %0, [%1, #0] @ outbc" \ | 99 | "strb %0, [%1, #0] @ outbc" \ |
| 100 | : : "r" (value), "r" ((port))); \ | 100 | : : "r" (value), "r" ((port))); \ |
| 101 | }) | 101 | }) |
| 102 | 102 | ||
| 103 | #define __inbc(port) \ | 103 | #define __inbc(port) \ |
| @@ -110,35 +110,61 @@ DECLARE_IO(int,l,"") | |||
| 110 | else \ | 110 | else \ |
| 111 | __asm__ __volatile__( \ | 111 | __asm__ __volatile__( \ |
| 112 | "ldrb %0, [%1, #0] @ inbc" \ | 112 | "ldrb %0, [%1, #0] @ inbc" \ |
| 113 | : "=r" (result) : "r" ((port))); \ | 113 | : "=r" (result) : "r" ((port))); \ |
| 114 | result; \ | 114 | result; \ |
| 115 | }) | 115 | }) |
| 116 | 116 | ||
| 117 | #define __outwc(value,port) \ | 117 | #define __outwc(value,port) \ |
| 118 | ({ \ | 118 | ({ \ |
| 119 | unsigned long v = value; \ | 119 | unsigned long v = value; \ |
| 120 | if (__PORT_PCIO((port))) \ | 120 | if (__PORT_PCIO((port))) { \ |
| 121 | __asm__ __volatile__( \ | 121 | if ((port) < 256 && (port) > -256) \ |
| 122 | "strh %0, [%1, %2] @ outwc" \ | 122 | __asm__ __volatile__( \ |
| 123 | : : "r" (v), "r" (PCIO_BASE), "Jr" ((port))); \ | 123 | "strh %0, [%1, %2] @ outwc" \ |
| 124 | else \ | 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 | __asm__ __volatile__( \ | 137 | __asm__ __volatile__( \ |
| 126 | "strh %0, [%1, #0] @ outwc" \ | 138 | "strh %0, [%1, #0] @ outwc" \ |
| 127 | : : "r" (v), "r" ((port))); \ | 139 | : : "r" (v), "r" ((port))); \ |
| 128 | }) | 140 | }) |
| 129 | 141 | ||
| 130 | #define __inwc(port) \ | 142 | #define __inwc(port) \ |
| 131 | ({ \ | 143 | ({ \ |
| 132 | unsigned short result; \ | 144 | unsigned short result; \ |
| 133 | if (__PORT_PCIO((port))) \ | 145 | if (__PORT_PCIO((port))) { \ |
| 134 | __asm__ __volatile__( \ | 146 | if ((port) < 256 && (port) > -256 ) \ |
| 135 | "ldrh %0, [%1, %2] @ inwc" \ | 147 | __asm__ __volatile__( \ |
| 136 | : "=r" (result) : "r" (PCIO_BASE), "Jr" ((port))); \ | 148 | "ldrh %0, [%1, %2] @ inwc" \ |
| 137 | else \ | 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 | __asm__ __volatile__( \ | 164 | __asm__ __volatile__( \ |
| 139 | "ldrh %0, [%1, #0] @ inwc" \ | 165 | "ldrh %0, [%1, #0] @ inwc" \ |
| 140 | : "=r" (result) : "r" ((port))); \ | 166 | : "=r" (result) : "r" ((port))); \ |
| 141 | result; \ | 167 | result; \ |
| 142 | }) | 168 | }) |
| 143 | 169 | ||
| 144 | #define __outlc(value,port) \ | 170 | #define __outlc(value,port) \ |
