aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-arm/arch-iop13xx/iq81340.h5
-rw-r--r--include/asm-arm/arch-ixp23xx/memory.h16
-rw-r--r--include/asm-arm/arch-s3c2410/anubis-cpld.h2
-rw-r--r--include/asm-arm/arch-s3c2410/anubis-irq.h2
-rw-r--r--include/asm-arm/arch-s3c2410/anubis-map.h2
-rw-r--r--include/asm-arm/arch-s3c2410/audio.h2
-rw-r--r--include/asm-arm/arch-s3c2410/bast-cpld.h4
-rw-r--r--include/asm-arm/arch-s3c2410/bast-irq.h4
-rw-r--r--include/asm-arm/arch-s3c2410/bast-map.h4
-rw-r--r--include/asm-arm/arch-s3c2410/bast-pmu.h2
-rw-r--r--include/asm-arm/arch-s3c2410/h1940-latch.h4
-rw-r--r--include/asm-arm/arch-s3c2410/hardware.h4
-rw-r--r--include/asm-arm/arch-s3c2410/iic.h2
-rw-r--r--include/asm-arm/arch-s3c2410/leds-gpio.h2
-rw-r--r--include/asm-arm/arch-s3c2410/map.h30
-rw-r--r--include/asm-arm/arch-s3c2410/nand.h4
-rw-r--r--include/asm-arm/arch-s3c2410/osiris-cpld.h2
-rw-r--r--include/asm-arm/arch-s3c2410/regs-serial.h2
-rw-r--r--include/asm-arm/arch-s3c2410/system.h4
-rw-r--r--include/asm-arm/arch-s3c2410/timex.h4
-rw-r--r--include/asm-arm/arch-s3c2410/uncompress.h5
-rw-r--r--include/asm-arm/arch-s3c2410/usb-control.h4
-rw-r--r--include/asm-arm/arch-s3c2410/vr1000-cpld.h4
-rw-r--r--include/asm-arm/arch-s3c2410/vr1000-irq.h4
-rw-r--r--include/asm-arm/arch-s3c2410/vr1000-map.h4
-rw-r--r--include/asm-arm/elf.h1
-rw-r--r--include/asm-arm/system.h33
-rw-r--r--include/asm-arm/unistd.h12
-rw-r--r--include/asm-generic/vmlinux.lds.h3
-rw-r--r--include/asm-powerpc/spu.h2
-rw-r--r--include/linux/Kbuild2
-rw-r--r--include/linux/device.h2
-rw-r--r--include/linux/ioport.h3
-rw-r--r--include/linux/kobject.h11
-rw-r--r--include/linux/pci.h29
-rw-r--r--include/linux/pci_ids.h4
-rw-r--r--include/linux/pci_regs.h19
-rw-r--r--include/sound/pcm_oss.h1
-rw-r--r--include/sound/version.h4
-rw-r--r--include/sound/ymfpci.h5
40 files changed, 137 insertions, 116 deletions
diff --git a/include/asm-arm/arch-iop13xx/iq81340.h b/include/asm-arm/arch-iop13xx/iq81340.h
index b98f8f109c22..ba2cf931e9ce 100644
--- a/include/asm-arm/arch-iop13xx/iq81340.h
+++ b/include/asm-arm/arch-iop13xx/iq81340.h
@@ -24,8 +24,5 @@
24#define PBI_CF_IDE_BASE (IQ81340_CMP_FLSH) 24#define PBI_CF_IDE_BASE (IQ81340_CMP_FLSH)
25#define PBI_CF_BAR_ADDR (IOP13XX_PBI_BAR1) 25#define PBI_CF_BAR_ADDR (IOP13XX_PBI_BAR1)
26 26
27/* These are the values used in the Machine description */ 27
28#define PHYS_IO 0xfeffff00
29#define IO_PG_OFFSET 0xffffff00
30#define BOOT_PARAM_OFFSET 0x00000100
31#endif /* _IQ81340_H_ */ 28#endif /* _IQ81340_H_ */
diff --git a/include/asm-arm/arch-ixp23xx/memory.h b/include/asm-arm/arch-ixp23xx/memory.h
index c85fc06a043c..6d859d742d7f 100644
--- a/include/asm-arm/arch-ixp23xx/memory.h
+++ b/include/asm-arm/arch-ixp23xx/memory.h
@@ -41,21 +41,7 @@
41 data = *((volatile int *)IXP23XX_PCI_SDRAM_BAR); \ 41 data = *((volatile int *)IXP23XX_PCI_SDRAM_BAR); \
42 __phys_to_virt((((b - (data & 0xfffffff0)) + 0x00000000))); }) 42 __phys_to_virt((((b - (data & 0xfffffff0)) + 0x00000000))); })
43 43
44/* 44#define arch_is_coherent() 1
45 * Coherency support. Only supported on A2 CPUs or on A1
46 * systems that have the cache coherency workaround.
47 */
48static inline int __ixp23xx_arch_is_coherent(void)
49{
50 extern unsigned int processor_id;
51
52 if (((processor_id & 15) >= 4) || machine_is_roadrunner())
53 return 1;
54
55 return 0;
56}
57
58#define arch_is_coherent() __ixp23xx_arch_is_coherent()
59 45
60#endif 46#endif
61 47
diff --git a/include/asm-arm/arch-s3c2410/anubis-cpld.h b/include/asm-arm/arch-s3c2410/anubis-cpld.h
index 40e8e270d337..dcebf6d61903 100644
--- a/include/asm-arm/arch-s3c2410/anubis-cpld.h
+++ b/include/asm-arm/arch-s3c2410/anubis-cpld.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/anubis-cpld.h 1/* linux/include/asm-arm/arch-s3c2410/anubis-cpld.h
2 * 2 *
3 * (c) 2005 Simtec Electronics 3 * Copyright (c) 2005 Simtec Electronics
4 * http://www.simtec.co.uk/products/ 4 * http://www.simtec.co.uk/products/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/anubis-irq.h b/include/asm-arm/arch-s3c2410/anubis-irq.h
index 4b5f423779df..cd77a70d45c0 100644
--- a/include/asm-arm/arch-s3c2410/anubis-irq.h
+++ b/include/asm-arm/arch-s3c2410/anubis-irq.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/anubis-irq.h 1/* linux/include/asm-arm/arch-s3c2410/anubis-irq.h
2 * 2 *
3 * (c) 2005 Simtec Electronics 3 * Copyright (c) 2005 Simtec Electronics
4 * http://www.simtec.co.uk/products/ 4 * http://www.simtec.co.uk/products/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/anubis-map.h b/include/asm-arm/arch-s3c2410/anubis-map.h
index 058a2104b035..ab076de4a0d0 100644
--- a/include/asm-arm/arch-s3c2410/anubis-map.h
+++ b/include/asm-arm/arch-s3c2410/anubis-map.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/anubis-map.h 1/* linux/include/asm-arm/arch-s3c2410/anubis-map.h
2 * 2 *
3 * (c) 2005 Simtec Electronics 3 * Copyright (c) 2005 Simtec Electronics
4 * http://www.simtec.co.uk/products/ 4 * http://www.simtec.co.uk/products/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/audio.h b/include/asm-arm/arch-s3c2410/audio.h
index 7e0222276c98..65e0acffa1ad 100644
--- a/include/asm-arm/arch-s3c2410/audio.h
+++ b/include/asm-arm/arch-s3c2410/audio.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/audio.h 1/* linux/include/asm-arm/arch-s3c2410/audio.h
2 * 2 *
3 * (c) 2004-2005 Simtec Electronics 3 * Copyright (c) 2004-2005 Simtec Electronics
4 * http://www.simtec.co.uk/products/SWLINUX/ 4 * http://www.simtec.co.uk/products/SWLINUX/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/bast-cpld.h b/include/asm-arm/arch-s3c2410/bast-cpld.h
index 8969cffe83fa..034d2c5a47c4 100644
--- a/include/asm-arm/arch-s3c2410/bast-cpld.h
+++ b/include/asm-arm/arch-s3c2410/bast-cpld.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/bast-cpld.h 1/* linux/include/asm-arm/arch-s3c2410/bast-cpld.h
2 * 2 *
3 * (c) 2003,2004 Simtec Electronics 3 * Copyright (c) 2003,2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * BAST - CPLD control constants 6 * BAST - CPLD control constants
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/bast-irq.h b/include/asm-arm/arch-s3c2410/bast-irq.h
index 15ffa66f5011..726c0466f85a 100644
--- a/include/asm-arm/arch-s3c2410/bast-irq.h
+++ b/include/asm-arm/arch-s3c2410/bast-irq.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/bast-irq.h 1/* linux/include/asm-arm/arch-s3c2410/bast-irq.h
2 * 2 *
3 * (c) 2003,2004 Simtec Electronics 3 * Copyright (c) 2003,2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * Machine BAST - IRQ Number definitions 6 * Machine BAST - IRQ Number definitions
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/bast-map.h b/include/asm-arm/arch-s3c2410/bast-map.h
index 727cef84c70e..86ac1c108db8 100644
--- a/include/asm-arm/arch-s3c2410/bast-map.h
+++ b/include/asm-arm/arch-s3c2410/bast-map.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/bast-map.h 1/* linux/include/asm-arm/arch-s3c2410/bast-map.h
2 * 2 *
3 * (c) 2003,2004 Simtec Electronics 3 * Copyright (c) 2003,2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * Machine BAST - Memory map definitions 6 * Machine BAST - Memory map definitions
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/bast-pmu.h b/include/asm-arm/arch-s3c2410/bast-pmu.h
index 82836027f00f..37a11fe54a78 100644
--- a/include/asm-arm/arch-s3c2410/bast-pmu.h
+++ b/include/asm-arm/arch-s3c2410/bast-pmu.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/bast-pmu.h 1/* linux/include/asm-arm/arch-s3c2410/bast-pmu.h
2 * 2 *
3 * (c) 2003,2004 Simtec Electronics 3 * Copyright (c) 2003,2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * Vincent Sanders <vince@simtec.co.uk> 5 * Vincent Sanders <vince@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/h1940-latch.h b/include/asm-arm/arch-s3c2410/h1940-latch.h
index c5802411f43d..c3de5ab102eb 100644
--- a/include/asm-arm/arch-s3c2410/h1940-latch.h
+++ b/include/asm-arm/arch-s3c2410/h1940-latch.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/h1940-latch.h 1/* linux/include/asm-arm/arch-s3c2410/h1940-latch.h
2 * 2 *
3 * (c) 2005 Simtec Electronics 3 * Copyright (c) 2005 Simtec Electronics
4 * http://armlinux.simtec.co.uk/ 4 * http://armlinux.simtec.co.uk/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
@@ -16,7 +16,7 @@
16 16
17 17
18#ifndef __ASSEMBLY__ 18#ifndef __ASSEMBLY__
19#define H1940_LATCH ((void __iomem *)0xF8000000) 19#define H1940_LATCH ((void __force __iomem *)0xF8000000)
20#else 20#else
21#define H1940_LATCH 0xF8000000 21#define H1940_LATCH 0xF8000000
22#endif 22#endif
diff --git a/include/asm-arm/arch-s3c2410/hardware.h b/include/asm-arm/arch-s3c2410/hardware.h
index 871f8af09b8b..729565e5cdf4 100644
--- a/include/asm-arm/arch-s3c2410/hardware.h
+++ b/include/asm-arm/arch-s3c2410/hardware.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/hardware.h 1/* linux/include/asm-arm/arch-s3c2410/hardware.h
2 * 2 *
3 * (c) 2003 Simtec Electronics 3 * Copyright (c) 2003 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - hardware 6 * S3C2410 - hardware
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/iic.h b/include/asm-arm/arch-s3c2410/iic.h
index ed3d6c7bf6d7..71211c8b5384 100644
--- a/include/asm-arm/arch-s3c2410/iic.h
+++ b/include/asm-arm/arch-s3c2410/iic.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/iic.h 1/* linux/include/asm-arm/arch-s3c2410/iic.h
2 * 2 *
3 * (c) 2004 Simtec Electronics 3 * Copyright (c) 2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - I2C Controller platfrom_device info 6 * S3C2410 - I2C Controller platfrom_device info
diff --git a/include/asm-arm/arch-s3c2410/leds-gpio.h b/include/asm-arm/arch-s3c2410/leds-gpio.h
index f07ed040622b..800846ebddba 100644
--- a/include/asm-arm/arch-s3c2410/leds-gpio.h
+++ b/include/asm-arm/arch-s3c2410/leds-gpio.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/leds-gpio.h 1/* linux/include/asm-arm/arch-s3c2410/leds-gpio.h
2 * 2 *
3 * (c) 2006 Simtec Electronics 3 * Copyright (c) 2006 Simtec Electronics
4 * http://armlinux.simtec.co.uk/ 4 * http://armlinux.simtec.co.uk/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/map.h b/include/asm-arm/arch-s3c2410/map.h
index 7895042d176b..4505aefbad17 100644
--- a/include/asm-arm/arch-s3c2410/map.h
+++ b/include/asm-arm/arch-s3c2410/map.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/map.h 1/* linux/include/asm-arm/arch-s3c2410/map.h
2 * 2 *
3 * (c) 2003 Simtec Electronics 3 * Copyright (c) 2003 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - Memory map definitions 6 * S3C2410 - Memory map definitions
7 * 7 *
@@ -25,7 +25,7 @@
25 */ 25 */
26 26
27#ifndef __ASSEMBLY__ 27#ifndef __ASSEMBLY__
28#define S3C2410_ADDR(x) ((void __iomem *)0xF0000000 + (x)) 28#define S3C2410_ADDR(x) ((void __iomem __force *)0xF0000000 + (x))
29#else 29#else
30#define S3C2410_ADDR(x) (0xF0000000 + (x)) 30#define S3C2410_ADDR(x) (0xF0000000 + (x))
31#endif 31#endif
@@ -47,73 +47,65 @@
47#define S3C24XX_SZ_MEMCTRL SZ_1M 47#define S3C24XX_SZ_MEMCTRL SZ_1M
48 48
49/* USB host controller */ 49/* USB host controller */
50#define S3C24XX_VA_USBHOST S3C2410_ADDR(0x00200000)
51#define S3C2400_PA_USBHOST (0x14200000) 50#define S3C2400_PA_USBHOST (0x14200000)
52#define S3C2410_PA_USBHOST (0x49000000) 51#define S3C2410_PA_USBHOST (0x49000000)
53#define S3C24XX_SZ_USBHOST SZ_1M 52#define S3C24XX_SZ_USBHOST SZ_1M
54 53
55/* DMA controller */ 54/* DMA controller */
56#define S3C24XX_VA_DMA S3C2410_ADDR(0x00300000)
57#define S3C2400_PA_DMA (0x14600000) 55#define S3C2400_PA_DMA (0x14600000)
58#define S3C2410_PA_DMA (0x4B000000) 56#define S3C2410_PA_DMA (0x4B000000)
59#define S3C24XX_SZ_DMA SZ_1M 57#define S3C24XX_SZ_DMA SZ_1M
60 58
61/* Clock and Power management */ 59/* Clock and Power management */
62#define S3C24XX_VA_CLKPWR S3C2410_ADDR(0x00400000) 60#define S3C24XX_VA_CLKPWR S3C2410_ADDR(0x00200000)
63#define S3C2400_PA_CLKPWR (0x14800000) 61#define S3C2400_PA_CLKPWR (0x14800000)
64#define S3C2410_PA_CLKPWR (0x4C000000) 62#define S3C2410_PA_CLKPWR (0x4C000000)
65#define S3C24XX_SZ_CLKPWR SZ_1M 63#define S3C24XX_SZ_CLKPWR SZ_1M
66 64
67/* LCD controller */ 65/* LCD controller */
68#define S3C24XX_VA_LCD S3C2410_ADDR(0x00600000) 66#define S3C24XX_VA_LCD S3C2410_ADDR(0x00300000)
69#define S3C2400_PA_LCD (0x14A00000) 67#define S3C2400_PA_LCD (0x14A00000)
70#define S3C2410_PA_LCD (0x4D000000) 68#define S3C2410_PA_LCD (0x4D000000)
71#define S3C24XX_SZ_LCD SZ_1M 69#define S3C24XX_SZ_LCD SZ_1M
72 70
73/* NAND flash controller */ 71/* NAND flash controller */
74#define S3C24XX_VA_NAND S3C2410_ADDR(0x00700000)
75#define S3C2410_PA_NAND (0x4E000000) 72#define S3C2410_PA_NAND (0x4E000000)
76#define S3C24XX_SZ_NAND SZ_1M 73#define S3C24XX_SZ_NAND SZ_1M
77 74
78/* MMC controller - available on the S3C2400 */ 75/* MMC controller - available on the S3C2400 */
79#define S3C2400_VA_MMC S3C2400_ADDR(0x00700000)
80#define S3C2400_PA_MMC (0x15A00000) 76#define S3C2400_PA_MMC (0x15A00000)
81#define S3C2400_SZ_MMC SZ_1M 77#define S3C2400_SZ_MMC SZ_1M
82 78
83/* UARTs */ 79/* UARTs */
84#define S3C24XX_VA_UART S3C2410_ADDR(0x00800000) 80#define S3C24XX_VA_UART S3C2410_ADDR(0x00400000)
85#define S3C2400_PA_UART (0x15000000) 81#define S3C2400_PA_UART (0x15000000)
86#define S3C2410_PA_UART (0x50000000) 82#define S3C2410_PA_UART (0x50000000)
87#define S3C24XX_SZ_UART SZ_1M 83#define S3C24XX_SZ_UART SZ_1M
88 84
89/* Timers */ 85/* Timers */
90#define S3C24XX_VA_TIMER S3C2410_ADDR(0x00900000) 86#define S3C24XX_VA_TIMER S3C2410_ADDR(0x00500000)
91#define S3C2400_PA_TIMER (0x15100000) 87#define S3C2400_PA_TIMER (0x15100000)
92#define S3C2410_PA_TIMER (0x51000000) 88#define S3C2410_PA_TIMER (0x51000000)
93#define S3C24XX_SZ_TIMER SZ_1M 89#define S3C24XX_SZ_TIMER SZ_1M
94 90
95/* USB Device port */ 91/* USB Device port */
96#define S3C24XX_VA_USBDEV S3C2410_ADDR(0x00A00000) 92#define S3C24XX_VA_USBDEV S3C2410_ADDR(0x00600000)
97#define S3C2400_PA_USBDEV (0x15200140) 93#define S3C2400_PA_USBDEV (0x15200140)
98#define S3C2410_PA_USBDEV (0x52000000) 94#define S3C2410_PA_USBDEV (0x52000000)
99#define S3C24XX_SZ_USBDEV SZ_1M 95#define S3C24XX_SZ_USBDEV SZ_1M
100 96
101/* Watchdog */ 97/* Watchdog */
102#define S3C24XX_VA_WATCHDOG S3C2410_ADDR(0x00B00000) 98#define S3C24XX_VA_WATCHDOG S3C2410_ADDR(0x00700000)
103#define S3C2400_PA_WATCHDOG (0x15300000) 99#define S3C2400_PA_WATCHDOG (0x15300000)
104#define S3C2410_PA_WATCHDOG (0x53000000) 100#define S3C2410_PA_WATCHDOG (0x53000000)
105#define S3C24XX_SZ_WATCHDOG SZ_1M 101#define S3C24XX_SZ_WATCHDOG SZ_1M
106 102
107/* IIC hardware controller */ 103/* IIC hardware controller */
108#define S3C24XX_VA_IIC S3C2410_ADDR(0x00C00000)
109#define S3C2400_PA_IIC (0x15400000) 104#define S3C2400_PA_IIC (0x15400000)
110#define S3C2410_PA_IIC (0x54000000) 105#define S3C2410_PA_IIC (0x54000000)
111#define S3C24XX_SZ_IIC SZ_1M 106#define S3C24XX_SZ_IIC SZ_1M
112 107
113#define VA_IIC_BASE (S3C24XX_VA_IIC)
114
115/* IIS controller */ 108/* IIS controller */
116#define S3C24XX_VA_IIS S3C2410_ADDR(0x00D00000)
117#define S3C2400_PA_IIS (0x15508000) 109#define S3C2400_PA_IIS (0x15508000)
118#define S3C2410_PA_IIS (0x55000000) 110#define S3C2410_PA_IIS (0x55000000)
119#define S3C24XX_SZ_IIS SZ_1M 111#define S3C24XX_SZ_IIS SZ_1M
@@ -134,25 +126,21 @@
134#define S3C24XX_SZ_GPIO SZ_1M 126#define S3C24XX_SZ_GPIO SZ_1M
135 127
136/* RTC */ 128/* RTC */
137#define S3C24XX_VA_RTC S3C2410_ADDR(0x00F00000)
138#define S3C2400_PA_RTC (0x15700040) 129#define S3C2400_PA_RTC (0x15700040)
139#define S3C2410_PA_RTC (0x57000000) 130#define S3C2410_PA_RTC (0x57000000)
140#define S3C24XX_SZ_RTC SZ_1M 131#define S3C24XX_SZ_RTC SZ_1M
141 132
142/* ADC */ 133/* ADC */
143#define S3C24XX_VA_ADC S3C2410_ADDR(0x01000000)
144#define S3C2400_PA_ADC (0x15800000) 134#define S3C2400_PA_ADC (0x15800000)
145#define S3C2410_PA_ADC (0x58000000) 135#define S3C2410_PA_ADC (0x58000000)
146#define S3C24XX_SZ_ADC SZ_1M 136#define S3C24XX_SZ_ADC SZ_1M
147 137
148/* SPI */ 138/* SPI */
149#define S3C24XX_VA_SPI S3C2410_ADDR(0x01100000)
150#define S3C2400_PA_SPI (0x15900000) 139#define S3C2400_PA_SPI (0x15900000)
151#define S3C2410_PA_SPI (0x59000000) 140#define S3C2410_PA_SPI (0x59000000)
152#define S3C24XX_SZ_SPI SZ_1M 141#define S3C24XX_SZ_SPI SZ_1M
153 142
154/* SDI */ 143/* SDI */
155#define S3C24XX_VA_SDI S3C2410_ADDR(0x01200000)
156#define S3C2410_PA_SDI (0x5A000000) 144#define S3C2410_PA_SDI (0x5A000000)
157#define S3C24XX_SZ_SDI SZ_1M 145#define S3C24XX_SZ_SDI SZ_1M
158 146
diff --git a/include/asm-arm/arch-s3c2410/nand.h b/include/asm-arm/arch-s3c2410/nand.h
index e350ae2acfc6..8816f7f9cee1 100644
--- a/include/asm-arm/arch-s3c2410/nand.h
+++ b/include/asm-arm/arch-s3c2410/nand.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/nand.h 1/* linux/include/asm-arm/arch-s3c2410/nand.h
2 * 2 *
3 * (c) 2004 Simtec Electronics 3 * Copyright (c) 2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - NAND device controller platfrom_device info 6 * S3C2410 - NAND device controller platfrom_device info
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/osiris-cpld.h b/include/asm-arm/arch-s3c2410/osiris-cpld.h
index e9d1ae1f354f..3b6498468d62 100644
--- a/include/asm-arm/arch-s3c2410/osiris-cpld.h
+++ b/include/asm-arm/arch-s3c2410/osiris-cpld.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/osiris-cpld.h 1/* linux/include/asm-arm/arch-s3c2410/osiris-cpld.h
2 * 2 *
3 * (c) 2005 Simtec Electronics 3 * Copyright (c) 2005 Simtec Electronics
4 * http://www.simtec.co.uk/products/ 4 * http://www.simtec.co.uk/products/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/regs-serial.h b/include/asm-arm/arch-s3c2410/regs-serial.h
index 19c77da9c3fe..46f52401d132 100644
--- a/include/asm-arm/arch-s3c2410/regs-serial.h
+++ b/include/asm-arm/arch-s3c2410/regs-serial.h
@@ -197,7 +197,7 @@ struct s3c2410_uartcfg {
197 unsigned char hwport; /* hardware port number */ 197 unsigned char hwport; /* hardware port number */
198 unsigned char unused; 198 unsigned char unused;
199 unsigned short flags; 199 unsigned short flags;
200 unsigned long uart_flags; /* default uart flags */ 200 upf_t uart_flags; /* default uart flags */
201 201
202 unsigned long ucon; /* value of ucon for port */ 202 unsigned long ucon; /* value of ucon for port */
203 unsigned long ulcon; /* value of ulcon for port */ 203 unsigned long ulcon; /* value of ulcon for port */
diff --git a/include/asm-arm/arch-s3c2410/system.h b/include/asm-arm/arch-s3c2410/system.h
index 4f72a853a5cf..ecf250db45fb 100644
--- a/include/asm-arm/arch-s3c2410/system.h
+++ b/include/asm-arm/arch-s3c2410/system.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/system.h 1/* linux/include/asm-arm/arch-s3c2410/system.h
2 * 2 *
3 * (c) 2003 Simtec Electronics 3 * Copyright (c) 2003 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - System function defines and includes 6 * S3C2410 - System function defines and includes
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/timex.h b/include/asm-arm/arch-s3c2410/timex.h
index 703c337c5617..c16a99c5a59a 100644
--- a/include/asm-arm/arch-s3c2410/timex.h
+++ b/include/asm-arm/arch-s3c2410/timex.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/timex.h 1/* linux/include/asm-arm/arch-s3c2410/timex.h
2 * 2 *
3 * (c) 2003-2005 Simtec Electronics 3 * Copyright (c) 2003-2005 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - time parameters 6 * S3C2410 - time parameters
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/uncompress.h b/include/asm-arm/arch-s3c2410/uncompress.h
index 81b3e91c56ab..dcb2cef38f50 100644
--- a/include/asm-arm/arch-s3c2410/uncompress.h
+++ b/include/asm-arm/arch-s3c2410/uncompress.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/uncompress.h 1/* linux/include/asm-arm/arch-s3c2410/uncompress.h
2 * 2 *
3 * (c) 2003 Simtec Electronics 3 * Copyright (c) 2003 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - uncompress code 6 * S3C2410 - uncompress code
7 * 7 *
@@ -13,6 +13,7 @@
13#ifndef __ASM_ARCH_UNCOMPRESS_H 13#ifndef __ASM_ARCH_UNCOMPRESS_H
14#define __ASM_ARCH_UNCOMPRESS_H 14#define __ASM_ARCH_UNCOMPRESS_H
15 15
16typedef unsigned int upf_t; /* cannot include linux/serial_core.h */
16 17
17/* defines for UART registers */ 18/* defines for UART registers */
18#include "asm/arch/regs-serial.h" 19#include "asm/arch/regs-serial.h"
diff --git a/include/asm-arm/arch-s3c2410/usb-control.h b/include/asm-arm/arch-s3c2410/usb-control.h
index 35723569a17a..5bfa376e33dc 100644
--- a/include/asm-arm/arch-s3c2410/usb-control.h
+++ b/include/asm-arm/arch-s3c2410/usb-control.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/usb-control.h 1/* linux/include/asm-arm/arch-s3c2410/usb-control.h
2 * 2 *
3 * (c) 2004 Simtec Electronics 3 * Copyright (c) 2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - usb port information 6 * S3C2410 - usb port information
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/vr1000-cpld.h b/include/asm-arm/arch-s3c2410/vr1000-cpld.h
index a341b1e1bd98..0557b0a5ab1d 100644
--- a/include/asm-arm/arch-s3c2410/vr1000-cpld.h
+++ b/include/asm-arm/arch-s3c2410/vr1000-cpld.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/vr1000-cpld.h 1/* linux/include/asm-arm/arch-s3c2410/vr1000-cpld.h
2 * 2 *
3 * (c) 2003 Simtec Electronics 3 * Copyright (c) 2003 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * VR1000 - CPLD control constants 6 * VR1000 - CPLD control constants
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/vr1000-irq.h b/include/asm-arm/arch-s3c2410/vr1000-irq.h
index c39a0ffa670d..890937083c61 100644
--- a/include/asm-arm/arch-s3c2410/vr1000-irq.h
+++ b/include/asm-arm/arch-s3c2410/vr1000-irq.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/vr1000-irq.h 1/* linux/include/asm-arm/arch-s3c2410/vr1000-irq.h
2 * 2 *
3 * (c) 2003,2004 Simtec Electronics 3 * Copyright (c) 2003,2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * Machine VR1000 - IRQ Number definitions 6 * Machine VR1000 - IRQ Number definitions
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/vr1000-map.h b/include/asm-arm/arch-s3c2410/vr1000-map.h
index 1fe4db36c834..92a56a724a8c 100644
--- a/include/asm-arm/arch-s3c2410/vr1000-map.h
+++ b/include/asm-arm/arch-s3c2410/vr1000-map.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/vr1000-map.h 1/* linux/include/asm-arm/arch-s3c2410/vr1000-map.h
2 * 2 *
3 * (c) 2003-2005 Simtec Electronics 3 * Copyright (c) 2003-2005 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * Machine VR1000 - Memory map definitions 6 * Machine VR1000 - Memory map definitions
7 * 7 *
diff --git a/include/asm-arm/elf.h b/include/asm-arm/elf.h
index 642382d2c9f0..3679a8a8922e 100644
--- a/include/asm-arm/elf.h
+++ b/include/asm-arm/elf.h
@@ -52,6 +52,7 @@ typedef struct user_fp elf_fpregset_t;
52#define HWCAP_EDSP 128 52#define HWCAP_EDSP 128
53#define HWCAP_JAVA 256 53#define HWCAP_JAVA 256
54#define HWCAP_IWMMXT 512 54#define HWCAP_IWMMXT 512
55#define HWCAP_CRUNCH 1024
55 56
56#ifdef __KERNEL__ 57#ifdef __KERNEL__
57#ifndef __ASSEMBLY__ 58#ifndef __ASSEMBLY__
diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h
index e160aeb0138d..aa223fc546af 100644
--- a/include/asm-arm/system.h
+++ b/include/asm-arm/system.h
@@ -73,6 +73,7 @@
73#ifndef __ASSEMBLY__ 73#ifndef __ASSEMBLY__
74 74
75#include <linux/linkage.h> 75#include <linux/linkage.h>
76#include <linux/irqflags.h>
76 77
77struct thread_info; 78struct thread_info;
78struct task_struct; 79struct task_struct;
@@ -139,6 +140,9 @@ static inline int cpu_is_xsc3(void)
139#define cpu_is_xscale() 1 140#define cpu_is_xscale() 1
140#endif 141#endif
141 142
143extern unsigned long cr_no_alignment; /* defined in entry-armv.S */
144extern unsigned long cr_alignment; /* defined in entry-armv.S */
145
142static inline unsigned int get_cr(void) 146static inline unsigned int get_cr(void)
143{ 147{
144 unsigned int val; 148 unsigned int val;
@@ -152,6 +156,10 @@ static inline void set_cr(unsigned int val)
152 : : "r" (val) : "cc"); 156 : : "r" (val) : "cc");
153} 157}
154 158
159#ifndef CONFIG_SMP
160extern void adjust_cr(unsigned long mask, unsigned long set);
161#endif
162
155#define CPACC_FULL(n) (3 << (n * 2)) 163#define CPACC_FULL(n) (3 << (n * 2))
156#define CPACC_SVC(n) (1 << (n * 2)) 164#define CPACC_SVC(n) (1 << (n * 2))
157#define CPACC_DISABLE(n) (0 << (n * 2)) 165#define CPACC_DISABLE(n) (0 << (n * 2))
@@ -170,29 +178,6 @@ static inline void set_copro_access(unsigned int val)
170 : : "r" (val) : "cc"); 178 : : "r" (val) : "cc");
171} 179}
172 180
173extern unsigned long cr_no_alignment; /* defined in entry-armv.S */
174extern unsigned long cr_alignment; /* defined in entry-armv.S */
175
176#ifndef CONFIG_SMP
177static inline void adjust_cr(unsigned long mask, unsigned long set)
178{
179 unsigned long flags, cr;
180
181 mask &= ~CR_A;
182
183 set &= mask;
184
185 local_irq_save(flags);
186
187 cr_no_alignment = (cr_no_alignment & ~mask) | set;
188 cr_alignment = (cr_alignment & ~mask) | set;
189
190 set_cr((get_cr() & ~mask) | set);
191
192 local_irq_restore(flags);
193}
194#endif
195
196#define UDBG_UNDEFINED (1 << 0) 181#define UDBG_UNDEFINED (1 << 0)
197#define UDBG_SYSCALL (1 << 1) 182#define UDBG_SYSCALL (1 << 1)
198#define UDBG_BADABORT (1 << 2) 183#define UDBG_BADABORT (1 << 2)
@@ -248,8 +233,6 @@ static inline void sched_cacheflush(void)
248{ 233{
249} 234}
250 235
251#include <linux/irqflags.h>
252
253#ifdef CONFIG_SMP 236#ifdef CONFIG_SMP
254 237
255#define smp_mb() mb() 238#define smp_mb() mb()
diff --git a/include/asm-arm/unistd.h b/include/asm-arm/unistd.h
index 32b06eb52819..97e7060000cf 100644
--- a/include/asm-arm/unistd.h
+++ b/include/asm-arm/unistd.h
@@ -360,6 +360,18 @@
360#define __NR_readlinkat (__NR_SYSCALL_BASE+332) 360#define __NR_readlinkat (__NR_SYSCALL_BASE+332)
361#define __NR_fchmodat (__NR_SYSCALL_BASE+333) 361#define __NR_fchmodat (__NR_SYSCALL_BASE+333)
362#define __NR_faccessat (__NR_SYSCALL_BASE+334) 362#define __NR_faccessat (__NR_SYSCALL_BASE+334)
363 /* 335 for pselect6 */
364 /* 336 for ppoll */
365#define __NR_unshare (__NR_SYSCALL_BASE+337)
366#define __NR_set_robust_list (__NR_SYSCALL_BASE+338)
367#define __NR_get_robust_list (__NR_SYSCALL_BASE+339)
368#define __NR_splice (__NR_SYSCALL_BASE+340)
369#define __NR_arm_sync_file_range (__NR_SYSCALL_BASE+341)
370#define __NR_tee (__NR_SYSCALL_BASE+342)
371#define __NR_vmsplice (__NR_SYSCALL_BASE+343)
372#define __NR_move_pages (__NR_SYSCALL_BASE+344)
373#define __NR_getcpu (__NR_SYSCALL_BASE+345)
374 /* 346 for epoll_pwait */
363 375
364/* 376/*
365 * The following SWIs are ARM private. 377 * The following SWIs are ARM private.
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 1587121730c5..9fcc8d9fbb14 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -35,6 +35,9 @@
35 VMLINUX_SYMBOL(__start_pci_fixups_enable) = .; \ 35 VMLINUX_SYMBOL(__start_pci_fixups_enable) = .; \
36 *(.pci_fixup_enable) \ 36 *(.pci_fixup_enable) \
37 VMLINUX_SYMBOL(__end_pci_fixups_enable) = .; \ 37 VMLINUX_SYMBOL(__end_pci_fixups_enable) = .; \
38 VMLINUX_SYMBOL(__start_pci_fixups_resume) = .; \
39 *(.pci_fixup_resume) \
40 VMLINUX_SYMBOL(__end_pci_fixups_resume) = .; \
38 } \ 41 } \
39 \ 42 \
40 /* RapidIO route ops */ \ 43 /* RapidIO route ops */ \
diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h
index fdad4267b447..3d90264e9d36 100644
--- a/include/asm-powerpc/spu.h
+++ b/include/asm-powerpc/spu.h
@@ -161,6 +161,7 @@ struct spu_syscall_block {
161extern long spu_sys_callback(struct spu_syscall_block *s); 161extern long spu_sys_callback(struct spu_syscall_block *s);
162 162
163/* syscalls implemented in spufs */ 163/* syscalls implemented in spufs */
164struct file;
164extern struct spufs_calls { 165extern struct spufs_calls {
165 asmlinkage long (*create_thread)(const char __user *name, 166 asmlinkage long (*create_thread)(const char __user *name,
166 unsigned int flags, mode_t mode); 167 unsigned int flags, mode_t mode);
@@ -232,6 +233,7 @@ void spu_remove_sysdev_attr_group(struct attribute_group *attrs);
232 * to object-id spufs file from user space and the notifer 233 * to object-id spufs file from user space and the notifer
233 * function can assume that spu->ctx is valid. 234 * function can assume that spu->ctx is valid.
234 */ 235 */
236struct notifier_block;
235int spu_switch_event_register(struct notifier_block * n); 237int spu_switch_event_register(struct notifier_block * n);
236int spu_switch_event_unregister(struct notifier_block * n); 238int spu_switch_event_unregister(struct notifier_block * n);
237 239
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index a1b04d8a1d01..68dd42b9bac7 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -119,7 +119,6 @@ header-y += nfs4_mount.h
119header-y += nfs_mount.h 119header-y += nfs_mount.h
120header-y += oom.h 120header-y += oom.h
121header-y += param.h 121header-y += param.h
122header-y += pci_ids.h
123header-y += pci_regs.h 122header-y += pci_regs.h
124header-y += personality.h 123header-y += personality.h
125header-y += pfkeyv2.h 124header-y += pfkeyv2.h
@@ -162,7 +161,6 @@ header-y += vt.h
162header-y += wireless.h 161header-y += wireless.h
163header-y += xattr.h 162header-y += xattr.h
164header-y += x25.h 163header-y += x25.h
165header-y += zorro_ids.h
166 164
167unifdef-y += acct.h 165unifdef-y += acct.h
168unifdef-y += adb.h 166unifdef-y += adb.h
diff --git a/include/linux/device.h b/include/linux/device.h
index 49ab53ce92dc..f44247fe8135 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -433,6 +433,8 @@ static inline int device_is_registered(struct device *dev)
433 return dev->is_registered; 433 return dev->is_registered;
434} 434}
435 435
436void driver_init(void);
437
436/* 438/*
437 * High level routines for use by the bus drivers 439 * High level routines for use by the bus drivers
438 */ 440 */
diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index cf8696d4a138..15228d79c5bc 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -91,6 +91,9 @@ struct resource_list {
91#define IORESOURCE_ROM_COPY (1<<2) /* ROM is alloc'd copy, resource field overlaid */ 91#define IORESOURCE_ROM_COPY (1<<2) /* ROM is alloc'd copy, resource field overlaid */
92#define IORESOURCE_ROM_BIOS_COPY (1<<3) /* ROM is BIOS copy, resource field overlaid */ 92#define IORESOURCE_ROM_BIOS_COPY (1<<3) /* ROM is BIOS copy, resource field overlaid */
93 93
94/* PCI control bits. Shares IORESOURCE_BITS with above PCI ROM. */
95#define IORESOURCE_PCI_FIXED (1<<4) /* Do not move resource */
96
94/* PC/ISA/whatever - the normal PC address spaces: IO and memory */ 97/* PC/ISA/whatever - the normal PC address spaces: IO and memory */
95extern struct resource ioport_resource; 98extern struct resource ioport_resource;
96extern struct resource iomem_resource; 99extern struct resource iomem_resource;
diff --git a/include/linux/kobject.h b/include/linux/kobject.h
index d1c8d28fa92e..76538fcf2c4e 100644
--- a/include/linux/kobject.h
+++ b/include/linux/kobject.h
@@ -265,8 +265,8 @@ extern int __must_check subsys_create_file(struct subsystem * ,
265 struct subsys_attribute *); 265 struct subsys_attribute *);
266 266
267#if defined(CONFIG_HOTPLUG) 267#if defined(CONFIG_HOTPLUG)
268void kobject_uevent(struct kobject *kobj, enum kobject_action action); 268int kobject_uevent(struct kobject *kobj, enum kobject_action action);
269void kobject_uevent_env(struct kobject *kobj, enum kobject_action action, 269int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,
270 char *envp[]); 270 char *envp[]);
271 271
272int add_uevent_var(char **envp, int num_envp, int *cur_index, 272int add_uevent_var(char **envp, int num_envp, int *cur_index,
@@ -274,11 +274,12 @@ int add_uevent_var(char **envp, int num_envp, int *cur_index,
274 const char *format, ...) 274 const char *format, ...)
275 __attribute__((format (printf, 7, 8))); 275 __attribute__((format (printf, 7, 8)));
276#else 276#else
277static inline void kobject_uevent(struct kobject *kobj, enum kobject_action action) { } 277static inline int kobject_uevent(struct kobject *kobj, enum kobject_action action)
278static inline void kobject_uevent_env(struct kobject *kobj, 278{ return 0; }
279static inline int kobject_uevent_env(struct kobject *kobj,
279 enum kobject_action action, 280 enum kobject_action action,
280 char *envp[]) 281 char *envp[])
281{ } 282{ return 0; }
282 283
283static inline int add_uevent_var(char **envp, int num_envp, int *cur_index, 284static inline int add_uevent_var(char **envp, int num_envp, int *cur_index,
284 char *buffer, int buffer_size, int *cur_len, 285 char *buffer, int buffer_size, int *cur_len,
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 01c707261f9c..f3c617eabd8d 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -20,9 +20,6 @@
20/* Include the pci register defines */ 20/* Include the pci register defines */
21#include <linux/pci_regs.h> 21#include <linux/pci_regs.h>
22 22
23/* Include the ID list */
24#include <linux/pci_ids.h>
25
26/* 23/*
27 * The PCI interface treats multi-function devices as independent 24 * The PCI interface treats multi-function devices as independent
28 * devices. The slot/function address of each device is encoded 25 * devices. The slot/function address of each device is encoded
@@ -54,6 +51,9 @@
54#include <asm/atomic.h> 51#include <asm/atomic.h>
55#include <linux/device.h> 52#include <linux/device.h>
56 53
54/* Include the ID list */
55#include <linux/pci_ids.h>
56
57/* File state for mmap()s on /proc/bus/pci/X/Y */ 57/* File state for mmap()s on /proc/bus/pci/X/Y */
58enum pci_mmap_state { 58enum pci_mmap_state {
59 pci_mmap_io, 59 pci_mmap_io,
@@ -396,6 +396,21 @@ struct pci_driver {
396 */ 396 */
397#define pci_module_init pci_register_driver 397#define pci_module_init pci_register_driver
398 398
399/**
400 * PCI_VDEVICE - macro used to describe a specific pci device in short form
401 * @vend: the vendor name
402 * @dev: the 16 bit PCI Device ID
403 *
404 * This macro is used to create a struct pci_device_id that matches a
405 * specific PCI device. The subvendor, and subdevice fields will be set
406 * to PCI_ANY_ID. The macro allows the next field to follow as the device
407 * private data.
408 */
409
410#define PCI_VDEVICE(vendor, device) \
411 PCI_VENDOR_ID_##vendor, (device), \
412 PCI_ANY_ID, PCI_ANY_ID, 0, 0
413
399/* these external functions are only available when PCI support is enabled */ 414/* these external functions are only available when PCI support is enabled */
400#ifdef CONFIG_PCI 415#ifdef CONFIG_PCI
401 416
@@ -454,6 +469,8 @@ struct pci_dev *pci_find_slot (unsigned int bus, unsigned int devfn);
454int pci_find_capability (struct pci_dev *dev, int cap); 469int pci_find_capability (struct pci_dev *dev, int cap);
455int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap); 470int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap);
456int pci_find_ext_capability (struct pci_dev *dev, int cap); 471int pci_find_ext_capability (struct pci_dev *dev, int cap);
472int pci_find_ht_capability (struct pci_dev *dev, int ht_cap);
473int pci_find_next_ht_capability (struct pci_dev *dev, int pos, int ht_cap);
457struct pci_bus *pci_find_next_bus(const struct pci_bus *from); 474struct pci_bus *pci_find_next_bus(const struct pci_bus *from);
458 475
459struct pci_dev *pci_get_device(unsigned int vendor, unsigned int device, 476struct pci_dev *pci_get_device(unsigned int vendor, unsigned int device,
@@ -468,6 +485,7 @@ struct pci_dev *pci_get_slot (struct pci_bus *bus, unsigned int devfn);
468struct pci_dev *pci_get_bus_and_slot (unsigned int bus, unsigned int devfn); 485struct pci_dev *pci_get_bus_and_slot (unsigned int bus, unsigned int devfn);
469struct pci_dev *pci_get_class (unsigned int class, struct pci_dev *from); 486struct pci_dev *pci_get_class (unsigned int class, struct pci_dev *from);
470int pci_dev_present(const struct pci_device_id *ids); 487int pci_dev_present(const struct pci_device_id *ids);
488const struct pci_device_id *pci_find_present(const struct pci_device_id *ids);
471 489
472int pci_bus_read_config_byte (struct pci_bus *bus, unsigned int devfn, int where, u8 *val); 490int pci_bus_read_config_byte (struct pci_bus *bus, unsigned int devfn, int where, u8 *val);
473int pci_bus_read_config_word (struct pci_bus *bus, unsigned int devfn, int where, u16 *val); 491int pci_bus_read_config_word (struct pci_bus *bus, unsigned int devfn, int where, u16 *val);
@@ -681,6 +699,7 @@ static inline struct pci_dev *pci_get_class(unsigned int class, struct pci_dev *
681{ return NULL; } 699{ return NULL; }
682 700
683#define pci_dev_present(ids) (0) 701#define pci_dev_present(ids) (0)
702#define pci_find_present(ids) (NULL)
684#define pci_dev_put(dev) do { } while (0) 703#define pci_dev_put(dev) do { } while (0)
685 704
686static inline void pci_set_master(struct pci_dev *dev) { } 705static inline void pci_set_master(struct pci_dev *dev) { }
@@ -783,6 +802,7 @@ enum pci_fixup_pass {
783 pci_fixup_header, /* After reading configuration header */ 802 pci_fixup_header, /* After reading configuration header */
784 pci_fixup_final, /* Final phase of device fixups */ 803 pci_fixup_final, /* Final phase of device fixups */
785 pci_fixup_enable, /* pci_enable_device() time */ 804 pci_fixup_enable, /* pci_enable_device() time */
805 pci_fixup_resume, /* pci_enable_device() time */
786}; 806};
787 807
788/* Anonymous variables would be nice... */ 808/* Anonymous variables would be nice... */
@@ -801,6 +821,9 @@ enum pci_fixup_pass {
801#define DECLARE_PCI_FIXUP_ENABLE(vendor, device, hook) \ 821#define DECLARE_PCI_FIXUP_ENABLE(vendor, device, hook) \
802 DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \ 822 DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \
803 vendor##device##hook, vendor, device, hook) 823 vendor##device##hook, vendor, device, hook)
824#define DECLARE_PCI_FIXUP_RESUME(vendor, device, hook) \
825 DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume, \
826 resume##vendor##device##hook, vendor, device, hook)
804 827
805 828
806void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev); 829void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev);
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 95c1e74afebc..778e701eff30 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -104,6 +104,10 @@
104#define PCI_CLASS_SERIAL_FIBER 0x0c04 104#define PCI_CLASS_SERIAL_FIBER 0x0c04
105#define PCI_CLASS_SERIAL_SMBUS 0x0c05 105#define PCI_CLASS_SERIAL_SMBUS 0x0c05
106 106
107#define PCI_BASE_CLASS_WIRELESS 0x0d
108#define PCI_CLASS_WIRELESS_RF_CONTROLLER 0x0d10
109#define PCI_CLASS_WIRELESS_WHCI 0x0d1010
110
107#define PCI_BASE_CLASS_INTELLIGENT 0x0e 111#define PCI_BASE_CLASS_INTELLIGENT 0x0e
108#define PCI_CLASS_INTELLIGENT_I2O 0x0e00 112#define PCI_CLASS_INTELLIGENT_I2O 0x0e00
109 113
diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h
index 064b1dc71c22..7a6d34ee5ab1 100644
--- a/include/linux/pci_regs.h
+++ b/include/linux/pci_regs.h
@@ -475,15 +475,32 @@
475#define PCI_PWR_CAP 12 /* Capability */ 475#define PCI_PWR_CAP 12 /* Capability */
476#define PCI_PWR_CAP_BUDGET(x) ((x) & 1) /* Included in system budget */ 476#define PCI_PWR_CAP_BUDGET(x) ((x) & 1) /* Included in system budget */
477 477
478/* Hypertransport sub capability types */ 478/*
479 * Hypertransport sub capability types
480 *
481 * Unfortunately there are both 3 bit and 5 bit capability types defined
482 * in the HT spec, catering for that is a little messy. You probably don't
483 * want to use these directly, just use pci_find_ht_capability() and it
484 * will do the right thing for you.
485 */
486#define HT_3BIT_CAP_MASK 0xE0
479#define HT_CAPTYPE_SLAVE 0x00 /* Slave/Primary link configuration */ 487#define HT_CAPTYPE_SLAVE 0x00 /* Slave/Primary link configuration */
480#define HT_CAPTYPE_HOST 0x20 /* Host/Secondary link configuration */ 488#define HT_CAPTYPE_HOST 0x20 /* Host/Secondary link configuration */
489
490#define HT_5BIT_CAP_MASK 0xF8
481#define HT_CAPTYPE_IRQ 0x80 /* IRQ Configuration */ 491#define HT_CAPTYPE_IRQ 0x80 /* IRQ Configuration */
482#define HT_CAPTYPE_REMAPPING_40 0xA0 /* 40 bit address remapping */ 492#define HT_CAPTYPE_REMAPPING_40 0xA0 /* 40 bit address remapping */
483#define HT_CAPTYPE_REMAPPING_64 0xA2 /* 64 bit address remapping */ 493#define HT_CAPTYPE_REMAPPING_64 0xA2 /* 64 bit address remapping */
484#define HT_CAPTYPE_UNITID_CLUMP 0x90 /* Unit ID clumping */ 494#define HT_CAPTYPE_UNITID_CLUMP 0x90 /* Unit ID clumping */
485#define HT_CAPTYPE_EXTCONF 0x98 /* Extended Configuration Space Access */ 495#define HT_CAPTYPE_EXTCONF 0x98 /* Extended Configuration Space Access */
486#define HT_CAPTYPE_MSI_MAPPING 0xA8 /* MSI Mapping Capability */ 496#define HT_CAPTYPE_MSI_MAPPING 0xA8 /* MSI Mapping Capability */
497#define HT_MSI_FLAGS 0x02 /* Offset to flags */
498#define HT_MSI_FLAGS_ENABLE 0x1 /* Mapping enable */
499#define HT_MSI_FLAGS_FIXED 0x2 /* Fixed mapping only */
500#define HT_MSI_FIXED_ADDR 0x00000000FEE00000ULL /* Fixed addr */
501#define HT_MSI_ADDR_LO 0x04 /* Offset to low addr bits */
502#define HT_MSI_ADDR_LO_MASK 0xFFF00000 /* Low address bit mask */
503#define HT_MSI_ADDR_HI 0x08 /* Offset to high addr bits */
487#define HT_CAPTYPE_DIRECT_ROUTE 0xB0 /* Direct routing configuration */ 504#define HT_CAPTYPE_DIRECT_ROUTE 0xB0 /* Direct routing configuration */
488#define HT_CAPTYPE_VCSET 0xB8 /* Virtual Channel configuration */ 505#define HT_CAPTYPE_VCSET 0xB8 /* Virtual Channel configuration */
489#define HT_CAPTYPE_ERROR_RETRY 0xC0 /* Retry on error configuration */ 506#define HT_CAPTYPE_ERROR_RETRY 0xC0 /* Retry on error configuration */
diff --git a/include/sound/pcm_oss.h b/include/sound/pcm_oss.h
index c854647b6f3c..1cd4f64cdf31 100644
--- a/include/sound/pcm_oss.h
+++ b/include/sound/pcm_oss.h
@@ -56,6 +56,7 @@ struct snd_pcm_oss_runtime {
56 size_t mmap_bytes; 56 size_t mmap_bytes;
57 char *buffer; /* vmallocated period */ 57 char *buffer; /* vmallocated period */
58 size_t buffer_used; /* used length from period buffer */ 58 size_t buffer_used; /* used length from period buffer */
59 struct mutex params_lock;
59#ifdef CONFIG_SND_PCM_OSS_PLUGINS 60#ifdef CONFIG_SND_PCM_OSS_PLUGINS
60 struct snd_pcm_plugin *plugin_first; 61 struct snd_pcm_plugin *plugin_first;
61 struct snd_pcm_plugin *plugin_last; 62 struct snd_pcm_plugin *plugin_last;
diff --git a/include/sound/version.h b/include/sound/version.h
index 17137f3a3b6f..2949b9b991b5 100644
--- a/include/sound/version.h
+++ b/include/sound/version.h
@@ -1,3 +1,3 @@
1/* include/version.h. Generated by alsa/ksync script. */ 1/* include/version.h. Generated by alsa/ksync script. */
2#define CONFIG_SND_VERSION "1.0.13" 2#define CONFIG_SND_VERSION "1.0.14rc1"
3#define CONFIG_SND_DATE " (Tue Nov 28 14:07:24 2006 UTC)" 3#define CONFIG_SND_DATE " (Wed Dec 20 08:11:48 2006 UTC)"
diff --git a/include/sound/ymfpci.h b/include/sound/ymfpci.h
index d41cda97e952..f3514ee96bd9 100644
--- a/include/sound/ymfpci.h
+++ b/include/sound/ymfpci.h
@@ -286,7 +286,7 @@ struct snd_ymfpci {
286 int irq; 286 int irq;
287 287
288 unsigned int device_id; /* PCI device ID */ 288 unsigned int device_id; /* PCI device ID */
289 unsigned int rev; /* PCI revision */ 289 unsigned char rev; /* PCI revision */
290 unsigned long reg_area_phys; 290 unsigned long reg_area_phys;
291 void __iomem *reg_area_virt; 291 void __iomem *reg_area_virt;
292 struct resource *res_reg_area; 292 struct resource *res_reg_area;
@@ -345,7 +345,6 @@ struct snd_ymfpci {
345 struct snd_kcontrol *spdif_pcm_ctl; 345 struct snd_kcontrol *spdif_pcm_ctl;
346 int mode_dup4ch; 346 int mode_dup4ch;
347 int rear_opened; 347 int rear_opened;
348 int rear_swap;
349 int spdif_opened; 348 int spdif_opened;
350 struct { 349 struct {
351 u16 left; 350 u16 left;
@@ -378,7 +377,7 @@ int snd_ymfpci_pcm(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm);
378int snd_ymfpci_pcm2(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); 377int snd_ymfpci_pcm2(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm);
379int snd_ymfpci_pcm_spdif(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); 378int snd_ymfpci_pcm_spdif(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm);
380int snd_ymfpci_pcm_4ch(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); 379int snd_ymfpci_pcm_4ch(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm);
381int snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch, int rear_swap); 380int snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch);
382int snd_ymfpci_timer(struct snd_ymfpci *chip, int device); 381int snd_ymfpci_timer(struct snd_ymfpci *chip, int device);
383 382
384#endif /* __SOUND_YMFPCI_H */ 383#endif /* __SOUND_YMFPCI_H */