aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/DocBook/kernel-api.tmpl13
-rw-r--r--Documentation/kernel-parameters.txt7
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/kernel/smp.c2
-rw-r--r--arch/arm/kernel/traps.c2
-rw-r--r--arch/arm/mach-sa1100/jornada720.c27
-rw-r--r--arch/arm/mach-sa1100/jornada720_ssp.c2
-rw-r--r--arch/blackfin/Makefile4
-rw-r--r--arch/blackfin/kernel/dma-mapping.c3
-rw-r--r--arch/blackfin/kernel/setup.c5
-rw-r--r--arch/blackfin/kernel/traps.c2
-rw-r--r--arch/blackfin/kernel/vmlinux.lds.S16
-rw-r--r--arch/blackfin/mach-bf561/head.S10
-rw-r--r--arch/blackfin/mach-common/cacheinit.S3
-rw-r--r--arch/blackfin/mach-common/ints-priority-dc.c39
-rw-r--r--arch/blackfin/mach-common/ints-priority-sc.c48
-rw-r--r--arch/ia64/Kconfig3
-rw-r--r--arch/ia64/hp/common/sba_iommu.c7
-rw-r--r--arch/ia64/hp/sim/simscsi.c2
-rw-r--r--arch/ia64/kernel/acpi.c9
-rw-r--r--arch/ia64/kernel/irq_ia64.c5
-rw-r--r--arch/x86_64/Kconfig3
-rw-r--r--block/Kconfig4
-rw-r--r--block/blktrace.c20
-rw-r--r--drivers/char/agp/Kconfig2
-rw-r--r--drivers/char/agp/ati-agp.c9
-rw-r--r--drivers/char/agp/generic.c2
-rw-r--r--drivers/char/agp/intel-agp.c19
-rw-r--r--drivers/char/agp/sgi-agp.c1
-rw-r--r--drivers/i2c/busses/Kconfig4
-rw-r--r--drivers/input/serio/Kconfig2
-rw-r--r--drivers/net/bfin_mac.c6
-rw-r--r--drivers/rtc/rtc-bfin.c2
-rw-r--r--fs/pipe.c2
-rw-r--r--fs/quota.c2
-rw-r--r--fs/splice.c4
-rw-r--r--include/asm-arm/arch-mxc/uncompress.h3
-rw-r--r--include/asm-blackfin/bfin-global.h1
-rw-r--r--include/asm-blackfin/mach-bf548/cdefBF54x_base.h33
-rw-r--r--include/asm-blackfin/mach-bf548/irq.h1
-rw-r--r--include/asm-blackfin/mach-bf561/cdefBF561.h6
-rw-r--r--include/asm-blackfin/mach-bf561/defBF561.h4
-rw-r--r--include/asm-blackfin/thread_info.h12
-rw-r--r--include/linux/blkdev.h4
-rw-r--r--sound/soc/pxa/pxa2xx-ac97.c4
45 files changed, 229 insertions, 131 deletions
diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl
index eb42bf9847cb..ec7c498b69fc 100644
--- a/Documentation/DocBook/kernel-api.tmpl
+++ b/Documentation/DocBook/kernel-api.tmpl
@@ -704,14 +704,23 @@ X!Idrivers/video/console/fonts.c
704 704
705 <chapter id="splice"> 705 <chapter id="splice">
706 <title>splice API</title> 706 <title>splice API</title>
707 <para>) 707 <para>
708 splice is a method for moving blocks of data around inside the 708 splice is a method for moving blocks of data around inside the
709 kernel, without continually transferring it between the kernel 709 kernel, without continually transferring them between the kernel
710 and user space. 710 and user space.
711 </para> 711 </para>
712!Iinclude/linux/splice.h 712!Iinclude/linux/splice.h
713!Ffs/splice.c 713!Ffs/splice.c
714 </chapter> 714 </chapter>
715 715
716 <chapter id="pipes">
717 <title>pipes API</title>
718 <para>
719 Pipe interfaces are all for in-kernel (builtin image) use.
720 They are not exported for use by modules.
721 </para>
722!Iinclude/linux/pipe_fs_i.h
723!Ffs/pipe.c
724 </chapter>
716 725
717</book> 726</book>
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index fb80e9ffea68..1156653338fe 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -30,6 +30,7 @@ the beginning of each description states the restrictions within which a
30parameter is applicable: 30parameter is applicable:
31 31
32 ACPI ACPI support is enabled. 32 ACPI ACPI support is enabled.
33 AGP AGP (Accelerated Graphics Port) is enabled.
33 ALSA ALSA sound support is enabled. 34 ALSA ALSA sound support is enabled.
34 APIC APIC support is enabled. 35 APIC APIC support is enabled.
35 APM Advanced Power Management support is enabled. 36 APM Advanced Power Management support is enabled.
@@ -227,6 +228,12 @@ and is between 256 and 4096 characters. It is defined in the file
227 to assume that this machine's pmtimer latches its value 228 to assume that this machine's pmtimer latches its value
228 and always returns good values. 229 and always returns good values.
229 230
231 agp= [AGP]
232 { off | try_unsupported }
233 off: disable AGP support
234 try_unsupported: try to drive unsupported chipsets
235 (may crash computer or cause data corruption)
236
230 enable_timer_pin_1 [i386,x86-64] 237 enable_timer_pin_1 [i386,x86-64]
231 Enable PIN 1 of APIC timer 238 Enable PIN 1 of APIC timer
232 Can be useful to work around chipset bugs 239 Can be useful to work around chipset bugs
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 85016313bd11..c8569e862c6b 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -341,6 +341,7 @@ config ARCH_PXA
341 select ARCH_MTD_XIP 341 select ARCH_MTD_XIP
342 select GENERIC_GPIO 342 select GENERIC_GPIO
343 select GENERIC_TIME 343 select GENERIC_TIME
344 select GENERIC_CLOCKEVENTS
344 help 345 help
345 Support for Intel's PXA2XX processor line. 346 Support for Intel's PXA2XX processor line.
346 347
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 1b76d87fa335..9746e5293249 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -630,7 +630,7 @@ void smp_send_stop(void)
630/* 630/*
631 * not supported here 631 * not supported here
632 */ 632 */
633int __init setup_profiling_timer(unsigned int multiplier) 633int setup_profiling_timer(unsigned int multiplier)
634{ 634{
635 return -EINVAL; 635 return -EINVAL;
636} 636}
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index f2114bcf09d5..8ad47619c079 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -352,10 +352,8 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs)
352 352
353asmlinkage void do_unexp_fiq (struct pt_regs *regs) 353asmlinkage void do_unexp_fiq (struct pt_regs *regs)
354{ 354{
355#ifndef CONFIG_IGNORE_FIQ
356 printk("Hmm. Unexpected FIQ received, but trying to continue\n"); 355 printk("Hmm. Unexpected FIQ received, but trying to continue\n");
357 printk("You may have a hardware problem...\n"); 356 printk("You may have a hardware problem...\n");
358#endif
359} 357}
360 358
361/* 359/*
diff --git a/arch/arm/mach-sa1100/jornada720.c b/arch/arm/mach-sa1100/jornada720.c
index 64067cd58d36..52ac37d1e23a 100644
--- a/arch/arm/mach-sa1100/jornada720.c
+++ b/arch/arm/mach-sa1100/jornada720.c
@@ -3,6 +3,7 @@
3 * 3 *
4 * HP Jornada720 init code 4 * HP Jornada720 init code
5 * 5 *
6 * Copyright (C) 2007 Kristoffer Ericson <Kristoffer.Ericson@gmail.com>
6 * Copyright (C) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl> 7 * Copyright (C) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl>
7 * Copyright (C) 2005 Michael Gernoth <michael@gernoth.net> 8 * Copyright (C) 2005 Michael Gernoth <michael@gernoth.net>
8 * 9 *
@@ -220,14 +221,16 @@ static struct platform_device sa1111_device = {
220 .resource = sa1111_resources, 221 .resource = sa1111_resources,
221}; 222};
222 223
223static struct platform_device jornada720_mcu_device = { 224static struct platform_device jornada_ssp_device = {
224 .name = "jornada720_mcu", 225 .name = "jornada_ssp",
225 .id = -1, 226 .id = -1,
226}; 227};
227 228
228static struct platform_device *devices[] __initdata = { 229static struct platform_device *devices[] __initdata = {
229 &sa1111_device, 230 &sa1111_device,
230 &jornada720_mcu_device, 231#ifdef CONFIG_SA1100_JORNADA720_SSP
232 &jornada_ssp_device,
233#endif
231 &s1d13xxxfb_device, 234 &s1d13xxxfb_device,
232}; 235};
233 236
@@ -236,19 +239,19 @@ static int __init jornada720_init(void)
236 int ret = -ENODEV; 239 int ret = -ENODEV;
237 240
238 if (machine_is_jornada720()) { 241 if (machine_is_jornada720()) {
239 GPDR |= GPIO_GPIO20; 242 /* we want to use gpio20 as input to drive the clock of our uart 3 */
240 /* oscillator setup (line 116 of HP's doc) */ 243 GPDR |= GPIO_GPIO20; /* Clear gpio20 pin as input */
241 TUCR = TUCR_VAL; 244 TUCR = TUCR_VAL;
242 /* resetting SA1111 (line 118 of HP's doc) */ 245 GPSR = GPIO_GPIO20; /* start gpio20 pin */
243 GPSR = GPIO_GPIO20;
244 udelay(1); 246 udelay(1);
245 GPCR = GPIO_GPIO20; 247 GPCR = GPIO_GPIO20; /* stop gpio20 */
246 udelay(1); 248 udelay(1);
247 GPSR = GPIO_GPIO20; 249 GPSR = GPIO_GPIO20; /* restart gpio20 */
248 udelay(20); 250 udelay(20); /* give it some time to restart */
249 251
250 ret = platform_add_devices(devices, ARRAY_SIZE(devices)); 252 ret = platform_add_devices(devices, ARRAY_SIZE(devices));
251 } 253 }
254
252 return ret; 255 return ret;
253} 256}
254 257
@@ -345,7 +348,7 @@ static void __init jornada720_mach_init(void)
345} 348}
346 349
347MACHINE_START(JORNADA720, "HP Jornada 720") 350MACHINE_START(JORNADA720, "HP Jornada 720")
348 /* Maintainer: Michael Gernoth <michael@gernoth.net> */ 351 /* Maintainer: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> */
349 .phys_io = 0x80000000, 352 .phys_io = 0x80000000,
350 .io_pg_offst = ((0xf8000000) >> 18) & 0xfffc, 353 .io_pg_offst = ((0xf8000000) >> 18) & 0xfffc,
351 .boot_params = 0xc0000100, 354 .boot_params = 0xc0000100,
diff --git a/arch/arm/mach-sa1100/jornada720_ssp.c b/arch/arm/mach-sa1100/jornada720_ssp.c
index 0a45e1ac8ad6..395c39bed7d8 100644
--- a/arch/arm/mach-sa1100/jornada720_ssp.c
+++ b/arch/arm/mach-sa1100/jornada720_ssp.c
@@ -161,7 +161,7 @@ static int __init jornada_ssp_probe(struct platform_device *dev)
161 ret = jornada_ssp_inout(GETBRIGHTNESS); 161 ret = jornada_ssp_inout(GETBRIGHTNESS);
162 162
163 /* seems like it worked, just feed it with TxDummy to get rid of data */ 163 /* seems like it worked, just feed it with TxDummy to get rid of data */
164 if (ret == TxDummy) 164 if (ret == TXDUMMY)
165 jornada_ssp_inout(TXDUMMY); 165 jornada_ssp_inout(TXDUMMY);
166 166
167 jornada_ssp_end(); 167 jornada_ssp_end();
diff --git a/arch/blackfin/Makefile b/arch/blackfin/Makefile
index 1b75672dfc8f..20841663270f 100644
--- a/arch/blackfin/Makefile
+++ b/arch/blackfin/Makefile
@@ -24,6 +24,8 @@ machine-$(CONFIG_BF533) := bf533
24machine-$(CONFIG_BF534) := bf537 24machine-$(CONFIG_BF534) := bf537
25machine-$(CONFIG_BF536) := bf537 25machine-$(CONFIG_BF536) := bf537
26machine-$(CONFIG_BF537) := bf537 26machine-$(CONFIG_BF537) := bf537
27machine-$(CONFIG_BF542) := bf548
28machine-$(CONFIG_BF544) := bf548
27machine-$(CONFIG_BF548) := bf548 29machine-$(CONFIG_BF548) := bf548
28machine-$(CONFIG_BF549) := bf548 30machine-$(CONFIG_BF549) := bf548
29machine-$(CONFIG_BF561) := bf561 31machine-$(CONFIG_BF561) := bf561
@@ -36,6 +38,8 @@ cpu-$(CONFIG_BF533) := bf533
36cpu-$(CONFIG_BF534) := bf534 38cpu-$(CONFIG_BF534) := bf534
37cpu-$(CONFIG_BF536) := bf536 39cpu-$(CONFIG_BF536) := bf536
38cpu-$(CONFIG_BF537) := bf537 40cpu-$(CONFIG_BF537) := bf537
41cpu-$(CONFIG_BF542) := bf542
42cpu-$(CONFIG_BF544) := bf544
39cpu-$(CONFIG_BF548) := bf548 43cpu-$(CONFIG_BF548) := bf548
40cpu-$(CONFIG_BF549) := bf549 44cpu-$(CONFIG_BF549) := bf549
41cpu-$(CONFIG_BF561) := bf561 45cpu-$(CONFIG_BF561) := bf561
diff --git a/arch/blackfin/kernel/dma-mapping.c b/arch/blackfin/kernel/dma-mapping.c
index ea48d5b13f11..94d7b119b71e 100644
--- a/arch/blackfin/kernel/dma-mapping.c
+++ b/arch/blackfin/kernel/dma-mapping.c
@@ -160,7 +160,8 @@ dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
160 BUG_ON(direction == DMA_NONE); 160 BUG_ON(direction == DMA_NONE);
161 161
162 for (i = 0; i < nents; i++, sg++) { 162 for (i = 0; i < nents; i++, sg++) {
163 sg->dma_address = page_address(sg->page) + sg->offset; 163 sg->dma_address = (dma_addr_t)(page_address(sg->page) +
164 sg->offset);
164 165
165 invalidate_dcache_range(sg_dma_address(sg), 166 invalidate_dcache_range(sg_dma_address(sg),
166 sg_dma_address(sg) + 167 sg_dma_address(sg) +
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index f59dcee7bae3..88f221b89b33 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -402,11 +402,7 @@ void __init setup_arch(char **cmdline_p)
402 if (l1_length > L1_DATA_A_LENGTH) 402 if (l1_length > L1_DATA_A_LENGTH)
403 panic("L1 data memory overflow\n"); 403 panic("L1 data memory overflow\n");
404 404
405#ifdef BF561_FAMILY
406 _bfin_swrst = bfin_read_SICA_SWRST();
407#else
408 _bfin_swrst = bfin_read_SWRST(); 405 _bfin_swrst = bfin_read_SWRST();
409#endif
410 406
411 /* Copy atomic sequences to their fixed location, and sanity check that 407 /* Copy atomic sequences to their fixed location, and sanity check that
412 these locations are the ones that we advertise to userspace. */ 408 these locations are the ones that we advertise to userspace. */
@@ -429,6 +425,7 @@ void __init setup_arch(char **cmdline_p)
429 BUG_ON((char *)&atomic_xor32 - (char *)&fixed_code_start 425 BUG_ON((char *)&atomic_xor32 - (char *)&fixed_code_start
430 != ATOMIC_XOR32 - FIXED_CODE_START); 426 != ATOMIC_XOR32 - FIXED_CODE_START);
431 427
428 init_exception_vectors();
432 bf53x_cache_init(); 429 bf53x_cache_init();
433} 430}
434 431
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index 3909f5b35536..8766bd612b47 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -140,7 +140,7 @@ asmlinkage void trap_c(struct pt_regs *fp)
140#ifdef CONFIG_KGDB 140#ifdef CONFIG_KGDB
141# define CHK_DEBUGGER_TRAP() \ 141# define CHK_DEBUGGER_TRAP() \
142 do { \ 142 do { \
143 CHK_DEBUGGER(trapnr, sig, info.si_code, fp); \ 143 CHK_DEBUGGER(trapnr, sig, info.si_code, fp, ); \
144 } while (0) 144 } while (0)
145# define CHK_DEBUGGER_TRAP_MAYBE() \ 145# define CHK_DEBUGGER_TRAP_MAYBE() \
146 do { \ 146 do { \
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S
index d06f860f4790..fb53780247bc 100644
--- a/arch/blackfin/kernel/vmlinux.lds.S
+++ b/arch/blackfin/kernel/vmlinux.lds.S
@@ -32,6 +32,7 @@
32#include <asm-generic/vmlinux.lds.h> 32#include <asm-generic/vmlinux.lds.h>
33#include <asm/mem_map.h> 33#include <asm/mem_map.h>
34#include <asm/page.h> 34#include <asm/page.h>
35#include <asm/thread_info.h>
35 36
36OUTPUT_FORMAT("elf32-bfin") 37OUTPUT_FORMAT("elf32-bfin")
37ENTRY(__start) 38ENTRY(__start)
@@ -64,8 +65,12 @@ SECTIONS
64 65
65 .data : 66 .data :
66 { 67 {
67 . = ALIGN(PAGE_SIZE); 68 /* make sure the init_task is aligned to the
69 * kernel thread size so we can locate the kernel
70 * stack properly and quickly.
71 */
68 __sdata = .; 72 __sdata = .;
73 . = ALIGN(THREAD_SIZE);
69 *(.data.init_task) 74 *(.data.init_task)
70 DATA_DATA 75 DATA_DATA
71 CONSTRUCTORS 76 CONSTRUCTORS
@@ -73,14 +78,14 @@ SECTIONS
73 . = ALIGN(32); 78 . = ALIGN(32);
74 *(.data.cacheline_aligned) 79 *(.data.cacheline_aligned)
75 80
76 . = ALIGN(PAGE_SIZE); 81 . = ALIGN(THREAD_SIZE);
77 __edata = .; 82 __edata = .;
78 } 83 }
79 84
80 . = ALIGN(PAGE_SIZE);
81 ___init_begin = .; 85 ___init_begin = .;
82 .init : 86 .init :
83 { 87 {
88 . = ALIGN(PAGE_SIZE);
84 __sinittext = .; 89 __sinittext = .;
85 *(.init.text) 90 *(.init.text)
86 __einittext = .; 91 __einittext = .;
@@ -153,10 +158,9 @@ SECTIONS
153 __ebss_b_l1 = .; 158 __ebss_b_l1 = .;
154 } 159 }
155 160
156 . = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1); 161 ___init_end = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1);
157 ___init_end = ALIGN(PAGE_SIZE);
158 162
159 .bss ___init_end : 163 .bss LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1) :
160 { 164 {
161 . = ALIGN(4); 165 . = ALIGN(4);
162 ___bss_start = .; 166 ___bss_start = .;
diff --git a/arch/blackfin/mach-bf561/head.S b/arch/blackfin/mach-bf561/head.S
index 2f08bcb2dded..38650a628980 100644
--- a/arch/blackfin/mach-bf561/head.S
+++ b/arch/blackfin/mach-bf561/head.S
@@ -440,15 +440,15 @@ ENTRY(_bfin_reset)
440 SSYNC; 440 SSYNC;
441 441
442 /* make sure SYSCR is set to use BMODE */ 442 /* make sure SYSCR is set to use BMODE */
443 P0.h = hi(SICA_SYSCR); 443 P0.h = hi(SYSCR);
444 P0.l = lo(SICA_SYSCR); 444 P0.l = lo(SYSCR);
445 R0.l = 0x20; 445 R0.l = 0x20; /* on BF561, disable core b */
446 W[P0] = R0.l; 446 W[P0] = R0.l;
447 SSYNC; 447 SSYNC;
448 448
449 /* issue a system soft reset */ 449 /* issue a system soft reset */
450 P1.h = hi(SICA_SWRST); 450 P1.h = hi(SWRST);
451 P1.l = lo(SICA_SWRST); 451 P1.l = lo(SWRST);
452 R1.l = 0x0007; 452 R1.l = 0x0007;
453 W[P1] = R1; 453 W[P1] = R1;
454 SSYNC; 454 SSYNC;
diff --git a/arch/blackfin/mach-common/cacheinit.S b/arch/blackfin/mach-common/cacheinit.S
index 9d475623b724..5be6b975ae4a 100644
--- a/arch/blackfin/mach-common/cacheinit.S
+++ b/arch/blackfin/mach-common/cacheinit.S
@@ -60,6 +60,9 @@ ENDPROC(_bfin_write_IMEM_CONTROL)
60 60
61#if defined(CONFIG_BLKFIN_DCACHE) 61#if defined(CONFIG_BLKFIN_DCACHE)
62ENTRY(_bfin_write_DMEM_CONTROL) 62ENTRY(_bfin_write_DMEM_CONTROL)
63 P0.l = (DMEM_CONTROL & 0xFFFF);
64 P0.h = (DMEM_CONTROL >> 16);
65
63 CLI R1; 66 CLI R1;
64 SSYNC; /* SSYNC required before writing to DMEM_CONTROL. */ 67 SSYNC; /* SSYNC required before writing to DMEM_CONTROL. */
65 .align 8; 68 .align 8;
diff --git a/arch/blackfin/mach-common/ints-priority-dc.c b/arch/blackfin/mach-common/ints-priority-dc.c
index 6b9fd03ce835..660f881b620a 100644
--- a/arch/blackfin/mach-common/ints-priority-dc.c
+++ b/arch/blackfin/mach-common/ints-priority-dc.c
@@ -358,26 +358,10 @@ static void bf561_demux_gpio_irq(unsigned int inta_irq,
358 358
359#endif /* CONFIG_IRQCHIP_DEMUX_GPIO */ 359#endif /* CONFIG_IRQCHIP_DEMUX_GPIO */
360 360
361/* 361void __init init_exception_vectors(void)
362 * This function should be called during kernel startup to initialize
363 * the BFin IRQ handling routines.
364 */
365int __init init_arch_irq(void)
366{ 362{
367 int irq;
368 unsigned long ilat = 0;
369 /* Disable all the peripheral intrs - page 4-29 HW Ref manual */
370 bfin_write_SICA_IMASK0(SIC_UNMASK_ALL);
371 bfin_write_SICA_IMASK1(SIC_UNMASK_ALL);
372 SSYNC(); 363 SSYNC();
373 364
374 bfin_write_SICA_IWR0(IWR_ENABLE_ALL);
375 bfin_write_SICA_IWR1(IWR_ENABLE_ALL);
376
377 local_irq_disable();
378
379 init_exception_buff();
380
381#ifndef CONFIG_KGDB 365#ifndef CONFIG_KGDB
382 bfin_write_EVT0(evt_emulation); 366 bfin_write_EVT0(evt_emulation);
383#endif 367#endif
@@ -395,6 +379,27 @@ int __init init_arch_irq(void)
395 bfin_write_EVT14(evt14_softirq); 379 bfin_write_EVT14(evt14_softirq);
396 bfin_write_EVT15(evt_system_call); 380 bfin_write_EVT15(evt_system_call);
397 CSYNC(); 381 CSYNC();
382}
383
384/*
385 * This function should be called during kernel startup to initialize
386 * the BFin IRQ handling routines.
387 */
388int __init init_arch_irq(void)
389{
390 int irq;
391 unsigned long ilat = 0;
392 /* Disable all the peripheral intrs - page 4-29 HW Ref manual */
393 bfin_write_SICA_IMASK0(SIC_UNMASK_ALL);
394 bfin_write_SICA_IMASK1(SIC_UNMASK_ALL);
395 SSYNC();
396
397 bfin_write_SICA_IWR0(IWR_ENABLE_ALL);
398 bfin_write_SICA_IWR1(IWR_ENABLE_ALL);
399
400 local_irq_disable();
401
402 init_exception_buff();
398 403
399 for (irq = 0; irq <= SYS_IRQS; irq++) { 404 for (irq = 0; irq <= SYS_IRQS; irq++) {
400 if (irq <= IRQ_CORETMR) 405 if (irq <= IRQ_CORETMR)
diff --git a/arch/blackfin/mach-common/ints-priority-sc.c b/arch/blackfin/mach-common/ints-priority-sc.c
index 28a878c3577a..4708023fe716 100644
--- a/arch/blackfin/mach-common/ints-priority-sc.c
+++ b/arch/blackfin/mach-common/ints-priority-sc.c
@@ -579,8 +579,12 @@ static unsigned int bfin_gpio_irq_startup(unsigned int irq)
579 u16 gpionr = irq - IRQ_PA0; 579 u16 gpionr = irq - IRQ_PA0;
580 u8 pint_val = irq2pint_lut[irq - SYS_IRQS]; 580 u8 pint_val = irq2pint_lut[irq - SYS_IRQS];
581 581
582 if (pint_val == IRQ_NOT_AVAIL) 582 if (pint_val == IRQ_NOT_AVAIL) {
583 printk(KERN_ERR
584 "GPIO IRQ %d :Not in PINT Assign table "
585 "Reconfigure Interrupt to Port Assignemt\n", irq);
583 return -ENODEV; 586 return -ENODEV;
587 }
584 588
585 if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) { 589 if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) {
586 ret = gpio_request(gpionr, NULL); 590 ret = gpio_request(gpionr, NULL);
@@ -713,6 +717,29 @@ static void bfin_demux_gpio_irq(unsigned int intb_irq,
713} 717}
714#endif /* CONFIG_IRQCHIP_DEMUX_GPIO */ 718#endif /* CONFIG_IRQCHIP_DEMUX_GPIO */
715 719
720void __init init_exception_vectors(void)
721{
722 SSYNC();
723
724#ifndef CONFIG_KGDB
725 bfin_write_EVT0(evt_emulation);
726#endif
727 bfin_write_EVT2(evt_evt2);
728 bfin_write_EVT3(trap);
729 bfin_write_EVT5(evt_ivhw);
730 bfin_write_EVT6(evt_timer);
731 bfin_write_EVT7(evt_evt7);
732 bfin_write_EVT8(evt_evt8);
733 bfin_write_EVT9(evt_evt9);
734 bfin_write_EVT10(evt_evt10);
735 bfin_write_EVT11(evt_evt11);
736 bfin_write_EVT12(evt_evt12);
737 bfin_write_EVT13(evt_evt13);
738 bfin_write_EVT14(evt14_softirq);
739 bfin_write_EVT15(evt_system_call);
740 CSYNC();
741}
742
716/* 743/*
717 * This function should be called during kernel startup to initialize 744 * This function should be called during kernel startup to initialize
718 * the BFin IRQ handling routines. 745 * the BFin IRQ handling routines.
@@ -733,29 +760,10 @@ int __init init_arch_irq(void)
733 bfin_write_SIC_IMASK(SIC_UNMASK_ALL); 760 bfin_write_SIC_IMASK(SIC_UNMASK_ALL);
734 bfin_write_SIC_IWR(IWR_ENABLE_ALL); 761 bfin_write_SIC_IWR(IWR_ENABLE_ALL);
735#endif 762#endif
736
737 SSYNC(); 763 SSYNC();
738 764
739 local_irq_disable(); 765 local_irq_disable();
740 766
741#ifndef CONFIG_KGDB
742 bfin_write_EVT0(evt_emulation);
743#endif
744 bfin_write_EVT2(evt_evt2);
745 bfin_write_EVT3(trap);
746 bfin_write_EVT5(evt_ivhw);
747 bfin_write_EVT6(evt_timer);
748 bfin_write_EVT7(evt_evt7);
749 bfin_write_EVT8(evt_evt8);
750 bfin_write_EVT9(evt_evt9);
751 bfin_write_EVT10(evt_evt10);
752 bfin_write_EVT11(evt_evt11);
753 bfin_write_EVT12(evt_evt12);
754 bfin_write_EVT13(evt_evt13);
755 bfin_write_EVT14(evt14_softirq);
756 bfin_write_EVT15(evt_system_call);
757 CSYNC();
758
759#if defined(CONFIG_IRQCHIP_DEMUX_GPIO) && defined(CONFIG_BF54x) 767#if defined(CONFIG_IRQCHIP_DEMUX_GPIO) && defined(CONFIG_BF54x)
760#ifdef CONFIG_PINTx_REASSIGN 768#ifdef CONFIG_PINTx_REASSIGN
761 pint[0]->assign = CONFIG_PINT0_ASSIGN; 769 pint[0]->assign = CONFIG_PINT0_ASSIGN;
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 36c7b9682aa6..21aa4fc5f8ef 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -425,6 +425,9 @@ config COMPAT
425 depends on IA32_SUPPORT 425 depends on IA32_SUPPORT
426 default y 426 default y
427 427
428config COMPAT_FOR_U64_ALIGNMENT
429 def_bool COMPAT
430
428config IA64_MCA_RECOVERY 431config IA64_MCA_RECOVERY
429 tristate "MCA recovery from errors other than TLB." 432 tristate "MCA recovery from errors other than TLB."
430 433
diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c
index cd4adf52f174..e980e7aa2306 100644
--- a/arch/ia64/hp/common/sba_iommu.c
+++ b/arch/ia64/hp/common/sba_iommu.c
@@ -2015,9 +2015,14 @@ acpi_sba_ioc_add(struct acpi_device *device)
2015 return 0; 2015 return 0;
2016} 2016}
2017 2017
2018static const struct acpi_device_id hp_ioc_iommu_device_ids[] = {
2019 {"HWP0001", 0},
2020 {"HWP0004", 0},
2021 {"", 0},
2022};
2018static struct acpi_driver acpi_sba_ioc_driver = { 2023static struct acpi_driver acpi_sba_ioc_driver = {
2019 .name = "IOC IOMMU Driver", 2024 .name = "IOC IOMMU Driver",
2020 .ids = "HWP0001,HWP0004", 2025 .ids = hp_ioc_iommu_device_ids,
2021 .ops = { 2026 .ops = {
2022 .add = acpi_sba_ioc_add, 2027 .add = acpi_sba_ioc_add,
2023 }, 2028 },
diff --git a/arch/ia64/hp/sim/simscsi.c b/arch/ia64/hp/sim/simscsi.c
index bb87682bbb1b..64248b58f63f 100644
--- a/arch/ia64/hp/sim/simscsi.c
+++ b/arch/ia64/hp/sim/simscsi.c
@@ -101,7 +101,7 @@ simscsi_interrupt (unsigned long val)
101{ 101{
102 struct scsi_cmnd *sc; 102 struct scsi_cmnd *sc;
103 103
104 while ((sc = queue[rd].sc) != 0) { 104 while ((sc = queue[rd].sc) != NULL) {
105 atomic_dec(&num_reqs); 105 atomic_dec(&num_reqs);
106 queue[rd].sc = NULL; 106 queue[rd].sc = NULL;
107 if (DBG) 107 if (DBG)
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c
index c6ede8780ded..3d45d24a9d61 100644
--- a/arch/ia64/kernel/acpi.c
+++ b/arch/ia64/kernel/acpi.c
@@ -741,16 +741,15 @@ int __init acpi_boot_init(void)
741 741
742int acpi_gsi_to_irq(u32 gsi, unsigned int *irq) 742int acpi_gsi_to_irq(u32 gsi, unsigned int *irq)
743{ 743{
744 int vector; 744 int tmp;
745 745
746 if (has_8259 && gsi < 16) 746 if (has_8259 && gsi < 16)
747 *irq = isa_irq_to_vector(gsi); 747 *irq = isa_irq_to_vector(gsi);
748 else { 748 else {
749 vector = gsi_to_vector(gsi); 749 tmp = gsi_to_irq(gsi);
750 if (vector == -1) 750 if (tmp == -1)
751 return -1; 751 return -1;
752 752 *irq = tmp;
753 *irq = vector;
754 } 753 }
755 return 0; 754 return 0;
756} 755}
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c
index fcb77338cc09..9386b955eed1 100644
--- a/arch/ia64/kernel/irq_ia64.c
+++ b/arch/ia64/kernel/irq_ia64.c
@@ -145,6 +145,9 @@ static int __bind_irq_vector(int irq, int vector, cpumask_t domain)
145 int cpu; 145 int cpu;
146 struct irq_cfg *cfg = &irq_cfg[irq]; 146 struct irq_cfg *cfg = &irq_cfg[irq];
147 147
148 BUG_ON((unsigned)irq >= NR_IRQS);
149 BUG_ON((unsigned)vector >= IA64_NUM_VECTORS);
150
148 cpus_and(mask, domain, cpu_online_map); 151 cpus_and(mask, domain, cpu_online_map);
149 if (cpus_empty(mask)) 152 if (cpus_empty(mask))
150 return -EINVAL; 153 return -EINVAL;
@@ -286,7 +289,7 @@ static int __init parse_vector_domain(char *arg)
286 vector_domain_type = VECTOR_DOMAIN_PERCPU; 289 vector_domain_type = VECTOR_DOMAIN_PERCPU;
287 no_int_routing = 1; 290 no_int_routing = 1;
288 } 291 }
289 return 1; 292 return 0;
290} 293}
291early_param("vector", parse_vector_domain); 294early_param("vector", parse_vector_domain);
292#else 295#else
diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig
index 45f82ae6d389..ffa036406289 100644
--- a/arch/x86_64/Kconfig
+++ b/arch/x86_64/Kconfig
@@ -765,6 +765,9 @@ config COMPAT
765 depends on IA32_EMULATION 765 depends on IA32_EMULATION
766 default y 766 default y
767 767
768config COMPAT_FOR_U64_ALIGNMENT
769 def_bool COMPAT
770
768config SYSVIPC_COMPAT 771config SYSVIPC_COMPAT
769 bool 772 bool
770 depends on COMPAT && SYSVIPC 773 depends on COMPAT && SYSVIPC
diff --git a/block/Kconfig b/block/Kconfig
index ca2ef4e08497..2484e0e9d89c 100644
--- a/block/Kconfig
+++ b/block/Kconfig
@@ -49,8 +49,6 @@ config LSF
49 49
50 If unsure, say Y. 50 If unsure, say Y.
51 51
52endif # BLOCK
53
54config BLK_DEV_BSG 52config BLK_DEV_BSG
55 bool "Block layer SG support v4 (EXPERIMENTAL)" 53 bool "Block layer SG support v4 (EXPERIMENTAL)"
56 depends on EXPERIMENTAL 54 depends on EXPERIMENTAL
@@ -64,4 +62,6 @@ config BLK_DEV_BSG
64 protocols (e.g. Task Management Functions and SMP in Serial 62 protocols (e.g. Task Management Functions and SMP in Serial
65 Attached SCSI). 63 Attached SCSI).
66 64
65endif # BLOCK
66
67source block/Kconfig.iosched 67source block/Kconfig.iosched
diff --git a/block/blktrace.c b/block/blktrace.c
index 20c3e22587b5..20fa034ea4a2 100644
--- a/block/blktrace.c
+++ b/block/blktrace.c
@@ -41,7 +41,7 @@ static void trace_note(struct blk_trace *bt, pid_t pid, int action,
41 const int cpu = smp_processor_id(); 41 const int cpu = smp_processor_id();
42 42
43 t->magic = BLK_IO_TRACE_MAGIC | BLK_IO_TRACE_VERSION; 43 t->magic = BLK_IO_TRACE_MAGIC | BLK_IO_TRACE_VERSION;
44 t->time = sched_clock() - per_cpu(blk_trace_cpu_offset, cpu); 44 t->time = cpu_clock(cpu) - per_cpu(blk_trace_cpu_offset, cpu);
45 t->device = bt->dev; 45 t->device = bt->dev;
46 t->action = action; 46 t->action = action;
47 t->pid = pid; 47 t->pid = pid;
@@ -159,7 +159,7 @@ void __blk_add_trace(struct blk_trace *bt, sector_t sector, int bytes,
159 159
160 t->magic = BLK_IO_TRACE_MAGIC | BLK_IO_TRACE_VERSION; 160 t->magic = BLK_IO_TRACE_MAGIC | BLK_IO_TRACE_VERSION;
161 t->sequence = ++(*sequence); 161 t->sequence = ++(*sequence);
162 t->time = sched_clock() - per_cpu(blk_trace_cpu_offset, cpu); 162 t->time = cpu_clock(cpu) - per_cpu(blk_trace_cpu_offset, cpu);
163 t->sector = sector; 163 t->sector = sector;
164 t->bytes = bytes; 164 t->bytes = bytes;
165 t->action = what; 165 t->action = what;
@@ -488,17 +488,17 @@ void blk_trace_shutdown(struct request_queue *q)
488} 488}
489 489
490/* 490/*
491 * Average offset over two calls to sched_clock() with a gettimeofday() 491 * Average offset over two calls to cpu_clock() with a gettimeofday()
492 * in the middle 492 * in the middle
493 */ 493 */
494static void blk_check_time(unsigned long long *t) 494static void blk_check_time(unsigned long long *t, int this_cpu)
495{ 495{
496 unsigned long long a, b; 496 unsigned long long a, b;
497 struct timeval tv; 497 struct timeval tv;
498 498
499 a = sched_clock(); 499 a = cpu_clock(this_cpu);
500 do_gettimeofday(&tv); 500 do_gettimeofday(&tv);
501 b = sched_clock(); 501 b = cpu_clock(this_cpu);
502 502
503 *t = tv.tv_sec * 1000000000 + tv.tv_usec * 1000; 503 *t = tv.tv_sec * 1000000000 + tv.tv_usec * 1000;
504 *t -= (a + b) / 2; 504 *t -= (a + b) / 2;
@@ -510,16 +510,16 @@ static void blk_check_time(unsigned long long *t)
510static void blk_trace_check_cpu_time(void *data) 510static void blk_trace_check_cpu_time(void *data)
511{ 511{
512 unsigned long long *t; 512 unsigned long long *t;
513 int cpu = get_cpu(); 513 int this_cpu = get_cpu();
514 514
515 t = &per_cpu(blk_trace_cpu_offset, cpu); 515 t = &per_cpu(blk_trace_cpu_offset, this_cpu);
516 516
517 /* 517 /*
518 * Just call it twice, hopefully the second call will be cache hot 518 * Just call it twice, hopefully the second call will be cache hot
519 * and a little more precise 519 * and a little more precise
520 */ 520 */
521 blk_check_time(t); 521 blk_check_time(t, this_cpu);
522 blk_check_time(t); 522 blk_check_time(t, this_cpu);
523 523
524 put_cpu(); 524 put_cpu();
525} 525}
diff --git a/drivers/char/agp/Kconfig b/drivers/char/agp/Kconfig
index a9f9c48c2424..713533d8a86e 100644
--- a/drivers/char/agp/Kconfig
+++ b/drivers/char/agp/Kconfig
@@ -50,7 +50,7 @@ config AGP_ATI
50 50
51config AGP_AMD 51config AGP_AMD
52 tristate "AMD Irongate, 761, and 762 chipset support" 52 tristate "AMD Irongate, 761, and 762 chipset support"
53 depends on AGP && X86_32 53 depends on AGP && (X86_32 || ALPHA)
54 help 54 help
55 This option gives you AGP support for the GLX component of 55 This option gives you AGP support for the GLX component of
56 X on AMD Irongate, 761, and 762 chipsets. 56 X on AMD Irongate, 761, and 762 chipsets.
diff --git a/drivers/char/agp/ati-agp.c b/drivers/char/agp/ati-agp.c
index 780e59e588ad..da7513d7b4e7 100644
--- a/drivers/char/agp/ati-agp.c
+++ b/drivers/char/agp/ati-agp.c
@@ -123,21 +123,16 @@ static int ati_create_gatt_pages(int nr_tables)
123 123
124 for (i = 0; i < nr_tables; i++) { 124 for (i = 0; i < nr_tables; i++) {
125 entry = kzalloc(sizeof(struct ati_page_map), GFP_KERNEL); 125 entry = kzalloc(sizeof(struct ati_page_map), GFP_KERNEL);
126 tables[i] = entry;
126 if (entry == NULL) { 127 if (entry == NULL) {
127 while (i > 0) {
128 kfree(tables[i-1]);
129 i--;
130 }
131 kfree(tables);
132 retval = -ENOMEM; 128 retval = -ENOMEM;
133 break; 129 break;
134 } 130 }
135 tables[i] = entry;
136 retval = ati_create_page_map(entry); 131 retval = ati_create_page_map(entry);
137 if (retval != 0) 132 if (retval != 0)
138 break; 133 break;
139 } 134 }
140 ati_generic_private.num_tables = nr_tables; 135 ati_generic_private.num_tables = i;
141 ati_generic_private.gatt_pages = tables; 136 ati_generic_private.gatt_pages = tables;
142 137
143 if (retval != 0) 138 if (retval != 0)
diff --git a/drivers/char/agp/generic.c b/drivers/char/agp/generic.c
index d535c406b319..3db4f4076ed4 100644
--- a/drivers/char/agp/generic.c
+++ b/drivers/char/agp/generic.c
@@ -1170,7 +1170,6 @@ void *agp_generic_alloc_page(struct agp_bridge_data *bridge)
1170 map_page_into_agp(page); 1170 map_page_into_agp(page);
1171 1171
1172 get_page(page); 1172 get_page(page);
1173 SetPageLocked(page);
1174 atomic_inc(&agp_bridge->current_memory_agp); 1173 atomic_inc(&agp_bridge->current_memory_agp);
1175 return page_address(page); 1174 return page_address(page);
1176} 1175}
@@ -1187,7 +1186,6 @@ void agp_generic_destroy_page(void *addr)
1187 page = virt_to_page(addr); 1186 page = virt_to_page(addr);
1188 unmap_page_from_agp(page); 1187 unmap_page_from_agp(page);
1189 put_page(page); 1188 put_page(page);
1190 unlock_page(page);
1191 free_page((unsigned long)addr); 1189 free_page((unsigned long)addr);
1192 atomic_dec(&agp_bridge->current_memory_agp); 1190 atomic_dec(&agp_bridge->current_memory_agp);
1193} 1191}
diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
index a1240603912c..294cdbf4d44d 100644
--- a/drivers/char/agp/intel-agp.c
+++ b/drivers/char/agp/intel-agp.c
@@ -20,7 +20,9 @@
20#define PCI_DEVICE_ID_INTEL_82965G_IG 0x29A2 20#define PCI_DEVICE_ID_INTEL_82965G_IG 0x29A2
21#define PCI_DEVICE_ID_INTEL_82965GM_HB 0x2A00 21#define PCI_DEVICE_ID_INTEL_82965GM_HB 0x2A00
22#define PCI_DEVICE_ID_INTEL_82965GM_IG 0x2A02 22#define PCI_DEVICE_ID_INTEL_82965GM_IG 0x2A02
23#define PCI_DEVICE_ID_INTEL_82965GME_HB 0x2A10
23#define PCI_DEVICE_ID_INTEL_82965GME_IG 0x2A12 24#define PCI_DEVICE_ID_INTEL_82965GME_IG 0x2A12
25#define PCI_DEVICE_ID_INTEL_82945GME_HB 0x27AC
24#define PCI_DEVICE_ID_INTEL_82945GME_IG 0x27AE 26#define PCI_DEVICE_ID_INTEL_82945GME_IG 0x27AE
25#define PCI_DEVICE_ID_INTEL_G33_HB 0x29C0 27#define PCI_DEVICE_ID_INTEL_G33_HB 0x29C0
26#define PCI_DEVICE_ID_INTEL_G33_IG 0x29C2 28#define PCI_DEVICE_ID_INTEL_G33_IG 0x29C2
@@ -33,7 +35,8 @@
33 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965G_1_HB || \ 35 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965G_1_HB || \
34 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965Q_HB || \ 36 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965Q_HB || \
35 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965G_HB || \ 37 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965G_HB || \
36 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965GM_HB) 38 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965GM_HB || \
39 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965GME_HB)
37 40
38#define IS_G33 (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G33_HB || \ 41#define IS_G33 (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G33_HB || \
39 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q35_HB || \ 42 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q35_HB || \
@@ -213,7 +216,6 @@ static void *i8xx_alloc_pages(void)
213 } 216 }
214 global_flush_tlb(); 217 global_flush_tlb();
215 get_page(page); 218 get_page(page);
216 SetPageLocked(page);
217 atomic_inc(&agp_bridge->current_memory_agp); 219 atomic_inc(&agp_bridge->current_memory_agp);
218 return page_address(page); 220 return page_address(page);
219} 221}
@@ -229,7 +231,6 @@ static void i8xx_destroy_pages(void *addr)
229 change_page_attr(page, 4, PAGE_KERNEL); 231 change_page_attr(page, 4, PAGE_KERNEL);
230 global_flush_tlb(); 232 global_flush_tlb();
231 put_page(page); 233 put_page(page);
232 unlock_page(page);
233 __free_pages(page, 2); 234 __free_pages(page, 2);
234 atomic_dec(&agp_bridge->current_memory_agp); 235 atomic_dec(&agp_bridge->current_memory_agp);
235} 236}
@@ -527,6 +528,7 @@ static void intel_i830_init_gtt_entries(void)
527 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82915GM_HB || 528 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82915GM_HB ||
528 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945G_HB || 529 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945G_HB ||
529 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945GM_HB || 530 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945GM_HB ||
531 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945GME_HB ||
530 IS_I965 || IS_G33) 532 IS_I965 || IS_G33)
531 gtt_entries = MB(48) - KB(size); 533 gtt_entries = MB(48) - KB(size);
532 else 534 else
@@ -538,6 +540,7 @@ static void intel_i830_init_gtt_entries(void)
538 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82915GM_HB || 540 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82915GM_HB ||
539 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945G_HB || 541 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945G_HB ||
540 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945GM_HB || 542 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945GM_HB ||
543 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945GME_HB ||
541 IS_I965 || IS_G33) 544 IS_I965 || IS_G33)
542 gtt_entries = MB(64) - KB(size); 545 gtt_entries = MB(64) - KB(size);
543 else 546 else
@@ -1848,9 +1851,9 @@ static const struct intel_driver_description {
1848 NULL, &intel_915_driver }, 1851 NULL, &intel_915_driver },
1849 { PCI_DEVICE_ID_INTEL_82945G_HB, PCI_DEVICE_ID_INTEL_82945G_IG, 0, "945G", 1852 { PCI_DEVICE_ID_INTEL_82945G_HB, PCI_DEVICE_ID_INTEL_82945G_IG, 0, "945G",
1850 NULL, &intel_915_driver }, 1853 NULL, &intel_915_driver },
1851 { PCI_DEVICE_ID_INTEL_82945GM_HB, PCI_DEVICE_ID_INTEL_82945GM_IG, 1, "945GM", 1854 { PCI_DEVICE_ID_INTEL_82945GM_HB, PCI_DEVICE_ID_INTEL_82945GM_IG, 0, "945GM",
1852 NULL, &intel_915_driver }, 1855 NULL, &intel_915_driver },
1853 { PCI_DEVICE_ID_INTEL_82945GM_HB, PCI_DEVICE_ID_INTEL_82945GME_IG, 0, "945GME", 1856 { PCI_DEVICE_ID_INTEL_82945GME_HB, PCI_DEVICE_ID_INTEL_82945GME_IG, 0, "945GME",
1854 NULL, &intel_915_driver }, 1857 NULL, &intel_915_driver },
1855 { PCI_DEVICE_ID_INTEL_82946GZ_HB, PCI_DEVICE_ID_INTEL_82946GZ_IG, 0, "946GZ", 1858 { PCI_DEVICE_ID_INTEL_82946GZ_HB, PCI_DEVICE_ID_INTEL_82946GZ_IG, 0, "946GZ",
1856 NULL, &intel_i965_driver }, 1859 NULL, &intel_i965_driver },
@@ -1860,9 +1863,9 @@ static const struct intel_driver_description {
1860 NULL, &intel_i965_driver }, 1863 NULL, &intel_i965_driver },
1861 { PCI_DEVICE_ID_INTEL_82965G_HB, PCI_DEVICE_ID_INTEL_82965G_IG, 0, "965G", 1864 { PCI_DEVICE_ID_INTEL_82965G_HB, PCI_DEVICE_ID_INTEL_82965G_IG, 0, "965G",
1862 NULL, &intel_i965_driver }, 1865 NULL, &intel_i965_driver },
1863 { PCI_DEVICE_ID_INTEL_82965GM_HB, PCI_DEVICE_ID_INTEL_82965GM_IG, 1, "965GM", 1866 { PCI_DEVICE_ID_INTEL_82965GM_HB, PCI_DEVICE_ID_INTEL_82965GM_IG, 0, "965GM",
1864 NULL, &intel_i965_driver }, 1867 NULL, &intel_i965_driver },
1865 { PCI_DEVICE_ID_INTEL_82965GM_HB, PCI_DEVICE_ID_INTEL_82965GME_IG, 0, "965GME/GLE", 1868 { PCI_DEVICE_ID_INTEL_82965GME_HB, PCI_DEVICE_ID_INTEL_82965GME_IG, 0, "965GME/GLE",
1866 NULL, &intel_i965_driver }, 1869 NULL, &intel_i965_driver },
1867 { PCI_DEVICE_ID_INTEL_7505_0, 0, 0, "E7505", &intel_7505_driver, NULL }, 1870 { PCI_DEVICE_ID_INTEL_7505_0, 0, 0, "E7505", &intel_7505_driver, NULL },
1868 { PCI_DEVICE_ID_INTEL_7205_0, 0, 0, "E7205", &intel_7505_driver, NULL }, 1871 { PCI_DEVICE_ID_INTEL_7205_0, 0, 0, "E7205", &intel_7505_driver, NULL },
@@ -2051,11 +2054,13 @@ static struct pci_device_id agp_intel_pci_table[] = {
2051 ID(PCI_DEVICE_ID_INTEL_82915GM_HB), 2054 ID(PCI_DEVICE_ID_INTEL_82915GM_HB),
2052 ID(PCI_DEVICE_ID_INTEL_82945G_HB), 2055 ID(PCI_DEVICE_ID_INTEL_82945G_HB),
2053 ID(PCI_DEVICE_ID_INTEL_82945GM_HB), 2056 ID(PCI_DEVICE_ID_INTEL_82945GM_HB),
2057 ID(PCI_DEVICE_ID_INTEL_82945GME_HB),
2054 ID(PCI_DEVICE_ID_INTEL_82946GZ_HB), 2058 ID(PCI_DEVICE_ID_INTEL_82946GZ_HB),
2055 ID(PCI_DEVICE_ID_INTEL_82965G_1_HB), 2059 ID(PCI_DEVICE_ID_INTEL_82965G_1_HB),
2056 ID(PCI_DEVICE_ID_INTEL_82965Q_HB), 2060 ID(PCI_DEVICE_ID_INTEL_82965Q_HB),
2057 ID(PCI_DEVICE_ID_INTEL_82965G_HB), 2061 ID(PCI_DEVICE_ID_INTEL_82965G_HB),
2058 ID(PCI_DEVICE_ID_INTEL_82965GM_HB), 2062 ID(PCI_DEVICE_ID_INTEL_82965GM_HB),
2063 ID(PCI_DEVICE_ID_INTEL_82965GME_HB),
2059 ID(PCI_DEVICE_ID_INTEL_G33_HB), 2064 ID(PCI_DEVICE_ID_INTEL_G33_HB),
2060 ID(PCI_DEVICE_ID_INTEL_Q35_HB), 2065 ID(PCI_DEVICE_ID_INTEL_Q35_HB),
2061 ID(PCI_DEVICE_ID_INTEL_Q33_HB), 2066 ID(PCI_DEVICE_ID_INTEL_Q33_HB),
diff --git a/drivers/char/agp/sgi-agp.c b/drivers/char/agp/sgi-agp.c
index cda608c42bea..98cf8abb3e57 100644
--- a/drivers/char/agp/sgi-agp.c
+++ b/drivers/char/agp/sgi-agp.c
@@ -51,7 +51,6 @@ static void *sgi_tioca_alloc_page(struct agp_bridge_data *bridge)
51 return NULL; 51 return NULL;
52 52
53 get_page(page); 53 get_page(page);
54 SetPageLocked(page);
55 atomic_inc(&agp_bridge->current_memory_agp); 54 atomic_inc(&agp_bridge->current_memory_agp);
56 return page_address(page); 55 return page_address(page);
57} 56}
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index da1647869f91..1842f523c23d 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -92,9 +92,9 @@ config I2C_AU1550
92 92
93config I2C_BLACKFIN_TWI 93config I2C_BLACKFIN_TWI
94 tristate "Blackfin TWI I2C support" 94 tristate "Blackfin TWI I2C support"
95 depends on BF534 || BF536 || BF537 95 depends on BF534 || BF536 || BF537 || BF54x
96 help 96 help
97 This is the TWI I2C device driver for Blackfin 534/536/537. 97 This is the TWI I2C device driver for Blackfin 534/536/537/54x.
98 This driver can also be built as a module. If so, the module 98 This driver can also be built as a module. If so, the module
99 will be called i2c-bfin-twi. 99 will be called i2c-bfin-twi.
100 100
diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig
index adef447f23ea..5ce632ca6815 100644
--- a/drivers/input/serio/Kconfig
+++ b/drivers/input/serio/Kconfig
@@ -21,7 +21,7 @@ if SERIO
21config SERIO_I8042 21config SERIO_I8042
22 tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86 22 tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
23 default y 23 default y
24 depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K 24 depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K && !BFIN
25 ---help--- 25 ---help---
26 i8042 is the chip over which the standard AT keyboard and PS/2 26 i8042 is the chip over which the standard AT keyboard and PS/2
27 mouse are connected to the computer. If you use these devices, 27 mouse are connected to the computer. If you use these devices,
diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c
index 9a08d656f1ce..2bb97d464689 100644
--- a/drivers/net/bfin_mac.c
+++ b/drivers/net/bfin_mac.c
@@ -798,6 +798,7 @@ static void bf537mac_shutdown(struct net_device *dev)
798 */ 798 */
799static int bf537mac_open(struct net_device *dev) 799static int bf537mac_open(struct net_device *dev)
800{ 800{
801 int retval;
801 pr_debug("%s: %s\n", dev->name, __FUNCTION__); 802 pr_debug("%s: %s\n", dev->name, __FUNCTION__);
802 803
803 /* 804 /*
@@ -811,7 +812,10 @@ static int bf537mac_open(struct net_device *dev)
811 } 812 }
812 813
813 /* initial rx and tx list */ 814 /* initial rx and tx list */
814 desc_list_init(); 815 retval = desc_list_init();
816
817 if (retval)
818 return retval;
815 819
816 bf537mac_setphy(dev); 820 bf537mac_setphy(dev);
817 setup_system_regs(dev); 821 setup_system_regs(dev);
diff --git a/drivers/rtc/rtc-bfin.c b/drivers/rtc/rtc-bfin.c
index 260ead959918..1aa709dda0d6 100644
--- a/drivers/rtc/rtc-bfin.c
+++ b/drivers/rtc/rtc-bfin.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * Blackfin On-Chip Real Time Clock Driver 2 * Blackfin On-Chip Real Time Clock Driver
3 * Supports BF531/BF532/BF533/BF534/BF536/BF537 3 * Supports BF53[123]/BF53[467]/BF54[2489]
4 * 4 *
5 * Copyright 2004-2007 Analog Devices Inc. 5 * Copyright 2004-2007 Analog Devices Inc.
6 * 6 *
diff --git a/fs/pipe.c b/fs/pipe.c
index d007830d9c87..6b3d91a691bf 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -255,7 +255,7 @@ void generic_pipe_buf_get(struct pipe_inode_info *pipe, struct pipe_buffer *buf)
255 255
256/** 256/**
257 * generic_pipe_buf_confirm - verify contents of the pipe buffer 257 * generic_pipe_buf_confirm - verify contents of the pipe buffer
258 * @pipe: the pipe that the buffer belongs to 258 * @info: the pipe that the buffer belongs to
259 * @buf: the buffer to confirm 259 * @buf: the buffer to confirm
260 * 260 *
261 * Description: 261 * Description:
diff --git a/fs/quota.c b/fs/quota.c
index e6577ac15a6c..99b24b52bfc8 100644
--- a/fs/quota.c
+++ b/fs/quota.c
@@ -387,7 +387,7 @@ asmlinkage long sys_quotactl(unsigned int cmd, const char __user *special, qid_t
387 return ret; 387 return ret;
388} 388}
389 389
390#if defined(CONFIG_X86_64) || defined(CONFIG_IA64) 390#if defined(CONFIG_COMPAT_FOR_U64_ALIGNMENT)
391/* 391/*
392 * This code works only for 32 bit quota tools over 64 bit OS (x86_64, ia64) 392 * This code works only for 32 bit quota tools over 64 bit OS (x86_64, ia64)
393 * and is necessary due to alignment problems. 393 * and is necessary due to alignment problems.
diff --git a/fs/splice.c b/fs/splice.c
index 0a0973218084..c010a72ca2d2 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -164,7 +164,7 @@ static const struct pipe_buf_operations user_page_pipe_buf_ops = {
164 * @spd: data to fill 164 * @spd: data to fill
165 * 165 *
166 * Description: 166 * Description:
167 * @spd contains a map of pages and len/offset tupples, a long with 167 * @spd contains a map of pages and len/offset tuples, along with
168 * the struct pipe_buf_operations associated with these pages. This 168 * the struct pipe_buf_operations associated with these pages. This
169 * function will link that data to the pipe. 169 * function will link that data to the pipe.
170 * 170 *
@@ -1000,7 +1000,7 @@ static long do_splice_to(struct file *in, loff_t *ppos,
1000 * Description: 1000 * Description:
1001 * This is a special case helper to splice directly between two 1001 * This is a special case helper to splice directly between two
1002 * points, without requiring an explicit pipe. Internally an allocated 1002 * points, without requiring an explicit pipe. Internally an allocated
1003 * pipe is cached in the process, and reused during the life time of 1003 * pipe is cached in the process, and reused during the lifetime of
1004 * that process. 1004 * that process.
1005 * 1005 *
1006 */ 1006 */
diff --git a/include/asm-arm/arch-mxc/uncompress.h b/include/asm-arm/arch-mxc/uncompress.h
index ec5787d0e78c..42cc0cb3fefd 100644
--- a/include/asm-arm/arch-mxc/uncompress.h
+++ b/include/asm-arm/arch-mxc/uncompress.h
@@ -26,7 +26,6 @@
26#define __MXC_BOOT_UNCOMPRESS 26#define __MXC_BOOT_UNCOMPRESS
27 27
28#include <asm/hardware.h> 28#include <asm/hardware.h>
29#include <asm/processor.h>
30 29
31#define UART(x) (*(volatile unsigned long *)(serial_port + (x))) 30#define UART(x) (*(volatile unsigned long *)(serial_port + (x)))
32 31
@@ -62,7 +61,7 @@ static void putc(int ch)
62 } 61 }
63 62
64 while (!(UART(USR2) & USR2_TXFE)) 63 while (!(UART(USR2) & USR2_TXFE))
65 cpu_relax(); 64 barrier();
66 65
67 UART(TXR) = ch; 66 UART(TXR) = ch;
68} 67}
diff --git a/include/asm-blackfin/bfin-global.h b/include/asm-blackfin/bfin-global.h
index c4d6cbbf96d4..a970781a0f98 100644
--- a/include/asm-blackfin/bfin-global.h
+++ b/include/asm-blackfin/bfin-global.h
@@ -61,6 +61,7 @@ extern void bfin_dcache_init(void);
61extern int read_iloc(void); 61extern int read_iloc(void);
62extern int bfin_console_init(void); 62extern int bfin_console_init(void);
63extern asmlinkage void lower_to_irq14(void); 63extern asmlinkage void lower_to_irq14(void);
64extern void init_exception_vectors(void);
64extern void init_dma(void); 65extern void init_dma(void);
65extern void program_IAR(void); 66extern void program_IAR(void);
66extern void evt14_softirq(void); 67extern void evt14_softirq(void);
diff --git a/include/asm-blackfin/mach-bf548/cdefBF54x_base.h b/include/asm-blackfin/mach-bf548/cdefBF54x_base.h
index 98d35a929116..cdf29e75ea59 100644
--- a/include/asm-blackfin/mach-bf548/cdefBF54x_base.h
+++ b/include/asm-blackfin/mach-bf548/cdefBF54x_base.h
@@ -242,6 +242,39 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val)
242#define bfin_read_TWI0_RCV_DATA16() bfin_read16(TWI0_RCV_DATA16) 242#define bfin_read_TWI0_RCV_DATA16() bfin_read16(TWI0_RCV_DATA16)
243#define bfin_write_TWI0_RCV_DATA16(val) bfin_write16(TWI0_RCV_DATA16, val) 243#define bfin_write_TWI0_RCV_DATA16(val) bfin_write16(TWI0_RCV_DATA16, val)
244 244
245#define bfin_read_TWI_CLKDIV() bfin_read16(TWI0_CLKDIV)
246#define bfin_write_TWI_CLKDIV(val) bfin_write16(TWI0_CLKDIV, val)
247#define bfin_read_TWI_CONTROL() bfin_read16(TWI0_CONTROL)
248#define bfin_write_TWI_CONTROL(val) bfin_write16(TWI0_CONTROL, val)
249#define bfin_read_TWI_SLAVE_CTRL() bfin_read16(TWI0_SLAVE_CTRL)
250#define bfin_write_TWI_SLAVE_CTRL(val) bfin_write16(TWI0_SLAVE_CTRL, val)
251#define bfin_read_TWI_SLAVE_STAT() bfin_read16(TWI0_SLAVE_STAT)
252#define bfin_write_TWI_SLAVE_STAT(val) bfin_write16(TWI0_SLAVE_STAT, val)
253#define bfin_read_TWI_SLAVE_ADDR() bfin_read16(TWI0_SLAVE_ADDR)
254#define bfin_write_TWI_SLAVE_ADDR(val) bfin_write16(TWI0_SLAVE_ADDR, val)
255#define bfin_read_TWI_MASTER_CTL() bfin_read16(TWI0_MASTER_CTRL)
256#define bfin_write_TWI_MASTER_CTL(val) bfin_write16(TWI0_MASTER_CTRL, val)
257#define bfin_read_TWI_MASTER_STAT() bfin_read16(TWI0_MASTER_STAT)
258#define bfin_write_TWI_MASTER_STAT(val) bfin_write16(TWI0_MASTER_STAT, val)
259#define bfin_read_TWI_MASTER_ADDR() bfin_read16(TWI0_MASTER_ADDR)
260#define bfin_write_TWI_MASTER_ADDR(val) bfin_write16(TWI0_MASTER_ADDR, val)
261#define bfin_read_TWI_INT_STAT() bfin_read16(TWI0_INT_STAT)
262#define bfin_write_TWI_INT_STAT(val) bfin_write16(TWI0_INT_STAT, val)
263#define bfin_read_TWI_INT_MASK() bfin_read16(TWI0_INT_MASK)
264#define bfin_write_TWI_INT_MASK(val) bfin_write16(TWI0_INT_MASK, val)
265#define bfin_read_TWI_FIFO_CTL() bfin_read16(TWI0_FIFO_CTRL)
266#define bfin_write_TWI_FIFO_CTL(val) bfin_write16(TWI0_FIFO_CTRL, val)
267#define bfin_read_TWI_FIFO_STAT() bfin_read16(TWI0_FIFO_STAT)
268#define bfin_write_TWI_FIFO_STAT(val) bfin_write16(TWI0_FIFO_STAT, val)
269#define bfin_read_TWI_XMT_DATA8() bfin_read16(TWI0_XMT_DATA8)
270#define bfin_write_TWI_XMT_DATA8(val) bfin_write16(TWI0_XMT_DATA8, val)
271#define bfin_read_TWI_XMT_DATA16() bfin_read16(TWI0_XMT_DATA16)
272#define bfin_write_TWI_XMT_DATA16(val) bfin_write16(TWI0_XMT_DATA16, val)
273#define bfin_read_TWI_RCV_DATA8() bfin_read16(TWI0_RCV_DATA8)
274#define bfin_write_TWI_RCV_DATA8(val) bfin_write16(TWI0_RCV_DATA8, val)
275#define bfin_read_TWI_RCV_DATA16() bfin_read16(TWI0_RCV_DATA16)
276#define bfin_write_TWI_RCV_DATA16(val) bfin_write16(TWI0_RCV_DATA16, val)
277
245/* SPORT0 is not defined in the shared file because it is not available on the ADSP-BF542 and ADSP-BF544 bfin_read_()rocessors */ 278/* SPORT0 is not defined in the shared file because it is not available on the ADSP-BF542 and ADSP-BF544 bfin_read_()rocessors */
246 279
247/* SPORT1 Registers */ 280/* SPORT1 Registers */
diff --git a/include/asm-blackfin/mach-bf548/irq.h b/include/asm-blackfin/mach-bf548/irq.h
index 0b3325bb1fff..e548d3cd81e3 100644
--- a/include/asm-blackfin/mach-bf548/irq.h
+++ b/include/asm-blackfin/mach-bf548/irq.h
@@ -112,6 +112,7 @@ Events (highest priority) EMU 0
112#define IRQ_ATAPI_TX BFIN_IRQ(44) /* ATAPI TX (DMA11) Interrupt */ 112#define IRQ_ATAPI_TX BFIN_IRQ(44) /* ATAPI TX (DMA11) Interrupt */
113#define IRQ_TWI0 BFIN_IRQ(45) /* TWI0 Interrupt */ 113#define IRQ_TWI0 BFIN_IRQ(45) /* TWI0 Interrupt */
114#define IRQ_TWI1 BFIN_IRQ(46) /* TWI1 Interrupt */ 114#define IRQ_TWI1 BFIN_IRQ(46) /* TWI1 Interrupt */
115#define IRQ_TWI IRQ_TWI0 /* TWI Interrupt */
115#define IRQ_CAN0_RX BFIN_IRQ(47) /* CAN0 Receive Interrupt */ 116#define IRQ_CAN0_RX BFIN_IRQ(47) /* CAN0 Receive Interrupt */
116#define IRQ_CAN0_TX BFIN_IRQ(48) /* CAN0 Transmit Interrupt */ 117#define IRQ_CAN0_TX BFIN_IRQ(48) /* CAN0 Transmit Interrupt */
117#define IRQ_MDMAS2 BFIN_IRQ(49) /* MDMA Stream 2 Interrupt */ 118#define IRQ_MDMAS2 BFIN_IRQ(49) /* MDMA Stream 2 Interrupt */
diff --git a/include/asm-blackfin/mach-bf561/cdefBF561.h b/include/asm-blackfin/mach-bf561/cdefBF561.h
index 1a8ec9e46922..6e87ab269ffe 100644
--- a/include/asm-blackfin/mach-bf561/cdefBF561.h
+++ b/include/asm-blackfin/mach-bf561/cdefBF561.h
@@ -81,6 +81,12 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val)
81#define bfin_write_PLL_LOCKCNT(val) bfin_write16(PLL_LOCKCNT,val) 81#define bfin_write_PLL_LOCKCNT(val) bfin_write16(PLL_LOCKCNT,val)
82#define bfin_read_CHIPID() bfin_read32(CHIPID) 82#define bfin_read_CHIPID() bfin_read32(CHIPID)
83 83
84/* For MMR's that are reserved on Core B, set up defines to better integrate with other ports */
85#define bfin_read_SWRST() bfin_read_SICA_SWRST()
86#define bfin_write_SWRST() bfin_write_SICA_SWRST()
87#define bfin_read_SYSCR() bfin_read_SICA_SYSCR()
88#define bfin_write_SYSCR() bfin_write_SICA_SYSCR()
89
84/* System Reset and Interrupt Controller registers for core A (0xFFC0 0100-0xFFC0 01FF) */ 90/* System Reset and Interrupt Controller registers for core A (0xFFC0 0100-0xFFC0 01FF) */
85#define bfin_read_SICA_SWRST() bfin_read16(SICA_SWRST) 91#define bfin_read_SICA_SWRST() bfin_read16(SICA_SWRST)
86#define bfin_write_SICA_SWRST(val) bfin_write16(SICA_SWRST,val) 92#define bfin_write_SICA_SWRST(val) bfin_write16(SICA_SWRST,val)
diff --git a/include/asm-blackfin/mach-bf561/defBF561.h b/include/asm-blackfin/mach-bf561/defBF561.h
index 89150ecb909d..0f2dc6e6335b 100644
--- a/include/asm-blackfin/mach-bf561/defBF561.h
+++ b/include/asm-blackfin/mach-bf561/defBF561.h
@@ -52,6 +52,10 @@
52#define PLL_LOCKCNT 0xFFC00010 /* PLL Lock Count register (16-bit) */ 52#define PLL_LOCKCNT 0xFFC00010 /* PLL Lock Count register (16-bit) */
53#define CHIPID 0xFFC00014 /* Chip ID Register */ 53#define CHIPID 0xFFC00014 /* Chip ID Register */
54 54
55/* For MMR's that are reserved on Core B, set up defines to better integrate with other ports */
56#define SWRST SICA_SWRST
57#define SYSCR SICA_SYSCR
58
55/* System Reset and Interrupt Controller registers for core A (0xFFC0 0100-0xFFC0 01FF) */ 59/* System Reset and Interrupt Controller registers for core A (0xFFC0 0100-0xFFC0 01FF) */
56#define SICA_SWRST 0xFFC00100 /* Software Reset register */ 60#define SICA_SWRST 0xFFC00100 /* Software Reset register */
57#define SICA_SYSCR 0xFFC00104 /* System Reset Configuration register */ 61#define SICA_SYSCR 0xFFC00104 /* System Reset Configuration register */
diff --git a/include/asm-blackfin/thread_info.h b/include/asm-blackfin/thread_info.h
index fa8f08cf283e..34d3c2eec949 100644
--- a/include/asm-blackfin/thread_info.h
+++ b/include/asm-blackfin/thread_info.h
@@ -39,6 +39,11 @@
39 */ 39 */
40#define ALIGN_PAGE_MASK 0xffffe000 40#define ALIGN_PAGE_MASK 0xffffe000
41 41
42/*
43 * Size of kernel stack for each process. This must be a power of 2...
44 */
45#define THREAD_SIZE 8192 /* 2 pages */
46
42#ifndef __ASSEMBLY__ 47#ifndef __ASSEMBLY__
43 48
44typedef unsigned long mm_segment_t; 49typedef unsigned long mm_segment_t;
@@ -76,11 +81,6 @@ struct thread_info {
76#define init_thread_info (init_thread_union.thread_info) 81#define init_thread_info (init_thread_union.thread_info)
77#define init_stack (init_thread_union.stack) 82#define init_stack (init_thread_union.stack)
78 83
79/*
80 * Size of kernel stack for each process. This must be a power of 2...
81 */
82#define THREAD_SIZE 8192 /* 2 pages */
83
84/* How to get the thread information struct from C */ 84/* How to get the thread information struct from C */
85 85
86static inline struct thread_info *current_thread_info(void) 86static inline struct thread_info *current_thread_info(void)
@@ -94,7 +94,7 @@ static inline struct thread_info *current_thread_info(void)
94 struct thread_info *ti; 94 struct thread_info *ti;
95 __asm__("%0 = sp;": "=&d"(ti): 95 __asm__("%0 = sp;": "=&d"(ti):
96 ); 96 );
97 return (struct thread_info *)((long)ti & ~8191UL); 97 return (struct thread_info *)((long)ti & ~((long)THREAD_SIZE-1));
98} 98}
99 99
100/* thread information allocation */ 100/* thread information allocation */
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index a1c96d9ee720..b126c6f68e27 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -483,8 +483,8 @@ struct request_queue
483#define QUEUE_FLAG_CLUSTER 0 /* cluster several segments into 1 */ 483#define QUEUE_FLAG_CLUSTER 0 /* cluster several segments into 1 */
484#define QUEUE_FLAG_QUEUED 1 /* uses generic tag queueing */ 484#define QUEUE_FLAG_QUEUED 1 /* uses generic tag queueing */
485#define QUEUE_FLAG_STOPPED 2 /* queue is stopped */ 485#define QUEUE_FLAG_STOPPED 2 /* queue is stopped */
486#define QUEUE_FLAG_READFULL 3 /* write queue has been filled */ 486#define QUEUE_FLAG_READFULL 3 /* read queue has been filled */
487#define QUEUE_FLAG_WRITEFULL 4 /* read queue has been filled */ 487#define QUEUE_FLAG_WRITEFULL 4 /* write queue has been filled */
488#define QUEUE_FLAG_DEAD 5 /* queue being torn down */ 488#define QUEUE_FLAG_DEAD 5 /* queue being torn down */
489#define QUEUE_FLAG_REENTER 6 /* Re-entrancy avoidance */ 489#define QUEUE_FLAG_REENTER 6 /* Re-entrancy avoidance */
490#define QUEUE_FLAG_PLUGGED 7 /* queue is plugged */ 490#define QUEUE_FLAG_PLUGGED 7 /* queue is plugged */
diff --git a/sound/soc/pxa/pxa2xx-ac97.c b/sound/soc/pxa/pxa2xx-ac97.c
index 129d851b3151..dd14abcdf1bd 100644
--- a/sound/soc/pxa/pxa2xx-ac97.c
+++ b/sound/soc/pxa/pxa2xx-ac97.c
@@ -160,9 +160,9 @@ static void pxa2xx_ac97_cold_reset(struct snd_ac97 *ac97)
160 gsr_bits = 0; 160 gsr_bits = 0;
161#ifdef CONFIG_PXA27x 161#ifdef CONFIG_PXA27x
162 /* PXA27x Developers Manual section 13.5.2.2.1 */ 162 /* PXA27x Developers Manual section 13.5.2.2.1 */
163 pxa_set_cken(1 << 31, 1); 163 pxa_set_cken(31, 1);
164 udelay(5); 164 udelay(5);
165 pxa_set_cken(1 << 31, 0); 165 pxa_set_cken(31, 0);
166 GCR = GCR_COLD_RST; 166 GCR = GCR_COLD_RST;
167 udelay(50); 167 udelay(50);
168#else 168#else