diff options
295 files changed, 3609 insertions, 2190 deletions
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches index 2cd7f02ffd0..d42ab4c9e89 100644 --- a/Documentation/SubmittingPatches +++ b/Documentation/SubmittingPatches | |||
@@ -308,6 +308,8 @@ then you just add a line saying | |||
308 | 308 | ||
309 | Signed-off-by: Random J Developer <random@developer.example.org> | 309 | Signed-off-by: Random J Developer <random@developer.example.org> |
310 | 310 | ||
311 | using your real name (sorry, no pseudonyms or anonymous contributions.) | ||
312 | |||
311 | Some people also put extra tags at the end. They'll just be ignored for | 313 | Some people also put extra tags at the end. They'll just be ignored for |
312 | now, but you can do this to mark internal company procedures or just | 314 | now, but you can do this to mark internal company procedures or just |
313 | point out some special detail about the sign-off. | 315 | point out some special detail about the sign-off. |
diff --git a/Documentation/cciss.txt b/Documentation/cciss.txt index 15378422fc4..9c629ffa0e5 100644 --- a/Documentation/cciss.txt +++ b/Documentation/cciss.txt | |||
@@ -20,6 +20,7 @@ This driver is known to work with the following cards: | |||
20 | * SA P400i | 20 | * SA P400i |
21 | * SA E200 | 21 | * SA E200 |
22 | * SA E200i | 22 | * SA E200i |
23 | * SA E500 | ||
23 | 24 | ||
24 | If nodes are not already created in the /dev/cciss directory, run as root: | 25 | If nodes are not already created in the /dev/cciss directory, run as root: |
25 | 26 | ||
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 87851efb022..d1cd5f93e02 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -120,6 +120,13 @@ Who: Adrian Bunk <bunk@stusta.de> | |||
120 | 120 | ||
121 | --------------------------- | 121 | --------------------------- |
122 | 122 | ||
123 | What: drivers depending on OSS_OBSOLETE_DRIVER | ||
124 | When: options in 2.6.20, code in 2.6.22 | ||
125 | Why: OSS drivers with ALSA replacements | ||
126 | Who: Adrian Bunk <bunk@stusta.de> | ||
127 | |||
128 | --------------------------- | ||
129 | |||
123 | What: pci_module_init(driver) | 130 | What: pci_module_init(driver) |
124 | When: January 2007 | 131 | When: January 2007 |
125 | Why: Is replaced by pci_register_driver(pci_driver). | 132 | Why: Is replaced by pci_register_driver(pci_driver). |
diff --git a/Documentation/i386/boot.txt b/Documentation/i386/boot.txt index 10312bebe55..c51314b1a46 100644 --- a/Documentation/i386/boot.txt +++ b/Documentation/i386/boot.txt | |||
@@ -181,6 +181,7 @@ filled out, however: | |||
181 | 5 ELILO | 181 | 5 ELILO |
182 | 7 GRuB | 182 | 7 GRuB |
183 | 8 U-BOOT | 183 | 8 U-BOOT |
184 | 9 Xen | ||
184 | 185 | ||
185 | Please contact <hpa@zytor.com> if you need a bootloader ID | 186 | Please contact <hpa@zytor.com> if you need a bootloader ID |
186 | value assigned. | 187 | value assigned. |
diff --git a/Documentation/i386/zero-page.txt b/Documentation/i386/zero-page.txt index df28c741678..c04a421f4a7 100644 --- a/Documentation/i386/zero-page.txt +++ b/Documentation/i386/zero-page.txt | |||
@@ -63,6 +63,10 @@ Offset Type Description | |||
63 | 2 for bootsect-loader | 63 | 2 for bootsect-loader |
64 | 3 for SYSLINUX | 64 | 3 for SYSLINUX |
65 | 4 for ETHERBOOT | 65 | 4 for ETHERBOOT |
66 | 5 for ELILO | ||
67 | 7 for GRuB | ||
68 | 8 for U-BOOT | ||
69 | 9 for Xen | ||
66 | V = version | 70 | V = version |
67 | 0x211 char loadflags: | 71 | 0x211 char loadflags: |
68 | bit0 = 1: kernel is loaded high (bzImage) | 72 | bit0 = 1: kernel is loaded high (bzImage) |
@@ -1,7 +1,7 @@ | |||
1 | VERSION = 2 | 1 | VERSION = 2 |
2 | PATCHLEVEL = 6 | 2 | PATCHLEVEL = 6 |
3 | SUBLEVEL = 18 | 3 | SUBLEVEL = 18 |
4 | EXTRAVERSION = -rc5 | 4 | EXTRAVERSION = -rc7 |
5 | NAME=Crazed Snow-Weasel | 5 | NAME=Crazed Snow-Weasel |
6 | 6 | ||
7 | # *DOCUMENTATION* | 7 | # *DOCUMENTATION* |
diff --git a/arch/arm/configs/csb337_defconfig b/arch/arm/configs/csb337_defconfig index 3594155a813..cf3fa5cb26e 100644 --- a/arch/arm/configs/csb337_defconfig +++ b/arch/arm/configs/csb337_defconfig | |||
@@ -621,9 +621,8 @@ CONFIG_AT91_WATCHDOG=y | |||
621 | # USB-based Watchdog Cards | 621 | # USB-based Watchdog Cards |
622 | # | 622 | # |
623 | # CONFIG_USBPCWATCHDOG is not set | 623 | # CONFIG_USBPCWATCHDOG is not set |
624 | # CONFIG_HW_RANDOM is not set | ||
624 | # CONFIG_NVRAM is not set | 625 | # CONFIG_NVRAM is not set |
625 | CONFIG_RTC=y | ||
626 | # CONFIG_AT91_RTC is not set | ||
627 | # CONFIG_DTLK is not set | 626 | # CONFIG_DTLK is not set |
628 | # CONFIG_R3964 is not set | 627 | # CONFIG_R3964 is not set |
629 | 628 | ||
@@ -956,10 +955,42 @@ CONFIG_USB_AT91=y | |||
956 | CONFIG_MMC=y | 955 | CONFIG_MMC=y |
957 | # CONFIG_MMC_DEBUG is not set | 956 | # CONFIG_MMC_DEBUG is not set |
958 | CONFIG_MMC_BLOCK=y | 957 | CONFIG_MMC_BLOCK=y |
959 | # CONFIG_MMC_WBSD is not set | ||
960 | CONFIG_MMC_AT91RM9200=y | 958 | CONFIG_MMC_AT91RM9200=y |
961 | 959 | ||
962 | # | 960 | # |
961 | # Real Time Clock | ||
962 | # | ||
963 | CONFIG_RTC_LIB=y | ||
964 | CONFIG_RTC_CLASS=y | ||
965 | CONFIG_RTC_HCTOSYS=y | ||
966 | CONFIG_RTC_HCTOSYS_DEVICE="rtc1" | ||
967 | |||
968 | # | ||
969 | # RTC interfaces | ||
970 | # | ||
971 | # CONFIG_RTC_INTF_SYSFS is not set | ||
972 | CONFIG_RTC_INTF_PROC=y | ||
973 | CONFIG_RTC_INTF_DEV=y | ||
974 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
975 | |||
976 | # | ||
977 | # RTC drivers | ||
978 | # | ||
979 | # CONFIG_RTC_DRV_X1205 is not set | ||
980 | CONFIG_RTC_DRV_DS1307=y | ||
981 | # CONFIG_RTC_DRV_DS1553 is not set | ||
982 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
983 | # CONFIG_RTC_DRV_DS1672 is not set | ||
984 | # CONFIG_RTC_DRV_DS1742 is not set | ||
985 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
986 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
987 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
988 | # CONFIG_RTC_DRV_M48T86 is not set | ||
989 | CONFIG_RTC_DRV_AT91=y | ||
990 | # CONFIG_RTC_DRV_TEST is not set | ||
991 | # CONFIG_RTC_DRV_V3020 is not set | ||
992 | |||
993 | # | ||
963 | # File systems | 994 | # File systems |
964 | # | 995 | # |
965 | CONFIG_EXT2_FS=y | 996 | CONFIG_EXT2_FS=y |
diff --git a/arch/arm/mach-ixp4xx/nslu2-pci.c b/arch/arm/mach-ixp4xx/nslu2-pci.c index 0de639d6e60..04661fef97f 100644 --- a/arch/arm/mach-ixp4xx/nslu2-pci.c +++ b/arch/arm/mach-ixp4xx/nslu2-pci.c | |||
@@ -17,6 +17,7 @@ | |||
17 | 17 | ||
18 | #include <linux/pci.h> | 18 | #include <linux/pci.h> |
19 | #include <linux/init.h> | 19 | #include <linux/init.h> |
20 | #include <linux/irq.h> | ||
20 | 21 | ||
21 | #include <asm/mach/pci.h> | 22 | #include <asm/mach/pci.h> |
22 | #include <asm/mach-types.h> | 23 | #include <asm/mach-types.h> |
diff --git a/arch/arm/mach-ixp4xx/nslu2-power.c b/arch/arm/mach-ixp4xx/nslu2-power.c index e2a2230b69f..a29b3b2b61b 100644 --- a/arch/arm/mach-ixp4xx/nslu2-power.c +++ b/arch/arm/mach-ixp4xx/nslu2-power.c | |||
@@ -19,6 +19,7 @@ | |||
19 | 19 | ||
20 | #include <linux/module.h> | 20 | #include <linux/module.h> |
21 | #include <linux/reboot.h> | 21 | #include <linux/reboot.h> |
22 | #include <linux/irq.h> | ||
22 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
23 | #include <linux/reboot.h> | 24 | #include <linux/reboot.h> |
24 | 25 | ||
diff --git a/arch/arm/mach-s3c2410/Makefile b/arch/arm/mach-s3c2410/Makefile index 273e05f2b8d..0eadec91621 100644 --- a/arch/arm/mach-s3c2410/Makefile +++ b/arch/arm/mach-s3c2410/Makefile | |||
@@ -28,6 +28,7 @@ obj-$(CONFIG_PM_SIMTEC) += pm-simtec.o | |||
28 | 28 | ||
29 | # S3C2412 support | 29 | # S3C2412 support |
30 | obj-$(CONFIG_CPU_S3C2412) += s3c2412.o | 30 | obj-$(CONFIG_CPU_S3C2412) += s3c2412.o |
31 | obj-$(CONFIG_CPU_S3C2412) += s3c2412-irq.o | ||
31 | obj-$(CONFIG_CPU_S3C2412) += s3c2412-clock.o | 32 | obj-$(CONFIG_CPU_S3C2412) += s3c2412-clock.o |
32 | 33 | ||
33 | # | 34 | # |
diff --git a/arch/arm/mach-s3c2410/cpu.h b/arch/arm/mach-s3c2410/cpu.h index b0ed9d2d141..be42e4032a6 100644 --- a/arch/arm/mach-s3c2410/cpu.h +++ b/arch/arm/mach-s3c2410/cpu.h | |||
@@ -8,16 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Modifications: | ||
13 | * 24-Aug-2004 BJD Start of generic S3C24XX support | ||
14 | * 18-Oct-2004 BJD Moved board struct into this file | ||
15 | * 04-Jan-2005 BJD New uart initialisation | ||
16 | * 10-Jan-2005 BJD Moved generic init here, specific to cpu headers | ||
17 | * 14-Jan-2005 BJD Added s3c24xx_init_clocks() call | ||
18 | * 10-Mar-2005 LCVR Changed S3C2410_{VA,SZ} to S3C24XX_{VA,SZ} & IODESC_ENT | ||
19 | * 14-Mar-2005 BJD Updated for __iomem | ||
20 | * 15-Jan-2006 LCVR Updated S3C2410_PA_##x to new S3C24XX_PA_##x macro | ||
21 | */ | 11 | */ |
22 | 12 | ||
23 | /* todo - fix when rmk changes iodescs to use `void __iomem *` */ | 13 | /* todo - fix when rmk changes iodescs to use `void __iomem *` */ |
diff --git a/arch/arm/mach-s3c2410/devs.c b/arch/arm/mach-s3c2410/devs.c index ad3845e329b..cae35ff76f3 100644 --- a/arch/arm/mach-s3c2410/devs.c +++ b/arch/arm/mach-s3c2410/devs.c | |||
@@ -1,22 +1,14 @@ | |||
1 | /* linux/arch/arm/mach-s3c2410/devs.c | 1 | /* linux/arch/arm/mach-s3c2410/devs.c |
2 | * | 2 | * |
3 | * Copyright (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 | * Base S3C2410 platform device definitions | 6 | * Base S3C24XX platform device definitions |
7 | * | 7 | * |
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | 11 | * |
12 | * Modifications: | ||
13 | * 15-Jan-2006 LCVR Using S3C24XX_PA_##x macro for common S3C24XX devices | ||
14 | * 10-Mar-2005 LCVR Changed S3C2410_{VA,SZ} to S3C24XX_{VA,SZ} | ||
15 | * 10-Feb-2005 BJD Added camera from guillaume.gourat@nexvision.tv | ||
16 | * 29-Aug-2004 BJD Added timers 0 through 3 | ||
17 | * 29-Aug-2004 BJD Changed index of devices we only have one of to -1 | ||
18 | * 21-Aug-2004 BJD Added IRQ_TICK to RTC resources | ||
19 | * 18-Aug-2004 BJD Created initial version | ||
20 | */ | 12 | */ |
21 | 13 | ||
22 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
diff --git a/arch/arm/mach-s3c2410/dma.c b/arch/arm/mach-s3c2410/dma.c index 25855452fe8..cc92a7b2db8 100644 --- a/arch/arm/mach-s3c2410/dma.c +++ b/arch/arm/mach-s3c2410/dma.c | |||
@@ -60,7 +60,7 @@ static void __iomem *dma_base; | |||
60 | static kmem_cache_t *dma_kmem; | 60 | static kmem_cache_t *dma_kmem; |
61 | 61 | ||
62 | /* dma channel state information */ | 62 | /* dma channel state information */ |
63 | s3c2410_dma_chan_t s3c2410_chans[S3C2410_DMA_CHANNELS]; | 63 | struct s3c2410_dma_chan s3c2410_chans[S3C2410_DMA_CHANNELS]; |
64 | 64 | ||
65 | /* debugging functions */ | 65 | /* debugging functions */ |
66 | 66 | ||
@@ -74,7 +74,7 @@ s3c2410_dma_chan_t s3c2410_chans[S3C2410_DMA_CHANNELS]; | |||
74 | #define dma_wrreg(chan, reg, val) writel((val), (chan)->regs + (reg)) | 74 | #define dma_wrreg(chan, reg, val) writel((val), (chan)->regs + (reg)) |
75 | #else | 75 | #else |
76 | static inline void | 76 | static inline void |
77 | dma_wrreg(s3c2410_dma_chan_t *chan, int reg, unsigned long val) | 77 | dma_wrreg(struct s3c2410_dma_chan *chan, int reg, unsigned long val) |
78 | { | 78 | { |
79 | pr_debug("writing %08x to register %08x\n",(unsigned int)val,reg); | 79 | pr_debug("writing %08x to register %08x\n",(unsigned int)val,reg); |
80 | writel(val, dma_regaddr(chan, reg)); | 80 | writel(val, dma_regaddr(chan, reg)); |
@@ -102,7 +102,7 @@ struct s3c2410_dma_regstate { | |||
102 | */ | 102 | */ |
103 | 103 | ||
104 | static void | 104 | static void |
105 | dmadbg_capture(s3c2410_dma_chan_t *chan, struct s3c2410_dma_regstate *regs) | 105 | dmadbg_capture(struct s3c2410_dma_chan *chan, struct s3c2410_dma_regstate *regs) |
106 | { | 106 | { |
107 | regs->dcsrc = dma_rdreg(chan, S3C2410_DMA_DCSRC); | 107 | regs->dcsrc = dma_rdreg(chan, S3C2410_DMA_DCSRC); |
108 | regs->disrc = dma_rdreg(chan, S3C2410_DMA_DISRC); | 108 | regs->disrc = dma_rdreg(chan, S3C2410_DMA_DISRC); |
@@ -112,7 +112,7 @@ dmadbg_capture(s3c2410_dma_chan_t *chan, struct s3c2410_dma_regstate *regs) | |||
112 | } | 112 | } |
113 | 113 | ||
114 | static void | 114 | static void |
115 | dmadbg_dumpregs(const char *fname, int line, s3c2410_dma_chan_t *chan, | 115 | dmadbg_dumpregs(const char *fname, int line, struct s3c2410_dma_chan *chan, |
116 | struct s3c2410_dma_regstate *regs) | 116 | struct s3c2410_dma_regstate *regs) |
117 | { | 117 | { |
118 | printk(KERN_DEBUG "dma%d: %s:%d: DCSRC=%08lx, DISRC=%08lx, DSTAT=%08lx DMT=%02lx, DCON=%08lx\n", | 118 | printk(KERN_DEBUG "dma%d: %s:%d: DCSRC=%08lx, DISRC=%08lx, DSTAT=%08lx DMT=%02lx, DCON=%08lx\n", |
@@ -122,7 +122,7 @@ dmadbg_dumpregs(const char *fname, int line, s3c2410_dma_chan_t *chan, | |||
122 | } | 122 | } |
123 | 123 | ||
124 | static void | 124 | static void |
125 | dmadbg_showchan(const char *fname, int line, s3c2410_dma_chan_t *chan) | 125 | dmadbg_showchan(const char *fname, int line, struct s3c2410_dma_chan *chan) |
126 | { | 126 | { |
127 | struct s3c2410_dma_regstate state; | 127 | struct s3c2410_dma_regstate state; |
128 | 128 | ||
@@ -136,7 +136,7 @@ dmadbg_showchan(const char *fname, int line, s3c2410_dma_chan_t *chan) | |||
136 | } | 136 | } |
137 | 137 | ||
138 | static void | 138 | static void |
139 | dmadbg_showregs(const char *fname, int line, s3c2410_dma_chan_t *chan) | 139 | dmadbg_showregs(const char *fname, int line, struct s3c2410_dma_chan *chan) |
140 | { | 140 | { |
141 | struct s3c2410_dma_regstate state; | 141 | struct s3c2410_dma_regstate state; |
142 | 142 | ||
@@ -164,7 +164,7 @@ dmadbg_showregs(const char *fname, int line, s3c2410_dma_chan_t *chan) | |||
164 | */ | 164 | */ |
165 | 165 | ||
166 | static void | 166 | static void |
167 | s3c2410_dma_stats_timeout(s3c2410_dma_stats_t *stats, int val) | 167 | s3c2410_dma_stats_timeout(struct s3c2410_dma_stats *stats, int val) |
168 | { | 168 | { |
169 | if (stats == NULL) | 169 | if (stats == NULL) |
170 | return; | 170 | return; |
@@ -183,7 +183,7 @@ s3c2410_dma_stats_timeout(s3c2410_dma_stats_t *stats, int val) | |||
183 | */ | 183 | */ |
184 | 184 | ||
185 | static int | 185 | static int |
186 | s3c2410_dma_waitforload(s3c2410_dma_chan_t *chan, int line) | 186 | s3c2410_dma_waitforload(struct s3c2410_dma_chan *chan, int line) |
187 | { | 187 | { |
188 | int timeout = chan->load_timeout; | 188 | int timeout = chan->load_timeout; |
189 | int took; | 189 | int took; |
@@ -230,8 +230,8 @@ s3c2410_dma_waitforload(s3c2410_dma_chan_t *chan, int line) | |||
230 | */ | 230 | */ |
231 | 231 | ||
232 | static inline int | 232 | static inline int |
233 | s3c2410_dma_loadbuffer(s3c2410_dma_chan_t *chan, | 233 | s3c2410_dma_loadbuffer(struct s3c2410_dma_chan *chan, |
234 | s3c2410_dma_buf_t *buf) | 234 | struct s3c2410_dma_buf *buf) |
235 | { | 235 | { |
236 | unsigned long reload; | 236 | unsigned long reload; |
237 | 237 | ||
@@ -304,7 +304,7 @@ s3c2410_dma_loadbuffer(s3c2410_dma_chan_t *chan, | |||
304 | */ | 304 | */ |
305 | 305 | ||
306 | static void | 306 | static void |
307 | s3c2410_dma_call_op(s3c2410_dma_chan_t *chan, s3c2410_chan_op_t op) | 307 | s3c2410_dma_call_op(struct s3c2410_dma_chan *chan, enum s3c2410_chan_op op) |
308 | { | 308 | { |
309 | if (chan->op_fn != NULL) { | 309 | if (chan->op_fn != NULL) { |
310 | (chan->op_fn)(chan, op); | 310 | (chan->op_fn)(chan, op); |
@@ -318,8 +318,8 @@ s3c2410_dma_call_op(s3c2410_dma_chan_t *chan, s3c2410_chan_op_t op) | |||
318 | */ | 318 | */ |
319 | 319 | ||
320 | static inline void | 320 | static inline void |
321 | s3c2410_dma_buffdone(s3c2410_dma_chan_t *chan, s3c2410_dma_buf_t *buf, | 321 | s3c2410_dma_buffdone(struct s3c2410_dma_chan *chan, struct s3c2410_dma_buf *buf, |
322 | s3c2410_dma_buffresult_t result) | 322 | enum s3c2410_dma_buffresult result) |
323 | { | 323 | { |
324 | pr_debug("callback_fn=%p, buf=%p, id=%p, size=%d, result=%d\n", | 324 | pr_debug("callback_fn=%p, buf=%p, id=%p, size=%d, result=%d\n", |
325 | chan->callback_fn, buf, buf->id, buf->size, result); | 325 | chan->callback_fn, buf, buf->id, buf->size, result); |
@@ -334,7 +334,7 @@ s3c2410_dma_buffdone(s3c2410_dma_chan_t *chan, s3c2410_dma_buf_t *buf, | |||
334 | * start a dma channel going | 334 | * start a dma channel going |
335 | */ | 335 | */ |
336 | 336 | ||
337 | static int s3c2410_dma_start(s3c2410_dma_chan_t *chan) | 337 | static int s3c2410_dma_start(struct s3c2410_dma_chan *chan) |
338 | { | 338 | { |
339 | unsigned long tmp; | 339 | unsigned long tmp; |
340 | unsigned long flags; | 340 | unsigned long flags; |
@@ -430,7 +430,7 @@ static int s3c2410_dma_start(s3c2410_dma_chan_t *chan) | |||
430 | */ | 430 | */ |
431 | 431 | ||
432 | static int | 432 | static int |
433 | s3c2410_dma_canload(s3c2410_dma_chan_t *chan) | 433 | s3c2410_dma_canload(struct s3c2410_dma_chan *chan) |
434 | { | 434 | { |
435 | if (chan->load_state == S3C2410_DMALOAD_NONE || | 435 | if (chan->load_state == S3C2410_DMALOAD_NONE || |
436 | chan->load_state == S3C2410_DMALOAD_1RUNNING) | 436 | chan->load_state == S3C2410_DMALOAD_1RUNNING) |
@@ -460,8 +460,8 @@ s3c2410_dma_canload(s3c2410_dma_chan_t *chan) | |||
460 | int s3c2410_dma_enqueue(unsigned int channel, void *id, | 460 | int s3c2410_dma_enqueue(unsigned int channel, void *id, |
461 | dma_addr_t data, int size) | 461 | dma_addr_t data, int size) |
462 | { | 462 | { |
463 | s3c2410_dma_chan_t *chan = &s3c2410_chans[channel]; | 463 | struct s3c2410_dma_chan *chan = &s3c2410_chans[channel]; |
464 | s3c2410_dma_buf_t *buf; | 464 | struct s3c2410_dma_buf *buf; |
465 | unsigned long flags; | 465 | unsigned long flags; |
466 | 466 | ||
467 | check_channel(channel); | 467 | check_channel(channel); |
@@ -540,7 +540,7 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id, | |||
540 | EXPORT_SYMBOL(s3c2410_dma_enqueue); | 540 | EXPORT_SYMBOL(s3c2410_dma_enqueue); |
541 | 541 | ||
542 | static inline void | 542 | static inline void |
543 | s3c2410_dma_freebuf(s3c2410_dma_buf_t *buf) | 543 | s3c2410_dma_freebuf(struct s3c2410_dma_buf *buf) |
544 | { | 544 | { |
545 | int magicok = (buf->magic == BUF_MAGIC); | 545 | int magicok = (buf->magic == BUF_MAGIC); |
546 | 546 | ||
@@ -560,7 +560,7 @@ s3c2410_dma_freebuf(s3c2410_dma_buf_t *buf) | |||
560 | */ | 560 | */ |
561 | 561 | ||
562 | static inline void | 562 | static inline void |
563 | s3c2410_dma_lastxfer(s3c2410_dma_chan_t *chan) | 563 | s3c2410_dma_lastxfer(struct s3c2410_dma_chan *chan) |
564 | { | 564 | { |
565 | pr_debug("dma%d: s3c2410_dma_lastxfer: load_state %d\n", | 565 | pr_debug("dma%d: s3c2410_dma_lastxfer: load_state %d\n", |
566 | chan->number, chan->load_state); | 566 | chan->number, chan->load_state); |
@@ -601,8 +601,8 @@ s3c2410_dma_lastxfer(s3c2410_dma_chan_t *chan) | |||
601 | static irqreturn_t | 601 | static irqreturn_t |
602 | s3c2410_dma_irq(int irq, void *devpw, struct pt_regs *regs) | 602 | s3c2410_dma_irq(int irq, void *devpw, struct pt_regs *regs) |
603 | { | 603 | { |
604 | s3c2410_dma_chan_t *chan = (s3c2410_dma_chan_t *)devpw; | 604 | struct s3c2410_dma_chan *chan = (struct s3c2410_dma_chan *)devpw; |
605 | s3c2410_dma_buf_t *buf; | 605 | struct s3c2410_dma_buf *buf; |
606 | 606 | ||
607 | buf = chan->curr; | 607 | buf = chan->curr; |
608 | 608 | ||
@@ -731,10 +731,10 @@ s3c2410_dma_irq(int irq, void *devpw, struct pt_regs *regs) | |||
731 | * get control of an dma channel | 731 | * get control of an dma channel |
732 | */ | 732 | */ |
733 | 733 | ||
734 | int s3c2410_dma_request(unsigned int channel, s3c2410_dma_client_t *client, | 734 | int s3c2410_dma_request(unsigned int channel, struct s3c2410_dma_client *client, |
735 | void *dev) | 735 | void *dev) |
736 | { | 736 | { |
737 | s3c2410_dma_chan_t *chan = &s3c2410_chans[channel]; | 737 | struct s3c2410_dma_chan *chan = &s3c2410_chans[channel]; |
738 | unsigned long flags; | 738 | unsigned long flags; |
739 | int err; | 739 | int err; |
740 | 740 | ||
@@ -807,9 +807,9 @@ EXPORT_SYMBOL(s3c2410_dma_request); | |||
807 | * allowed to go through. | 807 | * allowed to go through. |
808 | */ | 808 | */ |
809 | 809 | ||
810 | int s3c2410_dma_free(dmach_t channel, s3c2410_dma_client_t *client) | 810 | int s3c2410_dma_free(dmach_t channel, struct s3c2410_dma_client *client) |
811 | { | 811 | { |
812 | s3c2410_dma_chan_t *chan = &s3c2410_chans[channel]; | 812 | struct s3c2410_dma_chan *chan = &s3c2410_chans[channel]; |
813 | unsigned long flags; | 813 | unsigned long flags; |
814 | 814 | ||
815 | check_channel(channel); | 815 | check_channel(channel); |
@@ -846,7 +846,7 @@ int s3c2410_dma_free(dmach_t channel, s3c2410_dma_client_t *client) | |||
846 | 846 | ||
847 | EXPORT_SYMBOL(s3c2410_dma_free); | 847 | EXPORT_SYMBOL(s3c2410_dma_free); |
848 | 848 | ||
849 | static int s3c2410_dma_dostop(s3c2410_dma_chan_t *chan) | 849 | static int s3c2410_dma_dostop(struct s3c2410_dma_chan *chan) |
850 | { | 850 | { |
851 | unsigned long tmp; | 851 | unsigned long tmp; |
852 | unsigned long flags; | 852 | unsigned long flags; |
@@ -880,7 +880,7 @@ static int s3c2410_dma_dostop(s3c2410_dma_chan_t *chan) | |||
880 | return 0; | 880 | return 0; |
881 | } | 881 | } |
882 | 882 | ||
883 | void s3c2410_dma_waitforstop(s3c2410_dma_chan_t *chan) | 883 | void s3c2410_dma_waitforstop(struct s3c2410_dma_chan *chan) |
884 | { | 884 | { |
885 | unsigned long tmp; | 885 | unsigned long tmp; |
886 | unsigned int timeout = 0x10000; | 886 | unsigned int timeout = 0x10000; |
@@ -901,9 +901,9 @@ void s3c2410_dma_waitforstop(s3c2410_dma_chan_t *chan) | |||
901 | * stop the channel, and remove all current and pending transfers | 901 | * stop the channel, and remove all current and pending transfers |
902 | */ | 902 | */ |
903 | 903 | ||
904 | static int s3c2410_dma_flush(s3c2410_dma_chan_t *chan) | 904 | static int s3c2410_dma_flush(struct s3c2410_dma_chan *chan) |
905 | { | 905 | { |
906 | s3c2410_dma_buf_t *buf, *next; | 906 | struct s3c2410_dma_buf *buf, *next; |
907 | unsigned long flags; | 907 | unsigned long flags; |
908 | 908 | ||
909 | pr_debug("%s: chan %p (%d)\n", __FUNCTION__, chan, chan->number); | 909 | pr_debug("%s: chan %p (%d)\n", __FUNCTION__, chan, chan->number); |
@@ -958,7 +958,7 @@ static int s3c2410_dma_flush(s3c2410_dma_chan_t *chan) | |||
958 | } | 958 | } |
959 | 959 | ||
960 | int | 960 | int |
961 | s3c2410_dma_started(s3c2410_dma_chan_t *chan) | 961 | s3c2410_dma_started(struct s3c2410_dma_chan *chan) |
962 | { | 962 | { |
963 | unsigned long flags; | 963 | unsigned long flags; |
964 | 964 | ||
@@ -995,9 +995,9 @@ s3c2410_dma_started(s3c2410_dma_chan_t *chan) | |||
995 | } | 995 | } |
996 | 996 | ||
997 | int | 997 | int |
998 | s3c2410_dma_ctrl(dmach_t channel, s3c2410_chan_op_t op) | 998 | s3c2410_dma_ctrl(dmach_t channel, enum s3c2410_chan_op op) |
999 | { | 999 | { |
1000 | s3c2410_dma_chan_t *chan = &s3c2410_chans[channel]; | 1000 | struct s3c2410_dma_chan *chan = &s3c2410_chans[channel]; |
1001 | 1001 | ||
1002 | check_channel(channel); | 1002 | check_channel(channel); |
1003 | 1003 | ||
@@ -1046,7 +1046,7 @@ int s3c2410_dma_config(dmach_t channel, | |||
1046 | int xferunit, | 1046 | int xferunit, |
1047 | int dcon) | 1047 | int dcon) |
1048 | { | 1048 | { |
1049 | s3c2410_dma_chan_t *chan = &s3c2410_chans[channel]; | 1049 | struct s3c2410_dma_chan *chan = &s3c2410_chans[channel]; |
1050 | 1050 | ||
1051 | pr_debug("%s: chan=%d, xfer_unit=%d, dcon=%08x\n", | 1051 | pr_debug("%s: chan=%d, xfer_unit=%d, dcon=%08x\n", |
1052 | __FUNCTION__, channel, xferunit, dcon); | 1052 | __FUNCTION__, channel, xferunit, dcon); |
@@ -1086,7 +1086,7 @@ EXPORT_SYMBOL(s3c2410_dma_config); | |||
1086 | 1086 | ||
1087 | int s3c2410_dma_setflags(dmach_t channel, unsigned int flags) | 1087 | int s3c2410_dma_setflags(dmach_t channel, unsigned int flags) |
1088 | { | 1088 | { |
1089 | s3c2410_dma_chan_t *chan = &s3c2410_chans[channel]; | 1089 | struct s3c2410_dma_chan *chan = &s3c2410_chans[channel]; |
1090 | 1090 | ||
1091 | check_channel(channel); | 1091 | check_channel(channel); |
1092 | 1092 | ||
@@ -1106,7 +1106,7 @@ EXPORT_SYMBOL(s3c2410_dma_setflags); | |||
1106 | 1106 | ||
1107 | int s3c2410_dma_set_opfn(dmach_t channel, s3c2410_dma_opfn_t rtn) | 1107 | int s3c2410_dma_set_opfn(dmach_t channel, s3c2410_dma_opfn_t rtn) |
1108 | { | 1108 | { |
1109 | s3c2410_dma_chan_t *chan = &s3c2410_chans[channel]; | 1109 | struct s3c2410_dma_chan *chan = &s3c2410_chans[channel]; |
1110 | 1110 | ||
1111 | check_channel(channel); | 1111 | check_channel(channel); |
1112 | 1112 | ||
@@ -1121,7 +1121,7 @@ EXPORT_SYMBOL(s3c2410_dma_set_opfn); | |||
1121 | 1121 | ||
1122 | int s3c2410_dma_set_buffdone_fn(dmach_t channel, s3c2410_dma_cbfn_t rtn) | 1122 | int s3c2410_dma_set_buffdone_fn(dmach_t channel, s3c2410_dma_cbfn_t rtn) |
1123 | { | 1123 | { |
1124 | s3c2410_dma_chan_t *chan = &s3c2410_chans[channel]; | 1124 | struct s3c2410_dma_chan *chan = &s3c2410_chans[channel]; |
1125 | 1125 | ||
1126 | check_channel(channel); | 1126 | check_channel(channel); |
1127 | 1127 | ||
@@ -1149,11 +1149,11 @@ EXPORT_SYMBOL(s3c2410_dma_set_buffdone_fn); | |||
1149 | */ | 1149 | */ |
1150 | 1150 | ||
1151 | int s3c2410_dma_devconfig(int channel, | 1151 | int s3c2410_dma_devconfig(int channel, |
1152 | s3c2410_dmasrc_t source, | 1152 | enum s3c2410_dmasrc source, |
1153 | int hwcfg, | 1153 | int hwcfg, |
1154 | unsigned long devaddr) | 1154 | unsigned long devaddr) |
1155 | { | 1155 | { |
1156 | s3c2410_dma_chan_t *chan = &s3c2410_chans[channel]; | 1156 | struct s3c2410_dma_chan *chan = &s3c2410_chans[channel]; |
1157 | 1157 | ||
1158 | check_channel(channel); | 1158 | check_channel(channel); |
1159 | 1159 | ||
@@ -1200,7 +1200,7 @@ EXPORT_SYMBOL(s3c2410_dma_devconfig); | |||
1200 | 1200 | ||
1201 | int s3c2410_dma_getposition(dmach_t channel, dma_addr_t *src, dma_addr_t *dst) | 1201 | int s3c2410_dma_getposition(dmach_t channel, dma_addr_t *src, dma_addr_t *dst) |
1202 | { | 1202 | { |
1203 | s3c2410_dma_chan_t *chan = &s3c2410_chans[channel]; | 1203 | struct s3c2410_dma_chan *chan = &s3c2410_chans[channel]; |
1204 | 1204 | ||
1205 | check_channel(channel); | 1205 | check_channel(channel); |
1206 | 1206 | ||
@@ -1222,7 +1222,7 @@ EXPORT_SYMBOL(s3c2410_dma_getposition); | |||
1222 | 1222 | ||
1223 | static int s3c2410_dma_suspend(struct sys_device *dev, pm_message_t state) | 1223 | static int s3c2410_dma_suspend(struct sys_device *dev, pm_message_t state) |
1224 | { | 1224 | { |
1225 | s3c2410_dma_chan_t *cp = container_of(dev, s3c2410_dma_chan_t, dev); | 1225 | struct s3c2410_dma_chan *cp = container_of(dev, struct s3c2410_dma_chan, dev); |
1226 | 1226 | ||
1227 | printk(KERN_DEBUG "suspending dma channel %d\n", cp->number); | 1227 | printk(KERN_DEBUG "suspending dma channel %d\n", cp->number); |
1228 | 1228 | ||
@@ -1262,7 +1262,7 @@ static struct sysdev_class dma_sysclass = { | |||
1262 | 1262 | ||
1263 | static void s3c2410_dma_cache_ctor(void *p, kmem_cache_t *c, unsigned long f) | 1263 | static void s3c2410_dma_cache_ctor(void *p, kmem_cache_t *c, unsigned long f) |
1264 | { | 1264 | { |
1265 | memset(p, 0, sizeof(s3c2410_dma_buf_t)); | 1265 | memset(p, 0, sizeof(struct s3c2410_dma_buf)); |
1266 | } | 1266 | } |
1267 | 1267 | ||
1268 | 1268 | ||
@@ -1270,7 +1270,7 @@ static void s3c2410_dma_cache_ctor(void *p, kmem_cache_t *c, unsigned long f) | |||
1270 | 1270 | ||
1271 | static int __init s3c2410_init_dma(void) | 1271 | static int __init s3c2410_init_dma(void) |
1272 | { | 1272 | { |
1273 | s3c2410_dma_chan_t *cp; | 1273 | struct s3c2410_dma_chan *cp; |
1274 | int channel; | 1274 | int channel; |
1275 | int ret; | 1275 | int ret; |
1276 | 1276 | ||
@@ -1288,7 +1288,7 @@ static int __init s3c2410_init_dma(void) | |||
1288 | goto err; | 1288 | goto err; |
1289 | } | 1289 | } |
1290 | 1290 | ||
1291 | dma_kmem = kmem_cache_create("dma_desc", sizeof(s3c2410_dma_buf_t), 0, | 1291 | dma_kmem = kmem_cache_create("dma_desc", sizeof(struct s3c2410_dma_buf), 0, |
1292 | SLAB_HWCACHE_ALIGN, | 1292 | SLAB_HWCACHE_ALIGN, |
1293 | s3c2410_dma_cache_ctor, NULL); | 1293 | s3c2410_dma_cache_ctor, NULL); |
1294 | 1294 | ||
@@ -1301,7 +1301,7 @@ static int __init s3c2410_init_dma(void) | |||
1301 | for (channel = 0; channel < S3C2410_DMA_CHANNELS; channel++) { | 1301 | for (channel = 0; channel < S3C2410_DMA_CHANNELS; channel++) { |
1302 | cp = &s3c2410_chans[channel]; | 1302 | cp = &s3c2410_chans[channel]; |
1303 | 1303 | ||
1304 | memset(cp, 0, sizeof(s3c2410_dma_chan_t)); | 1304 | memset(cp, 0, sizeof(struct s3c2410_dma_chan)); |
1305 | 1305 | ||
1306 | /* dma channel irqs are in order.. */ | 1306 | /* dma channel irqs are in order.. */ |
1307 | cp->number = channel; | 1307 | cp->number = channel; |
diff --git a/arch/arm/mach-s3c2410/irq.c b/arch/arm/mach-s3c2410/irq.c index 6822dc7f779..cd6139b3599 100644 --- a/arch/arm/mach-s3c2410/irq.c +++ b/arch/arm/mach-s3c2410/irq.c | |||
@@ -86,7 +86,7 @@ unsigned long s3c_irqwake_intmask = 0xffffffffL; | |||
86 | unsigned long s3c_irqwake_eintallow = 0x0000fff0L; | 86 | unsigned long s3c_irqwake_eintallow = 0x0000fff0L; |
87 | unsigned long s3c_irqwake_eintmask = 0xffffffffL; | 87 | unsigned long s3c_irqwake_eintmask = 0xffffffffL; |
88 | 88 | ||
89 | static int | 89 | int |
90 | s3c_irq_wake(unsigned int irqno, unsigned int state) | 90 | s3c_irq_wake(unsigned int irqno, unsigned int state) |
91 | { | 91 | { |
92 | unsigned long irqbit = 1 << (irqno - IRQ_EINT0); | 92 | unsigned long irqbit = 1 << (irqno - IRQ_EINT0); |
@@ -260,7 +260,7 @@ s3c_irqext_unmask(unsigned int irqno) | |||
260 | s3c_irq_unmask((irqno <= (IRQ_EINT7 - EXTINT_OFF)) ? IRQ_EINT4t7 : IRQ_EINT8t23); | 260 | s3c_irq_unmask((irqno <= (IRQ_EINT7 - EXTINT_OFF)) ? IRQ_EINT4t7 : IRQ_EINT8t23); |
261 | } | 261 | } |
262 | 262 | ||
263 | static int | 263 | int |
264 | s3c_irqext_type(unsigned int irq, unsigned int type) | 264 | s3c_irqext_type(unsigned int irq, unsigned int type) |
265 | { | 265 | { |
266 | void __iomem *extint_reg; | 266 | void __iomem *extint_reg; |
diff --git a/arch/arm/mach-s3c2410/irq.h b/arch/arm/mach-s3c2410/irq.h index 4abf0ca14e0..f7cc4c983de 100644 --- a/arch/arm/mach-s3c2410/irq.h +++ b/arch/arm/mach-s3c2410/irq.h | |||
@@ -97,3 +97,8 @@ s3c_irqsub_ack(unsigned int irqno, unsigned int parentmask, unsigned int group) | |||
97 | __raw_writel(parentmask, S3C2410_INTPND); | 97 | __raw_writel(parentmask, S3C2410_INTPND); |
98 | } | 98 | } |
99 | } | 99 | } |
100 | |||
101 | /* exported for use in arch/arm/mach-s3c2410 */ | ||
102 | |||
103 | extern int s3c_irq_wake(unsigned int irqno, unsigned int state); | ||
104 | extern int s3c_irqext_type(unsigned int irq, unsigned int type); | ||
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c index 947234df816..2968fb235f9 100644 --- a/arch/arm/mach-s3c2410/mach-bast.c +++ b/arch/arm/mach-s3c2410/mach-bast.c | |||
@@ -8,31 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Modifications: | ||
13 | * 14-Sep-2004 BJD USB power control | ||
14 | * 20-Aug-2004 BJD Added s3c2410_board struct | ||
15 | * 18-Aug-2004 BJD Added platform devices from default set | ||
16 | * 16-May-2003 BJD Created initial version | ||
17 | * 16-Aug-2003 BJD Fixed header files and copyright, added URL | ||
18 | * 05-Sep-2003 BJD Moved to v2.6 kernel | ||
19 | * 06-Jan-2003 BJD Updates for <arch/map.h> | ||
20 | * 18-Jan-2003 BJD Added serial port configuration | ||
21 | * 05-Oct-2004 BJD Power management code | ||
22 | * 04-Nov-2004 BJD Updated serial port clocks | ||
23 | * 04-Jan-2005 BJD New uart init call | ||
24 | * 10-Jan-2005 BJD Removed include of s3c2410.h | ||
25 | * 14-Jan-2005 BJD Add support for muitlple NAND devices | ||
26 | * 03-Mar-2005 BJD Ensured that bast-cpld.h is included | ||
27 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
28 | * 14-Mar-2005 BJD Updated for __iomem changes | ||
29 | * 22-Jun-2005 BJD Added DM9000 platform information | ||
30 | * 28-Jun-2005 BJD Moved pm functionality out to common code | ||
31 | * 17-Jul-2005 BJD Changed to platform device for SuperIO 16550s | ||
32 | * 25-Jul-2005 BJD Removed ASIX static mappings | ||
33 | * 27-Jul-2005 BJD Ensure maximum frequency of i2c bus | ||
34 | * 20-Sep-2005 BJD Added static to non-exported items | ||
35 | * 26-Oct-2005 BJD Added FB platform data | ||
36 | */ | 11 | */ |
37 | 12 | ||
38 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c index aec431b2830..8c895c077d2 100644 --- a/arch/arm/mach-s3c2410/mach-h1940.c +++ b/arch/arm/mach-s3c2410/mach-h1940.c | |||
@@ -9,23 +9,6 @@ | |||
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | 11 | * |
12 | * Modifications: | ||
13 | * 16-May-2003 BJD Created initial version | ||
14 | * 16-Aug-2003 BJD Fixed header files and copyright, added URL | ||
15 | * 05-Sep-2003 BJD Moved to v2.6 kernel | ||
16 | * 06-Jan-2003 BJD Updates for <arch/map.h> | ||
17 | * 18-Jan-2003 BJD Added serial port configuration | ||
18 | * 17-Feb-2003 BJD Copied to mach-ipaq.c | ||
19 | * 21-Aug-2004 BJD Added struct s3c2410_board | ||
20 | * 04-Sep-2004 BJD Changed uart init, renamed ipaq_ -> h1940_ | ||
21 | * 18-Oct-2004 BJD Updated new board structure name | ||
22 | * 04-Nov-2004 BJD Change for new serial clock | ||
23 | * 04-Jan-2005 BJD Updated uart init call | ||
24 | * 10-Jan-2005 BJD Removed include of s3c2410.h | ||
25 | * 14-Jan-2005 BJD Added clock init | ||
26 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
27 | * 20-Sep-2005 BJD Added static to non-exported items | ||
28 | * 26-Oct-2005 BJD Changed name of fb init call | ||
29 | */ | 12 | */ |
30 | 13 | ||
31 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
diff --git a/arch/arm/mach-s3c2410/mach-rx3715.c b/arch/arm/mach-s3c2410/mach-rx3715.c index 306afc1d7cd..23d7c052013 100644 --- a/arch/arm/mach-s3c2410/mach-rx3715.c +++ b/arch/arm/mach-s3c2410/mach-rx3715.c | |||
@@ -9,15 +9,6 @@ | |||
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | 11 | * |
12 | * Modifications: | ||
13 | * 16-Sep-2004 BJD Copied from mach-h1940.c | ||
14 | * 25-Oct-2004 BJD Updates for 2.6.10-rc1 | ||
15 | * 10-Jan-2005 BJD Removed include of s3c2410.h s3c2440.h | ||
16 | * 14-Jan-2005 BJD Added new clock init | ||
17 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
18 | * 14-Mar-2005 BJD Fixed __iomem warnings | ||
19 | * 20-Sep-2005 BJD Added static to non-exported items | ||
20 | * 31-Oct-2005 BJD Added LCD setup for framebuffer | ||
21 | */ | 12 | */ |
22 | 13 | ||
23 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
diff --git a/arch/arm/mach-s3c2410/mach-smdk2410.c b/arch/arm/mach-s3c2410/mach-smdk2410.c index 25f7e9f4dce..b3b0171d505 100644 --- a/arch/arm/mach-s3c2410/mach-smdk2410.c +++ b/arch/arm/mach-s3c2410/mach-smdk2410.c | |||
@@ -27,10 +27,6 @@ | |||
27 | * derived from linux/arch/arm/mach-s3c2410/mach-bast.c, written by | 27 | * derived from linux/arch/arm/mach-s3c2410/mach-bast.c, written by |
28 | * Ben Dooks <ben@simtec.co.uk> | 28 | * Ben Dooks <ben@simtec.co.uk> |
29 | * | 29 | * |
30 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
31 | * 20-Sep-2005 BJD Added static to non-exported items | ||
32 | * 01-Apr-2006 BJD Moved init code to common smdk | ||
33 | * | ||
34 | ***********************************************************************/ | 30 | ***********************************************************************/ |
35 | 31 | ||
36 | #include <linux/kernel.h> | 32 | #include <linux/kernel.h> |
diff --git a/arch/arm/mach-s3c2410/mach-smdk2413.c b/arch/arm/mach-s3c2410/mach-smdk2413.c index b7ef7d3c54a..3a4ca7f6f7b 100644 --- a/arch/arm/mach-s3c2410/mach-smdk2413.c +++ b/arch/arm/mach-s3c2410/mach-smdk2413.c | |||
@@ -112,7 +112,20 @@ static void __init smdk2413_machine_init(void) | |||
112 | smdk_machine_init(); | 112 | smdk_machine_init(); |
113 | } | 113 | } |
114 | 114 | ||
115 | MACHINE_START(S3C2413, "SMDK2413") | 115 | MACHINE_START(S3C2413, "S3C2413") |
116 | /* Maintainer: Ben Dooks <ben@fluff.org> */ | ||
117 | .phys_io = S3C2410_PA_UART, | ||
118 | .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc, | ||
119 | .boot_params = S3C2410_SDRAM_PA + 0x100, | ||
120 | |||
121 | .fixup = smdk2413_fixup, | ||
122 | .init_irq = s3c24xx_init_irq, | ||
123 | .map_io = smdk2413_map_io, | ||
124 | .init_machine = smdk2413_machine_init, | ||
125 | .timer = &s3c24xx_timer, | ||
126 | MACHINE_END | ||
127 | |||
128 | MACHINE_START(SMDK2413, "SMDK2413") | ||
116 | /* Maintainer: Ben Dooks <ben@fluff.org> */ | 129 | /* Maintainer: Ben Dooks <ben@fluff.org> */ |
117 | .phys_io = S3C2410_PA_UART, | 130 | .phys_io = S3C2410_PA_UART, |
118 | .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc, | 131 | .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc, |
diff --git a/arch/arm/mach-s3c2410/mach-vr1000.c b/arch/arm/mach-s3c2410/mach-vr1000.c index d18efb279d3..a0d7692cdb2 100644 --- a/arch/arm/mach-s3c2410/mach-vr1000.c +++ b/arch/arm/mach-s3c2410/mach-vr1000.c | |||
@@ -10,25 +10,6 @@ | |||
10 | * it under the terms of the GNU General Public License version 2 as | 10 | * it under the terms of the GNU General Public License version 2 as |
11 | * published by the Free Software Foundation. | 11 | * published by the Free Software Foundation. |
12 | * | 12 | * |
13 | * Modifications: | ||
14 | * 14-Sep-2004 BJD USB Power control | ||
15 | * 04-Sep-2004 BJD Added new uart init, and io init | ||
16 | * 21-Aug-2004 BJD Added struct s3c2410_board | ||
17 | * 06-Aug-2004 BJD Fixed call to time initialisation | ||
18 | * 05-Apr-2004 BJD Copied to make mach-vr1000.c | ||
19 | * 18-Oct-2004 BJD Updated board struct | ||
20 | * 04-Nov-2004 BJD Clock and serial configuration update | ||
21 | * | ||
22 | * 04-Jan-2005 BJD Updated uart init call | ||
23 | * 10-Jan-2005 BJD Removed include of s3c2410.h | ||
24 | * 14-Jan-2005 BJD Added clock init | ||
25 | * 15-Jan-2005 BJD Add serial port device definition | ||
26 | * 20-Jan-2005 BJD Use UPF_IOREMAP for ports | ||
27 | * 10-Feb-2005 BJD Added power-off capability | ||
28 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
29 | * 14-Mar-2006 BJD void __iomem fixes | ||
30 | * 22-Jun-2006 BJD Added DM9000 platform information | ||
31 | * 20-Sep-2005 BJD Added static to non-exported items | ||
32 | */ | 13 | */ |
33 | 14 | ||
34 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
diff --git a/arch/arm/mach-s3c2410/s3c2400-gpio.c b/arch/arm/mach-s3c2410/s3c2400-gpio.c index 5127f39fa9b..f2a78175a70 100644 --- a/arch/arm/mach-s3c2410/s3c2400-gpio.c +++ b/arch/arm/mach-s3c2410/s3c2400-gpio.c | |||
@@ -17,10 +17,7 @@ | |||
17 | * You should have received a copy of the GNU General Public License | 17 | * You should have received a copy of the GNU General Public License |
18 | * along with this program; if not, write to the Free Software | 18 | * along with this program; if not, write to the Free Software |
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
20 | * | 20 | */ |
21 | * Changelog | ||
22 | * 15-Jan-2006 LCVR Splitted from gpio.c, adding support for the S3C2400 | ||
23 | */ | ||
24 | 21 | ||
25 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
26 | #include <linux/init.h> | 23 | #include <linux/init.h> |
diff --git a/arch/arm/mach-s3c2410/s3c2410.h b/arch/arm/mach-s3c2410/s3c2410.h index 73f1a2474a6..fbed084f26d 100644 --- a/arch/arm/mach-s3c2410/s3c2410.h +++ b/arch/arm/mach-s3c2410/s3c2410.h | |||
@@ -9,14 +9,6 @@ | |||
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | 11 | * |
12 | * Modifications: | ||
13 | * 18-Aug-2004 BJD Created initial version | ||
14 | * 20-Aug-2004 BJD Added s3c2410_board struct | ||
15 | * 04-Sep-2004 BJD Added s3c2410_init_uarts() call | ||
16 | * 17-Oct-2004 BJD Moved board out to cpu | ||
17 | * 04-Jan-2005 BJD Changed uart init | ||
18 | * 10-Jan-2005 BJD Removed timer to cpu.h, moved 2410 specific bits here | ||
19 | * 14-Jan-2005 BJD Added s3c2410_init_clocks call | ||
20 | */ | 12 | */ |
21 | 13 | ||
22 | #ifdef CONFIG_CPU_S3C2410 | 14 | #ifdef CONFIG_CPU_S3C2410 |
diff --git a/arch/arm/mach-s3c2410/s3c2412-irq.c b/arch/arm/mach-s3c2410/s3c2412-irq.c new file mode 100644 index 00000000000..c80ec93dfea --- /dev/null +++ b/arch/arm/mach-s3c2410/s3c2412-irq.c | |||
@@ -0,0 +1,130 @@ | |||
1 | /* linux/arch/arm/mach-s3c2412/s3c2412-irq.c | ||
2 | * | ||
3 | * Copyright (c) 2006 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | * | ||
20 | */ | ||
21 | |||
22 | #include <linux/init.h> | ||
23 | #include <linux/module.h> | ||
24 | #include <linux/interrupt.h> | ||
25 | #include <linux/ioport.h> | ||
26 | #include <linux/ptrace.h> | ||
27 | #include <linux/sysdev.h> | ||
28 | |||
29 | #include <asm/hardware.h> | ||
30 | #include <asm/irq.h> | ||
31 | #include <asm/io.h> | ||
32 | |||
33 | #include <asm/mach/irq.h> | ||
34 | |||
35 | #include <asm/arch/regs-irq.h> | ||
36 | #include <asm/arch/regs-gpio.h> | ||
37 | |||
38 | #include "cpu.h" | ||
39 | #include "irq.h" | ||
40 | |||
41 | /* the s3c2412 changes the behaviour of IRQ_EINT0 through IRQ_EINT3 by | ||
42 | * having them turn up in both the INT* and the EINT* registers. Whilst | ||
43 | * both show the status, they both now need to be acked when the IRQs | ||
44 | * go off. | ||
45 | */ | ||
46 | |||
47 | static void | ||
48 | s3c2412_irq_mask(unsigned int irqno) | ||
49 | { | ||
50 | unsigned long bitval = 1UL << (irqno - IRQ_EINT0); | ||
51 | unsigned long mask; | ||
52 | |||
53 | mask = __raw_readl(S3C2410_INTMSK); | ||
54 | __raw_writel(mask | bitval, S3C2410_INTMSK); | ||
55 | |||
56 | mask = __raw_readl(S3C2412_EINTMASK); | ||
57 | __raw_writel(mask | bitval, S3C2412_EINTMASK); | ||
58 | } | ||
59 | |||
60 | static inline void | ||
61 | s3c2412_irq_ack(unsigned int irqno) | ||
62 | { | ||
63 | unsigned long bitval = 1UL << (irqno - IRQ_EINT0); | ||
64 | |||
65 | __raw_writel(bitval, S3C2412_EINTPEND); | ||
66 | __raw_writel(bitval, S3C2410_SRCPND); | ||
67 | __raw_writel(bitval, S3C2410_INTPND); | ||
68 | } | ||
69 | |||
70 | static inline void | ||
71 | s3c2412_irq_maskack(unsigned int irqno) | ||
72 | { | ||
73 | unsigned long bitval = 1UL << (irqno - IRQ_EINT0); | ||
74 | unsigned long mask; | ||
75 | |||
76 | mask = __raw_readl(S3C2410_INTMSK); | ||
77 | __raw_writel(mask|bitval, S3C2410_INTMSK); | ||
78 | |||
79 | mask = __raw_readl(S3C2412_EINTMASK); | ||
80 | __raw_writel(mask | bitval, S3C2412_EINTMASK); | ||
81 | |||
82 | __raw_writel(bitval, S3C2412_EINTPEND); | ||
83 | __raw_writel(bitval, S3C2410_SRCPND); | ||
84 | __raw_writel(bitval, S3C2410_INTPND); | ||
85 | } | ||
86 | |||
87 | static void | ||
88 | s3c2412_irq_unmask(unsigned int irqno) | ||
89 | { | ||
90 | unsigned long bitval = 1UL << (irqno - IRQ_EINT0); | ||
91 | unsigned long mask; | ||
92 | |||
93 | mask = __raw_readl(S3C2412_EINTMASK); | ||
94 | __raw_writel(mask & ~bitval, S3C2412_EINTMASK); | ||
95 | |||
96 | mask = __raw_readl(S3C2410_INTMSK); | ||
97 | __raw_writel(mask & ~bitval, S3C2410_INTMSK); | ||
98 | } | ||
99 | |||
100 | static struct irqchip s3c2412_irq_eint0t4 = { | ||
101 | .ack = s3c2412_irq_ack, | ||
102 | .mask = s3c2412_irq_mask, | ||
103 | .unmask = s3c2412_irq_unmask, | ||
104 | .set_wake = s3c_irq_wake, | ||
105 | .set_type = s3c_irqext_type, | ||
106 | }; | ||
107 | |||
108 | static int s3c2412_irq_add(struct sys_device *sysdev) | ||
109 | { | ||
110 | unsigned int irqno; | ||
111 | |||
112 | for (irqno = IRQ_EINT0; irqno <= IRQ_EINT3; irqno++) { | ||
113 | set_irq_chip(irqno, &s3c2412_irq_eint0t4); | ||
114 | set_irq_handler(irqno, do_edge_IRQ); | ||
115 | set_irq_flags(irqno, IRQF_VALID); | ||
116 | } | ||
117 | |||
118 | return 0; | ||
119 | } | ||
120 | |||
121 | static struct sysdev_driver s3c2412_irq_driver = { | ||
122 | .add = s3c2412_irq_add, | ||
123 | }; | ||
124 | |||
125 | static int s3c2412_irq_init(void) | ||
126 | { | ||
127 | return sysdev_driver_register(&s3c2412_sysclass, &s3c2412_irq_driver); | ||
128 | } | ||
129 | |||
130 | arch_initcall(s3c2412_irq_init); | ||
diff --git a/arch/arm/mach-s3c2410/s3c2440-irq.c b/arch/arm/mach-s3c2410/s3c2440-irq.c index acfe3870727..1667ba1fa43 100644 --- a/arch/arm/mach-s3c2410/s3c2440-irq.c +++ b/arch/arm/mach-s3c2410/s3c2440-irq.c | |||
@@ -17,9 +17,6 @@ | |||
17 | * along with this program; if not, write to the Free Software | 17 | * along with this program; if not, write to the Free Software |
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 | * | 19 | * |
20 | * Changelog: | ||
21 | * 25-Jul-2005 BJD Split from irq.c | ||
22 | * | ||
23 | */ | 20 | */ |
24 | 21 | ||
25 | #include <linux/init.h> | 22 | #include <linux/init.h> |
diff --git a/arch/arm/mach-s3c2410/s3c244x-irq.c b/arch/arm/mach-s3c2410/s3c244x-irq.c index 2aadca1ce7e..44c5affa9b8 100644 --- a/arch/arm/mach-s3c2410/s3c244x-irq.c +++ b/arch/arm/mach-s3c2410/s3c244x-irq.c | |||
@@ -17,9 +17,6 @@ | |||
17 | * along with this program; if not, write to the Free Software | 17 | * along with this program; if not, write to the Free Software |
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 | * | 19 | * |
20 | * Changelog: | ||
21 | * 25-Jul-2005 BJD Split from irq.c | ||
22 | * | ||
23 | */ | 20 | */ |
24 | 21 | ||
25 | #include <linux/init.h> | 22 | #include <linux/init.h> |
@@ -122,21 +119,24 @@ static int s3c244x_irq_add(struct sys_device *sysdev) | |||
122 | return 0; | 119 | return 0; |
123 | } | 120 | } |
124 | 121 | ||
125 | static struct sysdev_driver s3c244x_irq_driver = { | 122 | static struct sysdev_driver s3c2440_irq_driver = { |
126 | .add = s3c244x_irq_add, | 123 | .add = s3c244x_irq_add, |
127 | }; | 124 | }; |
128 | 125 | ||
129 | static int s3c2440_irq_init(void) | 126 | static int s3c2440_irq_init(void) |
130 | { | 127 | { |
131 | return sysdev_driver_register(&s3c2440_sysclass, &s3c244x_irq_driver); | 128 | return sysdev_driver_register(&s3c2440_sysclass, &s3c2440_irq_driver); |
132 | } | 129 | } |
133 | 130 | ||
134 | arch_initcall(s3c2440_irq_init); | 131 | arch_initcall(s3c2440_irq_init); |
135 | 132 | ||
133 | static struct sysdev_driver s3c2442_irq_driver = { | ||
134 | .add = s3c244x_irq_add, | ||
135 | }; | ||
136 | 136 | ||
137 | static int s3c2442_irq_init(void) | 137 | static int s3c2442_irq_init(void) |
138 | { | 138 | { |
139 | return sysdev_driver_register(&s3c2442_sysclass, &s3c244x_irq_driver); | 139 | return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_irq_driver); |
140 | } | 140 | } |
141 | 141 | ||
142 | arch_initcall(s3c2442_irq_init); | 142 | arch_initcall(s3c2442_irq_init); |
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c index b103e56806b..d438ce41cdd 100644 --- a/arch/arm/mm/flush.c +++ b/arch/arm/mm/flush.c | |||
@@ -87,6 +87,32 @@ void flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr, unsig | |||
87 | if (cache_is_vipt_aliasing()) | 87 | if (cache_is_vipt_aliasing()) |
88 | flush_pfn_alias(pfn, user_addr); | 88 | flush_pfn_alias(pfn, user_addr); |
89 | } | 89 | } |
90 | |||
91 | void flush_ptrace_access(struct vm_area_struct *vma, struct page *page, | ||
92 | unsigned long uaddr, void *kaddr, | ||
93 | unsigned long len, int write) | ||
94 | { | ||
95 | if (cache_is_vivt()) { | ||
96 | if (cpu_isset(smp_processor_id(), vma->vm_mm->cpu_vm_mask)) { | ||
97 | unsigned long addr = (unsigned long)kaddr; | ||
98 | __cpuc_coherent_kern_range(addr, addr + len); | ||
99 | } | ||
100 | return; | ||
101 | } | ||
102 | |||
103 | if (cache_is_vipt_aliasing()) { | ||
104 | flush_pfn_alias(page_to_pfn(page), uaddr); | ||
105 | return; | ||
106 | } | ||
107 | |||
108 | /* VIPT non-aliasing cache */ | ||
109 | if (cpu_isset(smp_processor_id(), vma->vm_mm->cpu_vm_mask) && | ||
110 | vma->vm_flags | VM_EXEC) { | ||
111 | unsigned long addr = (unsigned long)kaddr; | ||
112 | /* only flushing the kernel mapping on non-aliasing VIPT */ | ||
113 | __cpuc_coherent_kern_range(addr, addr + len); | ||
114 | } | ||
115 | } | ||
90 | #else | 116 | #else |
91 | #define flush_pfn_alias(pfn,vaddr) do { } while (0) | 117 | #define flush_pfn_alias(pfn,vaddr) do { } while (0) |
92 | #endif | 118 | #endif |
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S index 1e89d408047..44a7a652d62 100644 --- a/arch/arm/mm/proc-arm926.S +++ b/arch/arm/mm/proc-arm926.S | |||
@@ -480,7 +480,7 @@ __arm926_proc_info: | |||
480 | b __arm926_setup | 480 | b __arm926_setup |
481 | .long cpu_arch_name | 481 | .long cpu_arch_name |
482 | .long cpu_elf_name | 482 | .long cpu_elf_name |
483 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP|HWCAP_JAVA | 483 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_VFP|HWCAP_EDSP|HWCAP_JAVA |
484 | .long cpu_arm926_name | 484 | .long cpu_arm926_name |
485 | .long arm926_processor_functions | 485 | .long arm926_processor_functions |
486 | .long v4wbi_tlb_fns | 486 | .long v4wbi_tlb_fns |
diff --git a/arch/arm/vfp/vfp.h b/arch/arm/vfp/vfp.h index 5fbdf81a8aa..96fdf30f6a3 100644 --- a/arch/arm/vfp/vfp.h +++ b/arch/arm/vfp/vfp.h | |||
@@ -156,7 +156,7 @@ struct vfp_single { | |||
156 | }; | 156 | }; |
157 | 157 | ||
158 | extern s32 vfp_get_float(unsigned int reg); | 158 | extern s32 vfp_get_float(unsigned int reg); |
159 | extern void vfp_put_float(unsigned int reg, s32 val); | 159 | extern void vfp_put_float(s32 val, unsigned int reg); |
160 | 160 | ||
161 | /* | 161 | /* |
162 | * VFP_SINGLE_MANTISSA_BITS - number of bits in the mantissa | 162 | * VFP_SINGLE_MANTISSA_BITS - number of bits in the mantissa |
@@ -267,7 +267,7 @@ struct vfp_double { | |||
267 | */ | 267 | */ |
268 | #define VFP_REG_ZERO 16 | 268 | #define VFP_REG_ZERO 16 |
269 | extern u64 vfp_get_double(unsigned int reg); | 269 | extern u64 vfp_get_double(unsigned int reg); |
270 | extern void vfp_put_double(unsigned int reg, u64 val); | 270 | extern void vfp_put_double(u64 val, unsigned int reg); |
271 | 271 | ||
272 | #define VFP_DOUBLE_MANTISSA_BITS (52) | 272 | #define VFP_DOUBLE_MANTISSA_BITS (52) |
273 | #define VFP_DOUBLE_EXPONENT_BITS (11) | 273 | #define VFP_DOUBLE_EXPONENT_BITS (11) |
@@ -341,12 +341,6 @@ static inline int vfp_double_type(struct vfp_double *s) | |||
341 | 341 | ||
342 | u32 vfp_double_normaliseround(int dd, struct vfp_double *vd, u32 fpscr, u32 exceptions, const char *func); | 342 | u32 vfp_double_normaliseround(int dd, struct vfp_double *vd, u32 fpscr, u32 exceptions, const char *func); |
343 | 343 | ||
344 | /* | ||
345 | * System registers | ||
346 | */ | ||
347 | extern u32 vfp_get_sys(unsigned int reg); | ||
348 | extern void vfp_put_sys(unsigned int reg, u32 val); | ||
349 | |||
350 | u32 vfp_estimate_sqrt_significand(u32 exponent, u32 significand); | 344 | u32 vfp_estimate_sqrt_significand(u32 exponent, u32 significand); |
351 | 345 | ||
352 | /* | 346 | /* |
diff --git a/arch/arm/vfp/vfpdouble.c b/arch/arm/vfp/vfpdouble.c index 04bd3425b29..add48e36c2d 100644 --- a/arch/arm/vfp/vfpdouble.c +++ b/arch/arm/vfp/vfpdouble.c | |||
@@ -195,7 +195,7 @@ u32 vfp_double_normaliseround(int dd, struct vfp_double *vd, u32 fpscr, u32 exce | |||
195 | s64 d = vfp_double_pack(vd); | 195 | s64 d = vfp_double_pack(vd); |
196 | pr_debug("VFP: %s: d(d%d)=%016llx exceptions=%08x\n", func, | 196 | pr_debug("VFP: %s: d(d%d)=%016llx exceptions=%08x\n", func, |
197 | dd, d, exceptions); | 197 | dd, d, exceptions); |
198 | vfp_put_double(dd, d); | 198 | vfp_put_double(d, dd); |
199 | } | 199 | } |
200 | return exceptions; | 200 | return exceptions; |
201 | } | 201 | } |
@@ -250,19 +250,19 @@ vfp_propagate_nan(struct vfp_double *vdd, struct vfp_double *vdn, | |||
250 | */ | 250 | */ |
251 | static u32 vfp_double_fabs(int dd, int unused, int dm, u32 fpscr) | 251 | static u32 vfp_double_fabs(int dd, int unused, int dm, u32 fpscr) |
252 | { | 252 | { |
253 | vfp_put_double(dd, vfp_double_packed_abs(vfp_get_double(dm))); | 253 | vfp_put_double(vfp_double_packed_abs(vfp_get_double(dm)), dd); |
254 | return 0; | 254 | return 0; |
255 | } | 255 | } |
256 | 256 | ||
257 | static u32 vfp_double_fcpy(int dd, int unused, int dm, u32 fpscr) | 257 | static u32 vfp_double_fcpy(int dd, int unused, int dm, u32 fpscr) |
258 | { | 258 | { |
259 | vfp_put_double(dd, vfp_get_double(dm)); | 259 | vfp_put_double(vfp_get_double(dm), dd); |
260 | return 0; | 260 | return 0; |
261 | } | 261 | } |
262 | 262 | ||
263 | static u32 vfp_double_fneg(int dd, int unused, int dm, u32 fpscr) | 263 | static u32 vfp_double_fneg(int dd, int unused, int dm, u32 fpscr) |
264 | { | 264 | { |
265 | vfp_put_double(dd, vfp_double_packed_negate(vfp_get_double(dm))); | 265 | vfp_put_double(vfp_double_packed_negate(vfp_get_double(dm)), dd); |
266 | return 0; | 266 | return 0; |
267 | } | 267 | } |
268 | 268 | ||
@@ -287,7 +287,7 @@ static u32 vfp_double_fsqrt(int dd, int unused, int dm, u32 fpscr) | |||
287 | vdp = &vfp_double_default_qnan; | 287 | vdp = &vfp_double_default_qnan; |
288 | ret = FPSCR_IOC; | 288 | ret = FPSCR_IOC; |
289 | } | 289 | } |
290 | vfp_put_double(dd, vfp_double_pack(vdp)); | 290 | vfp_put_double(vfp_double_pack(vdp), dd); |
291 | return ret; | 291 | return ret; |
292 | } | 292 | } |
293 | 293 | ||
@@ -476,7 +476,7 @@ static u32 vfp_double_fcvts(int sd, int unused, int dm, u32 fpscr) | |||
476 | return vfp_single_normaliseround(sd, &vsd, fpscr, exceptions, "fcvts"); | 476 | return vfp_single_normaliseround(sd, &vsd, fpscr, exceptions, "fcvts"); |
477 | 477 | ||
478 | pack_nan: | 478 | pack_nan: |
479 | vfp_put_float(sd, vfp_single_pack(&vsd)); | 479 | vfp_put_float(vfp_single_pack(&vsd), sd); |
480 | return exceptions; | 480 | return exceptions; |
481 | } | 481 | } |
482 | 482 | ||
@@ -573,7 +573,7 @@ static u32 vfp_double_ftoui(int sd, int unused, int dm, u32 fpscr) | |||
573 | 573 | ||
574 | pr_debug("VFP: ftoui: d(s%d)=%08x exceptions=%08x\n", sd, d, exceptions); | 574 | pr_debug("VFP: ftoui: d(s%d)=%08x exceptions=%08x\n", sd, d, exceptions); |
575 | 575 | ||
576 | vfp_put_float(sd, d); | 576 | vfp_put_float(d, sd); |
577 | 577 | ||
578 | return exceptions; | 578 | return exceptions; |
579 | } | 579 | } |
@@ -648,7 +648,7 @@ static u32 vfp_double_ftosi(int sd, int unused, int dm, u32 fpscr) | |||
648 | 648 | ||
649 | pr_debug("VFP: ftosi: d(s%d)=%08x exceptions=%08x\n", sd, d, exceptions); | 649 | pr_debug("VFP: ftosi: d(s%d)=%08x exceptions=%08x\n", sd, d, exceptions); |
650 | 650 | ||
651 | vfp_put_float(sd, (s32)d); | 651 | vfp_put_float((s32)d, sd); |
652 | 652 | ||
653 | return exceptions; | 653 | return exceptions; |
654 | } | 654 | } |
@@ -1084,7 +1084,7 @@ static u32 vfp_double_fdiv(int dd, int dn, int dm, u32 fpscr) | |||
1084 | vdn_nan: | 1084 | vdn_nan: |
1085 | exceptions = vfp_propagate_nan(&vdd, &vdn, &vdm, fpscr); | 1085 | exceptions = vfp_propagate_nan(&vdd, &vdn, &vdm, fpscr); |
1086 | pack: | 1086 | pack: |
1087 | vfp_put_double(dd, vfp_double_pack(&vdd)); | 1087 | vfp_put_double(vfp_double_pack(&vdd), dd); |
1088 | return exceptions; | 1088 | return exceptions; |
1089 | 1089 | ||
1090 | vdm_nan: | 1090 | vdm_nan: |
@@ -1104,7 +1104,7 @@ static u32 vfp_double_fdiv(int dd, int dn, int dm, u32 fpscr) | |||
1104 | goto pack; | 1104 | goto pack; |
1105 | 1105 | ||
1106 | invalid: | 1106 | invalid: |
1107 | vfp_put_double(dd, vfp_double_pack(&vfp_double_default_qnan)); | 1107 | vfp_put_double(vfp_double_pack(&vfp_double_default_qnan), dd); |
1108 | return FPSCR_IOC; | 1108 | return FPSCR_IOC; |
1109 | } | 1109 | } |
1110 | 1110 | ||
diff --git a/arch/arm/vfp/vfphw.S b/arch/arm/vfp/vfphw.S index eb683cd7716..e51e6679c40 100644 --- a/arch/arm/vfp/vfphw.S +++ b/arch/arm/vfp/vfphw.S | |||
@@ -178,12 +178,12 @@ vfp_get_float: | |||
178 | 178 | ||
179 | .globl vfp_put_float | 179 | .globl vfp_put_float |
180 | vfp_put_float: | 180 | vfp_put_float: |
181 | add pc, pc, r0, lsl #3 | 181 | add pc, pc, r1, lsl #3 |
182 | mov r0, r0 | 182 | mov r0, r0 |
183 | .irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 | 183 | .irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 |
184 | mcr p10, 0, r1, c\dr, c0, 0 @ fmsr r0, s0 | 184 | mcr p10, 0, r0, c\dr, c0, 0 @ fmsr r0, s0 |
185 | mov pc, lr | 185 | mov pc, lr |
186 | mcr p10, 0, r1, c\dr, c0, 4 @ fmsr r0, s1 | 186 | mcr p10, 0, r0, c\dr, c0, 4 @ fmsr r0, s1 |
187 | mov pc, lr | 187 | mov pc, lr |
188 | .endr | 188 | .endr |
189 | 189 | ||
@@ -203,9 +203,9 @@ vfp_get_double: | |||
203 | 203 | ||
204 | .globl vfp_put_double | 204 | .globl vfp_put_double |
205 | vfp_put_double: | 205 | vfp_put_double: |
206 | add pc, pc, r0, lsl #3 | 206 | add pc, pc, r2, lsl #3 |
207 | mov r0, r0 | 207 | mov r0, r0 |
208 | .irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 | 208 | .irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 |
209 | fmdrr d\dr, r1, r2 | 209 | fmdrr d\dr, r0, r1 |
210 | mov pc, lr | 210 | mov pc, lr |
211 | .endr | 211 | .endr |
diff --git a/arch/arm/vfp/vfpsingle.c b/arch/arm/vfp/vfpsingle.c index 78d7cac5f36..8f6c179cafb 100644 --- a/arch/arm/vfp/vfpsingle.c +++ b/arch/arm/vfp/vfpsingle.c | |||
@@ -200,7 +200,7 @@ u32 vfp_single_normaliseround(int sd, struct vfp_single *vs, u32 fpscr, u32 exce | |||
200 | s32 d = vfp_single_pack(vs); | 200 | s32 d = vfp_single_pack(vs); |
201 | pr_debug("VFP: %s: d(s%d)=%08x exceptions=%08x\n", func, | 201 | pr_debug("VFP: %s: d(s%d)=%08x exceptions=%08x\n", func, |
202 | sd, d, exceptions); | 202 | sd, d, exceptions); |
203 | vfp_put_float(sd, d); | 203 | vfp_put_float(d, sd); |
204 | } | 204 | } |
205 | 205 | ||
206 | return exceptions; | 206 | return exceptions; |
@@ -257,19 +257,19 @@ vfp_propagate_nan(struct vfp_single *vsd, struct vfp_single *vsn, | |||
257 | */ | 257 | */ |
258 | static u32 vfp_single_fabs(int sd, int unused, s32 m, u32 fpscr) | 258 | static u32 vfp_single_fabs(int sd, int unused, s32 m, u32 fpscr) |
259 | { | 259 | { |
260 | vfp_put_float(sd, vfp_single_packed_abs(m)); | 260 | vfp_put_float(vfp_single_packed_abs(m), sd); |
261 | return 0; | 261 | return 0; |
262 | } | 262 | } |
263 | 263 | ||
264 | static u32 vfp_single_fcpy(int sd, int unused, s32 m, u32 fpscr) | 264 | static u32 vfp_single_fcpy(int sd, int unused, s32 m, u32 fpscr) |
265 | { | 265 | { |
266 | vfp_put_float(sd, m); | 266 | vfp_put_float(m, sd); |
267 | return 0; | 267 | return 0; |
268 | } | 268 | } |
269 | 269 | ||
270 | static u32 vfp_single_fneg(int sd, int unused, s32 m, u32 fpscr) | 270 | static u32 vfp_single_fneg(int sd, int unused, s32 m, u32 fpscr) |
271 | { | 271 | { |
272 | vfp_put_float(sd, vfp_single_packed_negate(m)); | 272 | vfp_put_float(vfp_single_packed_negate(m), sd); |
273 | return 0; | 273 | return 0; |
274 | } | 274 | } |
275 | 275 | ||
@@ -333,7 +333,7 @@ static u32 vfp_single_fsqrt(int sd, int unused, s32 m, u32 fpscr) | |||
333 | vsp = &vfp_single_default_qnan; | 333 | vsp = &vfp_single_default_qnan; |
334 | ret = FPSCR_IOC; | 334 | ret = FPSCR_IOC; |
335 | } | 335 | } |
336 | vfp_put_float(sd, vfp_single_pack(vsp)); | 336 | vfp_put_float(vfp_single_pack(vsp), sd); |
337 | return ret; | 337 | return ret; |
338 | } | 338 | } |
339 | 339 | ||
@@ -517,7 +517,7 @@ static u32 vfp_single_fcvtd(int dd, int unused, s32 m, u32 fpscr) | |||
517 | return vfp_double_normaliseround(dd, &vdd, fpscr, exceptions, "fcvtd"); | 517 | return vfp_double_normaliseround(dd, &vdd, fpscr, exceptions, "fcvtd"); |
518 | 518 | ||
519 | pack_nan: | 519 | pack_nan: |
520 | vfp_put_double(dd, vfp_double_pack(&vdd)); | 520 | vfp_put_double(vfp_double_pack(&vdd), dd); |
521 | return exceptions; | 521 | return exceptions; |
522 | } | 522 | } |
523 | 523 | ||
@@ -613,7 +613,7 @@ static u32 vfp_single_ftoui(int sd, int unused, s32 m, u32 fpscr) | |||
613 | 613 | ||
614 | pr_debug("VFP: ftoui: d(s%d)=%08x exceptions=%08x\n", sd, d, exceptions); | 614 | pr_debug("VFP: ftoui: d(s%d)=%08x exceptions=%08x\n", sd, d, exceptions); |
615 | 615 | ||
616 | vfp_put_float(sd, d); | 616 | vfp_put_float(d, sd); |
617 | 617 | ||
618 | return exceptions; | 618 | return exceptions; |
619 | } | 619 | } |
@@ -692,7 +692,7 @@ static u32 vfp_single_ftosi(int sd, int unused, s32 m, u32 fpscr) | |||
692 | 692 | ||
693 | pr_debug("VFP: ftosi: d(s%d)=%08x exceptions=%08x\n", sd, d, exceptions); | 693 | pr_debug("VFP: ftosi: d(s%d)=%08x exceptions=%08x\n", sd, d, exceptions); |
694 | 694 | ||
695 | vfp_put_float(sd, (s32)d); | 695 | vfp_put_float((s32)d, sd); |
696 | 696 | ||
697 | return exceptions; | 697 | return exceptions; |
698 | } | 698 | } |
@@ -1127,7 +1127,7 @@ static u32 vfp_single_fdiv(int sd, int sn, s32 m, u32 fpscr) | |||
1127 | vsn_nan: | 1127 | vsn_nan: |
1128 | exceptions = vfp_propagate_nan(&vsd, &vsn, &vsm, fpscr); | 1128 | exceptions = vfp_propagate_nan(&vsd, &vsn, &vsm, fpscr); |
1129 | pack: | 1129 | pack: |
1130 | vfp_put_float(sd, vfp_single_pack(&vsd)); | 1130 | vfp_put_float(vfp_single_pack(&vsd), sd); |
1131 | return exceptions; | 1131 | return exceptions; |
1132 | 1132 | ||
1133 | vsm_nan: | 1133 | vsm_nan: |
@@ -1147,7 +1147,7 @@ static u32 vfp_single_fdiv(int sd, int sn, s32 m, u32 fpscr) | |||
1147 | goto pack; | 1147 | goto pack; |
1148 | 1148 | ||
1149 | invalid: | 1149 | invalid: |
1150 | vfp_put_float(sd, vfp_single_pack(&vfp_single_default_qnan)); | 1150 | vfp_put_float(vfp_single_pack(&vfp_single_default_qnan), sd); |
1151 | return FPSCR_IOC; | 1151 | return FPSCR_IOC; |
1152 | } | 1152 | } |
1153 | 1153 | ||
diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig index 95a3892b8d1..a601a17cf56 100644 --- a/arch/frv/Kconfig +++ b/arch/frv/Kconfig | |||
@@ -29,6 +29,10 @@ config GENERIC_HARDIRQS | |||
29 | bool | 29 | bool |
30 | default n | 30 | default n |
31 | 31 | ||
32 | config GENERIC_TIME | ||
33 | bool | ||
34 | default y | ||
35 | |||
32 | config TIME_LOW_RES | 36 | config TIME_LOW_RES |
33 | bool | 37 | bool |
34 | default y | 38 | default y |
diff --git a/arch/frv/kernel/time.c b/arch/frv/kernel/time.c index d5b64e193d9..68a77fe3bb4 100644 --- a/arch/frv/kernel/time.c +++ b/arch/frv/kernel/time.c | |||
@@ -32,8 +32,6 @@ | |||
32 | 32 | ||
33 | #define TICK_SIZE (tick_nsec / 1000) | 33 | #define TICK_SIZE (tick_nsec / 1000) |
34 | 34 | ||
35 | extern unsigned long wall_jiffies; | ||
36 | |||
37 | unsigned long __nongprelbss __clkin_clock_speed_HZ; | 35 | unsigned long __nongprelbss __clkin_clock_speed_HZ; |
38 | unsigned long __nongprelbss __ext_bus_clock_speed_HZ; | 36 | unsigned long __nongprelbss __ext_bus_clock_speed_HZ; |
39 | unsigned long __nongprelbss __res_bus_clock_speed_HZ; | 37 | unsigned long __nongprelbss __res_bus_clock_speed_HZ; |
@@ -145,85 +143,6 @@ void time_init(void) | |||
145 | } | 143 | } |
146 | 144 | ||
147 | /* | 145 | /* |
148 | * This version of gettimeofday has near microsecond resolution. | ||
149 | */ | ||
150 | void do_gettimeofday(struct timeval *tv) | ||
151 | { | ||
152 | unsigned long seq; | ||
153 | unsigned long usec, sec; | ||
154 | unsigned long max_ntp_tick; | ||
155 | |||
156 | do { | ||
157 | unsigned long lost; | ||
158 | |||
159 | seq = read_seqbegin(&xtime_lock); | ||
160 | |||
161 | usec = 0; | ||
162 | lost = jiffies - wall_jiffies; | ||
163 | |||
164 | /* | ||
165 | * If time_adjust is negative then NTP is slowing the clock | ||
166 | * so make sure not to go into next possible interval. | ||
167 | * Better to lose some accuracy than have time go backwards.. | ||
168 | */ | ||
169 | if (unlikely(time_adjust < 0)) { | ||
170 | max_ntp_tick = (USEC_PER_SEC / HZ) - tickadj; | ||
171 | usec = min(usec, max_ntp_tick); | ||
172 | |||
173 | if (lost) | ||
174 | usec += lost * max_ntp_tick; | ||
175 | } | ||
176 | else if (unlikely(lost)) | ||
177 | usec += lost * (USEC_PER_SEC / HZ); | ||
178 | |||
179 | sec = xtime.tv_sec; | ||
180 | usec += (xtime.tv_nsec / 1000); | ||
181 | } while (read_seqretry(&xtime_lock, seq)); | ||
182 | |||
183 | while (usec >= 1000000) { | ||
184 | usec -= 1000000; | ||
185 | sec++; | ||
186 | } | ||
187 | |||
188 | tv->tv_sec = sec; | ||
189 | tv->tv_usec = usec; | ||
190 | } | ||
191 | |||
192 | EXPORT_SYMBOL(do_gettimeofday); | ||
193 | |||
194 | int do_settimeofday(struct timespec *tv) | ||
195 | { | ||
196 | time_t wtm_sec, sec = tv->tv_sec; | ||
197 | long wtm_nsec, nsec = tv->tv_nsec; | ||
198 | |||
199 | if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC) | ||
200 | return -EINVAL; | ||
201 | |||
202 | write_seqlock_irq(&xtime_lock); | ||
203 | /* | ||
204 | * This is revolting. We need to set "xtime" correctly. However, the | ||
205 | * value in this location is the value at the most recent update of | ||
206 | * wall time. Discover what correction gettimeofday() would have | ||
207 | * made, and then undo it! | ||
208 | */ | ||
209 | nsec -= 0 * NSEC_PER_USEC; | ||
210 | nsec -= (jiffies - wall_jiffies) * TICK_NSEC; | ||
211 | |||
212 | wtm_sec = wall_to_monotonic.tv_sec + (xtime.tv_sec - sec); | ||
213 | wtm_nsec = wall_to_monotonic.tv_nsec + (xtime.tv_nsec - nsec); | ||
214 | |||
215 | set_normalized_timespec(&xtime, sec, nsec); | ||
216 | set_normalized_timespec(&wall_to_monotonic, wtm_sec, wtm_nsec); | ||
217 | |||
218 | ntp_clear(); | ||
219 | write_sequnlock_irq(&xtime_lock); | ||
220 | clock_was_set(); | ||
221 | return 0; | ||
222 | } | ||
223 | |||
224 | EXPORT_SYMBOL(do_settimeofday); | ||
225 | |||
226 | /* | ||
227 | * Scheduler clock - returns current time in nanosec units. | 146 | * Scheduler clock - returns current time in nanosec units. |
228 | */ | 147 | */ |
229 | unsigned long long sched_clock(void) | 148 | unsigned long long sched_clock(void) |
diff --git a/arch/i386/kernel/Makefile b/arch/i386/kernel/Makefile index ab98fc21a54..5427a842e84 100644 --- a/arch/i386/kernel/Makefile +++ b/arch/i386/kernel/Makefile | |||
@@ -39,7 +39,6 @@ obj-$(CONFIG_VM86) += vm86.o | |||
39 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o | 39 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o |
40 | obj-$(CONFIG_HPET_TIMER) += hpet.o | 40 | obj-$(CONFIG_HPET_TIMER) += hpet.o |
41 | obj-$(CONFIG_K8_NB) += k8.o | 41 | obj-$(CONFIG_K8_NB) += k8.o |
42 | obj-$(CONFIG_AUDIT) += audit.o | ||
43 | 42 | ||
44 | EXTRA_AFLAGS := -traditional | 43 | EXTRA_AFLAGS := -traditional |
45 | 44 | ||
diff --git a/arch/i386/kernel/audit.c b/arch/i386/kernel/audit.c deleted file mode 100644 index 5a53c6f371f..00000000000 --- a/arch/i386/kernel/audit.c +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | #include <linux/init.h> | ||
2 | #include <linux/types.h> | ||
3 | #include <linux/audit.h> | ||
4 | #include <asm/unistd.h> | ||
5 | |||
6 | static unsigned dir_class[] = { | ||
7 | #include <asm-generic/audit_dir_write.h> | ||
8 | ~0U | ||
9 | }; | ||
10 | |||
11 | static unsigned chattr_class[] = { | ||
12 | #include <asm-generic/audit_change_attr.h> | ||
13 | ~0U | ||
14 | }; | ||
15 | |||
16 | static int __init audit_classes_init(void) | ||
17 | { | ||
18 | audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); | ||
19 | audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); | ||
20 | return 0; | ||
21 | } | ||
22 | |||
23 | __initcall(audit_classes_init); | ||
diff --git a/arch/i386/kernel/hpet.c b/arch/i386/kernel/hpet.c index c6737c35815..17647a530b2 100644 --- a/arch/i386/kernel/hpet.c +++ b/arch/i386/kernel/hpet.c | |||
@@ -35,7 +35,7 @@ static int __init init_hpet_clocksource(void) | |||
35 | void __iomem* hpet_base; | 35 | void __iomem* hpet_base; |
36 | u64 tmp; | 36 | u64 tmp; |
37 | 37 | ||
38 | if (!hpet_address) | 38 | if (!is_hpet_enabled()) |
39 | return -ENODEV; | 39 | return -ENODEV; |
40 | 40 | ||
41 | /* calculate the hpet address: */ | 41 | /* calculate the hpet address: */ |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 674de894347..db274da7dba 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -75,6 +75,10 @@ config DMA_IS_NORMAL | |||
75 | depends on IA64_SGI_SN2 | 75 | depends on IA64_SGI_SN2 |
76 | default y | 76 | default y |
77 | 77 | ||
78 | config AUDIT_ARCH | ||
79 | bool | ||
80 | default y | ||
81 | |||
78 | choice | 82 | choice |
79 | prompt "System type" | 83 | prompt "System type" |
80 | default IA64_GENERIC | 84 | default IA64_GENERIC |
diff --git a/arch/ia64/ia32/audit.c b/arch/ia64/ia32/audit.c index ab94f2e58cd..92d7d0c8d93 100644 --- a/arch/ia64/ia32/audit.c +++ b/arch/ia64/ia32/audit.c | |||
@@ -9,3 +9,29 @@ unsigned ia32_chattr_class[] = { | |||
9 | #include <asm-generic/audit_change_attr.h> | 9 | #include <asm-generic/audit_change_attr.h> |
10 | ~0U | 10 | ~0U |
11 | }; | 11 | }; |
12 | |||
13 | unsigned ia32_write_class[] = { | ||
14 | #include <asm-generic/audit_write.h> | ||
15 | ~0U | ||
16 | }; | ||
17 | |||
18 | unsigned ia32_read_class[] = { | ||
19 | #include <asm-generic/audit_read.h> | ||
20 | ~0U | ||
21 | }; | ||
22 | |||
23 | int ia32_classify_syscall(unsigned syscall) | ||
24 | { | ||
25 | switch(syscall) { | ||
26 | case __NR_open: | ||
27 | return 2; | ||
28 | case __NR_openat: | ||
29 | return 3; | ||
30 | case __NR_socketcall: | ||
31 | return 4; | ||
32 | case __NR_execve: | ||
33 | return 5; | ||
34 | default: | ||
35 | return 1; | ||
36 | } | ||
37 | } | ||
diff --git a/arch/ia64/kernel/audit.c b/arch/ia64/kernel/audit.c index f2512931cca..04682555a28 100644 --- a/arch/ia64/kernel/audit.c +++ b/arch/ia64/kernel/audit.c | |||
@@ -8,19 +8,54 @@ static unsigned dir_class[] = { | |||
8 | ~0U | 8 | ~0U |
9 | }; | 9 | }; |
10 | 10 | ||
11 | static unsigned read_class[] = { | ||
12 | #include <asm-generic/audit_read.h> | ||
13 | ~0U | ||
14 | }; | ||
15 | |||
16 | static unsigned write_class[] = { | ||
17 | #include <asm-generic/audit_write.h> | ||
18 | ~0U | ||
19 | }; | ||
20 | |||
11 | static unsigned chattr_class[] = { | 21 | static unsigned chattr_class[] = { |
12 | #include <asm-generic/audit_change_attr.h> | 22 | #include <asm-generic/audit_change_attr.h> |
13 | ~0U | 23 | ~0U |
14 | }; | 24 | }; |
15 | 25 | ||
26 | int audit_classify_syscall(int abi, unsigned syscall) | ||
27 | { | ||
28 | #ifdef CONFIG_IA32_SUPPORT | ||
29 | extern int ia32_classify_syscall(unsigned); | ||
30 | if (abi == AUDIT_ARCH_I386) | ||
31 | return ia32_classify_syscall(syscall); | ||
32 | #endif | ||
33 | switch(syscall) { | ||
34 | case __NR_open: | ||
35 | return 2; | ||
36 | case __NR_openat: | ||
37 | return 3; | ||
38 | case __NR_execve: | ||
39 | return 5; | ||
40 | default: | ||
41 | return 0; | ||
42 | } | ||
43 | } | ||
44 | |||
16 | static int __init audit_classes_init(void) | 45 | static int __init audit_classes_init(void) |
17 | { | 46 | { |
18 | #ifdef CONFIG_IA32_SUPPORT | 47 | #ifdef CONFIG_IA32_SUPPORT |
19 | extern __u32 ia32_dir_class[]; | 48 | extern __u32 ia32_dir_class[]; |
49 | extern __u32 ia32_write_class[]; | ||
50 | extern __u32 ia32_read_class[]; | ||
20 | extern __u32 ia32_chattr_class[]; | 51 | extern __u32 ia32_chattr_class[]; |
52 | audit_register_class(AUDIT_CLASS_WRITE_32, ia32_write_class); | ||
53 | audit_register_class(AUDIT_CLASS_READ_32, ia32_read_class); | ||
21 | audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ia32_dir_class); | 54 | audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ia32_dir_class); |
22 | audit_register_class(AUDIT_CLASS_CHATTR_32, ia32_chattr_class); | 55 | audit_register_class(AUDIT_CLASS_CHATTR_32, ia32_chattr_class); |
23 | #endif | 56 | #endif |
57 | audit_register_class(AUDIT_CLASS_WRITE, write_class); | ||
58 | audit_register_class(AUDIT_CLASS_READ, read_class); | ||
24 | audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); | 59 | audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); |
25 | audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); | 60 | audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); |
26 | return 0; | 61 | return 0; |
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S index 12701cf32d9..fef06571be9 100644 --- a/arch/ia64/kernel/entry.S +++ b/arch/ia64/kernel/entry.S | |||
@@ -1605,8 +1605,8 @@ sys_call_table: | |||
1605 | data8 sys_ni_syscall // 1295 reserved for ppoll | 1605 | data8 sys_ni_syscall // 1295 reserved for ppoll |
1606 | data8 sys_unshare | 1606 | data8 sys_unshare |
1607 | data8 sys_splice | 1607 | data8 sys_splice |
1608 | data8 sys_set_robust_list | 1608 | data8 sys_ni_syscall // reserved for set_robust_list |
1609 | data8 sys_get_robust_list | 1609 | data8 sys_ni_syscall // reserved for get_robust_list |
1610 | data8 sys_sync_file_range // 1300 | 1610 | data8 sys_sync_file_range // 1300 |
1611 | data8 sys_tee | 1611 | data8 sys_tee |
1612 | data8 sys_vmsplice | 1612 | data8 sys_vmsplice |
diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S index 29236f0c62b..44d540efa6d 100644 --- a/arch/ia64/kernel/head.S +++ b/arch/ia64/kernel/head.S | |||
@@ -197,6 +197,11 @@ start_ap: | |||
197 | ;; | 197 | ;; |
198 | srlz.i | 198 | srlz.i |
199 | ;; | 199 | ;; |
200 | { | ||
201 | flushrs // must be first insn in group | ||
202 | srlz.i | ||
203 | } | ||
204 | ;; | ||
200 | /* | 205 | /* |
201 | * Save the region registers, predicate before they get clobbered | 206 | * Save the region registers, predicate before they get clobbered |
202 | */ | 207 | */ |
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index c7ccd6ee1dd..84a7e52f56f 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c | |||
@@ -4936,13 +4936,15 @@ abort_locked: | |||
4936 | if (likely(ctx)) { | 4936 | if (likely(ctx)) { |
4937 | DPRINT(("context unlocked\n")); | 4937 | DPRINT(("context unlocked\n")); |
4938 | UNPROTECT_CTX(ctx, flags); | 4938 | UNPROTECT_CTX(ctx, flags); |
4939 | fput(file); | ||
4940 | } | 4939 | } |
4941 | 4940 | ||
4942 | /* copy argument back to user, if needed */ | 4941 | /* copy argument back to user, if needed */ |
4943 | if (call_made && PFM_CMD_RW_ARG(cmd) && copy_to_user(arg, args_k, base_sz*count)) ret = -EFAULT; | 4942 | if (call_made && PFM_CMD_RW_ARG(cmd) && copy_to_user(arg, args_k, base_sz*count)) ret = -EFAULT; |
4944 | 4943 | ||
4945 | error_args: | 4944 | error_args: |
4945 | if (file) | ||
4946 | fput(file); | ||
4947 | |||
4946 | kfree(args_k); | 4948 | kfree(args_k); |
4947 | 4949 | ||
4948 | DPRINT(("cmd=%s ret=%ld\n", PFM_CMD_NAME(cmd), ret)); | 4950 | DPRINT(("cmd=%s ret=%ld\n", PFM_CMD_NAME(cmd), ret)); |
diff --git a/arch/ia64/kernel/sys_ia64.c b/arch/ia64/kernel/sys_ia64.c index 40722d88607..9ef62a3fbfa 100644 --- a/arch/ia64/kernel/sys_ia64.c +++ b/arch/ia64/kernel/sys_ia64.c | |||
@@ -163,10 +163,25 @@ sys_pipe (void) | |||
163 | return retval; | 163 | return retval; |
164 | } | 164 | } |
165 | 165 | ||
166 | int ia64_mmap_check(unsigned long addr, unsigned long len, | ||
167 | unsigned long flags) | ||
168 | { | ||
169 | unsigned long roff; | ||
170 | |||
171 | /* | ||
172 | * Don't permit mappings into unmapped space, the virtual page table | ||
173 | * of a region, or across a region boundary. Note: RGN_MAP_LIMIT is | ||
174 | * equal to 2^n-PAGE_SIZE (for some integer n <= 61) and len > 0. | ||
175 | */ | ||
176 | roff = REGION_OFFSET(addr); | ||
177 | if ((len > RGN_MAP_LIMIT) || (roff > (RGN_MAP_LIMIT - len))) | ||
178 | return -EINVAL; | ||
179 | return 0; | ||
180 | } | ||
181 | |||
166 | static inline unsigned long | 182 | static inline unsigned long |
167 | do_mmap2 (unsigned long addr, unsigned long len, int prot, int flags, int fd, unsigned long pgoff) | 183 | do_mmap2 (unsigned long addr, unsigned long len, int prot, int flags, int fd, unsigned long pgoff) |
168 | { | 184 | { |
169 | unsigned long roff; | ||
170 | struct file *file = NULL; | 185 | struct file *file = NULL; |
171 | 186 | ||
172 | flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); | 187 | flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); |
@@ -188,17 +203,6 @@ do_mmap2 (unsigned long addr, unsigned long len, int prot, int flags, int fd, un | |||
188 | goto out; | 203 | goto out; |
189 | } | 204 | } |
190 | 205 | ||
191 | /* | ||
192 | * Don't permit mappings into unmapped space, the virtual page table of a region, | ||
193 | * or across a region boundary. Note: RGN_MAP_LIMIT is equal to 2^n-PAGE_SIZE | ||
194 | * (for some integer n <= 61) and len > 0. | ||
195 | */ | ||
196 | roff = REGION_OFFSET(addr); | ||
197 | if ((len > RGN_MAP_LIMIT) || (roff > (RGN_MAP_LIMIT - len))) { | ||
198 | addr = -EINVAL; | ||
199 | goto out; | ||
200 | } | ||
201 | |||
202 | down_write(¤t->mm->mmap_sem); | 206 | down_write(¤t->mm->mmap_sem); |
203 | addr = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); | 207 | addr = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); |
204 | up_write(¤t->mm->mmap_sem); | 208 | up_write(¤t->mm->mmap_sem); |
diff --git a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c index c119e8b620d..5f2dcba7fa8 100644 --- a/arch/ia64/sn/kernel/setup.c +++ b/arch/ia64/sn/kernel/setup.c | |||
@@ -565,7 +565,7 @@ static void __init sn_init_pdas(char **cmdline_p) | |||
565 | * Also sets up a few fields in the nodepda. Also known as | 565 | * Also sets up a few fields in the nodepda. Also known as |
566 | * platform_cpu_init() by the ia64 machvec code. | 566 | * platform_cpu_init() by the ia64 machvec code. |
567 | */ | 567 | */ |
568 | void __init sn_cpu_init(void) | 568 | void __cpuinit sn_cpu_init(void) |
569 | { | 569 | { |
570 | int cpuid; | 570 | int cpuid; |
571 | int cpuphyid; | 571 | int cpuphyid; |
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index c9dcec7f3c6..de1ef2fa1a2 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -95,6 +95,10 @@ config GENERIC_TBSYNC | |||
95 | default y if PPC32 && SMP | 95 | default y if PPC32 && SMP |
96 | default n | 96 | default n |
97 | 97 | ||
98 | config AUDIT_ARCH | ||
99 | bool | ||
100 | default y | ||
101 | |||
98 | config DEFAULT_UIMAGE | 102 | config DEFAULT_UIMAGE |
99 | bool | 103 | bool |
100 | help | 104 | help |
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig index e028a2ecb8a..6fd9e7acec2 100644 --- a/arch/powerpc/configs/cell_defconfig +++ b/arch/powerpc/configs/cell_defconfig | |||
@@ -1,13 +1,14 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc6 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Thu Jun 22 15:28:36 2006 | 4 | # Sun Sep 10 10:20:32 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
8 | CONFIG_PPC_MERGE=y | 8 | CONFIG_PPC_MERGE=y |
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_IRQ_PER_CPU=y | ||
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 12 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | 13 | CONFIG_GENERIC_HWEIGHT=y |
13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 14 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
@@ -35,6 +36,7 @@ CONFIG_PPC_STD_MMU=y | |||
35 | CONFIG_VIRT_CPU_ACCOUNTING=y | 36 | CONFIG_VIRT_CPU_ACCOUNTING=y |
36 | CONFIG_SMP=y | 37 | CONFIG_SMP=y |
37 | CONFIG_NR_CPUS=4 | 38 | CONFIG_NR_CPUS=4 |
39 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
38 | 40 | ||
39 | # | 41 | # |
40 | # Code maturity level options | 42 | # Code maturity level options |
@@ -52,6 +54,7 @@ CONFIG_SWAP=y | |||
52 | CONFIG_SYSVIPC=y | 54 | CONFIG_SYSVIPC=y |
53 | # CONFIG_POSIX_MQUEUE is not set | 55 | # CONFIG_POSIX_MQUEUE is not set |
54 | # CONFIG_BSD_PROCESS_ACCT is not set | 56 | # CONFIG_BSD_PROCESS_ACCT is not set |
57 | # CONFIG_TASKSTATS is not set | ||
55 | CONFIG_SYSCTL=y | 58 | CONFIG_SYSCTL=y |
56 | # CONFIG_AUDIT is not set | 59 | # CONFIG_AUDIT is not set |
57 | CONFIG_IKCONFIG=y | 60 | CONFIG_IKCONFIG=y |
@@ -69,10 +72,12 @@ CONFIG_PRINTK=y | |||
69 | CONFIG_BUG=y | 72 | CONFIG_BUG=y |
70 | CONFIG_ELF_CORE=y | 73 | CONFIG_ELF_CORE=y |
71 | CONFIG_BASE_FULL=y | 74 | CONFIG_BASE_FULL=y |
75 | CONFIG_RT_MUTEXES=y | ||
72 | CONFIG_FUTEX=y | 76 | CONFIG_FUTEX=y |
73 | CONFIG_EPOLL=y | 77 | CONFIG_EPOLL=y |
74 | CONFIG_SHMEM=y | 78 | CONFIG_SHMEM=y |
75 | CONFIG_SLAB=y | 79 | CONFIG_SLAB=y |
80 | CONFIG_VM_EVENT_COUNTERS=y | ||
76 | # CONFIG_TINY_SHMEM is not set | 81 | # CONFIG_TINY_SHMEM is not set |
77 | CONFIG_BASE_SMALL=0 | 82 | CONFIG_BASE_SMALL=0 |
78 | # CONFIG_SLOB is not set | 83 | # CONFIG_SLOB is not set |
@@ -119,7 +124,7 @@ CONFIG_PPC_MULTIPLATFORM=y | |||
119 | CONFIG_PPC_CELL=y | 124 | CONFIG_PPC_CELL=y |
120 | CONFIG_PPC_CELL_NATIVE=y | 125 | CONFIG_PPC_CELL_NATIVE=y |
121 | CONFIG_PPC_IBM_CELL_BLADE=y | 126 | CONFIG_PPC_IBM_CELL_BLADE=y |
122 | CONFIG_PPC_SYSTEMSIM=y | 127 | CONFIG_UDBG_RTAS_CONSOLE=y |
123 | # CONFIG_U3_DART is not set | 128 | # CONFIG_U3_DART is not set |
124 | CONFIG_PPC_RTAS=y | 129 | CONFIG_PPC_RTAS=y |
125 | # CONFIG_RTAS_ERROR_LOGGING is not set | 130 | # CONFIG_RTAS_ERROR_LOGGING is not set |
@@ -130,6 +135,7 @@ CONFIG_MMIO_NVRAM=y | |||
130 | # CONFIG_PPC_970_NAP is not set | 135 | # CONFIG_PPC_970_NAP is not set |
131 | # CONFIG_CPU_FREQ is not set | 136 | # CONFIG_CPU_FREQ is not set |
132 | # CONFIG_WANT_EARLY_SERIAL is not set | 137 | # CONFIG_WANT_EARLY_SERIAL is not set |
138 | # CONFIG_MPIC is not set | ||
133 | 139 | ||
134 | # | 140 | # |
135 | # Cell Broadband Engine options | 141 | # Cell Broadband Engine options |
@@ -154,6 +160,7 @@ CONFIG_BINFMT_ELF=y | |||
154 | CONFIG_BINFMT_MISC=m | 160 | CONFIG_BINFMT_MISC=m |
155 | CONFIG_FORCE_MAX_ZONEORDER=13 | 161 | CONFIG_FORCE_MAX_ZONEORDER=13 |
156 | # CONFIG_IOMMU_VMERGE is not set | 162 | # CONFIG_IOMMU_VMERGE is not set |
163 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
157 | CONFIG_KEXEC=y | 164 | CONFIG_KEXEC=y |
158 | # CONFIG_CRASH_DUMP is not set | 165 | # CONFIG_CRASH_DUMP is not set |
159 | CONFIG_IRQ_ALL_CPUS=y | 166 | CONFIG_IRQ_ALL_CPUS=y |
@@ -173,6 +180,7 @@ CONFIG_SPARSEMEM_EXTREME=y | |||
173 | CONFIG_MEMORY_HOTPLUG=y | 180 | CONFIG_MEMORY_HOTPLUG=y |
174 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 181 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
175 | CONFIG_MIGRATION=y | 182 | CONFIG_MIGRATION=y |
183 | CONFIG_RESOURCES_64BIT=y | ||
176 | CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y | 184 | CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y |
177 | CONFIG_ARCH_MEMORY_PROBE=y | 185 | CONFIG_ARCH_MEMORY_PROBE=y |
178 | # CONFIG_PPC_64K_PAGES is not set | 186 | # CONFIG_PPC_64K_PAGES is not set |
@@ -187,6 +195,7 @@ CONFIG_ISA_DMA_API=y | |||
187 | # Bus options | 195 | # Bus options |
188 | # | 196 | # |
189 | CONFIG_GENERIC_ISA_DMA=y | 197 | CONFIG_GENERIC_ISA_DMA=y |
198 | # CONFIG_MPIC_WEIRD is not set | ||
190 | # CONFIG_PPC_I8259 is not set | 199 | # CONFIG_PPC_I8259 is not set |
191 | # CONFIG_PPC_INDIRECT_PCI is not set | 200 | # CONFIG_PPC_INDIRECT_PCI is not set |
192 | CONFIG_PCI=y | 201 | CONFIG_PCI=y |
@@ -235,6 +244,8 @@ CONFIG_SYN_COOKIES=y | |||
235 | # CONFIG_INET_IPCOMP is not set | 244 | # CONFIG_INET_IPCOMP is not set |
236 | # CONFIG_INET_XFRM_TUNNEL is not set | 245 | # CONFIG_INET_XFRM_TUNNEL is not set |
237 | CONFIG_INET_TUNNEL=y | 246 | CONFIG_INET_TUNNEL=y |
247 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
248 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
238 | CONFIG_INET_DIAG=y | 249 | CONFIG_INET_DIAG=y |
239 | CONFIG_INET_TCP_DIAG=y | 250 | CONFIG_INET_TCP_DIAG=y |
240 | # CONFIG_TCP_CONG_ADVANCED is not set | 251 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -252,7 +263,10 @@ CONFIG_INET6_ESP=m | |||
252 | CONFIG_INET6_IPCOMP=m | 263 | CONFIG_INET6_IPCOMP=m |
253 | CONFIG_INET6_XFRM_TUNNEL=m | 264 | CONFIG_INET6_XFRM_TUNNEL=m |
254 | CONFIG_INET6_TUNNEL=m | 265 | CONFIG_INET6_TUNNEL=m |
266 | CONFIG_INET6_XFRM_MODE_TRANSPORT=y | ||
267 | CONFIG_INET6_XFRM_MODE_TUNNEL=y | ||
255 | CONFIG_IPV6_TUNNEL=m | 268 | CONFIG_IPV6_TUNNEL=m |
269 | # CONFIG_NETWORK_SECMARK is not set | ||
256 | CONFIG_NETFILTER=y | 270 | CONFIG_NETFILTER=y |
257 | # CONFIG_NETFILTER_DEBUG is not set | 271 | # CONFIG_NETFILTER_DEBUG is not set |
258 | 272 | ||
@@ -277,6 +291,7 @@ CONFIG_IP_NF_TFTP=m | |||
277 | CONFIG_IP_NF_AMANDA=m | 291 | CONFIG_IP_NF_AMANDA=m |
278 | # CONFIG_IP_NF_PPTP is not set | 292 | # CONFIG_IP_NF_PPTP is not set |
279 | # CONFIG_IP_NF_H323 is not set | 293 | # CONFIG_IP_NF_H323 is not set |
294 | # CONFIG_IP_NF_SIP is not set | ||
280 | CONFIG_IP_NF_QUEUE=m | 295 | CONFIG_IP_NF_QUEUE=m |
281 | 296 | ||
282 | # | 297 | # |
@@ -336,6 +351,7 @@ CONFIG_STANDALONE=y | |||
336 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 351 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
337 | CONFIG_FW_LOADER=y | 352 | CONFIG_FW_LOADER=y |
338 | # CONFIG_DEBUG_DRIVER is not set | 353 | # CONFIG_DEBUG_DRIVER is not set |
354 | # CONFIG_SYS_HYPERVISOR is not set | ||
339 | 355 | ||
340 | # | 356 | # |
341 | # Connector - unified userspace <-> kernelspace linker | 357 | # Connector - unified userspace <-> kernelspace linker |
@@ -372,6 +388,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
372 | CONFIG_BLK_DEV_RAM=y | 388 | CONFIG_BLK_DEV_RAM=y |
373 | CONFIG_BLK_DEV_RAM_COUNT=16 | 389 | CONFIG_BLK_DEV_RAM_COUNT=16 |
374 | CONFIG_BLK_DEV_RAM_SIZE=131072 | 390 | CONFIG_BLK_DEV_RAM_SIZE=131072 |
391 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
375 | CONFIG_BLK_DEV_INITRD=y | 392 | CONFIG_BLK_DEV_INITRD=y |
376 | # CONFIG_CDROM_PKTCDVD is not set | 393 | # CONFIG_CDROM_PKTCDVD is not set |
377 | # CONFIG_ATA_OVER_ETH is not set | 394 | # CONFIG_ATA_OVER_ETH is not set |
@@ -449,8 +466,7 @@ CONFIG_MD_LINEAR=m | |||
449 | CONFIG_MD_RAID0=m | 466 | CONFIG_MD_RAID0=m |
450 | CONFIG_MD_RAID1=m | 467 | CONFIG_MD_RAID1=m |
451 | # CONFIG_MD_RAID10 is not set | 468 | # CONFIG_MD_RAID10 is not set |
452 | # CONFIG_MD_RAID5 is not set | 469 | # CONFIG_MD_RAID456 is not set |
453 | # CONFIG_MD_RAID6 is not set | ||
454 | # CONFIG_MD_MULTIPATH is not set | 470 | # CONFIG_MD_MULTIPATH is not set |
455 | # CONFIG_MD_FAULTY is not set | 471 | # CONFIG_MD_FAULTY is not set |
456 | CONFIG_BLK_DEV_DM=m | 472 | CONFIG_BLK_DEV_DM=m |
@@ -544,6 +560,7 @@ CONFIG_SPIDER_NET=m | |||
544 | # CONFIG_CHELSIO_T1 is not set | 560 | # CONFIG_CHELSIO_T1 is not set |
545 | # CONFIG_IXGB is not set | 561 | # CONFIG_IXGB is not set |
546 | # CONFIG_S2IO is not set | 562 | # CONFIG_S2IO is not set |
563 | # CONFIG_MYRI10GE is not set | ||
547 | 564 | ||
548 | # | 565 | # |
549 | # Token Ring devices | 566 | # Token Ring devices |
@@ -620,6 +637,7 @@ CONFIG_SERIO_SERPORT=y | |||
620 | CONFIG_VT=y | 637 | CONFIG_VT=y |
621 | CONFIG_VT_CONSOLE=y | 638 | CONFIG_VT_CONSOLE=y |
622 | CONFIG_HW_CONSOLE=y | 639 | CONFIG_HW_CONSOLE=y |
640 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
623 | CONFIG_SERIAL_NONSTANDARD=y | 641 | CONFIG_SERIAL_NONSTANDARD=y |
624 | # CONFIG_COMPUTONE is not set | 642 | # CONFIG_COMPUTONE is not set |
625 | # CONFIG_ROCKETPORT is not set | 643 | # CONFIG_ROCKETPORT is not set |
@@ -680,6 +698,7 @@ CONFIG_WATCHDOG_RTAS=y | |||
680 | # | 698 | # |
681 | # CONFIG_PCIPCWATCHDOG is not set | 699 | # CONFIG_PCIPCWATCHDOG is not set |
682 | # CONFIG_WDTPCI is not set | 700 | # CONFIG_WDTPCI is not set |
701 | # CONFIG_HW_RANDOM is not set | ||
683 | CONFIG_GEN_RTC=y | 702 | CONFIG_GEN_RTC=y |
684 | # CONFIG_GEN_RTC_X is not set | 703 | # CONFIG_GEN_RTC_X is not set |
685 | # CONFIG_DTLK is not set | 704 | # CONFIG_DTLK is not set |
@@ -725,6 +744,7 @@ CONFIG_I2C_ALGOBIT=y | |||
725 | # CONFIG_I2C_I810 is not set | 744 | # CONFIG_I2C_I810 is not set |
726 | # CONFIG_I2C_PIIX4 is not set | 745 | # CONFIG_I2C_PIIX4 is not set |
727 | # CONFIG_I2C_NFORCE2 is not set | 746 | # CONFIG_I2C_NFORCE2 is not set |
747 | # CONFIG_I2C_OCORES is not set | ||
728 | # CONFIG_I2C_PARPORT_LIGHT is not set | 748 | # CONFIG_I2C_PARPORT_LIGHT is not set |
729 | # CONFIG_I2C_PROSAVAGE is not set | 749 | # CONFIG_I2C_PROSAVAGE is not set |
730 | # CONFIG_I2C_SAVAGE4 is not set | 750 | # CONFIG_I2C_SAVAGE4 is not set |
@@ -761,7 +781,6 @@ CONFIG_I2C_ALGOBIT=y | |||
761 | # | 781 | # |
762 | # Dallas's 1-wire bus | 782 | # Dallas's 1-wire bus |
763 | # | 783 | # |
764 | # CONFIG_W1 is not set | ||
765 | 784 | ||
766 | # | 785 | # |
767 | # Hardware Monitoring support | 786 | # Hardware Monitoring support |
@@ -787,6 +806,7 @@ CONFIG_VIDEO_V4L2=y | |||
787 | # | 806 | # |
788 | # Graphics support | 807 | # Graphics support |
789 | # | 808 | # |
809 | CONFIG_FIRMWARE_EDID=y | ||
790 | # CONFIG_FB is not set | 810 | # CONFIG_FB is not set |
791 | 811 | ||
792 | # | 812 | # |
@@ -794,6 +814,7 @@ CONFIG_VIDEO_V4L2=y | |||
794 | # | 814 | # |
795 | # CONFIG_VGA_CONSOLE is not set | 815 | # CONFIG_VGA_CONSOLE is not set |
796 | CONFIG_DUMMY_CONSOLE=y | 816 | CONFIG_DUMMY_CONSOLE=y |
817 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
797 | 818 | ||
798 | # | 819 | # |
799 | # Sound | 820 | # Sound |
@@ -841,6 +862,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
841 | CONFIG_INFINIBAND=y | 862 | CONFIG_INFINIBAND=y |
842 | CONFIG_INFINIBAND_USER_MAD=m | 863 | CONFIG_INFINIBAND_USER_MAD=m |
843 | CONFIG_INFINIBAND_USER_ACCESS=m | 864 | CONFIG_INFINIBAND_USER_ACCESS=m |
865 | CONFIG_INFINIBAND_ADDR_TRANS=y | ||
844 | CONFIG_INFINIBAND_MTHCA=m | 866 | CONFIG_INFINIBAND_MTHCA=m |
845 | CONFIG_INFINIBAND_MTHCA_DEBUG=y | 867 | CONFIG_INFINIBAND_MTHCA_DEBUG=y |
846 | CONFIG_INFINIBAND_IPOIB=m | 868 | CONFIG_INFINIBAND_IPOIB=m |
@@ -857,6 +879,19 @@ CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y | |||
857 | # CONFIG_RTC_CLASS is not set | 879 | # CONFIG_RTC_CLASS is not set |
858 | 880 | ||
859 | # | 881 | # |
882 | # DMA Engine support | ||
883 | # | ||
884 | # CONFIG_DMA_ENGINE is not set | ||
885 | |||
886 | # | ||
887 | # DMA Clients | ||
888 | # | ||
889 | |||
890 | # | ||
891 | # DMA Devices | ||
892 | # | ||
893 | |||
894 | # | ||
860 | # File systems | 895 | # File systems |
861 | # | 896 | # |
862 | CONFIG_EXT2_FS=y | 897 | CONFIG_EXT2_FS=y |
@@ -877,6 +912,7 @@ CONFIG_FS_POSIX_ACL=y | |||
877 | # CONFIG_MINIX_FS is not set | 912 | # CONFIG_MINIX_FS is not set |
878 | # CONFIG_ROMFS_FS is not set | 913 | # CONFIG_ROMFS_FS is not set |
879 | CONFIG_INOTIFY=y | 914 | CONFIG_INOTIFY=y |
915 | CONFIG_INOTIFY_USER=y | ||
880 | # CONFIG_QUOTA is not set | 916 | # CONFIG_QUOTA is not set |
881 | CONFIG_DNOTIFY=y | 917 | CONFIG_DNOTIFY=y |
882 | # CONFIG_AUTOFS_FS is not set | 918 | # CONFIG_AUTOFS_FS is not set |
@@ -1034,6 +1070,9 @@ CONFIG_CRC32=y | |||
1034 | # CONFIG_LIBCRC32C is not set | 1070 | # CONFIG_LIBCRC32C is not set |
1035 | CONFIG_ZLIB_INFLATE=m | 1071 | CONFIG_ZLIB_INFLATE=m |
1036 | CONFIG_ZLIB_DEFLATE=m | 1072 | CONFIG_ZLIB_DEFLATE=m |
1073 | CONFIG_TEXTSEARCH=y | ||
1074 | CONFIG_TEXTSEARCH_KMP=m | ||
1075 | CONFIG_PLIST=y | ||
1037 | 1076 | ||
1038 | # | 1077 | # |
1039 | # Instrumentation Support | 1078 | # Instrumentation Support |
@@ -1046,14 +1085,19 @@ CONFIG_ZLIB_DEFLATE=m | |||
1046 | # | 1085 | # |
1047 | # CONFIG_PRINTK_TIME is not set | 1086 | # CONFIG_PRINTK_TIME is not set |
1048 | CONFIG_MAGIC_SYSRQ=y | 1087 | CONFIG_MAGIC_SYSRQ=y |
1088 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1049 | CONFIG_DEBUG_KERNEL=y | 1089 | CONFIG_DEBUG_KERNEL=y |
1050 | CONFIG_LOG_BUF_SHIFT=15 | 1090 | CONFIG_LOG_BUF_SHIFT=15 |
1051 | CONFIG_DETECT_SOFTLOCKUP=y | 1091 | CONFIG_DETECT_SOFTLOCKUP=y |
1052 | # CONFIG_SCHEDSTATS is not set | 1092 | # CONFIG_SCHEDSTATS is not set |
1053 | # CONFIG_DEBUG_SLAB is not set | 1093 | # CONFIG_DEBUG_SLAB is not set |
1054 | CONFIG_DEBUG_MUTEXES=y | 1094 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1095 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1055 | # CONFIG_DEBUG_SPINLOCK is not set | 1096 | # CONFIG_DEBUG_SPINLOCK is not set |
1097 | CONFIG_DEBUG_MUTEXES=y | ||
1098 | # CONFIG_DEBUG_RWSEMS is not set | ||
1056 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | 1099 | CONFIG_DEBUG_SPINLOCK_SLEEP=y |
1100 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1057 | # CONFIG_DEBUG_KOBJECT is not set | 1101 | # CONFIG_DEBUG_KOBJECT is not set |
1058 | # CONFIG_DEBUG_INFO is not set | 1102 | # CONFIG_DEBUG_INFO is not set |
1059 | CONFIG_DEBUG_FS=y | 1103 | CONFIG_DEBUG_FS=y |
diff --git a/arch/powerpc/configs/chrp32_defconfig b/arch/powerpc/configs/chrp32_defconfig index 0fa010a63a8..bbf2b5f8a8c 100644 --- a/arch/powerpc/configs/chrp32_defconfig +++ b/arch/powerpc/configs/chrp32_defconfig | |||
@@ -1,13 +1,14 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Mon Jul 3 12:08:41 2006 | 4 | # Sun Sep 10 10:22:54 2006 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | CONFIG_PPC32=y | 7 | CONFIG_PPC32=y |
8 | CONFIG_PPC_MERGE=y | 8 | CONFIG_PPC_MERGE=y |
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_IRQ_PER_CPU=y | ||
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 12 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | 13 | CONFIG_GENERIC_HWEIGHT=y |
13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 14 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
@@ -42,6 +43,7 @@ CONFIG_PPC_STD_MMU=y | |||
42 | CONFIG_PPC_STD_MMU_32=y | 43 | CONFIG_PPC_STD_MMU_32=y |
43 | CONFIG_SMP=y | 44 | CONFIG_SMP=y |
44 | CONFIG_NR_CPUS=4 | 45 | CONFIG_NR_CPUS=4 |
46 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
45 | 47 | ||
46 | # | 48 | # |
47 | # Code maturity level options | 49 | # Code maturity level options |
@@ -59,6 +61,7 @@ CONFIG_SWAP=y | |||
59 | CONFIG_SYSVIPC=y | 61 | CONFIG_SYSVIPC=y |
60 | CONFIG_POSIX_MQUEUE=y | 62 | CONFIG_POSIX_MQUEUE=y |
61 | # CONFIG_BSD_PROCESS_ACCT is not set | 63 | # CONFIG_BSD_PROCESS_ACCT is not set |
64 | # CONFIG_TASKSTATS is not set | ||
62 | CONFIG_SYSCTL=y | 65 | CONFIG_SYSCTL=y |
63 | # CONFIG_AUDIT is not set | 66 | # CONFIG_AUDIT is not set |
64 | CONFIG_IKCONFIG=y | 67 | CONFIG_IKCONFIG=y |
@@ -76,10 +79,12 @@ CONFIG_PRINTK=y | |||
76 | CONFIG_BUG=y | 79 | CONFIG_BUG=y |
77 | CONFIG_ELF_CORE=y | 80 | CONFIG_ELF_CORE=y |
78 | CONFIG_BASE_FULL=y | 81 | CONFIG_BASE_FULL=y |
82 | CONFIG_RT_MUTEXES=y | ||
79 | CONFIG_FUTEX=y | 83 | CONFIG_FUTEX=y |
80 | CONFIG_EPOLL=y | 84 | CONFIG_EPOLL=y |
81 | CONFIG_SHMEM=y | 85 | CONFIG_SHMEM=y |
82 | CONFIG_SLAB=y | 86 | CONFIG_SLAB=y |
87 | CONFIG_VM_EVENT_COUNTERS=y | ||
83 | # CONFIG_TINY_SHMEM is not set | 88 | # CONFIG_TINY_SHMEM is not set |
84 | CONFIG_BASE_SMALL=0 | 89 | CONFIG_BASE_SMALL=0 |
85 | # CONFIG_SLOB is not set | 90 | # CONFIG_SLOB is not set |
@@ -126,7 +131,7 @@ CONFIG_PPC_CHRP=y | |||
126 | # CONFIG_PPC_PMAC is not set | 131 | # CONFIG_PPC_PMAC is not set |
127 | # CONFIG_PPC_CELL is not set | 132 | # CONFIG_PPC_CELL is not set |
128 | # CONFIG_PPC_CELL_NATIVE is not set | 133 | # CONFIG_PPC_CELL_NATIVE is not set |
129 | CONFIG_MPIC=y | 134 | # CONFIG_UDBG_RTAS_CONSOLE is not set |
130 | CONFIG_PPC_RTAS=y | 135 | CONFIG_PPC_RTAS=y |
131 | # CONFIG_RTAS_ERROR_LOGGING is not set | 136 | # CONFIG_RTAS_ERROR_LOGGING is not set |
132 | CONFIG_RTAS_PROC=y | 137 | CONFIG_RTAS_PROC=y |
@@ -136,6 +141,7 @@ CONFIG_PPC_MPC106=y | |||
136 | # CONFIG_CPU_FREQ is not set | 141 | # CONFIG_CPU_FREQ is not set |
137 | # CONFIG_TAU is not set | 142 | # CONFIG_TAU is not set |
138 | # CONFIG_WANT_EARLY_SERIAL is not set | 143 | # CONFIG_WANT_EARLY_SERIAL is not set |
144 | CONFIG_MPIC=y | ||
139 | 145 | ||
140 | # | 146 | # |
141 | # Kernel options | 147 | # Kernel options |
@@ -151,6 +157,7 @@ CONFIG_PREEMPT_NONE=y | |||
151 | CONFIG_PREEMPT_BKL=y | 157 | CONFIG_PREEMPT_BKL=y |
152 | CONFIG_BINFMT_ELF=y | 158 | CONFIG_BINFMT_ELF=y |
153 | CONFIG_BINFMT_MISC=y | 159 | CONFIG_BINFMT_MISC=y |
160 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
154 | # CONFIG_KEXEC is not set | 161 | # CONFIG_KEXEC is not set |
155 | CONFIG_IRQ_ALL_CPUS=y | 162 | CONFIG_IRQ_ALL_CPUS=y |
156 | CONFIG_ARCH_FLATMEM_ENABLE=y | 163 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -162,6 +169,7 @@ CONFIG_FLATMEM=y | |||
162 | CONFIG_FLAT_NODE_MEM_MAP=y | 169 | CONFIG_FLAT_NODE_MEM_MAP=y |
163 | # CONFIG_SPARSEMEM_STATIC is not set | 170 | # CONFIG_SPARSEMEM_STATIC is not set |
164 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 171 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
172 | # CONFIG_RESOURCES_64BIT is not set | ||
165 | CONFIG_PROC_DEVICETREE=y | 173 | CONFIG_PROC_DEVICETREE=y |
166 | # CONFIG_CMDLINE_BOOL is not set | 174 | # CONFIG_CMDLINE_BOOL is not set |
167 | # CONFIG_PM is not set | 175 | # CONFIG_PM is not set |
@@ -173,6 +181,7 @@ CONFIG_ISA_DMA_API=y | |||
173 | # | 181 | # |
174 | CONFIG_ISA=y | 182 | CONFIG_ISA=y |
175 | CONFIG_GENERIC_ISA_DMA=y | 183 | CONFIG_GENERIC_ISA_DMA=y |
184 | # CONFIG_MPIC_WEIRD is not set | ||
176 | CONFIG_PPC_I8259=y | 185 | CONFIG_PPC_I8259=y |
177 | CONFIG_PPC_INDIRECT_PCI=y | 186 | CONFIG_PPC_INDIRECT_PCI=y |
178 | CONFIG_PCI=y | 187 | CONFIG_PCI=y |
@@ -366,6 +375,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
366 | CONFIG_BLK_DEV_RAM=y | 375 | CONFIG_BLK_DEV_RAM=y |
367 | CONFIG_BLK_DEV_RAM_COUNT=16 | 376 | CONFIG_BLK_DEV_RAM_COUNT=16 |
368 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 377 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
378 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
369 | CONFIG_BLK_DEV_INITRD=y | 379 | CONFIG_BLK_DEV_INITRD=y |
370 | # CONFIG_CDROM_PKTCDVD is not set | 380 | # CONFIG_CDROM_PKTCDVD is not set |
371 | # CONFIG_ATA_OVER_ETH is not set | 381 | # CONFIG_ATA_OVER_ETH is not set |
@@ -622,6 +632,7 @@ CONFIG_8139TOO=y | |||
622 | # CONFIG_TLAN is not set | 632 | # CONFIG_TLAN is not set |
623 | CONFIG_VIA_RHINE=y | 633 | CONFIG_VIA_RHINE=y |
624 | # CONFIG_VIA_RHINE_MMIO is not set | 634 | # CONFIG_VIA_RHINE_MMIO is not set |
635 | # CONFIG_VIA_RHINE_NAPI is not set | ||
625 | 636 | ||
626 | # | 637 | # |
627 | # Ethernet (1000 Mbit) | 638 | # Ethernet (1000 Mbit) |
@@ -751,6 +762,7 @@ CONFIG_SERIO_LIBPS2=y | |||
751 | CONFIG_VT=y | 762 | CONFIG_VT=y |
752 | CONFIG_VT_CONSOLE=y | 763 | CONFIG_VT_CONSOLE=y |
753 | CONFIG_HW_CONSOLE=y | 764 | CONFIG_HW_CONSOLE=y |
765 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
754 | # CONFIG_SERIAL_NONSTANDARD is not set | 766 | # CONFIG_SERIAL_NONSTANDARD is not set |
755 | 767 | ||
756 | # | 768 | # |
@@ -783,6 +795,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
783 | # Watchdog Cards | 795 | # Watchdog Cards |
784 | # | 796 | # |
785 | # CONFIG_WATCHDOG is not set | 797 | # CONFIG_WATCHDOG is not set |
798 | # CONFIG_HW_RANDOM is not set | ||
786 | CONFIG_NVRAM=y | 799 | CONFIG_NVRAM=y |
787 | CONFIG_GEN_RTC=y | 800 | CONFIG_GEN_RTC=y |
788 | # CONFIG_GEN_RTC_X is not set | 801 | # CONFIG_GEN_RTC_X is not set |
@@ -894,12 +907,12 @@ CONFIG_VIDEO_V4L2=y | |||
894 | # | 907 | # |
895 | # Graphics support | 908 | # Graphics support |
896 | # | 909 | # |
910 | CONFIG_FIRMWARE_EDID=y | ||
897 | CONFIG_FB=y | 911 | CONFIG_FB=y |
898 | CONFIG_FB_CFB_FILLRECT=y | 912 | CONFIG_FB_CFB_FILLRECT=y |
899 | CONFIG_FB_CFB_COPYAREA=y | 913 | CONFIG_FB_CFB_COPYAREA=y |
900 | CONFIG_FB_CFB_IMAGEBLIT=y | 914 | CONFIG_FB_CFB_IMAGEBLIT=y |
901 | CONFIG_FB_MACMODES=y | 915 | CONFIG_FB_MACMODES=y |
902 | CONFIG_FB_FIRMWARE_EDID=y | ||
903 | # CONFIG_FB_BACKLIGHT is not set | 916 | # CONFIG_FB_BACKLIGHT is not set |
904 | CONFIG_FB_MODE_HELPERS=y | 917 | CONFIG_FB_MODE_HELPERS=y |
905 | CONFIG_FB_TILEBLITTING=y | 918 | CONFIG_FB_TILEBLITTING=y |
@@ -1079,7 +1092,7 @@ CONFIG_USB_MON=y | |||
1079 | # CONFIG_USB_LEGOTOWER is not set | 1092 | # CONFIG_USB_LEGOTOWER is not set |
1080 | # CONFIG_USB_LCD is not set | 1093 | # CONFIG_USB_LCD is not set |
1081 | # CONFIG_USB_LED is not set | 1094 | # CONFIG_USB_LED is not set |
1082 | # CONFIG_USB_CY7C63 is not set | 1095 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1083 | # CONFIG_USB_CYTHERM is not set | 1096 | # CONFIG_USB_CYTHERM is not set |
1084 | # CONFIG_USB_PHIDGETKIT is not set | 1097 | # CONFIG_USB_PHIDGETKIT is not set |
1085 | # CONFIG_USB_PHIDGETSERVO is not set | 1098 | # CONFIG_USB_PHIDGETSERVO is not set |
@@ -1305,6 +1318,7 @@ CONFIG_ZLIB_INFLATE=m | |||
1305 | CONFIG_ZLIB_DEFLATE=m | 1318 | CONFIG_ZLIB_DEFLATE=m |
1306 | CONFIG_TEXTSEARCH=y | 1319 | CONFIG_TEXTSEARCH=y |
1307 | CONFIG_TEXTSEARCH_KMP=m | 1320 | CONFIG_TEXTSEARCH_KMP=m |
1321 | CONFIG_PLIST=y | ||
1308 | 1322 | ||
1309 | # | 1323 | # |
1310 | # Instrumentation Support | 1324 | # Instrumentation Support |
@@ -1316,14 +1330,19 @@ CONFIG_TEXTSEARCH_KMP=m | |||
1316 | # | 1330 | # |
1317 | # CONFIG_PRINTK_TIME is not set | 1331 | # CONFIG_PRINTK_TIME is not set |
1318 | CONFIG_MAGIC_SYSRQ=y | 1332 | CONFIG_MAGIC_SYSRQ=y |
1333 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1319 | CONFIG_DEBUG_KERNEL=y | 1334 | CONFIG_DEBUG_KERNEL=y |
1320 | CONFIG_LOG_BUF_SHIFT=15 | 1335 | CONFIG_LOG_BUF_SHIFT=15 |
1321 | CONFIG_DETECT_SOFTLOCKUP=y | 1336 | CONFIG_DETECT_SOFTLOCKUP=y |
1322 | # CONFIG_SCHEDSTATS is not set | 1337 | # CONFIG_SCHEDSTATS is not set |
1323 | # CONFIG_DEBUG_SLAB is not set | 1338 | # CONFIG_DEBUG_SLAB is not set |
1324 | CONFIG_DEBUG_MUTEXES=y | 1339 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1340 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1325 | # CONFIG_DEBUG_SPINLOCK is not set | 1341 | # CONFIG_DEBUG_SPINLOCK is not set |
1342 | CONFIG_DEBUG_MUTEXES=y | ||
1343 | # CONFIG_DEBUG_RWSEMS is not set | ||
1326 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | 1344 | CONFIG_DEBUG_SPINLOCK_SLEEP=y |
1345 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1327 | # CONFIG_DEBUG_KOBJECT is not set | 1346 | # CONFIG_DEBUG_KOBJECT is not set |
1328 | # CONFIG_DEBUG_HIGHMEM is not set | 1347 | # CONFIG_DEBUG_HIGHMEM is not set |
1329 | # CONFIG_DEBUG_INFO is not set | 1348 | # CONFIG_DEBUG_INFO is not set |
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig index 8c6bd17c692..4b9c2ed925f 100644 --- a/arch/powerpc/configs/g5_defconfig +++ b/arch/powerpc/configs/g5_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.18-rc3 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Tue Aug 8 09:12:29 2006 | 4 | # Sun Sep 10 10:22:55 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -126,7 +126,6 @@ CONFIG_PPC_PMAC64=y | |||
126 | # CONFIG_PPC_IBM_CELL_BLADE is not set | 126 | # CONFIG_PPC_IBM_CELL_BLADE is not set |
127 | # CONFIG_UDBG_RTAS_CONSOLE is not set | 127 | # CONFIG_UDBG_RTAS_CONSOLE is not set |
128 | CONFIG_U3_DART=y | 128 | CONFIG_U3_DART=y |
129 | CONFIG_MPIC=y | ||
130 | # CONFIG_PPC_RTAS is not set | 129 | # CONFIG_PPC_RTAS is not set |
131 | # CONFIG_MMIO_NVRAM is not set | 130 | # CONFIG_MMIO_NVRAM is not set |
132 | CONFIG_MPIC_BROKEN_U3=y | 131 | CONFIG_MPIC_BROKEN_U3=y |
@@ -146,6 +145,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y | |||
146 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set | 145 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set |
147 | CONFIG_CPU_FREQ_PMAC64=y | 146 | CONFIG_CPU_FREQ_PMAC64=y |
148 | # CONFIG_WANT_EARLY_SERIAL is not set | 147 | # CONFIG_WANT_EARLY_SERIAL is not set |
148 | CONFIG_MPIC=y | ||
149 | 149 | ||
150 | # | 150 | # |
151 | # Kernel options | 151 | # Kernel options |
@@ -192,6 +192,7 @@ CONFIG_ISA_DMA_API=y | |||
192 | # Bus options | 192 | # Bus options |
193 | # | 193 | # |
194 | CONFIG_GENERIC_ISA_DMA=y | 194 | CONFIG_GENERIC_ISA_DMA=y |
195 | # CONFIG_MPIC_WEIRD is not set | ||
195 | # CONFIG_PPC_I8259 is not set | 196 | # CONFIG_PPC_I8259 is not set |
196 | # CONFIG_PPC_INDIRECT_PCI is not set | 197 | # CONFIG_PPC_INDIRECT_PCI is not set |
197 | CONFIG_PCI=y | 198 | CONFIG_PCI=y |
@@ -772,7 +773,6 @@ CONFIG_HW_CONSOLE=y | |||
772 | CONFIG_UNIX98_PTYS=y | 773 | CONFIG_UNIX98_PTYS=y |
773 | CONFIG_LEGACY_PTYS=y | 774 | CONFIG_LEGACY_PTYS=y |
774 | CONFIG_LEGACY_PTY_COUNT=256 | 775 | CONFIG_LEGACY_PTY_COUNT=256 |
775 | # CONFIG_BRIQ_PANEL is not set | ||
776 | 776 | ||
777 | # | 777 | # |
778 | # IPMI | 778 | # IPMI |
@@ -1195,7 +1195,6 @@ CONFIG_USB_MON=y | |||
1195 | CONFIG_USB_SERIAL=m | 1195 | CONFIG_USB_SERIAL=m |
1196 | CONFIG_USB_SERIAL_GENERIC=y | 1196 | CONFIG_USB_SERIAL_GENERIC=y |
1197 | # CONFIG_USB_SERIAL_AIRPRIME is not set | 1197 | # CONFIG_USB_SERIAL_AIRPRIME is not set |
1198 | # CONFIG_USB_SERIAL_ANYDATA is not set | ||
1199 | # CONFIG_USB_SERIAL_ARK3116 is not set | 1198 | # CONFIG_USB_SERIAL_ARK3116 is not set |
1200 | CONFIG_USB_SERIAL_BELKIN=m | 1199 | CONFIG_USB_SERIAL_BELKIN=m |
1201 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | 1200 | # CONFIG_USB_SERIAL_WHITEHEAT is not set |
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig index 72ed95b3ead..eb0885ea073 100644 --- a/arch/powerpc/configs/iseries_defconfig +++ b/arch/powerpc/configs/iseries_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.18-rc3 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Tue Aug 8 09:15:46 2006 | 4 | # Sun Sep 10 10:22:57 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -129,6 +129,7 @@ CONFIG_IBMVIO=y | |||
129 | # CONFIG_PPC_970_NAP is not set | 129 | # CONFIG_PPC_970_NAP is not set |
130 | # CONFIG_CPU_FREQ is not set | 130 | # CONFIG_CPU_FREQ is not set |
131 | # CONFIG_WANT_EARLY_SERIAL is not set | 131 | # CONFIG_WANT_EARLY_SERIAL is not set |
132 | # CONFIG_MPIC is not set | ||
132 | 133 | ||
133 | # | 134 | # |
134 | # Kernel options | 135 | # Kernel options |
@@ -172,6 +173,7 @@ CONFIG_ISA_DMA_API=y | |||
172 | # Bus options | 173 | # Bus options |
173 | # | 174 | # |
174 | CONFIG_GENERIC_ISA_DMA=y | 175 | CONFIG_GENERIC_ISA_DMA=y |
176 | # CONFIG_MPIC_WEIRD is not set | ||
175 | # CONFIG_PPC_I8259 is not set | 177 | # CONFIG_PPC_I8259 is not set |
176 | # CONFIG_PPC_INDIRECT_PCI is not set | 178 | # CONFIG_PPC_INDIRECT_PCI is not set |
177 | CONFIG_PCI=y | 179 | CONFIG_PCI=y |
@@ -716,7 +718,6 @@ CONFIG_SERIAL_ICOM=m | |||
716 | CONFIG_UNIX98_PTYS=y | 718 | CONFIG_UNIX98_PTYS=y |
717 | CONFIG_LEGACY_PTYS=y | 719 | CONFIG_LEGACY_PTYS=y |
718 | CONFIG_LEGACY_PTY_COUNT=256 | 720 | CONFIG_LEGACY_PTY_COUNT=256 |
719 | # CONFIG_BRIQ_PANEL is not set | ||
720 | 721 | ||
721 | # | 722 | # |
722 | # IPMI | 723 | # IPMI |
diff --git a/arch/powerpc/configs/maple_defconfig b/arch/powerpc/configs/maple_defconfig index 27b18ca1549..62ba66091a1 100644 --- a/arch/powerpc/configs/maple_defconfig +++ b/arch/powerpc/configs/maple_defconfig | |||
@@ -1,15 +1,18 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc6 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Wed Mar 15 16:19:54 2006 | 4 | # Sun Sep 10 10:24:55 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
8 | CONFIG_PPC_MERGE=y | 8 | CONFIG_PPC_MERGE=y |
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_IRQ_PER_CPU=y | ||
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 12 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
13 | CONFIG_GENERIC_HWEIGHT=y | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 14 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
15 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
13 | CONFIG_PPC=y | 16 | CONFIG_PPC=y |
14 | CONFIG_EARLY_PRINTK=y | 17 | CONFIG_EARLY_PRINTK=y |
15 | CONFIG_COMPAT=y | 18 | CONFIG_COMPAT=y |
@@ -29,8 +32,10 @@ CONFIG_POWER4=y | |||
29 | CONFIG_PPC_FPU=y | 32 | CONFIG_PPC_FPU=y |
30 | # CONFIG_ALTIVEC is not set | 33 | # CONFIG_ALTIVEC is not set |
31 | CONFIG_PPC_STD_MMU=y | 34 | CONFIG_PPC_STD_MMU=y |
35 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
32 | CONFIG_SMP=y | 36 | CONFIG_SMP=y |
33 | CONFIG_NR_CPUS=2 | 37 | CONFIG_NR_CPUS=2 |
38 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
34 | 39 | ||
35 | # | 40 | # |
36 | # Code maturity level options | 41 | # Code maturity level options |
@@ -48,11 +53,13 @@ CONFIG_SWAP=y | |||
48 | CONFIG_SYSVIPC=y | 53 | CONFIG_SYSVIPC=y |
49 | CONFIG_POSIX_MQUEUE=y | 54 | CONFIG_POSIX_MQUEUE=y |
50 | # CONFIG_BSD_PROCESS_ACCT is not set | 55 | # CONFIG_BSD_PROCESS_ACCT is not set |
56 | # CONFIG_TASKSTATS is not set | ||
51 | CONFIG_SYSCTL=y | 57 | CONFIG_SYSCTL=y |
52 | # CONFIG_AUDIT is not set | 58 | # CONFIG_AUDIT is not set |
53 | CONFIG_IKCONFIG=y | 59 | CONFIG_IKCONFIG=y |
54 | CONFIG_IKCONFIG_PROC=y | 60 | CONFIG_IKCONFIG_PROC=y |
55 | # CONFIG_CPUSETS is not set | 61 | # CONFIG_CPUSETS is not set |
62 | # CONFIG_RELAY is not set | ||
56 | CONFIG_INITRAMFS_SOURCE="" | 63 | CONFIG_INITRAMFS_SOURCE="" |
57 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 64 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
58 | # CONFIG_EMBEDDED is not set | 65 | # CONFIG_EMBEDDED is not set |
@@ -64,14 +71,12 @@ CONFIG_PRINTK=y | |||
64 | CONFIG_BUG=y | 71 | CONFIG_BUG=y |
65 | CONFIG_ELF_CORE=y | 72 | CONFIG_ELF_CORE=y |
66 | CONFIG_BASE_FULL=y | 73 | CONFIG_BASE_FULL=y |
74 | CONFIG_RT_MUTEXES=y | ||
67 | CONFIG_FUTEX=y | 75 | CONFIG_FUTEX=y |
68 | CONFIG_EPOLL=y | 76 | CONFIG_EPOLL=y |
69 | CONFIG_SHMEM=y | 77 | CONFIG_SHMEM=y |
70 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
71 | CONFIG_CC_ALIGN_LABELS=0 | ||
72 | CONFIG_CC_ALIGN_LOOPS=0 | ||
73 | CONFIG_CC_ALIGN_JUMPS=0 | ||
74 | CONFIG_SLAB=y | 78 | CONFIG_SLAB=y |
79 | CONFIG_VM_EVENT_COUNTERS=y | ||
75 | # CONFIG_TINY_SHMEM is not set | 80 | # CONFIG_TINY_SHMEM is not set |
76 | CONFIG_BASE_SMALL=0 | 81 | CONFIG_BASE_SMALL=0 |
77 | # CONFIG_SLOB is not set | 82 | # CONFIG_SLOB is not set |
@@ -82,7 +87,6 @@ CONFIG_BASE_SMALL=0 | |||
82 | CONFIG_MODULES=y | 87 | CONFIG_MODULES=y |
83 | CONFIG_MODULE_UNLOAD=y | 88 | CONFIG_MODULE_UNLOAD=y |
84 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 89 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
85 | CONFIG_OBSOLETE_MODPARM=y | ||
86 | CONFIG_MODVERSIONS=y | 90 | CONFIG_MODVERSIONS=y |
87 | CONFIG_MODULE_SRCVERSION_ALL=y | 91 | CONFIG_MODULE_SRCVERSION_ALL=y |
88 | CONFIG_KMOD=y | 92 | CONFIG_KMOD=y |
@@ -91,6 +95,7 @@ CONFIG_STOP_MACHINE=y | |||
91 | # | 95 | # |
92 | # Block layer | 96 | # Block layer |
93 | # | 97 | # |
98 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
94 | 99 | ||
95 | # | 100 | # |
96 | # IO Schedulers | 101 | # IO Schedulers |
@@ -116,14 +121,18 @@ CONFIG_PPC_MULTIPLATFORM=y | |||
116 | # CONFIG_PPC_PMAC is not set | 121 | # CONFIG_PPC_PMAC is not set |
117 | CONFIG_PPC_MAPLE=y | 122 | CONFIG_PPC_MAPLE=y |
118 | # CONFIG_PPC_CELL is not set | 123 | # CONFIG_PPC_CELL is not set |
124 | # CONFIG_PPC_CELL_NATIVE is not set | ||
125 | # CONFIG_PPC_IBM_CELL_BLADE is not set | ||
126 | # CONFIG_UDBG_RTAS_CONSOLE is not set | ||
119 | CONFIG_U3_DART=y | 127 | CONFIG_U3_DART=y |
120 | CONFIG_MPIC=y | ||
121 | # CONFIG_PPC_RTAS is not set | 128 | # CONFIG_PPC_RTAS is not set |
122 | # CONFIG_MMIO_NVRAM is not set | 129 | # CONFIG_MMIO_NVRAM is not set |
123 | CONFIG_MPIC_BROKEN_U3=y | 130 | CONFIG_MPIC_BROKEN_U3=y |
124 | # CONFIG_PPC_MPC106 is not set | 131 | # CONFIG_PPC_MPC106 is not set |
132 | CONFIG_PPC_970_NAP=y | ||
125 | # CONFIG_CPU_FREQ is not set | 133 | # CONFIG_CPU_FREQ is not set |
126 | # CONFIG_WANT_EARLY_SERIAL is not set | 134 | # CONFIG_WANT_EARLY_SERIAL is not set |
135 | CONFIG_MPIC=y | ||
127 | 136 | ||
128 | # | 137 | # |
129 | # Kernel options | 138 | # Kernel options |
@@ -140,6 +149,7 @@ CONFIG_BINFMT_ELF=y | |||
140 | # CONFIG_BINFMT_MISC is not set | 149 | # CONFIG_BINFMT_MISC is not set |
141 | CONFIG_FORCE_MAX_ZONEORDER=13 | 150 | CONFIG_FORCE_MAX_ZONEORDER=13 |
142 | CONFIG_IOMMU_VMERGE=y | 151 | CONFIG_IOMMU_VMERGE=y |
152 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
143 | CONFIG_KEXEC=y | 153 | CONFIG_KEXEC=y |
144 | # CONFIG_CRASH_DUMP is not set | 154 | # CONFIG_CRASH_DUMP is not set |
145 | CONFIG_IRQ_ALL_CPUS=y | 155 | CONFIG_IRQ_ALL_CPUS=y |
@@ -155,6 +165,7 @@ CONFIG_FLATMEM=y | |||
155 | CONFIG_FLAT_NODE_MEM_MAP=y | 165 | CONFIG_FLAT_NODE_MEM_MAP=y |
156 | # CONFIG_SPARSEMEM_STATIC is not set | 166 | # CONFIG_SPARSEMEM_STATIC is not set |
157 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 167 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
168 | CONFIG_RESOURCES_64BIT=y | ||
158 | # CONFIG_PPC_64K_PAGES is not set | 169 | # CONFIG_PPC_64K_PAGES is not set |
159 | # CONFIG_SCHED_SMT is not set | 170 | # CONFIG_SCHED_SMT is not set |
160 | CONFIG_PROC_DEVICETREE=y | 171 | CONFIG_PROC_DEVICETREE=y |
@@ -167,11 +178,12 @@ CONFIG_ISA_DMA_API=y | |||
167 | # Bus options | 178 | # Bus options |
168 | # | 179 | # |
169 | CONFIG_GENERIC_ISA_DMA=y | 180 | CONFIG_GENERIC_ISA_DMA=y |
181 | # CONFIG_MPIC_WEIRD is not set | ||
170 | # CONFIG_PPC_I8259 is not set | 182 | # CONFIG_PPC_I8259 is not set |
171 | # CONFIG_PPC_INDIRECT_PCI is not set | 183 | # CONFIG_PPC_INDIRECT_PCI is not set |
172 | CONFIG_PCI=y | 184 | CONFIG_PCI=y |
173 | CONFIG_PCI_DOMAINS=y | 185 | CONFIG_PCI_DOMAINS=y |
174 | CONFIG_PCI_LEGACY_PROC=y | 186 | # CONFIG_PCIEPORTBUS is not set |
175 | # CONFIG_PCI_DEBUG is not set | 187 | # CONFIG_PCI_DEBUG is not set |
176 | 188 | ||
177 | # | 189 | # |
@@ -197,6 +209,8 @@ CONFIG_NET=y | |||
197 | CONFIG_PACKET=y | 209 | CONFIG_PACKET=y |
198 | CONFIG_PACKET_MMAP=y | 210 | CONFIG_PACKET_MMAP=y |
199 | CONFIG_UNIX=y | 211 | CONFIG_UNIX=y |
212 | CONFIG_XFRM=y | ||
213 | CONFIG_XFRM_USER=m | ||
200 | # CONFIG_NET_KEY is not set | 214 | # CONFIG_NET_KEY is not set |
201 | CONFIG_INET=y | 215 | CONFIG_INET=y |
202 | CONFIG_IP_MULTICAST=y | 216 | CONFIG_IP_MULTICAST=y |
@@ -214,12 +228,18 @@ CONFIG_IP_PNP_DHCP=y | |||
214 | # CONFIG_INET_AH is not set | 228 | # CONFIG_INET_AH is not set |
215 | # CONFIG_INET_ESP is not set | 229 | # CONFIG_INET_ESP is not set |
216 | # CONFIG_INET_IPCOMP is not set | 230 | # CONFIG_INET_IPCOMP is not set |
231 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
217 | # CONFIG_INET_TUNNEL is not set | 232 | # CONFIG_INET_TUNNEL is not set |
233 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
234 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
218 | CONFIG_INET_DIAG=y | 235 | CONFIG_INET_DIAG=y |
219 | CONFIG_INET_TCP_DIAG=y | 236 | CONFIG_INET_TCP_DIAG=y |
220 | # CONFIG_TCP_CONG_ADVANCED is not set | 237 | # CONFIG_TCP_CONG_ADVANCED is not set |
221 | CONFIG_TCP_CONG_BIC=y | 238 | CONFIG_TCP_CONG_BIC=y |
222 | # CONFIG_IPV6 is not set | 239 | # CONFIG_IPV6 is not set |
240 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
241 | # CONFIG_INET6_TUNNEL is not set | ||
242 | # CONFIG_NETWORK_SECMARK is not set | ||
223 | # CONFIG_NETFILTER is not set | 243 | # CONFIG_NETFILTER is not set |
224 | 244 | ||
225 | # | 245 | # |
@@ -274,6 +294,7 @@ CONFIG_STANDALONE=y | |||
274 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 294 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
275 | # CONFIG_FW_LOADER is not set | 295 | # CONFIG_FW_LOADER is not set |
276 | # CONFIG_DEBUG_DRIVER is not set | 296 | # CONFIG_DEBUG_DRIVER is not set |
297 | # CONFIG_SYS_HYPERVISOR is not set | ||
277 | 298 | ||
278 | # | 299 | # |
279 | # Connector - unified userspace <-> kernelspace linker | 300 | # Connector - unified userspace <-> kernelspace linker |
@@ -310,6 +331,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
310 | CONFIG_BLK_DEV_RAM=y | 331 | CONFIG_BLK_DEV_RAM=y |
311 | CONFIG_BLK_DEV_RAM_COUNT=16 | 332 | CONFIG_BLK_DEV_RAM_COUNT=16 |
312 | CONFIG_BLK_DEV_RAM_SIZE=8192 | 333 | CONFIG_BLK_DEV_RAM_SIZE=8192 |
334 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
313 | # CONFIG_BLK_DEV_INITRD is not set | 335 | # CONFIG_BLK_DEV_INITRD is not set |
314 | # CONFIG_CDROM_PKTCDVD is not set | 336 | # CONFIG_CDROM_PKTCDVD is not set |
315 | # CONFIG_ATA_OVER_ETH is not set | 337 | # CONFIG_ATA_OVER_ETH is not set |
@@ -484,6 +506,7 @@ CONFIG_TIGON3=y | |||
484 | # CONFIG_CHELSIO_T1 is not set | 506 | # CONFIG_CHELSIO_T1 is not set |
485 | # CONFIG_IXGB is not set | 507 | # CONFIG_IXGB is not set |
486 | # CONFIG_S2IO is not set | 508 | # CONFIG_S2IO is not set |
509 | # CONFIG_MYRI10GE is not set | ||
487 | 510 | ||
488 | # | 511 | # |
489 | # Token Ring devices | 512 | # Token Ring devices |
@@ -556,6 +579,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1200 | |||
556 | CONFIG_VT=y | 579 | CONFIG_VT=y |
557 | CONFIG_VT_CONSOLE=y | 580 | CONFIG_VT_CONSOLE=y |
558 | CONFIG_HW_CONSOLE=y | 581 | CONFIG_HW_CONSOLE=y |
582 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
559 | # CONFIG_SERIAL_NONSTANDARD is not set | 583 | # CONFIG_SERIAL_NONSTANDARD is not set |
560 | 584 | ||
561 | # | 585 | # |
@@ -563,6 +587,7 @@ CONFIG_HW_CONSOLE=y | |||
563 | # | 587 | # |
564 | CONFIG_SERIAL_8250=y | 588 | CONFIG_SERIAL_8250=y |
565 | CONFIG_SERIAL_8250_CONSOLE=y | 589 | CONFIG_SERIAL_8250_CONSOLE=y |
590 | CONFIG_SERIAL_8250_PCI=y | ||
566 | CONFIG_SERIAL_8250_NR_UARTS=4 | 591 | CONFIG_SERIAL_8250_NR_UARTS=4 |
567 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 592 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
568 | # CONFIG_SERIAL_8250_EXTENDED is not set | 593 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -586,7 +611,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
586 | # Watchdog Cards | 611 | # Watchdog Cards |
587 | # | 612 | # |
588 | # CONFIG_WATCHDOG is not set | 613 | # CONFIG_WATCHDOG is not set |
589 | # CONFIG_RTC is not set | 614 | # CONFIG_HW_RANDOM is not set |
590 | CONFIG_GEN_RTC=y | 615 | CONFIG_GEN_RTC=y |
591 | # CONFIG_GEN_RTC_X is not set | 616 | # CONFIG_GEN_RTC_X is not set |
592 | # CONFIG_DTLK is not set | 617 | # CONFIG_DTLK is not set |
@@ -632,10 +657,10 @@ CONFIG_I2C_AMD8111=y | |||
632 | # CONFIG_I2C_I810 is not set | 657 | # CONFIG_I2C_I810 is not set |
633 | # CONFIG_I2C_PIIX4 is not set | 658 | # CONFIG_I2C_PIIX4 is not set |
634 | # CONFIG_I2C_NFORCE2 is not set | 659 | # CONFIG_I2C_NFORCE2 is not set |
660 | # CONFIG_I2C_OCORES is not set | ||
635 | # CONFIG_I2C_PARPORT_LIGHT is not set | 661 | # CONFIG_I2C_PARPORT_LIGHT is not set |
636 | # CONFIG_I2C_PROSAVAGE is not set | 662 | # CONFIG_I2C_PROSAVAGE is not set |
637 | # CONFIG_I2C_SAVAGE4 is not set | 663 | # CONFIG_I2C_SAVAGE4 is not set |
638 | # CONFIG_SCx200_ACB is not set | ||
639 | # CONFIG_I2C_SIS5595 is not set | 664 | # CONFIG_I2C_SIS5595 is not set |
640 | # CONFIG_I2C_SIS630 is not set | 665 | # CONFIG_I2C_SIS630 is not set |
641 | # CONFIG_I2C_SIS96X is not set | 666 | # CONFIG_I2C_SIS96X is not set |
@@ -654,9 +679,7 @@ CONFIG_I2C_AMD8111=y | |||
654 | # CONFIG_SENSORS_PCF8574 is not set | 679 | # CONFIG_SENSORS_PCF8574 is not set |
655 | # CONFIG_SENSORS_PCA9539 is not set | 680 | # CONFIG_SENSORS_PCA9539 is not set |
656 | # CONFIG_SENSORS_PCF8591 is not set | 681 | # CONFIG_SENSORS_PCF8591 is not set |
657 | # CONFIG_SENSORS_RTC8564 is not set | ||
658 | # CONFIG_SENSORS_MAX6875 is not set | 682 | # CONFIG_SENSORS_MAX6875 is not set |
659 | # CONFIG_RTC_X1205_I2C is not set | ||
660 | # CONFIG_I2C_DEBUG_CORE is not set | 683 | # CONFIG_I2C_DEBUG_CORE is not set |
661 | # CONFIG_I2C_DEBUG_ALGO is not set | 684 | # CONFIG_I2C_DEBUG_ALGO is not set |
662 | # CONFIG_I2C_DEBUG_BUS is not set | 685 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -671,7 +694,6 @@ CONFIG_I2C_AMD8111=y | |||
671 | # | 694 | # |
672 | # Dallas's 1-wire bus | 695 | # Dallas's 1-wire bus |
673 | # | 696 | # |
674 | # CONFIG_W1 is not set | ||
675 | 697 | ||
676 | # | 698 | # |
677 | # Hardware Monitoring support | 699 | # Hardware Monitoring support |
@@ -684,22 +706,21 @@ CONFIG_I2C_AMD8111=y | |||
684 | # | 706 | # |
685 | 707 | ||
686 | # | 708 | # |
687 | # Multimedia Capabilities Port drivers | ||
688 | # | ||
689 | |||
690 | # | ||
691 | # Multimedia devices | 709 | # Multimedia devices |
692 | # | 710 | # |
693 | # CONFIG_VIDEO_DEV is not set | 711 | # CONFIG_VIDEO_DEV is not set |
712 | CONFIG_VIDEO_V4L2=y | ||
694 | 713 | ||
695 | # | 714 | # |
696 | # Digital Video Broadcasting Devices | 715 | # Digital Video Broadcasting Devices |
697 | # | 716 | # |
698 | # CONFIG_DVB is not set | 717 | # CONFIG_DVB is not set |
718 | # CONFIG_USB_DABUSB is not set | ||
699 | 719 | ||
700 | # | 720 | # |
701 | # Graphics support | 721 | # Graphics support |
702 | # | 722 | # |
723 | CONFIG_FIRMWARE_EDID=y | ||
703 | # CONFIG_FB is not set | 724 | # CONFIG_FB is not set |
704 | 725 | ||
705 | # | 726 | # |
@@ -707,6 +728,7 @@ CONFIG_I2C_AMD8111=y | |||
707 | # | 728 | # |
708 | # CONFIG_VGA_CONSOLE is not set | 729 | # CONFIG_VGA_CONSOLE is not set |
709 | CONFIG_DUMMY_CONSOLE=y | 730 | CONFIG_DUMMY_CONSOLE=y |
731 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
710 | 732 | ||
711 | # | 733 | # |
712 | # Sound | 734 | # Sound |
@@ -718,6 +740,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
718 | # | 740 | # |
719 | CONFIG_USB_ARCH_HAS_HCD=y | 741 | CONFIG_USB_ARCH_HAS_HCD=y |
720 | CONFIG_USB_ARCH_HAS_OHCI=y | 742 | CONFIG_USB_ARCH_HAS_OHCI=y |
743 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
721 | CONFIG_USB=y | 744 | CONFIG_USB=y |
722 | # CONFIG_USB_DEBUG is not set | 745 | # CONFIG_USB_DEBUG is not set |
723 | 746 | ||
@@ -735,6 +758,7 @@ CONFIG_USB_DEVICEFS=y | |||
735 | CONFIG_USB_EHCI_HCD=y | 758 | CONFIG_USB_EHCI_HCD=y |
736 | CONFIG_USB_EHCI_SPLIT_ISO=y | 759 | CONFIG_USB_EHCI_SPLIT_ISO=y |
737 | CONFIG_USB_EHCI_ROOT_HUB_TT=y | 760 | CONFIG_USB_EHCI_ROOT_HUB_TT=y |
761 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | ||
738 | # CONFIG_USB_ISP116X_HCD is not set | 762 | # CONFIG_USB_ISP116X_HCD is not set |
739 | CONFIG_USB_OHCI_HCD=y | 763 | CONFIG_USB_OHCI_HCD=y |
740 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | 764 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set |
@@ -771,9 +795,7 @@ CONFIG_USB_HIDINPUT=y | |||
771 | # CONFIG_USB_ACECAD is not set | 795 | # CONFIG_USB_ACECAD is not set |
772 | # CONFIG_USB_KBTAB is not set | 796 | # CONFIG_USB_KBTAB is not set |
773 | # CONFIG_USB_POWERMATE is not set | 797 | # CONFIG_USB_POWERMATE is not set |
774 | # CONFIG_USB_MTOUCH is not set | 798 | # CONFIG_USB_TOUCHSCREEN is not set |
775 | # CONFIG_USB_ITMTOUCH is not set | ||
776 | # CONFIG_USB_EGALAX is not set | ||
777 | # CONFIG_USB_YEALINK is not set | 799 | # CONFIG_USB_YEALINK is not set |
778 | # CONFIG_USB_XPAD is not set | 800 | # CONFIG_USB_XPAD is not set |
779 | # CONFIG_USB_ATI_REMOTE is not set | 801 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -787,15 +809,6 @@ CONFIG_USB_HIDINPUT=y | |||
787 | # CONFIG_USB_MDC800 is not set | 809 | # CONFIG_USB_MDC800 is not set |
788 | 810 | ||
789 | # | 811 | # |
790 | # USB Multimedia devices | ||
791 | # | ||
792 | # CONFIG_USB_DABUSB is not set | ||
793 | |||
794 | # | ||
795 | # Video4Linux support is needed for USB Multimedia device support | ||
796 | # | ||
797 | |||
798 | # | ||
799 | # USB Network Adapters | 812 | # USB Network Adapters |
800 | # | 813 | # |
801 | # CONFIG_USB_CATC is not set | 814 | # CONFIG_USB_CATC is not set |
@@ -816,7 +829,7 @@ CONFIG_USB_SERIAL=y | |||
816 | # CONFIG_USB_SERIAL_CONSOLE is not set | 829 | # CONFIG_USB_SERIAL_CONSOLE is not set |
817 | CONFIG_USB_SERIAL_GENERIC=y | 830 | CONFIG_USB_SERIAL_GENERIC=y |
818 | # CONFIG_USB_SERIAL_AIRPRIME is not set | 831 | # CONFIG_USB_SERIAL_AIRPRIME is not set |
819 | # CONFIG_USB_SERIAL_ANYDATA is not set | 832 | # CONFIG_USB_SERIAL_ARK3116 is not set |
820 | # CONFIG_USB_SERIAL_BELKIN is not set | 833 | # CONFIG_USB_SERIAL_BELKIN is not set |
821 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | 834 | # CONFIG_USB_SERIAL_WHITEHEAT is not set |
822 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | 835 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set |
@@ -824,6 +837,7 @@ CONFIG_USB_SERIAL_GENERIC=y | |||
824 | CONFIG_USB_SERIAL_CYPRESS_M8=m | 837 | CONFIG_USB_SERIAL_CYPRESS_M8=m |
825 | # CONFIG_USB_SERIAL_EMPEG is not set | 838 | # CONFIG_USB_SERIAL_EMPEG is not set |
826 | # CONFIG_USB_SERIAL_FTDI_SIO is not set | 839 | # CONFIG_USB_SERIAL_FTDI_SIO is not set |
840 | # CONFIG_USB_SERIAL_FUNSOFT is not set | ||
827 | # CONFIG_USB_SERIAL_VISOR is not set | 841 | # CONFIG_USB_SERIAL_VISOR is not set |
828 | # CONFIG_USB_SERIAL_IPAQ is not set | 842 | # CONFIG_USB_SERIAL_IPAQ is not set |
829 | # CONFIG_USB_SERIAL_IR is not set | 843 | # CONFIG_USB_SERIAL_IR is not set |
@@ -848,12 +862,15 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | |||
848 | # CONFIG_USB_SERIAL_KLSI is not set | 862 | # CONFIG_USB_SERIAL_KLSI is not set |
849 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | 863 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set |
850 | # CONFIG_USB_SERIAL_MCT_U232 is not set | 864 | # CONFIG_USB_SERIAL_MCT_U232 is not set |
865 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
851 | # CONFIG_USB_SERIAL_PL2303 is not set | 866 | # CONFIG_USB_SERIAL_PL2303 is not set |
852 | # CONFIG_USB_SERIAL_HP4X is not set | 867 | # CONFIG_USB_SERIAL_HP4X is not set |
853 | # CONFIG_USB_SERIAL_SAFE is not set | 868 | # CONFIG_USB_SERIAL_SAFE is not set |
869 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | ||
854 | CONFIG_USB_SERIAL_TI=m | 870 | CONFIG_USB_SERIAL_TI=m |
855 | # CONFIG_USB_SERIAL_CYBERJACK is not set | 871 | # CONFIG_USB_SERIAL_CYBERJACK is not set |
856 | # CONFIG_USB_SERIAL_XIRCOM is not set | 872 | # CONFIG_USB_SERIAL_XIRCOM is not set |
873 | # CONFIG_USB_SERIAL_OPTION is not set | ||
857 | # CONFIG_USB_SERIAL_OMNINET is not set | 874 | # CONFIG_USB_SERIAL_OMNINET is not set |
858 | CONFIG_USB_EZUSB=y | 875 | CONFIG_USB_EZUSB=y |
859 | 876 | ||
@@ -867,10 +884,12 @@ CONFIG_USB_EZUSB=y | |||
867 | # CONFIG_USB_LEGOTOWER is not set | 884 | # CONFIG_USB_LEGOTOWER is not set |
868 | # CONFIG_USB_LCD is not set | 885 | # CONFIG_USB_LCD is not set |
869 | # CONFIG_USB_LED is not set | 886 | # CONFIG_USB_LED is not set |
887 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
870 | # CONFIG_USB_CYTHERM is not set | 888 | # CONFIG_USB_CYTHERM is not set |
871 | # CONFIG_USB_PHIDGETKIT is not set | 889 | # CONFIG_USB_PHIDGETKIT is not set |
872 | # CONFIG_USB_PHIDGETSERVO is not set | 890 | # CONFIG_USB_PHIDGETSERVO is not set |
873 | # CONFIG_USB_IDMOUSE is not set | 891 | # CONFIG_USB_IDMOUSE is not set |
892 | # CONFIG_USB_APPLEDISPLAY is not set | ||
874 | # CONFIG_USB_SISUSBVGA is not set | 893 | # CONFIG_USB_SISUSBVGA is not set |
875 | # CONFIG_USB_LD is not set | 894 | # CONFIG_USB_LD is not set |
876 | # CONFIG_USB_TEST is not set | 895 | # CONFIG_USB_TEST is not set |
@@ -890,6 +909,19 @@ CONFIG_USB_EZUSB=y | |||
890 | # CONFIG_MMC is not set | 909 | # CONFIG_MMC is not set |
891 | 910 | ||
892 | # | 911 | # |
912 | # LED devices | ||
913 | # | ||
914 | # CONFIG_NEW_LEDS is not set | ||
915 | |||
916 | # | ||
917 | # LED drivers | ||
918 | # | ||
919 | |||
920 | # | ||
921 | # LED Triggers | ||
922 | # | ||
923 | |||
924 | # | ||
893 | # InfiniBand support | 925 | # InfiniBand support |
894 | # | 926 | # |
895 | # CONFIG_INFINIBAND is not set | 927 | # CONFIG_INFINIBAND is not set |
@@ -899,6 +931,24 @@ CONFIG_USB_EZUSB=y | |||
899 | # | 931 | # |
900 | 932 | ||
901 | # | 933 | # |
934 | # Real Time Clock | ||
935 | # | ||
936 | # CONFIG_RTC_CLASS is not set | ||
937 | |||
938 | # | ||
939 | # DMA Engine support | ||
940 | # | ||
941 | # CONFIG_DMA_ENGINE is not set | ||
942 | |||
943 | # | ||
944 | # DMA Clients | ||
945 | # | ||
946 | |||
947 | # | ||
948 | # DMA Devices | ||
949 | # | ||
950 | |||
951 | # | ||
902 | # File systems | 952 | # File systems |
903 | # | 953 | # |
904 | CONFIG_EXT2_FS=y | 954 | CONFIG_EXT2_FS=y |
@@ -917,6 +967,7 @@ CONFIG_FS_POSIX_ACL=y | |||
917 | # CONFIG_MINIX_FS is not set | 967 | # CONFIG_MINIX_FS is not set |
918 | # CONFIG_ROMFS_FS is not set | 968 | # CONFIG_ROMFS_FS is not set |
919 | CONFIG_INOTIFY=y | 969 | CONFIG_INOTIFY=y |
970 | CONFIG_INOTIFY_USER=y | ||
920 | # CONFIG_QUOTA is not set | 971 | # CONFIG_QUOTA is not set |
921 | CONFIG_DNOTIFY=y | 972 | CONFIG_DNOTIFY=y |
922 | # CONFIG_AUTOFS_FS is not set | 973 | # CONFIG_AUTOFS_FS is not set |
@@ -949,7 +1000,6 @@ CONFIG_TMPFS=y | |||
949 | CONFIG_HUGETLBFS=y | 1000 | CONFIG_HUGETLBFS=y |
950 | CONFIG_HUGETLB_PAGE=y | 1001 | CONFIG_HUGETLB_PAGE=y |
951 | CONFIG_RAMFS=y | 1002 | CONFIG_RAMFS=y |
952 | # CONFIG_RELAYFS_FS is not set | ||
953 | # CONFIG_CONFIGFS_FS is not set | 1003 | # CONFIG_CONFIGFS_FS is not set |
954 | 1004 | ||
955 | # | 1005 | # |
@@ -1067,6 +1117,7 @@ CONFIG_CRC_CCITT=y | |||
1067 | CONFIG_CRC32=y | 1117 | CONFIG_CRC32=y |
1068 | # CONFIG_LIBCRC32C is not set | 1118 | # CONFIG_LIBCRC32C is not set |
1069 | CONFIG_ZLIB_INFLATE=y | 1119 | CONFIG_ZLIB_INFLATE=y |
1120 | CONFIG_PLIST=y | ||
1070 | 1121 | ||
1071 | # | 1122 | # |
1072 | # Instrumentation Support | 1123 | # Instrumentation Support |
@@ -1079,14 +1130,20 @@ CONFIG_ZLIB_INFLATE=y | |||
1079 | # | 1130 | # |
1080 | # CONFIG_PRINTK_TIME is not set | 1131 | # CONFIG_PRINTK_TIME is not set |
1081 | CONFIG_MAGIC_SYSRQ=y | 1132 | CONFIG_MAGIC_SYSRQ=y |
1133 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1082 | CONFIG_DEBUG_KERNEL=y | 1134 | CONFIG_DEBUG_KERNEL=y |
1083 | CONFIG_LOG_BUF_SHIFT=17 | 1135 | CONFIG_LOG_BUF_SHIFT=17 |
1084 | CONFIG_DETECT_SOFTLOCKUP=y | 1136 | CONFIG_DETECT_SOFTLOCKUP=y |
1085 | # CONFIG_SCHEDSTATS is not set | 1137 | # CONFIG_SCHEDSTATS is not set |
1086 | CONFIG_DEBUG_SLAB=y | 1138 | CONFIG_DEBUG_SLAB=y |
1087 | # CONFIG_DEBUG_MUTEXES is not set | 1139 | # CONFIG_DEBUG_SLAB_LEAK is not set |
1140 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1141 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1088 | # CONFIG_DEBUG_SPINLOCK is not set | 1142 | # CONFIG_DEBUG_SPINLOCK is not set |
1143 | # CONFIG_DEBUG_MUTEXES is not set | ||
1144 | # CONFIG_DEBUG_RWSEMS is not set | ||
1089 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | 1145 | CONFIG_DEBUG_SPINLOCK_SLEEP=y |
1146 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1090 | # CONFIG_DEBUG_KOBJECT is not set | 1147 | # CONFIG_DEBUG_KOBJECT is not set |
1091 | # CONFIG_DEBUG_INFO is not set | 1148 | # CONFIG_DEBUG_INFO is not set |
1092 | CONFIG_DEBUG_FS=y | 1149 | CONFIG_DEBUG_FS=y |
@@ -1100,11 +1157,7 @@ CONFIG_XMON=y | |||
1100 | CONFIG_XMON_DEFAULT=y | 1157 | CONFIG_XMON_DEFAULT=y |
1101 | # CONFIG_IRQSTACKS is not set | 1158 | # CONFIG_IRQSTACKS is not set |
1102 | CONFIG_BOOTX_TEXT=y | 1159 | CONFIG_BOOTX_TEXT=y |
1103 | # CONFIG_PPC_EARLY_DEBUG_LPAR is not set | 1160 | # CONFIG_PPC_EARLY_DEBUG is not set |
1104 | # CONFIG_PPC_EARLY_DEBUG_G5 is not set | ||
1105 | # CONFIG_PPC_EARLY_DEBUG_RTAS is not set | ||
1106 | # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set | ||
1107 | # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set | ||
1108 | 1161 | ||
1109 | # | 1162 | # |
1110 | # Security options | 1163 | # Security options |
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig index 15a50f4ceb1..719fba4eb42 100644 --- a/arch/powerpc/configs/mpc7448_hpc2_defconfig +++ b/arch/powerpc/configs/mpc7448_hpc2_defconfig | |||
@@ -1,16 +1,18 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc4 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Sat May 27 18:45:55 2006 | 4 | # Sun Sep 10 10:26:55 2006 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | CONFIG_PPC32=y | 7 | CONFIG_PPC32=y |
8 | CONFIG_PPC_MERGE=y | 8 | CONFIG_PPC_MERGE=y |
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_IRQ_PER_CPU=y | ||
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 12 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | 13 | CONFIG_GENERIC_HWEIGHT=y |
13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 14 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
15 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
14 | CONFIG_PPC=y | 16 | CONFIG_PPC=y |
15 | CONFIG_EARLY_PRINTK=y | 17 | CONFIG_EARLY_PRINTK=y |
16 | CONFIG_GENERIC_NVRAM=y | 18 | CONFIG_GENERIC_NVRAM=y |
@@ -29,6 +31,7 @@ CONFIG_CLASSIC32=y | |||
29 | # CONFIG_PPC_82xx is not set | 31 | # CONFIG_PPC_82xx is not set |
30 | # CONFIG_PPC_83xx is not set | 32 | # CONFIG_PPC_83xx is not set |
31 | # CONFIG_PPC_85xx is not set | 33 | # CONFIG_PPC_85xx is not set |
34 | # CONFIG_PPC_86xx is not set | ||
32 | # CONFIG_40x is not set | 35 | # CONFIG_40x is not set |
33 | # CONFIG_44x is not set | 36 | # CONFIG_44x is not set |
34 | # CONFIG_8xx is not set | 37 | # CONFIG_8xx is not set |
@@ -39,6 +42,7 @@ CONFIG_PPC_FPU=y | |||
39 | CONFIG_PPC_STD_MMU=y | 42 | CONFIG_PPC_STD_MMU=y |
40 | CONFIG_PPC_STD_MMU_32=y | 43 | CONFIG_PPC_STD_MMU_32=y |
41 | # CONFIG_SMP is not set | 44 | # CONFIG_SMP is not set |
45 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
42 | 46 | ||
43 | # | 47 | # |
44 | # Code maturity level options | 48 | # Code maturity level options |
@@ -56,6 +60,7 @@ CONFIG_SWAP=y | |||
56 | CONFIG_SYSVIPC=y | 60 | CONFIG_SYSVIPC=y |
57 | # CONFIG_POSIX_MQUEUE is not set | 61 | # CONFIG_POSIX_MQUEUE is not set |
58 | # CONFIG_BSD_PROCESS_ACCT is not set | 62 | # CONFIG_BSD_PROCESS_ACCT is not set |
63 | # CONFIG_TASKSTATS is not set | ||
59 | CONFIG_SYSCTL=y | 64 | CONFIG_SYSCTL=y |
60 | # CONFIG_AUDIT is not set | 65 | # CONFIG_AUDIT is not set |
61 | # CONFIG_IKCONFIG is not set | 66 | # CONFIG_IKCONFIG is not set |
@@ -70,10 +75,12 @@ CONFIG_PRINTK=y | |||
70 | CONFIG_BUG=y | 75 | CONFIG_BUG=y |
71 | CONFIG_ELF_CORE=y | 76 | CONFIG_ELF_CORE=y |
72 | CONFIG_BASE_FULL=y | 77 | CONFIG_BASE_FULL=y |
78 | CONFIG_RT_MUTEXES=y | ||
73 | CONFIG_FUTEX=y | 79 | CONFIG_FUTEX=y |
74 | CONFIG_EPOLL=y | 80 | CONFIG_EPOLL=y |
75 | CONFIG_SHMEM=y | 81 | CONFIG_SHMEM=y |
76 | CONFIG_SLAB=y | 82 | CONFIG_SLAB=y |
83 | CONFIG_VM_EVENT_COUNTERS=y | ||
77 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
78 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
79 | # CONFIG_SLOB is not set | 86 | # CONFIG_SLOB is not set |
@@ -110,13 +117,16 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
110 | # CONFIG_PPC_ISERIES is not set | 117 | # CONFIG_PPC_ISERIES is not set |
111 | CONFIG_EMBEDDED6xx=y | 118 | CONFIG_EMBEDDED6xx=y |
112 | # CONFIG_APUS is not set | 119 | # CONFIG_APUS is not set |
113 | CONFIG_MPIC=y | 120 | # CONFIG_PPC_CELL is not set |
121 | # CONFIG_PPC_CELL_NATIVE is not set | ||
122 | # CONFIG_UDBG_RTAS_CONSOLE is not set | ||
114 | # CONFIG_PPC_RTAS is not set | 123 | # CONFIG_PPC_RTAS is not set |
115 | # CONFIG_MMIO_NVRAM is not set | 124 | # CONFIG_MMIO_NVRAM is not set |
116 | # CONFIG_PPC_MPC106 is not set | 125 | # CONFIG_PPC_MPC106 is not set |
117 | # CONFIG_PPC_970_NAP is not set | 126 | # CONFIG_PPC_970_NAP is not set |
118 | # CONFIG_CPU_FREQ is not set | 127 | # CONFIG_CPU_FREQ is not set |
119 | # CONFIG_TAU is not set | 128 | # CONFIG_TAU is not set |
129 | # CONFIG_PPC_TODC is not set | ||
120 | # CONFIG_KATANA is not set | 130 | # CONFIG_KATANA is not set |
121 | # CONFIG_WILLOW is not set | 131 | # CONFIG_WILLOW is not set |
122 | # CONFIG_CPCI690 is not set | 132 | # CONFIG_CPCI690 is not set |
@@ -146,6 +156,7 @@ CONFIG_MPC7448HPC2=y | |||
146 | # CONFIG_EV64360 is not set | 156 | # CONFIG_EV64360 is not set |
147 | CONFIG_TSI108_BRIDGE=y | 157 | CONFIG_TSI108_BRIDGE=y |
148 | # CONFIG_WANT_EARLY_SERIAL is not set | 158 | # CONFIG_WANT_EARLY_SERIAL is not set |
159 | CONFIG_MPIC=y | ||
149 | 160 | ||
150 | # | 161 | # |
151 | # Kernel options | 162 | # Kernel options |
@@ -160,6 +171,7 @@ CONFIG_PREEMPT_NONE=y | |||
160 | # CONFIG_PREEMPT is not set | 171 | # CONFIG_PREEMPT is not set |
161 | CONFIG_BINFMT_ELF=y | 172 | CONFIG_BINFMT_ELF=y |
162 | CONFIG_BINFMT_MISC=y | 173 | CONFIG_BINFMT_MISC=y |
174 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
163 | CONFIG_ARCH_FLATMEM_ENABLE=y | 175 | CONFIG_ARCH_FLATMEM_ENABLE=y |
164 | CONFIG_SELECT_MEMORY_MODEL=y | 176 | CONFIG_SELECT_MEMORY_MODEL=y |
165 | CONFIG_FLATMEM_MANUAL=y | 177 | CONFIG_FLATMEM_MANUAL=y |
@@ -169,10 +181,10 @@ CONFIG_FLATMEM=y | |||
169 | CONFIG_FLAT_NODE_MEM_MAP=y | 181 | CONFIG_FLAT_NODE_MEM_MAP=y |
170 | # CONFIG_SPARSEMEM_STATIC is not set | 182 | # CONFIG_SPARSEMEM_STATIC is not set |
171 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 183 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
184 | # CONFIG_RESOURCES_64BIT is not set | ||
172 | CONFIG_PROC_DEVICETREE=y | 185 | CONFIG_PROC_DEVICETREE=y |
173 | # CONFIG_CMDLINE_BOOL is not set | 186 | # CONFIG_CMDLINE_BOOL is not set |
174 | # CONFIG_PM is not set | 187 | # CONFIG_PM is not set |
175 | # CONFIG_SOFTWARE_SUSPEND is not set | ||
176 | # CONFIG_SECCOMP is not set | 188 | # CONFIG_SECCOMP is not set |
177 | CONFIG_ISA_DMA_API=y | 189 | CONFIG_ISA_DMA_API=y |
178 | 190 | ||
@@ -180,10 +192,12 @@ CONFIG_ISA_DMA_API=y | |||
180 | # Bus options | 192 | # Bus options |
181 | # | 193 | # |
182 | CONFIG_GENERIC_ISA_DMA=y | 194 | CONFIG_GENERIC_ISA_DMA=y |
195 | CONFIG_MPIC_WEIRD=y | ||
183 | # CONFIG_PPC_I8259 is not set | 196 | # CONFIG_PPC_I8259 is not set |
184 | # CONFIG_PPC_INDIRECT_PCI is not set | 197 | # CONFIG_PPC_INDIRECT_PCI is not set |
185 | CONFIG_PCI=y | 198 | CONFIG_PCI=y |
186 | CONFIG_PCI_DOMAINS=y | 199 | CONFIG_PCI_DOMAINS=y |
200 | # CONFIG_PCIEPORTBUS is not set | ||
187 | 201 | ||
188 | # | 202 | # |
189 | # PCCARD (PCMCIA/CardBus) support | 203 | # PCCARD (PCMCIA/CardBus) support |
@@ -221,6 +235,8 @@ CONFIG_NET=y | |||
221 | CONFIG_PACKET=y | 235 | CONFIG_PACKET=y |
222 | # CONFIG_PACKET_MMAP is not set | 236 | # CONFIG_PACKET_MMAP is not set |
223 | CONFIG_UNIX=y | 237 | CONFIG_UNIX=y |
238 | CONFIG_XFRM=y | ||
239 | CONFIG_XFRM_USER=y | ||
224 | # CONFIG_NET_KEY is not set | 240 | # CONFIG_NET_KEY is not set |
225 | CONFIG_INET=y | 241 | CONFIG_INET=y |
226 | CONFIG_IP_MULTICAST=y | 242 | CONFIG_IP_MULTICAST=y |
@@ -240,6 +256,8 @@ CONFIG_SYN_COOKIES=y | |||
240 | # CONFIG_INET_IPCOMP is not set | 256 | # CONFIG_INET_IPCOMP is not set |
241 | # CONFIG_INET_XFRM_TUNNEL is not set | 257 | # CONFIG_INET_XFRM_TUNNEL is not set |
242 | # CONFIG_INET_TUNNEL is not set | 258 | # CONFIG_INET_TUNNEL is not set |
259 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
260 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
243 | CONFIG_INET_DIAG=y | 261 | CONFIG_INET_DIAG=y |
244 | CONFIG_INET_TCP_DIAG=y | 262 | CONFIG_INET_TCP_DIAG=y |
245 | # CONFIG_TCP_CONG_ADVANCED is not set | 263 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -247,6 +265,7 @@ CONFIG_TCP_CONG_BIC=y | |||
247 | # CONFIG_IPV6 is not set | 265 | # CONFIG_IPV6 is not set |
248 | # CONFIG_INET6_XFRM_TUNNEL is not set | 266 | # CONFIG_INET6_XFRM_TUNNEL is not set |
249 | # CONFIG_INET6_TUNNEL is not set | 267 | # CONFIG_INET6_TUNNEL is not set |
268 | # CONFIG_NETWORK_SECMARK is not set | ||
250 | # CONFIG_NETFILTER is not set | 269 | # CONFIG_NETFILTER is not set |
251 | 270 | ||
252 | # | 271 | # |
@@ -300,6 +319,7 @@ CONFIG_TCP_CONG_BIC=y | |||
300 | CONFIG_STANDALONE=y | 319 | CONFIG_STANDALONE=y |
301 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 320 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
302 | # CONFIG_FW_LOADER is not set | 321 | # CONFIG_FW_LOADER is not set |
322 | # CONFIG_SYS_HYPERVISOR is not set | ||
303 | 323 | ||
304 | # | 324 | # |
305 | # Connector - unified userspace <-> kernelspace linker | 325 | # Connector - unified userspace <-> kernelspace linker |
@@ -336,6 +356,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
336 | CONFIG_BLK_DEV_RAM=y | 356 | CONFIG_BLK_DEV_RAM=y |
337 | CONFIG_BLK_DEV_RAM_COUNT=16 | 357 | CONFIG_BLK_DEV_RAM_COUNT=16 |
338 | CONFIG_BLK_DEV_RAM_SIZE=131072 | 358 | CONFIG_BLK_DEV_RAM_SIZE=131072 |
359 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
339 | CONFIG_BLK_DEV_INITRD=y | 360 | CONFIG_BLK_DEV_INITRD=y |
340 | # CONFIG_CDROM_PKTCDVD is not set | 361 | # CONFIG_CDROM_PKTCDVD is not set |
341 | # CONFIG_ATA_OVER_ETH is not set | 362 | # CONFIG_ATA_OVER_ETH is not set |
@@ -399,6 +420,7 @@ CONFIG_SCSI_SATA=y | |||
399 | CONFIG_SCSI_SATA_MV=y | 420 | CONFIG_SCSI_SATA_MV=y |
400 | # CONFIG_SCSI_SATA_NV is not set | 421 | # CONFIG_SCSI_SATA_NV is not set |
401 | # CONFIG_SCSI_PDC_ADMA is not set | 422 | # CONFIG_SCSI_PDC_ADMA is not set |
423 | # CONFIG_SCSI_HPTIOP is not set | ||
402 | # CONFIG_SCSI_SATA_QSTOR is not set | 424 | # CONFIG_SCSI_SATA_QSTOR is not set |
403 | # CONFIG_SCSI_SATA_PROMISE is not set | 425 | # CONFIG_SCSI_SATA_PROMISE is not set |
404 | # CONFIG_SCSI_SATA_SX4 is not set | 426 | # CONFIG_SCSI_SATA_SX4 is not set |
@@ -481,6 +503,9 @@ CONFIG_PHYLIB=y | |||
481 | # CONFIG_QSEMI_PHY is not set | 503 | # CONFIG_QSEMI_PHY is not set |
482 | # CONFIG_LXT_PHY is not set | 504 | # CONFIG_LXT_PHY is not set |
483 | # CONFIG_CICADA_PHY is not set | 505 | # CONFIG_CICADA_PHY is not set |
506 | # CONFIG_VITESSE_PHY is not set | ||
507 | # CONFIG_SMSC_PHY is not set | ||
508 | # CONFIG_FIXED_PHY is not set | ||
484 | 509 | ||
485 | # | 510 | # |
486 | # Ethernet (10 or 100Mbit) | 511 | # Ethernet (10 or 100Mbit) |
@@ -538,7 +563,6 @@ CONFIG_8139TOO=y | |||
538 | # CONFIG_VIA_VELOCITY is not set | 563 | # CONFIG_VIA_VELOCITY is not set |
539 | # CONFIG_TIGON3 is not set | 564 | # CONFIG_TIGON3 is not set |
540 | # CONFIG_BNX2 is not set | 565 | # CONFIG_BNX2 is not set |
541 | CONFIG_TSI108_ETH=y | ||
542 | 566 | ||
543 | # | 567 | # |
544 | # Ethernet (10000 Mbit) | 568 | # Ethernet (10000 Mbit) |
@@ -546,6 +570,7 @@ CONFIG_TSI108_ETH=y | |||
546 | # CONFIG_CHELSIO_T1 is not set | 570 | # CONFIG_CHELSIO_T1 is not set |
547 | # CONFIG_IXGB is not set | 571 | # CONFIG_IXGB is not set |
548 | # CONFIG_S2IO is not set | 572 | # CONFIG_S2IO is not set |
573 | # CONFIG_MYRI10GE is not set | ||
549 | 574 | ||
550 | # | 575 | # |
551 | # Token Ring devices | 576 | # Token Ring devices |
@@ -645,6 +670,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
645 | # Watchdog Cards | 670 | # Watchdog Cards |
646 | # | 671 | # |
647 | # CONFIG_WATCHDOG is not set | 672 | # CONFIG_WATCHDOG is not set |
673 | # CONFIG_HW_RANDOM is not set | ||
648 | # CONFIG_NVRAM is not set | 674 | # CONFIG_NVRAM is not set |
649 | CONFIG_GEN_RTC=y | 675 | CONFIG_GEN_RTC=y |
650 | # CONFIG_GEN_RTC_X is not set | 676 | # CONFIG_GEN_RTC_X is not set |
@@ -679,13 +705,13 @@ CONFIG_GEN_RTC=y | |||
679 | # | 705 | # |
680 | # Dallas's 1-wire bus | 706 | # Dallas's 1-wire bus |
681 | # | 707 | # |
682 | # CONFIG_W1 is not set | ||
683 | 708 | ||
684 | # | 709 | # |
685 | # Hardware Monitoring support | 710 | # Hardware Monitoring support |
686 | # | 711 | # |
687 | CONFIG_HWMON=y | 712 | CONFIG_HWMON=y |
688 | # CONFIG_HWMON_VID is not set | 713 | # CONFIG_HWMON_VID is not set |
714 | # CONFIG_SENSORS_ABITUGURU is not set | ||
689 | # CONFIG_SENSORS_F71805F is not set | 715 | # CONFIG_SENSORS_F71805F is not set |
690 | # CONFIG_HWMON_DEBUG_CHIP is not set | 716 | # CONFIG_HWMON_DEBUG_CHIP is not set |
691 | 717 | ||
@@ -697,6 +723,7 @@ CONFIG_HWMON=y | |||
697 | # Multimedia devices | 723 | # Multimedia devices |
698 | # | 724 | # |
699 | # CONFIG_VIDEO_DEV is not set | 725 | # CONFIG_VIDEO_DEV is not set |
726 | CONFIG_VIDEO_V4L2=y | ||
700 | 727 | ||
701 | # | 728 | # |
702 | # Digital Video Broadcasting Devices | 729 | # Digital Video Broadcasting Devices |
@@ -706,7 +733,9 @@ CONFIG_HWMON=y | |||
706 | # | 733 | # |
707 | # Graphics support | 734 | # Graphics support |
708 | # | 735 | # |
736 | CONFIG_FIRMWARE_EDID=y | ||
709 | # CONFIG_FB is not set | 737 | # CONFIG_FB is not set |
738 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
710 | 739 | ||
711 | # | 740 | # |
712 | # Sound | 741 | # Sound |
@@ -763,6 +792,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
763 | # CONFIG_RTC_CLASS is not set | 792 | # CONFIG_RTC_CLASS is not set |
764 | 793 | ||
765 | # | 794 | # |
795 | # DMA Engine support | ||
796 | # | ||
797 | # CONFIG_DMA_ENGINE is not set | ||
798 | |||
799 | # | ||
800 | # DMA Clients | ||
801 | # | ||
802 | |||
803 | # | ||
804 | # DMA Devices | ||
805 | # | ||
806 | |||
807 | # | ||
766 | # File systems | 808 | # File systems |
767 | # | 809 | # |
768 | CONFIG_EXT2_FS=y | 810 | CONFIG_EXT2_FS=y |
@@ -783,6 +825,7 @@ CONFIG_FS_MBCACHE=y | |||
783 | # CONFIG_MINIX_FS is not set | 825 | # CONFIG_MINIX_FS is not set |
784 | # CONFIG_ROMFS_FS is not set | 826 | # CONFIG_ROMFS_FS is not set |
785 | CONFIG_INOTIFY=y | 827 | CONFIG_INOTIFY=y |
828 | CONFIG_INOTIFY_USER=y | ||
786 | # CONFIG_QUOTA is not set | 829 | # CONFIG_QUOTA is not set |
787 | CONFIG_DNOTIFY=y | 830 | CONFIG_DNOTIFY=y |
788 | # CONFIG_AUTOFS_FS is not set | 831 | # CONFIG_AUTOFS_FS is not set |
@@ -884,6 +927,7 @@ CONFIG_MSDOS_PARTITION=y | |||
884 | # CONFIG_CRC16 is not set | 927 | # CONFIG_CRC16 is not set |
885 | CONFIG_CRC32=y | 928 | CONFIG_CRC32=y |
886 | # CONFIG_LIBCRC32C is not set | 929 | # CONFIG_LIBCRC32C is not set |
930 | CONFIG_PLIST=y | ||
887 | 931 | ||
888 | # | 932 | # |
889 | # Instrumentation Support | 933 | # Instrumentation Support |
@@ -895,17 +939,13 @@ CONFIG_CRC32=y | |||
895 | # | 939 | # |
896 | # CONFIG_PRINTK_TIME is not set | 940 | # CONFIG_PRINTK_TIME is not set |
897 | # CONFIG_MAGIC_SYSRQ is not set | 941 | # CONFIG_MAGIC_SYSRQ is not set |
942 | # CONFIG_UNUSED_SYMBOLS is not set | ||
898 | # CONFIG_DEBUG_KERNEL is not set | 943 | # CONFIG_DEBUG_KERNEL is not set |
899 | CONFIG_LOG_BUF_SHIFT=14 | 944 | CONFIG_LOG_BUF_SHIFT=14 |
900 | # CONFIG_DEBUG_FS is not set | 945 | # CONFIG_DEBUG_FS is not set |
901 | # CONFIG_UNWIND_INFO is not set | 946 | # CONFIG_UNWIND_INFO is not set |
902 | # CONFIG_BOOTX_TEXT is not set | 947 | # CONFIG_BOOTX_TEXT is not set |
903 | # CONFIG_SERIAL_TEXT_DEBUG is not set | 948 | # CONFIG_PPC_EARLY_DEBUG is not set |
904 | # CONFIG_PPC_EARLY_DEBUG_LPAR is not set | ||
905 | # CONFIG_PPC_EARLY_DEBUG_G5 is not set | ||
906 | # CONFIG_PPC_EARLY_DEBUG_RTAS is not set | ||
907 | # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set | ||
908 | # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set | ||
909 | 949 | ||
910 | # | 950 | # |
911 | # Security options | 951 | # Security options |
diff --git a/arch/powerpc/configs/mpc834x_itx_defconfig b/arch/powerpc/configs/mpc834x_itx_defconfig index fc2d9789adc..8da6a47f033 100644 --- a/arch/powerpc/configs/mpc834x_itx_defconfig +++ b/arch/powerpc/configs/mpc834x_itx_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Fri Jun 30 17:53:25 2006 | 4 | # Sun Sep 10 10:28:05 2006 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | CONFIG_PPC32=y | 7 | CONFIG_PPC32=y |
@@ -60,6 +60,7 @@ CONFIG_SWAP=y | |||
60 | CONFIG_SYSVIPC=y | 60 | CONFIG_SYSVIPC=y |
61 | # CONFIG_POSIX_MQUEUE is not set | 61 | # CONFIG_POSIX_MQUEUE is not set |
62 | # CONFIG_BSD_PROCESS_ACCT is not set | 62 | # CONFIG_BSD_PROCESS_ACCT is not set |
63 | # CONFIG_TASKSTATS is not set | ||
63 | CONFIG_SYSCTL=y | 64 | CONFIG_SYSCTL=y |
64 | # CONFIG_AUDIT is not set | 65 | # CONFIG_AUDIT is not set |
65 | # CONFIG_IKCONFIG is not set | 66 | # CONFIG_IKCONFIG is not set |
@@ -78,6 +79,7 @@ CONFIG_FUTEX=y | |||
78 | # CONFIG_EPOLL is not set | 79 | # CONFIG_EPOLL is not set |
79 | CONFIG_SHMEM=y | 80 | CONFIG_SHMEM=y |
80 | CONFIG_SLAB=y | 81 | CONFIG_SLAB=y |
82 | CONFIG_VM_EVENT_COUNTERS=y | ||
81 | # CONFIG_TINY_SHMEM is not set | 83 | # CONFIG_TINY_SHMEM is not set |
82 | CONFIG_BASE_SMALL=0 | 84 | CONFIG_BASE_SMALL=0 |
83 | # CONFIG_SLOB is not set | 85 | # CONFIG_SLOB is not set |
@@ -120,6 +122,7 @@ CONFIG_PPC_GEN550=y | |||
120 | # CONFIG_MPC834x_SYS is not set | 122 | # CONFIG_MPC834x_SYS is not set |
121 | CONFIG_MPC834x_ITX=y | 123 | CONFIG_MPC834x_ITX=y |
122 | CONFIG_MPC834x=y | 124 | CONFIG_MPC834x=y |
125 | # CONFIG_MPIC is not set | ||
123 | 126 | ||
124 | # | 127 | # |
125 | # Kernel options | 128 | # Kernel options |
@@ -148,7 +151,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
148 | CONFIG_PROC_DEVICETREE=y | 151 | CONFIG_PROC_DEVICETREE=y |
149 | # CONFIG_CMDLINE_BOOL is not set | 152 | # CONFIG_CMDLINE_BOOL is not set |
150 | # CONFIG_PM is not set | 153 | # CONFIG_PM is not set |
151 | # CONFIG_SOFTWARE_SUSPEND is not set | ||
152 | CONFIG_SECCOMP=y | 154 | CONFIG_SECCOMP=y |
153 | CONFIG_ISA_DMA_API=y | 155 | CONFIG_ISA_DMA_API=y |
154 | 156 | ||
@@ -156,6 +158,7 @@ CONFIG_ISA_DMA_API=y | |||
156 | # Bus options | 158 | # Bus options |
157 | # | 159 | # |
158 | CONFIG_GENERIC_ISA_DMA=y | 160 | CONFIG_GENERIC_ISA_DMA=y |
161 | # CONFIG_MPIC_WEIRD is not set | ||
159 | # CONFIG_PPC_I8259 is not set | 162 | # CONFIG_PPC_I8259 is not set |
160 | CONFIG_PPC_INDIRECT_PCI=y | 163 | CONFIG_PPC_INDIRECT_PCI=y |
161 | CONFIG_FSL_SOC=y | 164 | CONFIG_FSL_SOC=y |
@@ -401,6 +404,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
401 | CONFIG_BLK_DEV_RAM=y | 404 | CONFIG_BLK_DEV_RAM=y |
402 | CONFIG_BLK_DEV_RAM_COUNT=16 | 405 | CONFIG_BLK_DEV_RAM_COUNT=16 |
403 | CONFIG_BLK_DEV_RAM_SIZE=32768 | 406 | CONFIG_BLK_DEV_RAM_SIZE=32768 |
407 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
404 | CONFIG_BLK_DEV_INITRD=y | 408 | CONFIG_BLK_DEV_INITRD=y |
405 | # CONFIG_CDROM_PKTCDVD is not set | 409 | # CONFIG_CDROM_PKTCDVD is not set |
406 | # CONFIG_ATA_OVER_ETH is not set | 410 | # CONFIG_ATA_OVER_ETH is not set |
@@ -561,6 +565,7 @@ CONFIG_PHYLIB=y | |||
561 | CONFIG_CICADA_PHY=y | 565 | CONFIG_CICADA_PHY=y |
562 | # CONFIG_VITESSE_PHY is not set | 566 | # CONFIG_VITESSE_PHY is not set |
563 | # CONFIG_SMSC_PHY is not set | 567 | # CONFIG_SMSC_PHY is not set |
568 | # CONFIG_FIXED_PHY is not set | ||
564 | 569 | ||
565 | # | 570 | # |
566 | # Ethernet (10 or 100Mbit) | 571 | # Ethernet (10 or 100Mbit) |
@@ -905,6 +910,7 @@ CONFIG_VIDEO_V4L2=y | |||
905 | # | 910 | # |
906 | CONFIG_FIRMWARE_EDID=y | 911 | CONFIG_FIRMWARE_EDID=y |
907 | # CONFIG_FB is not set | 912 | # CONFIG_FB is not set |
913 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
908 | 914 | ||
909 | # | 915 | # |
910 | # Sound | 916 | # Sound |
@@ -1025,7 +1031,7 @@ CONFIG_USB_MON=y | |||
1025 | # CONFIG_USB_LEGOTOWER is not set | 1031 | # CONFIG_USB_LEGOTOWER is not set |
1026 | # CONFIG_USB_LCD is not set | 1032 | # CONFIG_USB_LCD is not set |
1027 | # CONFIG_USB_LED is not set | 1033 | # CONFIG_USB_LED is not set |
1028 | # CONFIG_USB_CY7C63 is not set | 1034 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1029 | # CONFIG_USB_CYTHERM is not set | 1035 | # CONFIG_USB_CYTHERM is not set |
1030 | # CONFIG_USB_PHIDGETKIT is not set | 1036 | # CONFIG_USB_PHIDGETKIT is not set |
1031 | # CONFIG_USB_PHIDGETSERVO is not set | 1037 | # CONFIG_USB_PHIDGETSERVO is not set |
@@ -1110,6 +1116,7 @@ CONFIG_RTC_INTF_DEV_UIE_EMUL=y | |||
1110 | # CONFIG_RTC_DRV_X1205 is not set | 1116 | # CONFIG_RTC_DRV_X1205 is not set |
1111 | CONFIG_RTC_DRV_DS1307=y | 1117 | CONFIG_RTC_DRV_DS1307=y |
1112 | # CONFIG_RTC_DRV_DS1553 is not set | 1118 | # CONFIG_RTC_DRV_DS1553 is not set |
1119 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1113 | # CONFIG_RTC_DRV_DS1672 is not set | 1120 | # CONFIG_RTC_DRV_DS1672 is not set |
1114 | # CONFIG_RTC_DRV_DS1742 is not set | 1121 | # CONFIG_RTC_DRV_DS1742 is not set |
1115 | # CONFIG_RTC_DRV_PCF8563 is not set | 1122 | # CONFIG_RTC_DRV_PCF8563 is not set |
@@ -1226,7 +1233,6 @@ CONFIG_RPCSEC_GSS_KRB5=y | |||
1226 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1233 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1227 | # CONFIG_SMB_FS is not set | 1234 | # CONFIG_SMB_FS is not set |
1228 | # CONFIG_CIFS is not set | 1235 | # CONFIG_CIFS is not set |
1229 | # CONFIG_CIFS_DEBUG2 is not set | ||
1230 | # CONFIG_NCP_FS is not set | 1236 | # CONFIG_NCP_FS is not set |
1231 | # CONFIG_CODA_FS is not set | 1237 | # CONFIG_CODA_FS is not set |
1232 | # CONFIG_AFS_FS is not set | 1238 | # CONFIG_AFS_FS is not set |
@@ -1279,11 +1285,13 @@ CONFIG_LOG_BUF_SHIFT=17 | |||
1279 | CONFIG_DETECT_SOFTLOCKUP=y | 1285 | CONFIG_DETECT_SOFTLOCKUP=y |
1280 | # CONFIG_SCHEDSTATS is not set | 1286 | # CONFIG_SCHEDSTATS is not set |
1281 | # CONFIG_DEBUG_SLAB is not set | 1287 | # CONFIG_DEBUG_SLAB is not set |
1282 | # CONFIG_DEBUG_MUTEXES is not set | ||
1283 | # CONFIG_DEBUG_RT_MUTEXES is not set | 1288 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1284 | # CONFIG_RT_MUTEX_TESTER is not set | 1289 | # CONFIG_RT_MUTEX_TESTER is not set |
1285 | # CONFIG_DEBUG_SPINLOCK is not set | 1290 | # CONFIG_DEBUG_SPINLOCK is not set |
1291 | # CONFIG_DEBUG_MUTEXES is not set | ||
1292 | # CONFIG_DEBUG_RWSEMS is not set | ||
1286 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1293 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1294 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1287 | # CONFIG_DEBUG_KOBJECT is not set | 1295 | # CONFIG_DEBUG_KOBJECT is not set |
1288 | CONFIG_DEBUG_INFO=y | 1296 | CONFIG_DEBUG_INFO=y |
1289 | # CONFIG_DEBUG_FS is not set | 1297 | # CONFIG_DEBUG_FS is not set |
diff --git a/arch/powerpc/configs/mpc834x_mds_defconfig b/arch/powerpc/configs/mpc834x_mds_defconfig index 5078b0441d6..9eefab96789 100644 --- a/arch/powerpc/configs/mpc834x_mds_defconfig +++ b/arch/powerpc/configs/mpc834x_mds_defconfig | |||
@@ -1,15 +1,18 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc6 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Wed Mar 15 16:19:56 2006 | 4 | # Sun Sep 10 10:28:54 2006 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | CONFIG_PPC32=y | 7 | CONFIG_PPC32=y |
8 | CONFIG_PPC_MERGE=y | 8 | CONFIG_PPC_MERGE=y |
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_IRQ_PER_CPU=y | ||
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 12 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
13 | CONFIG_GENERIC_HWEIGHT=y | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 14 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
15 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
13 | CONFIG_PPC=y | 16 | CONFIG_PPC=y |
14 | CONFIG_EARLY_PRINTK=y | 17 | CONFIG_EARLY_PRINTK=y |
15 | CONFIG_GENERIC_NVRAM=y | 18 | CONFIG_GENERIC_NVRAM=y |
@@ -27,17 +30,19 @@ CONFIG_DEFAULT_UIMAGE=y | |||
27 | # CONFIG_PPC_52xx is not set | 30 | # CONFIG_PPC_52xx is not set |
28 | # CONFIG_PPC_82xx is not set | 31 | # CONFIG_PPC_82xx is not set |
29 | CONFIG_PPC_83xx=y | 32 | CONFIG_PPC_83xx=y |
33 | # CONFIG_PPC_85xx is not set | ||
34 | # CONFIG_PPC_86xx is not set | ||
30 | # CONFIG_40x is not set | 35 | # CONFIG_40x is not set |
31 | # CONFIG_44x is not set | 36 | # CONFIG_44x is not set |
32 | # CONFIG_8xx is not set | 37 | # CONFIG_8xx is not set |
33 | # CONFIG_E200 is not set | 38 | # CONFIG_E200 is not set |
34 | # CONFIG_E500 is not set | ||
35 | CONFIG_6xx=y | 39 | CONFIG_6xx=y |
36 | CONFIG_83xx=y | 40 | CONFIG_83xx=y |
37 | CONFIG_PPC_FPU=y | 41 | CONFIG_PPC_FPU=y |
38 | CONFIG_PPC_STD_MMU=y | 42 | CONFIG_PPC_STD_MMU=y |
39 | CONFIG_PPC_STD_MMU_32=y | 43 | CONFIG_PPC_STD_MMU_32=y |
40 | # CONFIG_SMP is not set | 44 | # CONFIG_SMP is not set |
45 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
41 | 46 | ||
42 | # | 47 | # |
43 | # Code maturity level options | 48 | # Code maturity level options |
@@ -55,9 +60,11 @@ CONFIG_SWAP=y | |||
55 | CONFIG_SYSVIPC=y | 60 | CONFIG_SYSVIPC=y |
56 | # CONFIG_POSIX_MQUEUE is not set | 61 | # CONFIG_POSIX_MQUEUE is not set |
57 | # CONFIG_BSD_PROCESS_ACCT is not set | 62 | # CONFIG_BSD_PROCESS_ACCT is not set |
63 | # CONFIG_TASKSTATS is not set | ||
58 | CONFIG_SYSCTL=y | 64 | CONFIG_SYSCTL=y |
59 | # CONFIG_AUDIT is not set | 65 | # CONFIG_AUDIT is not set |
60 | # CONFIG_IKCONFIG is not set | 66 | # CONFIG_IKCONFIG is not set |
67 | # CONFIG_RELAY is not set | ||
61 | CONFIG_INITRAMFS_SOURCE="" | 68 | CONFIG_INITRAMFS_SOURCE="" |
62 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 69 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
63 | CONFIG_EMBEDDED=y | 70 | CONFIG_EMBEDDED=y |
@@ -67,14 +74,12 @@ CONFIG_PRINTK=y | |||
67 | CONFIG_BUG=y | 74 | CONFIG_BUG=y |
68 | CONFIG_ELF_CORE=y | 75 | CONFIG_ELF_CORE=y |
69 | CONFIG_BASE_FULL=y | 76 | CONFIG_BASE_FULL=y |
77 | CONFIG_RT_MUTEXES=y | ||
70 | CONFIG_FUTEX=y | 78 | CONFIG_FUTEX=y |
71 | # CONFIG_EPOLL is not set | 79 | # CONFIG_EPOLL is not set |
72 | CONFIG_SHMEM=y | 80 | CONFIG_SHMEM=y |
73 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
74 | CONFIG_CC_ALIGN_LABELS=0 | ||
75 | CONFIG_CC_ALIGN_LOOPS=0 | ||
76 | CONFIG_CC_ALIGN_JUMPS=0 | ||
77 | CONFIG_SLAB=y | 81 | CONFIG_SLAB=y |
82 | CONFIG_VM_EVENT_COUNTERS=y | ||
78 | # CONFIG_TINY_SHMEM is not set | 83 | # CONFIG_TINY_SHMEM is not set |
79 | CONFIG_BASE_SMALL=0 | 84 | CONFIG_BASE_SMALL=0 |
80 | # CONFIG_SLOB is not set | 85 | # CONFIG_SLOB is not set |
@@ -85,7 +90,6 @@ CONFIG_BASE_SMALL=0 | |||
85 | CONFIG_MODULES=y | 90 | CONFIG_MODULES=y |
86 | CONFIG_MODULE_UNLOAD=y | 91 | CONFIG_MODULE_UNLOAD=y |
87 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 92 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
88 | CONFIG_OBSOLETE_MODPARM=y | ||
89 | # CONFIG_MODVERSIONS is not set | 93 | # CONFIG_MODVERSIONS is not set |
90 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 94 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
91 | # CONFIG_KMOD is not set | 95 | # CONFIG_KMOD is not set |
@@ -94,6 +98,8 @@ CONFIG_OBSOLETE_MODPARM=y | |||
94 | # Block layer | 98 | # Block layer |
95 | # | 99 | # |
96 | # CONFIG_LBD is not set | 100 | # CONFIG_LBD is not set |
101 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
102 | # CONFIG_LSF is not set | ||
97 | 103 | ||
98 | # | 104 | # |
99 | # IO Schedulers | 105 | # IO Schedulers |
@@ -114,7 +120,9 @@ CONFIG_PPC_GEN550=y | |||
114 | # Platform support | 120 | # Platform support |
115 | # | 121 | # |
116 | CONFIG_MPC834x_SYS=y | 122 | CONFIG_MPC834x_SYS=y |
123 | # CONFIG_MPC834x_ITX is not set | ||
117 | CONFIG_MPC834x=y | 124 | CONFIG_MPC834x=y |
125 | # CONFIG_MPIC is not set | ||
118 | 126 | ||
119 | # | 127 | # |
120 | # Kernel options | 128 | # Kernel options |
@@ -129,6 +137,7 @@ CONFIG_PREEMPT_NONE=y | |||
129 | # CONFIG_PREEMPT is not set | 137 | # CONFIG_PREEMPT is not set |
130 | CONFIG_BINFMT_ELF=y | 138 | CONFIG_BINFMT_ELF=y |
131 | # CONFIG_BINFMT_MISC is not set | 139 | # CONFIG_BINFMT_MISC is not set |
140 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
132 | CONFIG_ARCH_FLATMEM_ENABLE=y | 141 | CONFIG_ARCH_FLATMEM_ENABLE=y |
133 | CONFIG_SELECT_MEMORY_MODEL=y | 142 | CONFIG_SELECT_MEMORY_MODEL=y |
134 | CONFIG_FLATMEM_MANUAL=y | 143 | CONFIG_FLATMEM_MANUAL=y |
@@ -138,10 +147,10 @@ CONFIG_FLATMEM=y | |||
138 | CONFIG_FLAT_NODE_MEM_MAP=y | 147 | CONFIG_FLAT_NODE_MEM_MAP=y |
139 | # CONFIG_SPARSEMEM_STATIC is not set | 148 | # CONFIG_SPARSEMEM_STATIC is not set |
140 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 149 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
150 | # CONFIG_RESOURCES_64BIT is not set | ||
141 | CONFIG_PROC_DEVICETREE=y | 151 | CONFIG_PROC_DEVICETREE=y |
142 | # CONFIG_CMDLINE_BOOL is not set | 152 | # CONFIG_CMDLINE_BOOL is not set |
143 | # CONFIG_PM is not set | 153 | # CONFIG_PM is not set |
144 | # CONFIG_SOFTWARE_SUSPEND is not set | ||
145 | CONFIG_SECCOMP=y | 154 | CONFIG_SECCOMP=y |
146 | CONFIG_ISA_DMA_API=y | 155 | CONFIG_ISA_DMA_API=y |
147 | 156 | ||
@@ -149,12 +158,13 @@ CONFIG_ISA_DMA_API=y | |||
149 | # Bus options | 158 | # Bus options |
150 | # | 159 | # |
151 | CONFIG_GENERIC_ISA_DMA=y | 160 | CONFIG_GENERIC_ISA_DMA=y |
161 | # CONFIG_MPIC_WEIRD is not set | ||
152 | # CONFIG_PPC_I8259 is not set | 162 | # CONFIG_PPC_I8259 is not set |
153 | CONFIG_PPC_INDIRECT_PCI=y | 163 | CONFIG_PPC_INDIRECT_PCI=y |
154 | CONFIG_FSL_SOC=y | 164 | CONFIG_FSL_SOC=y |
155 | CONFIG_PCI=y | 165 | CONFIG_PCI=y |
156 | CONFIG_PCI_DOMAINS=y | 166 | CONFIG_PCI_DOMAINS=y |
157 | # CONFIG_PCI_LEGACY_PROC is not set | 167 | # CONFIG_PCIEPORTBUS is not set |
158 | 168 | ||
159 | # | 169 | # |
160 | # PCCARD (PCMCIA/CardBus) support | 170 | # PCCARD (PCMCIA/CardBus) support |
@@ -192,6 +202,8 @@ CONFIG_NET=y | |||
192 | CONFIG_PACKET=y | 202 | CONFIG_PACKET=y |
193 | # CONFIG_PACKET_MMAP is not set | 203 | # CONFIG_PACKET_MMAP is not set |
194 | CONFIG_UNIX=y | 204 | CONFIG_UNIX=y |
205 | CONFIG_XFRM=y | ||
206 | CONFIG_XFRM_USER=m | ||
195 | # CONFIG_NET_KEY is not set | 207 | # CONFIG_NET_KEY is not set |
196 | CONFIG_INET=y | 208 | CONFIG_INET=y |
197 | CONFIG_IP_MULTICAST=y | 209 | CONFIG_IP_MULTICAST=y |
@@ -209,12 +221,18 @@ CONFIG_SYN_COOKIES=y | |||
209 | # CONFIG_INET_AH is not set | 221 | # CONFIG_INET_AH is not set |
210 | # CONFIG_INET_ESP is not set | 222 | # CONFIG_INET_ESP is not set |
211 | # CONFIG_INET_IPCOMP is not set | 223 | # CONFIG_INET_IPCOMP is not set |
224 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
212 | # CONFIG_INET_TUNNEL is not set | 225 | # CONFIG_INET_TUNNEL is not set |
226 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
227 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
213 | CONFIG_INET_DIAG=y | 228 | CONFIG_INET_DIAG=y |
214 | CONFIG_INET_TCP_DIAG=y | 229 | CONFIG_INET_TCP_DIAG=y |
215 | # CONFIG_TCP_CONG_ADVANCED is not set | 230 | # CONFIG_TCP_CONG_ADVANCED is not set |
216 | CONFIG_TCP_CONG_BIC=y | 231 | CONFIG_TCP_CONG_BIC=y |
217 | # CONFIG_IPV6 is not set | 232 | # CONFIG_IPV6 is not set |
233 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
234 | # CONFIG_INET6_TUNNEL is not set | ||
235 | # CONFIG_NETWORK_SECMARK is not set | ||
218 | # CONFIG_NETFILTER is not set | 236 | # CONFIG_NETFILTER is not set |
219 | 237 | ||
220 | # | 238 | # |
@@ -268,6 +286,7 @@ CONFIG_TCP_CONG_BIC=y | |||
268 | CONFIG_STANDALONE=y | 286 | CONFIG_STANDALONE=y |
269 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 287 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
270 | # CONFIG_FW_LOADER is not set | 288 | # CONFIG_FW_LOADER is not set |
289 | # CONFIG_SYS_HYPERVISOR is not set | ||
271 | 290 | ||
272 | # | 291 | # |
273 | # Connector - unified userspace <-> kernelspace linker | 292 | # Connector - unified userspace <-> kernelspace linker |
@@ -304,6 +323,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
304 | CONFIG_BLK_DEV_RAM=y | 323 | CONFIG_BLK_DEV_RAM=y |
305 | CONFIG_BLK_DEV_RAM_COUNT=16 | 324 | CONFIG_BLK_DEV_RAM_COUNT=16 |
306 | CONFIG_BLK_DEV_RAM_SIZE=32768 | 325 | CONFIG_BLK_DEV_RAM_SIZE=32768 |
326 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
307 | CONFIG_BLK_DEV_INITRD=y | 327 | CONFIG_BLK_DEV_INITRD=y |
308 | # CONFIG_CDROM_PKTCDVD is not set | 328 | # CONFIG_CDROM_PKTCDVD is not set |
309 | # CONFIG_ATA_OVER_ETH is not set | 329 | # CONFIG_ATA_OVER_ETH is not set |
@@ -371,6 +391,9 @@ CONFIG_MARVELL_PHY=y | |||
371 | # CONFIG_QSEMI_PHY is not set | 391 | # CONFIG_QSEMI_PHY is not set |
372 | # CONFIG_LXT_PHY is not set | 392 | # CONFIG_LXT_PHY is not set |
373 | # CONFIG_CICADA_PHY is not set | 393 | # CONFIG_CICADA_PHY is not set |
394 | # CONFIG_VITESSE_PHY is not set | ||
395 | # CONFIG_SMSC_PHY is not set | ||
396 | # CONFIG_FIXED_PHY is not set | ||
374 | 397 | ||
375 | # | 398 | # |
376 | # Ethernet (10 or 100Mbit) | 399 | # Ethernet (10 or 100Mbit) |
@@ -433,6 +456,7 @@ CONFIG_GIANFAR=y | |||
433 | # CONFIG_CHELSIO_T1 is not set | 456 | # CONFIG_CHELSIO_T1 is not set |
434 | # CONFIG_IXGB is not set | 457 | # CONFIG_IXGB is not set |
435 | # CONFIG_S2IO is not set | 458 | # CONFIG_S2IO is not set |
459 | # CONFIG_MYRI10GE is not set | ||
436 | 460 | ||
437 | # | 461 | # |
438 | # Token Ring devices | 462 | # Token Ring devices |
@@ -507,6 +531,7 @@ CONFIG_INPUT=y | |||
507 | # | 531 | # |
508 | CONFIG_SERIAL_8250=y | 532 | CONFIG_SERIAL_8250=y |
509 | CONFIG_SERIAL_8250_CONSOLE=y | 533 | CONFIG_SERIAL_8250_CONSOLE=y |
534 | CONFIG_SERIAL_8250_PCI=y | ||
510 | CONFIG_SERIAL_8250_NR_UARTS=4 | 535 | CONFIG_SERIAL_8250_NR_UARTS=4 |
511 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 536 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
512 | # CONFIG_SERIAL_8250_EXTENDED is not set | 537 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -543,6 +568,7 @@ CONFIG_83xx_WDT=y | |||
543 | # | 568 | # |
544 | # CONFIG_PCIPCWATCHDOG is not set | 569 | # CONFIG_PCIPCWATCHDOG is not set |
545 | # CONFIG_WDTPCI is not set | 570 | # CONFIG_WDTPCI is not set |
571 | # CONFIG_HW_RANDOM is not set | ||
546 | # CONFIG_NVRAM is not set | 572 | # CONFIG_NVRAM is not set |
547 | CONFIG_GEN_RTC=y | 573 | CONFIG_GEN_RTC=y |
548 | # CONFIG_GEN_RTC_X is not set | 574 | # CONFIG_GEN_RTC_X is not set |
@@ -589,10 +615,10 @@ CONFIG_I2C_CHARDEV=y | |||
589 | # CONFIG_I2C_PIIX4 is not set | 615 | # CONFIG_I2C_PIIX4 is not set |
590 | CONFIG_I2C_MPC=y | 616 | CONFIG_I2C_MPC=y |
591 | # CONFIG_I2C_NFORCE2 is not set | 617 | # CONFIG_I2C_NFORCE2 is not set |
618 | # CONFIG_I2C_OCORES is not set | ||
592 | # CONFIG_I2C_PARPORT_LIGHT is not set | 619 | # CONFIG_I2C_PARPORT_LIGHT is not set |
593 | # CONFIG_I2C_PROSAVAGE is not set | 620 | # CONFIG_I2C_PROSAVAGE is not set |
594 | # CONFIG_I2C_SAVAGE4 is not set | 621 | # CONFIG_I2C_SAVAGE4 is not set |
595 | # CONFIG_SCx200_ACB is not set | ||
596 | # CONFIG_I2C_SIS5595 is not set | 622 | # CONFIG_I2C_SIS5595 is not set |
597 | # CONFIG_I2C_SIS630 is not set | 623 | # CONFIG_I2C_SIS630 is not set |
598 | # CONFIG_I2C_SIS96X is not set | 624 | # CONFIG_I2C_SIS96X is not set |
@@ -611,10 +637,8 @@ CONFIG_I2C_MPC=y | |||
611 | # CONFIG_SENSORS_PCF8574 is not set | 637 | # CONFIG_SENSORS_PCF8574 is not set |
612 | # CONFIG_SENSORS_PCA9539 is not set | 638 | # CONFIG_SENSORS_PCA9539 is not set |
613 | # CONFIG_SENSORS_PCF8591 is not set | 639 | # CONFIG_SENSORS_PCF8591 is not set |
614 | # CONFIG_SENSORS_RTC8564 is not set | ||
615 | # CONFIG_SENSORS_M41T00 is not set | 640 | # CONFIG_SENSORS_M41T00 is not set |
616 | # CONFIG_SENSORS_MAX6875 is not set | 641 | # CONFIG_SENSORS_MAX6875 is not set |
617 | # CONFIG_RTC_X1205_I2C is not set | ||
618 | # CONFIG_I2C_DEBUG_CORE is not set | 642 | # CONFIG_I2C_DEBUG_CORE is not set |
619 | # CONFIG_I2C_DEBUG_ALGO is not set | 643 | # CONFIG_I2C_DEBUG_ALGO is not set |
620 | # CONFIG_I2C_DEBUG_BUS is not set | 644 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -629,13 +653,13 @@ CONFIG_I2C_MPC=y | |||
629 | # | 653 | # |
630 | # Dallas's 1-wire bus | 654 | # Dallas's 1-wire bus |
631 | # | 655 | # |
632 | # CONFIG_W1 is not set | ||
633 | 656 | ||
634 | # | 657 | # |
635 | # Hardware Monitoring support | 658 | # Hardware Monitoring support |
636 | # | 659 | # |
637 | CONFIG_HWMON=y | 660 | CONFIG_HWMON=y |
638 | # CONFIG_HWMON_VID is not set | 661 | # CONFIG_HWMON_VID is not set |
662 | # CONFIG_SENSORS_ABITUGURU is not set | ||
639 | # CONFIG_SENSORS_ADM1021 is not set | 663 | # CONFIG_SENSORS_ADM1021 is not set |
640 | # CONFIG_SENSORS_ADM1025 is not set | 664 | # CONFIG_SENSORS_ADM1025 is not set |
641 | # CONFIG_SENSORS_ADM1026 is not set | 665 | # CONFIG_SENSORS_ADM1026 is not set |
@@ -664,10 +688,12 @@ CONFIG_HWMON=y | |||
664 | # CONFIG_SENSORS_PC87360 is not set | 688 | # CONFIG_SENSORS_PC87360 is not set |
665 | # CONFIG_SENSORS_SIS5595 is not set | 689 | # CONFIG_SENSORS_SIS5595 is not set |
666 | # CONFIG_SENSORS_SMSC47M1 is not set | 690 | # CONFIG_SENSORS_SMSC47M1 is not set |
691 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
667 | # CONFIG_SENSORS_SMSC47B397 is not set | 692 | # CONFIG_SENSORS_SMSC47B397 is not set |
668 | # CONFIG_SENSORS_VIA686A is not set | 693 | # CONFIG_SENSORS_VIA686A is not set |
669 | # CONFIG_SENSORS_VT8231 is not set | 694 | # CONFIG_SENSORS_VT8231 is not set |
670 | # CONFIG_SENSORS_W83781D is not set | 695 | # CONFIG_SENSORS_W83781D is not set |
696 | # CONFIG_SENSORS_W83791D is not set | ||
671 | # CONFIG_SENSORS_W83792D is not set | 697 | # CONFIG_SENSORS_W83792D is not set |
672 | # CONFIG_SENSORS_W83L785TS is not set | 698 | # CONFIG_SENSORS_W83L785TS is not set |
673 | # CONFIG_SENSORS_W83627HF is not set | 699 | # CONFIG_SENSORS_W83627HF is not set |
@@ -679,13 +705,10 @@ CONFIG_HWMON=y | |||
679 | # | 705 | # |
680 | 706 | ||
681 | # | 707 | # |
682 | # Multimedia Capabilities Port drivers | ||
683 | # | ||
684 | |||
685 | # | ||
686 | # Multimedia devices | 708 | # Multimedia devices |
687 | # | 709 | # |
688 | # CONFIG_VIDEO_DEV is not set | 710 | # CONFIG_VIDEO_DEV is not set |
711 | CONFIG_VIDEO_V4L2=y | ||
689 | 712 | ||
690 | # | 713 | # |
691 | # Digital Video Broadcasting Devices | 714 | # Digital Video Broadcasting Devices |
@@ -695,7 +718,9 @@ CONFIG_HWMON=y | |||
695 | # | 718 | # |
696 | # Graphics support | 719 | # Graphics support |
697 | # | 720 | # |
721 | CONFIG_FIRMWARE_EDID=y | ||
698 | # CONFIG_FB is not set | 722 | # CONFIG_FB is not set |
723 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
699 | 724 | ||
700 | # | 725 | # |
701 | # Sound | 726 | # Sound |
@@ -707,6 +732,7 @@ CONFIG_HWMON=y | |||
707 | # | 732 | # |
708 | CONFIG_USB_ARCH_HAS_HCD=y | 733 | CONFIG_USB_ARCH_HAS_HCD=y |
709 | CONFIG_USB_ARCH_HAS_OHCI=y | 734 | CONFIG_USB_ARCH_HAS_OHCI=y |
735 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
710 | # CONFIG_USB is not set | 736 | # CONFIG_USB is not set |
711 | 737 | ||
712 | # | 738 | # |
@@ -724,6 +750,19 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
724 | # CONFIG_MMC is not set | 750 | # CONFIG_MMC is not set |
725 | 751 | ||
726 | # | 752 | # |
753 | # LED devices | ||
754 | # | ||
755 | # CONFIG_NEW_LEDS is not set | ||
756 | |||
757 | # | ||
758 | # LED drivers | ||
759 | # | ||
760 | |||
761 | # | ||
762 | # LED Triggers | ||
763 | # | ||
764 | |||
765 | # | ||
727 | # InfiniBand support | 766 | # InfiniBand support |
728 | # | 767 | # |
729 | # CONFIG_INFINIBAND is not set | 768 | # CONFIG_INFINIBAND is not set |
@@ -733,6 +772,24 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
733 | # | 772 | # |
734 | 773 | ||
735 | # | 774 | # |
775 | # Real Time Clock | ||
776 | # | ||
777 | # CONFIG_RTC_CLASS is not set | ||
778 | |||
779 | # | ||
780 | # DMA Engine support | ||
781 | # | ||
782 | # CONFIG_DMA_ENGINE is not set | ||
783 | |||
784 | # | ||
785 | # DMA Clients | ||
786 | # | ||
787 | |||
788 | # | ||
789 | # DMA Devices | ||
790 | # | ||
791 | |||
792 | # | ||
736 | # File systems | 793 | # File systems |
737 | # | 794 | # |
738 | CONFIG_EXT2_FS=y | 795 | CONFIG_EXT2_FS=y |
@@ -753,6 +810,7 @@ CONFIG_FS_MBCACHE=y | |||
753 | # CONFIG_MINIX_FS is not set | 810 | # CONFIG_MINIX_FS is not set |
754 | # CONFIG_ROMFS_FS is not set | 811 | # CONFIG_ROMFS_FS is not set |
755 | CONFIG_INOTIFY=y | 812 | CONFIG_INOTIFY=y |
813 | CONFIG_INOTIFY_USER=y | ||
756 | # CONFIG_QUOTA is not set | 814 | # CONFIG_QUOTA is not set |
757 | CONFIG_DNOTIFY=y | 815 | CONFIG_DNOTIFY=y |
758 | # CONFIG_AUTOFS_FS is not set | 816 | # CONFIG_AUTOFS_FS is not set |
@@ -781,7 +839,6 @@ CONFIG_SYSFS=y | |||
781 | CONFIG_TMPFS=y | 839 | CONFIG_TMPFS=y |
782 | # CONFIG_HUGETLB_PAGE is not set | 840 | # CONFIG_HUGETLB_PAGE is not set |
783 | CONFIG_RAMFS=y | 841 | CONFIG_RAMFS=y |
784 | # CONFIG_RELAYFS_FS is not set | ||
785 | # CONFIG_CONFIGFS_FS is not set | 842 | # CONFIG_CONFIGFS_FS is not set |
786 | 843 | ||
787 | # | 844 | # |
@@ -854,6 +911,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
854 | # CONFIG_CRC16 is not set | 911 | # CONFIG_CRC16 is not set |
855 | CONFIG_CRC32=y | 912 | CONFIG_CRC32=y |
856 | # CONFIG_LIBCRC32C is not set | 913 | # CONFIG_LIBCRC32C is not set |
914 | CONFIG_PLIST=y | ||
857 | 915 | ||
858 | # | 916 | # |
859 | # Instrumentation Support | 917 | # Instrumentation Support |
@@ -865,15 +923,13 @@ CONFIG_CRC32=y | |||
865 | # | 923 | # |
866 | # CONFIG_PRINTK_TIME is not set | 924 | # CONFIG_PRINTK_TIME is not set |
867 | # CONFIG_MAGIC_SYSRQ is not set | 925 | # CONFIG_MAGIC_SYSRQ is not set |
926 | # CONFIG_UNUSED_SYMBOLS is not set | ||
868 | # CONFIG_DEBUG_KERNEL is not set | 927 | # CONFIG_DEBUG_KERNEL is not set |
869 | CONFIG_LOG_BUF_SHIFT=14 | 928 | CONFIG_LOG_BUF_SHIFT=14 |
929 | # CONFIG_DEBUG_FS is not set | ||
870 | # CONFIG_BOOTX_TEXT is not set | 930 | # CONFIG_BOOTX_TEXT is not set |
871 | # CONFIG_SERIAL_TEXT_DEBUG is not set | 931 | # CONFIG_SERIAL_TEXT_DEBUG is not set |
872 | # CONFIG_PPC_EARLY_DEBUG_LPAR is not set | 932 | # CONFIG_PPC_EARLY_DEBUG is not set |
873 | # CONFIG_PPC_EARLY_DEBUG_G5 is not set | ||
874 | # CONFIG_PPC_EARLY_DEBUG_RTAS is not set | ||
875 | # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set | ||
876 | # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set | ||
877 | 933 | ||
878 | # | 934 | # |
879 | # Security options | 935 | # Security options |
diff --git a/arch/powerpc/configs/mpc8540_ads_defconfig b/arch/powerpc/configs/mpc8540_ads_defconfig index 7f0780f1aa3..67e7d0b5793 100644 --- a/arch/powerpc/configs/mpc8540_ads_defconfig +++ b/arch/powerpc/configs/mpc8540_ads_defconfig | |||
@@ -1,16 +1,18 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Mon Mar 27 23:37:36 2006 | 4 | # Sun Sep 10 10:29:23 2006 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | CONFIG_PPC32=y | 7 | CONFIG_PPC32=y |
8 | CONFIG_PPC_MERGE=y | 8 | CONFIG_PPC_MERGE=y |
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_IRQ_PER_CPU=y | ||
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 12 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | 13 | CONFIG_GENERIC_HWEIGHT=y |
13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 14 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
15 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
14 | CONFIG_PPC=y | 16 | CONFIG_PPC=y |
15 | CONFIG_EARLY_PRINTK=y | 17 | CONFIG_EARLY_PRINTK=y |
16 | CONFIG_GENERIC_NVRAM=y | 18 | CONFIG_GENERIC_NVRAM=y |
@@ -29,6 +31,7 @@ CONFIG_DEFAULT_UIMAGE=y | |||
29 | # CONFIG_PPC_82xx is not set | 31 | # CONFIG_PPC_82xx is not set |
30 | # CONFIG_PPC_83xx is not set | 32 | # CONFIG_PPC_83xx is not set |
31 | CONFIG_PPC_85xx=y | 33 | CONFIG_PPC_85xx=y |
34 | # CONFIG_PPC_86xx is not set | ||
32 | # CONFIG_40x is not set | 35 | # CONFIG_40x is not set |
33 | # CONFIG_44x is not set | 36 | # CONFIG_44x is not set |
34 | # CONFIG_8xx is not set | 37 | # CONFIG_8xx is not set |
@@ -39,6 +42,7 @@ CONFIG_BOOKE=y | |||
39 | CONFIG_FSL_BOOKE=y | 42 | CONFIG_FSL_BOOKE=y |
40 | # CONFIG_PHYS_64BIT is not set | 43 | # CONFIG_PHYS_64BIT is not set |
41 | CONFIG_SPE=y | 44 | CONFIG_SPE=y |
45 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
42 | 46 | ||
43 | # | 47 | # |
44 | # Code maturity level options | 48 | # Code maturity level options |
@@ -56,6 +60,7 @@ CONFIG_SWAP=y | |||
56 | CONFIG_SYSVIPC=y | 60 | CONFIG_SYSVIPC=y |
57 | # CONFIG_POSIX_MQUEUE is not set | 61 | # CONFIG_POSIX_MQUEUE is not set |
58 | # CONFIG_BSD_PROCESS_ACCT is not set | 62 | # CONFIG_BSD_PROCESS_ACCT is not set |
63 | # CONFIG_TASKSTATS is not set | ||
59 | CONFIG_SYSCTL=y | 64 | CONFIG_SYSCTL=y |
60 | # CONFIG_AUDIT is not set | 65 | # CONFIG_AUDIT is not set |
61 | # CONFIG_IKCONFIG is not set | 66 | # CONFIG_IKCONFIG is not set |
@@ -71,10 +76,12 @@ CONFIG_PRINTK=y | |||
71 | CONFIG_BUG=y | 76 | CONFIG_BUG=y |
72 | CONFIG_ELF_CORE=y | 77 | CONFIG_ELF_CORE=y |
73 | CONFIG_BASE_FULL=y | 78 | CONFIG_BASE_FULL=y |
79 | CONFIG_RT_MUTEXES=y | ||
74 | CONFIG_FUTEX=y | 80 | CONFIG_FUTEX=y |
75 | CONFIG_EPOLL=y | 81 | CONFIG_EPOLL=y |
76 | CONFIG_SHMEM=y | 82 | CONFIG_SHMEM=y |
77 | CONFIG_SLAB=y | 83 | CONFIG_SLAB=y |
84 | CONFIG_VM_EVENT_COUNTERS=y | ||
78 | # CONFIG_TINY_SHMEM is not set | 85 | # CONFIG_TINY_SHMEM is not set |
79 | CONFIG_BASE_SMALL=0 | 86 | CONFIG_BASE_SMALL=0 |
80 | # CONFIG_SLOB is not set | 87 | # CONFIG_SLOB is not set |
@@ -103,15 +110,16 @@ CONFIG_DEFAULT_AS=y | |||
103 | # CONFIG_DEFAULT_CFQ is not set | 110 | # CONFIG_DEFAULT_CFQ is not set |
104 | # CONFIG_DEFAULT_NOOP is not set | 111 | # CONFIG_DEFAULT_NOOP is not set |
105 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 112 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
106 | CONFIG_MPIC=y | ||
107 | # CONFIG_WANT_EARLY_SERIAL is not set | 113 | # CONFIG_WANT_EARLY_SERIAL is not set |
108 | 114 | ||
109 | # | 115 | # |
110 | # Platform support | 116 | # Platform support |
111 | # | 117 | # |
112 | CONFIG_MPC8540_ADS=y | 118 | CONFIG_MPC8540_ADS=y |
119 | # CONFIG_MPC85xx_CDS is not set | ||
113 | CONFIG_MPC8540=y | 120 | CONFIG_MPC8540=y |
114 | CONFIG_PPC_INDIRECT_PCI_BE=y | 121 | CONFIG_PPC_INDIRECT_PCI_BE=y |
122 | CONFIG_MPIC=y | ||
115 | 123 | ||
116 | # | 124 | # |
117 | # Kernel options | 125 | # Kernel options |
@@ -127,6 +135,7 @@ CONFIG_PREEMPT_NONE=y | |||
127 | CONFIG_BINFMT_ELF=y | 135 | CONFIG_BINFMT_ELF=y |
128 | CONFIG_BINFMT_MISC=y | 136 | CONFIG_BINFMT_MISC=y |
129 | CONFIG_MATH_EMULATION=y | 137 | CONFIG_MATH_EMULATION=y |
138 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
130 | CONFIG_ARCH_FLATMEM_ENABLE=y | 139 | CONFIG_ARCH_FLATMEM_ENABLE=y |
131 | CONFIG_SELECT_MEMORY_MODEL=y | 140 | CONFIG_SELECT_MEMORY_MODEL=y |
132 | CONFIG_FLATMEM_MANUAL=y | 141 | CONFIG_FLATMEM_MANUAL=y |
@@ -136,16 +145,17 @@ CONFIG_FLATMEM=y | |||
136 | CONFIG_FLAT_NODE_MEM_MAP=y | 145 | CONFIG_FLAT_NODE_MEM_MAP=y |
137 | # CONFIG_SPARSEMEM_STATIC is not set | 146 | # CONFIG_SPARSEMEM_STATIC is not set |
138 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 147 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
148 | # CONFIG_RESOURCES_64BIT is not set | ||
139 | CONFIG_PROC_DEVICETREE=y | 149 | CONFIG_PROC_DEVICETREE=y |
140 | # CONFIG_CMDLINE_BOOL is not set | 150 | # CONFIG_CMDLINE_BOOL is not set |
141 | # CONFIG_PM is not set | 151 | # CONFIG_PM is not set |
142 | # CONFIG_SOFTWARE_SUSPEND is not set | ||
143 | # CONFIG_SECCOMP is not set | 152 | # CONFIG_SECCOMP is not set |
144 | CONFIG_ISA_DMA_API=y | 153 | CONFIG_ISA_DMA_API=y |
145 | 154 | ||
146 | # | 155 | # |
147 | # Bus options | 156 | # Bus options |
148 | # | 157 | # |
158 | # CONFIG_MPIC_WEIRD is not set | ||
149 | # CONFIG_PPC_I8259 is not set | 159 | # CONFIG_PPC_I8259 is not set |
150 | CONFIG_PPC_INDIRECT_PCI=y | 160 | CONFIG_PPC_INDIRECT_PCI=y |
151 | CONFIG_FSL_SOC=y | 161 | CONFIG_FSL_SOC=y |
@@ -187,6 +197,8 @@ CONFIG_NET=y | |||
187 | CONFIG_PACKET=y | 197 | CONFIG_PACKET=y |
188 | # CONFIG_PACKET_MMAP is not set | 198 | # CONFIG_PACKET_MMAP is not set |
189 | CONFIG_UNIX=y | 199 | CONFIG_UNIX=y |
200 | CONFIG_XFRM=y | ||
201 | CONFIG_XFRM_USER=y | ||
190 | # CONFIG_NET_KEY is not set | 202 | # CONFIG_NET_KEY is not set |
191 | CONFIG_INET=y | 203 | CONFIG_INET=y |
192 | CONFIG_IP_MULTICAST=y | 204 | CONFIG_IP_MULTICAST=y |
@@ -204,12 +216,18 @@ CONFIG_SYN_COOKIES=y | |||
204 | # CONFIG_INET_AH is not set | 216 | # CONFIG_INET_AH is not set |
205 | # CONFIG_INET_ESP is not set | 217 | # CONFIG_INET_ESP is not set |
206 | # CONFIG_INET_IPCOMP is not set | 218 | # CONFIG_INET_IPCOMP is not set |
219 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
207 | # CONFIG_INET_TUNNEL is not set | 220 | # CONFIG_INET_TUNNEL is not set |
221 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
222 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
208 | CONFIG_INET_DIAG=y | 223 | CONFIG_INET_DIAG=y |
209 | CONFIG_INET_TCP_DIAG=y | 224 | CONFIG_INET_TCP_DIAG=y |
210 | # CONFIG_TCP_CONG_ADVANCED is not set | 225 | # CONFIG_TCP_CONG_ADVANCED is not set |
211 | CONFIG_TCP_CONG_BIC=y | 226 | CONFIG_TCP_CONG_BIC=y |
212 | # CONFIG_IPV6 is not set | 227 | # CONFIG_IPV6 is not set |
228 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
229 | # CONFIG_INET6_TUNNEL is not set | ||
230 | # CONFIG_NETWORK_SECMARK is not set | ||
213 | # CONFIG_NETFILTER is not set | 231 | # CONFIG_NETFILTER is not set |
214 | 232 | ||
215 | # | 233 | # |
@@ -264,6 +282,7 @@ CONFIG_STANDALONE=y | |||
264 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 282 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
265 | # CONFIG_FW_LOADER is not set | 283 | # CONFIG_FW_LOADER is not set |
266 | # CONFIG_DEBUG_DRIVER is not set | 284 | # CONFIG_DEBUG_DRIVER is not set |
285 | # CONFIG_SYS_HYPERVISOR is not set | ||
267 | 286 | ||
268 | # | 287 | # |
269 | # Connector - unified userspace <-> kernelspace linker | 288 | # Connector - unified userspace <-> kernelspace linker |
@@ -295,6 +314,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
295 | CONFIG_BLK_DEV_RAM=y | 314 | CONFIG_BLK_DEV_RAM=y |
296 | CONFIG_BLK_DEV_RAM_COUNT=16 | 315 | CONFIG_BLK_DEV_RAM_COUNT=16 |
297 | CONFIG_BLK_DEV_RAM_SIZE=32768 | 316 | CONFIG_BLK_DEV_RAM_SIZE=32768 |
317 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
298 | CONFIG_BLK_DEV_INITRD=y | 318 | CONFIG_BLK_DEV_INITRD=y |
299 | # CONFIG_CDROM_PKTCDVD is not set | 319 | # CONFIG_CDROM_PKTCDVD is not set |
300 | # CONFIG_ATA_OVER_ETH is not set | 320 | # CONFIG_ATA_OVER_ETH is not set |
@@ -355,6 +375,9 @@ CONFIG_PHYLIB=y | |||
355 | # CONFIG_QSEMI_PHY is not set | 375 | # CONFIG_QSEMI_PHY is not set |
356 | # CONFIG_LXT_PHY is not set | 376 | # CONFIG_LXT_PHY is not set |
357 | # CONFIG_CICADA_PHY is not set | 377 | # CONFIG_CICADA_PHY is not set |
378 | # CONFIG_VITESSE_PHY is not set | ||
379 | # CONFIG_SMSC_PHY is not set | ||
380 | # CONFIG_FIXED_PHY is not set | ||
358 | 381 | ||
359 | # | 382 | # |
360 | # Ethernet (10 or 100Mbit) | 383 | # Ethernet (10 or 100Mbit) |
@@ -464,6 +487,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
464 | # Watchdog Cards | 487 | # Watchdog Cards |
465 | # | 488 | # |
466 | # CONFIG_WATCHDOG is not set | 489 | # CONFIG_WATCHDOG is not set |
490 | # CONFIG_HW_RANDOM is not set | ||
467 | # CONFIG_NVRAM is not set | 491 | # CONFIG_NVRAM is not set |
468 | CONFIG_GEN_RTC=y | 492 | CONFIG_GEN_RTC=y |
469 | # CONFIG_GEN_RTC_X is not set | 493 | # CONFIG_GEN_RTC_X is not set |
@@ -473,7 +497,6 @@ CONFIG_GEN_RTC=y | |||
473 | # | 497 | # |
474 | # Ftape, the floppy tape device driver | 498 | # Ftape, the floppy tape device driver |
475 | # | 499 | # |
476 | # CONFIG_AGP is not set | ||
477 | # CONFIG_RAW_DRIVER is not set | 500 | # CONFIG_RAW_DRIVER is not set |
478 | 501 | ||
479 | # | 502 | # |
@@ -496,13 +519,13 @@ CONFIG_GEN_RTC=y | |||
496 | # | 519 | # |
497 | # Dallas's 1-wire bus | 520 | # Dallas's 1-wire bus |
498 | # | 521 | # |
499 | # CONFIG_W1 is not set | ||
500 | 522 | ||
501 | # | 523 | # |
502 | # Hardware Monitoring support | 524 | # Hardware Monitoring support |
503 | # | 525 | # |
504 | CONFIG_HWMON=y | 526 | CONFIG_HWMON=y |
505 | # CONFIG_HWMON_VID is not set | 527 | # CONFIG_HWMON_VID is not set |
528 | # CONFIG_SENSORS_ABITUGURU is not set | ||
506 | # CONFIG_SENSORS_F71805F is not set | 529 | # CONFIG_SENSORS_F71805F is not set |
507 | # CONFIG_HWMON_DEBUG_CHIP is not set | 530 | # CONFIG_HWMON_DEBUG_CHIP is not set |
508 | 531 | ||
@@ -514,6 +537,7 @@ CONFIG_HWMON=y | |||
514 | # Multimedia devices | 537 | # Multimedia devices |
515 | # | 538 | # |
516 | # CONFIG_VIDEO_DEV is not set | 539 | # CONFIG_VIDEO_DEV is not set |
540 | CONFIG_VIDEO_V4L2=y | ||
517 | 541 | ||
518 | # | 542 | # |
519 | # Digital Video Broadcasting Devices | 543 | # Digital Video Broadcasting Devices |
@@ -523,7 +547,9 @@ CONFIG_HWMON=y | |||
523 | # | 547 | # |
524 | # Graphics support | 548 | # Graphics support |
525 | # | 549 | # |
550 | CONFIG_FIRMWARE_EDID=y | ||
526 | # CONFIG_FB is not set | 551 | # CONFIG_FB is not set |
552 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
527 | 553 | ||
528 | # | 554 | # |
529 | # Sound | 555 | # Sound |
@@ -552,6 +578,19 @@ CONFIG_HWMON=y | |||
552 | # CONFIG_MMC is not set | 578 | # CONFIG_MMC is not set |
553 | 579 | ||
554 | # | 580 | # |
581 | # LED devices | ||
582 | # | ||
583 | # CONFIG_NEW_LEDS is not set | ||
584 | |||
585 | # | ||
586 | # LED drivers | ||
587 | # | ||
588 | |||
589 | # | ||
590 | # LED Triggers | ||
591 | # | ||
592 | |||
593 | # | ||
555 | # InfiniBand support | 594 | # InfiniBand support |
556 | # | 595 | # |
557 | 596 | ||
@@ -560,6 +599,24 @@ CONFIG_HWMON=y | |||
560 | # | 599 | # |
561 | 600 | ||
562 | # | 601 | # |
602 | # Real Time Clock | ||
603 | # | ||
604 | # CONFIG_RTC_CLASS is not set | ||
605 | |||
606 | # | ||
607 | # DMA Engine support | ||
608 | # | ||
609 | # CONFIG_DMA_ENGINE is not set | ||
610 | |||
611 | # | ||
612 | # DMA Clients | ||
613 | # | ||
614 | |||
615 | # | ||
616 | # DMA Devices | ||
617 | # | ||
618 | |||
619 | # | ||
563 | # File systems | 620 | # File systems |
564 | # | 621 | # |
565 | CONFIG_EXT2_FS=y | 622 | CONFIG_EXT2_FS=y |
@@ -580,6 +637,7 @@ CONFIG_FS_MBCACHE=y | |||
580 | # CONFIG_MINIX_FS is not set | 637 | # CONFIG_MINIX_FS is not set |
581 | # CONFIG_ROMFS_FS is not set | 638 | # CONFIG_ROMFS_FS is not set |
582 | CONFIG_INOTIFY=y | 639 | CONFIG_INOTIFY=y |
640 | CONFIG_INOTIFY_USER=y | ||
583 | # CONFIG_QUOTA is not set | 641 | # CONFIG_QUOTA is not set |
584 | CONFIG_DNOTIFY=y | 642 | CONFIG_DNOTIFY=y |
585 | # CONFIG_AUTOFS_FS is not set | 643 | # CONFIG_AUTOFS_FS is not set |
@@ -677,6 +735,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
677 | # CONFIG_CRC16 is not set | 735 | # CONFIG_CRC16 is not set |
678 | CONFIG_CRC32=y | 736 | CONFIG_CRC32=y |
679 | # CONFIG_LIBCRC32C is not set | 737 | # CONFIG_LIBCRC32C is not set |
738 | CONFIG_PLIST=y | ||
680 | 739 | ||
681 | # | 740 | # |
682 | # Instrumentation Support | 741 | # Instrumentation Support |
@@ -688,14 +747,19 @@ CONFIG_CRC32=y | |||
688 | # | 747 | # |
689 | # CONFIG_PRINTK_TIME is not set | 748 | # CONFIG_PRINTK_TIME is not set |
690 | # CONFIG_MAGIC_SYSRQ is not set | 749 | # CONFIG_MAGIC_SYSRQ is not set |
750 | # CONFIG_UNUSED_SYMBOLS is not set | ||
691 | CONFIG_DEBUG_KERNEL=y | 751 | CONFIG_DEBUG_KERNEL=y |
692 | CONFIG_LOG_BUF_SHIFT=14 | 752 | CONFIG_LOG_BUF_SHIFT=14 |
693 | CONFIG_DETECT_SOFTLOCKUP=y | 753 | CONFIG_DETECT_SOFTLOCKUP=y |
694 | # CONFIG_SCHEDSTATS is not set | 754 | # CONFIG_SCHEDSTATS is not set |
695 | # CONFIG_DEBUG_SLAB is not set | 755 | # CONFIG_DEBUG_SLAB is not set |
696 | CONFIG_DEBUG_MUTEXES=y | 756 | # CONFIG_DEBUG_RT_MUTEXES is not set |
757 | # CONFIG_RT_MUTEX_TESTER is not set | ||
697 | # CONFIG_DEBUG_SPINLOCK is not set | 758 | # CONFIG_DEBUG_SPINLOCK is not set |
759 | CONFIG_DEBUG_MUTEXES=y | ||
760 | # CONFIG_DEBUG_RWSEMS is not set | ||
698 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 761 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
762 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
699 | # CONFIG_DEBUG_KOBJECT is not set | 763 | # CONFIG_DEBUG_KOBJECT is not set |
700 | # CONFIG_DEBUG_INFO is not set | 764 | # CONFIG_DEBUG_INFO is not set |
701 | # CONFIG_DEBUG_FS is not set | 765 | # CONFIG_DEBUG_FS is not set |
@@ -706,11 +770,7 @@ CONFIG_FORCED_INLINING=y | |||
706 | # CONFIG_DEBUGGER is not set | 770 | # CONFIG_DEBUGGER is not set |
707 | # CONFIG_BDI_SWITCH is not set | 771 | # CONFIG_BDI_SWITCH is not set |
708 | # CONFIG_BOOTX_TEXT is not set | 772 | # CONFIG_BOOTX_TEXT is not set |
709 | # CONFIG_PPC_EARLY_DEBUG_LPAR is not set | 773 | # CONFIG_PPC_EARLY_DEBUG is not set |
710 | # CONFIG_PPC_EARLY_DEBUG_G5 is not set | ||
711 | # CONFIG_PPC_EARLY_DEBUG_RTAS is not set | ||
712 | # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set | ||
713 | # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set | ||
714 | 774 | ||
715 | # | 775 | # |
716 | # Security options | 776 | # Security options |
diff --git a/arch/powerpc/configs/mpc85xx_cds_defconfig b/arch/powerpc/configs/mpc85xx_cds_defconfig index 9bb022a523f..72edf9f6682 100644 --- a/arch/powerpc/configs/mpc85xx_cds_defconfig +++ b/arch/powerpc/configs/mpc85xx_cds_defconfig | |||
@@ -1,16 +1,18 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Sun Apr 2 11:23:42 2006 | 4 | # Sun Sep 10 10:29:49 2006 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | CONFIG_PPC32=y | 7 | CONFIG_PPC32=y |
8 | CONFIG_PPC_MERGE=y | 8 | CONFIG_PPC_MERGE=y |
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_IRQ_PER_CPU=y | ||
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 12 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | 13 | CONFIG_GENERIC_HWEIGHT=y |
13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 14 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
15 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
14 | CONFIG_PPC=y | 16 | CONFIG_PPC=y |
15 | CONFIG_EARLY_PRINTK=y | 17 | CONFIG_EARLY_PRINTK=y |
16 | CONFIG_GENERIC_NVRAM=y | 18 | CONFIG_GENERIC_NVRAM=y |
@@ -19,7 +21,7 @@ CONFIG_ARCH_MAY_HAVE_PC_FDC=y | |||
19 | CONFIG_PPC_OF=y | 21 | CONFIG_PPC_OF=y |
20 | CONFIG_PPC_UDBG_16550=y | 22 | CONFIG_PPC_UDBG_16550=y |
21 | # CONFIG_GENERIC_TBSYNC is not set | 23 | # CONFIG_GENERIC_TBSYNC is not set |
22 | # CONFIG_DEFAULT_UIMAGE is not set | 24 | CONFIG_DEFAULT_UIMAGE=y |
23 | 25 | ||
24 | # | 26 | # |
25 | # Processor support | 27 | # Processor support |
@@ -29,6 +31,7 @@ CONFIG_PPC_UDBG_16550=y | |||
29 | # CONFIG_PPC_82xx is not set | 31 | # CONFIG_PPC_82xx is not set |
30 | # CONFIG_PPC_83xx is not set | 32 | # CONFIG_PPC_83xx is not set |
31 | CONFIG_PPC_85xx=y | 33 | CONFIG_PPC_85xx=y |
34 | # CONFIG_PPC_86xx is not set | ||
32 | # CONFIG_40x is not set | 35 | # CONFIG_40x is not set |
33 | # CONFIG_44x is not set | 36 | # CONFIG_44x is not set |
34 | # CONFIG_8xx is not set | 37 | # CONFIG_8xx is not set |
@@ -39,6 +42,7 @@ CONFIG_BOOKE=y | |||
39 | CONFIG_FSL_BOOKE=y | 42 | CONFIG_FSL_BOOKE=y |
40 | # CONFIG_PHYS_64BIT is not set | 43 | # CONFIG_PHYS_64BIT is not set |
41 | CONFIG_SPE=y | 44 | CONFIG_SPE=y |
45 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
42 | 46 | ||
43 | # | 47 | # |
44 | # Code maturity level options | 48 | # Code maturity level options |
@@ -56,6 +60,7 @@ CONFIG_SWAP=y | |||
56 | CONFIG_SYSVIPC=y | 60 | CONFIG_SYSVIPC=y |
57 | # CONFIG_POSIX_MQUEUE is not set | 61 | # CONFIG_POSIX_MQUEUE is not set |
58 | # CONFIG_BSD_PROCESS_ACCT is not set | 62 | # CONFIG_BSD_PROCESS_ACCT is not set |
63 | # CONFIG_TASKSTATS is not set | ||
59 | CONFIG_SYSCTL=y | 64 | CONFIG_SYSCTL=y |
60 | # CONFIG_AUDIT is not set | 65 | # CONFIG_AUDIT is not set |
61 | # CONFIG_IKCONFIG is not set | 66 | # CONFIG_IKCONFIG is not set |
@@ -71,10 +76,12 @@ CONFIG_PRINTK=y | |||
71 | CONFIG_BUG=y | 76 | CONFIG_BUG=y |
72 | CONFIG_ELF_CORE=y | 77 | CONFIG_ELF_CORE=y |
73 | CONFIG_BASE_FULL=y | 78 | CONFIG_BASE_FULL=y |
79 | CONFIG_RT_MUTEXES=y | ||
74 | CONFIG_FUTEX=y | 80 | CONFIG_FUTEX=y |
75 | CONFIG_EPOLL=y | 81 | CONFIG_EPOLL=y |
76 | CONFIG_SHMEM=y | 82 | CONFIG_SHMEM=y |
77 | CONFIG_SLAB=y | 83 | CONFIG_SLAB=y |
84 | CONFIG_VM_EVENT_COUNTERS=y | ||
78 | # CONFIG_TINY_SHMEM is not set | 85 | # CONFIG_TINY_SHMEM is not set |
79 | CONFIG_BASE_SMALL=0 | 86 | CONFIG_BASE_SMALL=0 |
80 | # CONFIG_SLOB is not set | 87 | # CONFIG_SLOB is not set |
@@ -103,7 +110,6 @@ CONFIG_DEFAULT_AS=y | |||
103 | # CONFIG_DEFAULT_CFQ is not set | 110 | # CONFIG_DEFAULT_CFQ is not set |
104 | # CONFIG_DEFAULT_NOOP is not set | 111 | # CONFIG_DEFAULT_NOOP is not set |
105 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 112 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
106 | CONFIG_MPIC=y | ||
107 | # CONFIG_WANT_EARLY_SERIAL is not set | 113 | # CONFIG_WANT_EARLY_SERIAL is not set |
108 | 114 | ||
109 | # | 115 | # |
@@ -113,6 +119,7 @@ CONFIG_MPIC=y | |||
113 | CONFIG_MPC85xx_CDS=y | 119 | CONFIG_MPC85xx_CDS=y |
114 | CONFIG_MPC8540=y | 120 | CONFIG_MPC8540=y |
115 | CONFIG_PPC_INDIRECT_PCI_BE=y | 121 | CONFIG_PPC_INDIRECT_PCI_BE=y |
122 | CONFIG_MPIC=y | ||
116 | 123 | ||
117 | # | 124 | # |
118 | # Kernel options | 125 | # Kernel options |
@@ -128,6 +135,7 @@ CONFIG_PREEMPT_NONE=y | |||
128 | CONFIG_BINFMT_ELF=y | 135 | CONFIG_BINFMT_ELF=y |
129 | CONFIG_BINFMT_MISC=y | 136 | CONFIG_BINFMT_MISC=y |
130 | CONFIG_MATH_EMULATION=y | 137 | CONFIG_MATH_EMULATION=y |
138 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
131 | CONFIG_ARCH_FLATMEM_ENABLE=y | 139 | CONFIG_ARCH_FLATMEM_ENABLE=y |
132 | CONFIG_SELECT_MEMORY_MODEL=y | 140 | CONFIG_SELECT_MEMORY_MODEL=y |
133 | CONFIG_FLATMEM_MANUAL=y | 141 | CONFIG_FLATMEM_MANUAL=y |
@@ -137,21 +145,23 @@ CONFIG_FLATMEM=y | |||
137 | CONFIG_FLAT_NODE_MEM_MAP=y | 145 | CONFIG_FLAT_NODE_MEM_MAP=y |
138 | # CONFIG_SPARSEMEM_STATIC is not set | 146 | # CONFIG_SPARSEMEM_STATIC is not set |
139 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 147 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
148 | # CONFIG_RESOURCES_64BIT is not set | ||
140 | CONFIG_PROC_DEVICETREE=y | 149 | CONFIG_PROC_DEVICETREE=y |
141 | # CONFIG_CMDLINE_BOOL is not set | 150 | # CONFIG_CMDLINE_BOOL is not set |
142 | # CONFIG_PM is not set | 151 | # CONFIG_PM is not set |
143 | # CONFIG_SOFTWARE_SUSPEND is not set | ||
144 | # CONFIG_SECCOMP is not set | 152 | # CONFIG_SECCOMP is not set |
145 | CONFIG_ISA_DMA_API=y | 153 | CONFIG_ISA_DMA_API=y |
146 | 154 | ||
147 | # | 155 | # |
148 | # Bus options | 156 | # Bus options |
149 | # | 157 | # |
150 | CONFIG_PPC_I8259=y | 158 | # CONFIG_MPIC_WEIRD is not set |
159 | # CONFIG_PPC_I8259 is not set | ||
151 | CONFIG_PPC_INDIRECT_PCI=y | 160 | CONFIG_PPC_INDIRECT_PCI=y |
152 | CONFIG_FSL_SOC=y | 161 | CONFIG_FSL_SOC=y |
153 | CONFIG_PCI=y | 162 | CONFIG_PCI=y |
154 | CONFIG_PCI_DOMAINS=y | 163 | CONFIG_PCI_DOMAINS=y |
164 | # CONFIG_PCIEPORTBUS is not set | ||
155 | # CONFIG_PCI_DEBUG is not set | 165 | # CONFIG_PCI_DEBUG is not set |
156 | 166 | ||
157 | # | 167 | # |
@@ -190,6 +200,8 @@ CONFIG_NET=y | |||
190 | CONFIG_PACKET=y | 200 | CONFIG_PACKET=y |
191 | # CONFIG_PACKET_MMAP is not set | 201 | # CONFIG_PACKET_MMAP is not set |
192 | CONFIG_UNIX=y | 202 | CONFIG_UNIX=y |
203 | CONFIG_XFRM=y | ||
204 | CONFIG_XFRM_USER=y | ||
193 | # CONFIG_NET_KEY is not set | 205 | # CONFIG_NET_KEY is not set |
194 | CONFIG_INET=y | 206 | CONFIG_INET=y |
195 | CONFIG_IP_MULTICAST=y | 207 | CONFIG_IP_MULTICAST=y |
@@ -209,6 +221,8 @@ CONFIG_SYN_COOKIES=y | |||
209 | # CONFIG_INET_IPCOMP is not set | 221 | # CONFIG_INET_IPCOMP is not set |
210 | # CONFIG_INET_XFRM_TUNNEL is not set | 222 | # CONFIG_INET_XFRM_TUNNEL is not set |
211 | # CONFIG_INET_TUNNEL is not set | 223 | # CONFIG_INET_TUNNEL is not set |
224 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
225 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
212 | CONFIG_INET_DIAG=y | 226 | CONFIG_INET_DIAG=y |
213 | CONFIG_INET_TCP_DIAG=y | 227 | CONFIG_INET_TCP_DIAG=y |
214 | # CONFIG_TCP_CONG_ADVANCED is not set | 228 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -216,6 +230,7 @@ CONFIG_TCP_CONG_BIC=y | |||
216 | # CONFIG_IPV6 is not set | 230 | # CONFIG_IPV6 is not set |
217 | # CONFIG_INET6_XFRM_TUNNEL is not set | 231 | # CONFIG_INET6_XFRM_TUNNEL is not set |
218 | # CONFIG_INET6_TUNNEL is not set | 232 | # CONFIG_INET6_TUNNEL is not set |
233 | # CONFIG_NETWORK_SECMARK is not set | ||
219 | # CONFIG_NETFILTER is not set | 234 | # CONFIG_NETFILTER is not set |
220 | 235 | ||
221 | # | 236 | # |
@@ -270,6 +285,7 @@ CONFIG_STANDALONE=y | |||
270 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 285 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
271 | # CONFIG_FW_LOADER is not set | 286 | # CONFIG_FW_LOADER is not set |
272 | # CONFIG_DEBUG_DRIVER is not set | 287 | # CONFIG_DEBUG_DRIVER is not set |
288 | # CONFIG_SYS_HYPERVISOR is not set | ||
273 | 289 | ||
274 | # | 290 | # |
275 | # Connector - unified userspace <-> kernelspace linker | 291 | # Connector - unified userspace <-> kernelspace linker |
@@ -306,6 +322,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
306 | CONFIG_BLK_DEV_RAM=y | 322 | CONFIG_BLK_DEV_RAM=y |
307 | CONFIG_BLK_DEV_RAM_COUNT=16 | 323 | CONFIG_BLK_DEV_RAM_COUNT=16 |
308 | CONFIG_BLK_DEV_RAM_SIZE=32768 | 324 | CONFIG_BLK_DEV_RAM_SIZE=32768 |
325 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
309 | CONFIG_BLK_DEV_INITRD=y | 326 | CONFIG_BLK_DEV_INITRD=y |
310 | # CONFIG_CDROM_PKTCDVD is not set | 327 | # CONFIG_CDROM_PKTCDVD is not set |
311 | # CONFIG_ATA_OVER_ETH is not set | 328 | # CONFIG_ATA_OVER_ETH is not set |
@@ -425,6 +442,9 @@ CONFIG_PHYLIB=y | |||
425 | # CONFIG_QSEMI_PHY is not set | 442 | # CONFIG_QSEMI_PHY is not set |
426 | # CONFIG_LXT_PHY is not set | 443 | # CONFIG_LXT_PHY is not set |
427 | # CONFIG_CICADA_PHY is not set | 444 | # CONFIG_CICADA_PHY is not set |
445 | # CONFIG_VITESSE_PHY is not set | ||
446 | # CONFIG_SMSC_PHY is not set | ||
447 | # CONFIG_FIXED_PHY is not set | ||
428 | 448 | ||
429 | # | 449 | # |
430 | # Ethernet (10 or 100Mbit) | 450 | # Ethernet (10 or 100Mbit) |
@@ -470,6 +490,7 @@ CONFIG_GFAR_NAPI=y | |||
470 | # CONFIG_CHELSIO_T1 is not set | 490 | # CONFIG_CHELSIO_T1 is not set |
471 | # CONFIG_IXGB is not set | 491 | # CONFIG_IXGB is not set |
472 | # CONFIG_S2IO is not set | 492 | # CONFIG_S2IO is not set |
493 | # CONFIG_MYRI10GE is not set | ||
473 | 494 | ||
474 | # | 495 | # |
475 | # Token Ring devices | 496 | # Token Ring devices |
@@ -568,6 +589,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
568 | # Watchdog Cards | 589 | # Watchdog Cards |
569 | # | 590 | # |
570 | # CONFIG_WATCHDOG is not set | 591 | # CONFIG_WATCHDOG is not set |
592 | # CONFIG_HW_RANDOM is not set | ||
571 | # CONFIG_NVRAM is not set | 593 | # CONFIG_NVRAM is not set |
572 | CONFIG_GEN_RTC=y | 594 | CONFIG_GEN_RTC=y |
573 | # CONFIG_GEN_RTC_X is not set | 595 | # CONFIG_GEN_RTC_X is not set |
@@ -602,13 +624,13 @@ CONFIG_GEN_RTC=y | |||
602 | # | 624 | # |
603 | # Dallas's 1-wire bus | 625 | # Dallas's 1-wire bus |
604 | # | 626 | # |
605 | # CONFIG_W1 is not set | ||
606 | 627 | ||
607 | # | 628 | # |
608 | # Hardware Monitoring support | 629 | # Hardware Monitoring support |
609 | # | 630 | # |
610 | CONFIG_HWMON=y | 631 | CONFIG_HWMON=y |
611 | # CONFIG_HWMON_VID is not set | 632 | # CONFIG_HWMON_VID is not set |
633 | # CONFIG_SENSORS_ABITUGURU is not set | ||
612 | # CONFIG_SENSORS_F71805F is not set | 634 | # CONFIG_SENSORS_F71805F is not set |
613 | # CONFIG_HWMON_DEBUG_CHIP is not set | 635 | # CONFIG_HWMON_DEBUG_CHIP is not set |
614 | 636 | ||
@@ -620,6 +642,7 @@ CONFIG_HWMON=y | |||
620 | # Multimedia devices | 642 | # Multimedia devices |
621 | # | 643 | # |
622 | # CONFIG_VIDEO_DEV is not set | 644 | # CONFIG_VIDEO_DEV is not set |
645 | CONFIG_VIDEO_V4L2=y | ||
623 | 646 | ||
624 | # | 647 | # |
625 | # Digital Video Broadcasting Devices | 648 | # Digital Video Broadcasting Devices |
@@ -629,7 +652,9 @@ CONFIG_HWMON=y | |||
629 | # | 652 | # |
630 | # Graphics support | 653 | # Graphics support |
631 | # | 654 | # |
655 | CONFIG_FIRMWARE_EDID=y | ||
632 | # CONFIG_FB is not set | 656 | # CONFIG_FB is not set |
657 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
633 | 658 | ||
634 | # | 659 | # |
635 | # Sound | 660 | # Sound |
@@ -664,6 +689,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
664 | # CONFIG_NEW_LEDS is not set | 689 | # CONFIG_NEW_LEDS is not set |
665 | 690 | ||
666 | # | 691 | # |
692 | # LED drivers | ||
693 | # | ||
694 | |||
695 | # | ||
696 | # LED Triggers | ||
697 | # | ||
698 | |||
699 | # | ||
667 | # InfiniBand support | 700 | # InfiniBand support |
668 | # | 701 | # |
669 | # CONFIG_INFINIBAND is not set | 702 | # CONFIG_INFINIBAND is not set |
@@ -678,6 +711,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
678 | # CONFIG_RTC_CLASS is not set | 711 | # CONFIG_RTC_CLASS is not set |
679 | 712 | ||
680 | # | 713 | # |
714 | # DMA Engine support | ||
715 | # | ||
716 | # CONFIG_DMA_ENGINE is not set | ||
717 | |||
718 | # | ||
719 | # DMA Clients | ||
720 | # | ||
721 | |||
722 | # | ||
723 | # DMA Devices | ||
724 | # | ||
725 | |||
726 | # | ||
681 | # File systems | 727 | # File systems |
682 | # | 728 | # |
683 | CONFIG_EXT2_FS=y | 729 | CONFIG_EXT2_FS=y |
@@ -698,6 +744,7 @@ CONFIG_FS_MBCACHE=y | |||
698 | # CONFIG_MINIX_FS is not set | 744 | # CONFIG_MINIX_FS is not set |
699 | # CONFIG_ROMFS_FS is not set | 745 | # CONFIG_ROMFS_FS is not set |
700 | CONFIG_INOTIFY=y | 746 | CONFIG_INOTIFY=y |
747 | CONFIG_INOTIFY_USER=y | ||
701 | # CONFIG_QUOTA is not set | 748 | # CONFIG_QUOTA is not set |
702 | CONFIG_DNOTIFY=y | 749 | CONFIG_DNOTIFY=y |
703 | # CONFIG_AUTOFS_FS is not set | 750 | # CONFIG_AUTOFS_FS is not set |
@@ -795,6 +842,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
795 | # CONFIG_CRC16 is not set | 842 | # CONFIG_CRC16 is not set |
796 | CONFIG_CRC32=y | 843 | CONFIG_CRC32=y |
797 | # CONFIG_LIBCRC32C is not set | 844 | # CONFIG_LIBCRC32C is not set |
845 | CONFIG_PLIST=y | ||
798 | 846 | ||
799 | # | 847 | # |
800 | # Instrumentation Support | 848 | # Instrumentation Support |
@@ -806,14 +854,19 @@ CONFIG_CRC32=y | |||
806 | # | 854 | # |
807 | # CONFIG_PRINTK_TIME is not set | 855 | # CONFIG_PRINTK_TIME is not set |
808 | # CONFIG_MAGIC_SYSRQ is not set | 856 | # CONFIG_MAGIC_SYSRQ is not set |
857 | # CONFIG_UNUSED_SYMBOLS is not set | ||
809 | CONFIG_DEBUG_KERNEL=y | 858 | CONFIG_DEBUG_KERNEL=y |
810 | CONFIG_LOG_BUF_SHIFT=14 | 859 | CONFIG_LOG_BUF_SHIFT=14 |
811 | CONFIG_DETECT_SOFTLOCKUP=y | 860 | CONFIG_DETECT_SOFTLOCKUP=y |
812 | # CONFIG_SCHEDSTATS is not set | 861 | # CONFIG_SCHEDSTATS is not set |
813 | # CONFIG_DEBUG_SLAB is not set | 862 | # CONFIG_DEBUG_SLAB is not set |
814 | CONFIG_DEBUG_MUTEXES=y | 863 | # CONFIG_DEBUG_RT_MUTEXES is not set |
864 | # CONFIG_RT_MUTEX_TESTER is not set | ||
815 | # CONFIG_DEBUG_SPINLOCK is not set | 865 | # CONFIG_DEBUG_SPINLOCK is not set |
866 | CONFIG_DEBUG_MUTEXES=y | ||
867 | # CONFIG_DEBUG_RWSEMS is not set | ||
816 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 868 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
869 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
817 | # CONFIG_DEBUG_KOBJECT is not set | 870 | # CONFIG_DEBUG_KOBJECT is not set |
818 | # CONFIG_DEBUG_INFO is not set | 871 | # CONFIG_DEBUG_INFO is not set |
819 | # CONFIG_DEBUG_FS is not set | 872 | # CONFIG_DEBUG_FS is not set |
@@ -824,11 +877,7 @@ CONFIG_FORCED_INLINING=y | |||
824 | # CONFIG_DEBUGGER is not set | 877 | # CONFIG_DEBUGGER is not set |
825 | # CONFIG_BDI_SWITCH is not set | 878 | # CONFIG_BDI_SWITCH is not set |
826 | # CONFIG_BOOTX_TEXT is not set | 879 | # CONFIG_BOOTX_TEXT is not set |
827 | # CONFIG_PPC_EARLY_DEBUG_LPAR is not set | 880 | # CONFIG_PPC_EARLY_DEBUG is not set |
828 | # CONFIG_PPC_EARLY_DEBUG_G5 is not set | ||
829 | # CONFIG_PPC_EARLY_DEBUG_RTAS is not set | ||
830 | # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set | ||
831 | # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set | ||
832 | 881 | ||
833 | # | 882 | # |
834 | # Security options | 883 | # Security options |
diff --git a/arch/powerpc/configs/mpc8641_hpcn_defconfig b/arch/powerpc/configs/mpc8641_hpcn_defconfig index d7a30f9bc53..92a527fccf8 100644 --- a/arch/powerpc/configs/mpc8641_hpcn_defconfig +++ b/arch/powerpc/configs/mpc8641_hpcn_defconfig | |||
@@ -1,16 +1,18 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc3 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Fri Jun 16 10:47:09 2006 | 4 | # Sun Sep 10 10:30:15 2006 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | CONFIG_PPC32=y | 7 | CONFIG_PPC32=y |
8 | CONFIG_PPC_MERGE=y | 8 | CONFIG_PPC_MERGE=y |
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_IRQ_PER_CPU=y | ||
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 12 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | 13 | CONFIG_GENERIC_HWEIGHT=y |
13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 14 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
15 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
14 | CONFIG_PPC=y | 16 | CONFIG_PPC=y |
15 | CONFIG_EARLY_PRINTK=y | 17 | CONFIG_EARLY_PRINTK=y |
16 | CONFIG_GENERIC_NVRAM=y | 18 | CONFIG_GENERIC_NVRAM=y |
@@ -41,6 +43,7 @@ CONFIG_PPC_STD_MMU=y | |||
41 | CONFIG_PPC_STD_MMU_32=y | 43 | CONFIG_PPC_STD_MMU_32=y |
42 | CONFIG_SMP=y | 44 | CONFIG_SMP=y |
43 | CONFIG_NR_CPUS=2 | 45 | CONFIG_NR_CPUS=2 |
46 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
44 | 47 | ||
45 | # | 48 | # |
46 | # Code maturity level options | 49 | # Code maturity level options |
@@ -58,6 +61,7 @@ CONFIG_LOCALVERSION="" | |||
58 | # CONFIG_SYSVIPC is not set | 61 | # CONFIG_SYSVIPC is not set |
59 | # CONFIG_POSIX_MQUEUE is not set | 62 | # CONFIG_POSIX_MQUEUE is not set |
60 | # CONFIG_BSD_PROCESS_ACCT is not set | 63 | # CONFIG_BSD_PROCESS_ACCT is not set |
64 | # CONFIG_TASKSTATS is not set | ||
61 | CONFIG_SYSCTL=y | 65 | CONFIG_SYSCTL=y |
62 | # CONFIG_AUDIT is not set | 66 | # CONFIG_AUDIT is not set |
63 | CONFIG_IKCONFIG=y | 67 | CONFIG_IKCONFIG=y |
@@ -75,10 +79,12 @@ CONFIG_PRINTK=y | |||
75 | CONFIG_BUG=y | 79 | CONFIG_BUG=y |
76 | # CONFIG_ELF_CORE is not set | 80 | # CONFIG_ELF_CORE is not set |
77 | CONFIG_BASE_FULL=y | 81 | CONFIG_BASE_FULL=y |
82 | CONFIG_RT_MUTEXES=y | ||
78 | CONFIG_FUTEX=y | 83 | CONFIG_FUTEX=y |
79 | CONFIG_EPOLL=y | 84 | CONFIG_EPOLL=y |
80 | CONFIG_SHMEM=y | 85 | CONFIG_SHMEM=y |
81 | # CONFIG_SLAB is not set | 86 | # CONFIG_SLAB is not set |
87 | CONFIG_VM_EVENT_COUNTERS=y | ||
82 | # CONFIG_TINY_SHMEM is not set | 88 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 89 | CONFIG_BASE_SMALL=0 |
84 | CONFIG_SLOB=y | 90 | CONFIG_SLOB=y |
@@ -107,9 +113,9 @@ CONFIG_DEFAULT_DEADLINE=y | |||
107 | # CONFIG_DEFAULT_CFQ is not set | 113 | # CONFIG_DEFAULT_CFQ is not set |
108 | # CONFIG_DEFAULT_NOOP is not set | 114 | # CONFIG_DEFAULT_NOOP is not set |
109 | CONFIG_DEFAULT_IOSCHED="deadline" | 115 | CONFIG_DEFAULT_IOSCHED="deadline" |
110 | CONFIG_MPIC=y | ||
111 | # CONFIG_WANT_EARLY_SERIAL is not set | 116 | # CONFIG_WANT_EARLY_SERIAL is not set |
112 | CONFIG_PPC_INDIRECT_PCI_BE=y | 117 | CONFIG_PPC_INDIRECT_PCI_BE=y |
118 | CONFIG_MPIC=y | ||
113 | 119 | ||
114 | # | 120 | # |
115 | # Platform Support | 121 | # Platform Support |
@@ -131,6 +137,7 @@ CONFIG_PREEMPT_NONE=y | |||
131 | CONFIG_PREEMPT_BKL=y | 137 | CONFIG_PREEMPT_BKL=y |
132 | CONFIG_BINFMT_ELF=y | 138 | CONFIG_BINFMT_ELF=y |
133 | # CONFIG_BINFMT_MISC is not set | 139 | # CONFIG_BINFMT_MISC is not set |
140 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
134 | # CONFIG_IRQ_ALL_CPUS is not set | 141 | # CONFIG_IRQ_ALL_CPUS is not set |
135 | CONFIG_ARCH_FLATMEM_ENABLE=y | 142 | CONFIG_ARCH_FLATMEM_ENABLE=y |
136 | CONFIG_SELECT_MEMORY_MODEL=y | 143 | CONFIG_SELECT_MEMORY_MODEL=y |
@@ -141,6 +148,7 @@ CONFIG_FLATMEM=y | |||
141 | CONFIG_FLAT_NODE_MEM_MAP=y | 148 | CONFIG_FLAT_NODE_MEM_MAP=y |
142 | # CONFIG_SPARSEMEM_STATIC is not set | 149 | # CONFIG_SPARSEMEM_STATIC is not set |
143 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 150 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
151 | # CONFIG_RESOURCES_64BIT is not set | ||
144 | CONFIG_PROC_DEVICETREE=y | 152 | CONFIG_PROC_DEVICETREE=y |
145 | # CONFIG_CMDLINE_BOOL is not set | 153 | # CONFIG_CMDLINE_BOOL is not set |
146 | # CONFIG_PM is not set | 154 | # CONFIG_PM is not set |
@@ -151,11 +159,13 @@ CONFIG_ISA_DMA_API=y | |||
151 | # Bus options | 159 | # Bus options |
152 | # | 160 | # |
153 | CONFIG_GENERIC_ISA_DMA=y | 161 | CONFIG_GENERIC_ISA_DMA=y |
162 | # CONFIG_MPIC_WEIRD is not set | ||
154 | CONFIG_PPC_I8259=y | 163 | CONFIG_PPC_I8259=y |
155 | CONFIG_PPC_INDIRECT_PCI=y | 164 | CONFIG_PPC_INDIRECT_PCI=y |
156 | CONFIG_FSL_SOC=y | 165 | CONFIG_FSL_SOC=y |
157 | CONFIG_PCI=y | 166 | CONFIG_PCI=y |
158 | CONFIG_PCI_DOMAINS=y | 167 | CONFIG_PCI_DOMAINS=y |
168 | # CONFIG_PCIEPORTBUS is not set | ||
159 | # CONFIG_PCI_DEBUG is not set | 169 | # CONFIG_PCI_DEBUG is not set |
160 | 170 | ||
161 | # | 171 | # |
@@ -194,6 +204,8 @@ CONFIG_NET=y | |||
194 | CONFIG_PACKET=y | 204 | CONFIG_PACKET=y |
195 | # CONFIG_PACKET_MMAP is not set | 205 | # CONFIG_PACKET_MMAP is not set |
196 | CONFIG_UNIX=y | 206 | CONFIG_UNIX=y |
207 | CONFIG_XFRM=y | ||
208 | CONFIG_XFRM_USER=y | ||
197 | # CONFIG_NET_KEY is not set | 209 | # CONFIG_NET_KEY is not set |
198 | CONFIG_INET=y | 210 | CONFIG_INET=y |
199 | # CONFIG_IP_MULTICAST is not set | 211 | # CONFIG_IP_MULTICAST is not set |
@@ -212,6 +224,8 @@ CONFIG_IP_PNP_RARP=y | |||
212 | # CONFIG_INET_IPCOMP is not set | 224 | # CONFIG_INET_IPCOMP is not set |
213 | # CONFIG_INET_XFRM_TUNNEL is not set | 225 | # CONFIG_INET_XFRM_TUNNEL is not set |
214 | # CONFIG_INET_TUNNEL is not set | 226 | # CONFIG_INET_TUNNEL is not set |
227 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
228 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
215 | CONFIG_INET_DIAG=y | 229 | CONFIG_INET_DIAG=y |
216 | CONFIG_INET_TCP_DIAG=y | 230 | CONFIG_INET_TCP_DIAG=y |
217 | # CONFIG_TCP_CONG_ADVANCED is not set | 231 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -224,7 +238,10 @@ CONFIG_IPV6=y | |||
224 | # CONFIG_INET6_IPCOMP is not set | 238 | # CONFIG_INET6_IPCOMP is not set |
225 | # CONFIG_INET6_XFRM_TUNNEL is not set | 239 | # CONFIG_INET6_XFRM_TUNNEL is not set |
226 | # CONFIG_INET6_TUNNEL is not set | 240 | # CONFIG_INET6_TUNNEL is not set |
241 | CONFIG_INET6_XFRM_MODE_TRANSPORT=y | ||
242 | CONFIG_INET6_XFRM_MODE_TUNNEL=y | ||
227 | # CONFIG_IPV6_TUNNEL is not set | 243 | # CONFIG_IPV6_TUNNEL is not set |
244 | # CONFIG_NETWORK_SECMARK is not set | ||
228 | # CONFIG_NETFILTER is not set | 245 | # CONFIG_NETFILTER is not set |
229 | 246 | ||
230 | # | 247 | # |
@@ -279,6 +296,7 @@ CONFIG_STANDALONE=y | |||
279 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 296 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
280 | CONFIG_FW_LOADER=y | 297 | CONFIG_FW_LOADER=y |
281 | # CONFIG_DEBUG_DRIVER is not set | 298 | # CONFIG_DEBUG_DRIVER is not set |
299 | # CONFIG_SYS_HYPERVISOR is not set | ||
282 | 300 | ||
283 | # | 301 | # |
284 | # Connector - unified userspace <-> kernelspace linker | 302 | # Connector - unified userspace <-> kernelspace linker |
@@ -315,6 +333,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
315 | CONFIG_BLK_DEV_RAM=y | 333 | CONFIG_BLK_DEV_RAM=y |
316 | CONFIG_BLK_DEV_RAM_COUNT=16 | 334 | CONFIG_BLK_DEV_RAM_COUNT=16 |
317 | CONFIG_BLK_DEV_RAM_SIZE=131072 | 335 | CONFIG_BLK_DEV_RAM_SIZE=131072 |
336 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
318 | CONFIG_BLK_DEV_INITRD=y | 337 | CONFIG_BLK_DEV_INITRD=y |
319 | # CONFIG_CDROM_PKTCDVD is not set | 338 | # CONFIG_CDROM_PKTCDVD is not set |
320 | # CONFIG_ATA_OVER_ETH is not set | 339 | # CONFIG_ATA_OVER_ETH is not set |
@@ -383,6 +402,8 @@ CONFIG_PHYLIB=y | |||
383 | # CONFIG_LXT_PHY is not set | 402 | # CONFIG_LXT_PHY is not set |
384 | # CONFIG_CICADA_PHY is not set | 403 | # CONFIG_CICADA_PHY is not set |
385 | CONFIG_VITESSE_PHY=y | 404 | CONFIG_VITESSE_PHY=y |
405 | # CONFIG_SMSC_PHY is not set | ||
406 | # CONFIG_FIXED_PHY is not set | ||
386 | 407 | ||
387 | # | 408 | # |
388 | # Ethernet (10 or 100Mbit) | 409 | # Ethernet (10 or 100Mbit) |
@@ -426,6 +447,7 @@ CONFIG_GIANFAR=y | |||
426 | # CONFIG_CHELSIO_T1 is not set | 447 | # CONFIG_CHELSIO_T1 is not set |
427 | # CONFIG_IXGB is not set | 448 | # CONFIG_IXGB is not set |
428 | # CONFIG_S2IO is not set | 449 | # CONFIG_S2IO is not set |
450 | # CONFIG_MYRI10GE is not set | ||
429 | 451 | ||
430 | # | 452 | # |
431 | # Token Ring devices | 453 | # Token Ring devices |
@@ -500,6 +522,7 @@ CONFIG_SERIO_LIBPS2=y | |||
500 | CONFIG_VT=y | 522 | CONFIG_VT=y |
501 | CONFIG_VT_CONSOLE=y | 523 | CONFIG_VT_CONSOLE=y |
502 | CONFIG_HW_CONSOLE=y | 524 | CONFIG_HW_CONSOLE=y |
525 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
503 | # CONFIG_SERIAL_NONSTANDARD is not set | 526 | # CONFIG_SERIAL_NONSTANDARD is not set |
504 | 527 | ||
505 | # | 528 | # |
@@ -534,6 +557,7 @@ CONFIG_UNIX98_PTYS=y | |||
534 | # Watchdog Cards | 557 | # Watchdog Cards |
535 | # | 558 | # |
536 | # CONFIG_WATCHDOG is not set | 559 | # CONFIG_WATCHDOG is not set |
560 | # CONFIG_HW_RANDOM is not set | ||
537 | # CONFIG_NVRAM is not set | 561 | # CONFIG_NVRAM is not set |
538 | # CONFIG_GEN_RTC is not set | 562 | # CONFIG_GEN_RTC is not set |
539 | # CONFIG_DTLK is not set | 563 | # CONFIG_DTLK is not set |
@@ -579,6 +603,7 @@ CONFIG_I2C=y | |||
579 | # CONFIG_I2C_PIIX4 is not set | 603 | # CONFIG_I2C_PIIX4 is not set |
580 | CONFIG_I2C_MPC=y | 604 | CONFIG_I2C_MPC=y |
581 | # CONFIG_I2C_NFORCE2 is not set | 605 | # CONFIG_I2C_NFORCE2 is not set |
606 | # CONFIG_I2C_OCORES is not set | ||
582 | # CONFIG_I2C_PARPORT_LIGHT is not set | 607 | # CONFIG_I2C_PARPORT_LIGHT is not set |
583 | # CONFIG_I2C_PROSAVAGE is not set | 608 | # CONFIG_I2C_PROSAVAGE is not set |
584 | # CONFIG_I2C_SAVAGE4 is not set | 609 | # CONFIG_I2C_SAVAGE4 is not set |
@@ -615,7 +640,6 @@ CONFIG_SENSORS_EEPROM=y | |||
615 | # | 640 | # |
616 | # Dallas's 1-wire bus | 641 | # Dallas's 1-wire bus |
617 | # | 642 | # |
618 | # CONFIG_W1 is not set | ||
619 | 643 | ||
620 | # | 644 | # |
621 | # Hardware Monitoring support | 645 | # Hardware Monitoring support |
@@ -631,6 +655,7 @@ CONFIG_SENSORS_EEPROM=y | |||
631 | # Multimedia devices | 655 | # Multimedia devices |
632 | # | 656 | # |
633 | # CONFIG_VIDEO_DEV is not set | 657 | # CONFIG_VIDEO_DEV is not set |
658 | CONFIG_VIDEO_V4L2=y | ||
634 | 659 | ||
635 | # | 660 | # |
636 | # Digital Video Broadcasting Devices | 661 | # Digital Video Broadcasting Devices |
@@ -640,6 +665,7 @@ CONFIG_SENSORS_EEPROM=y | |||
640 | # | 665 | # |
641 | # Graphics support | 666 | # Graphics support |
642 | # | 667 | # |
668 | CONFIG_FIRMWARE_EDID=y | ||
643 | # CONFIG_FB is not set | 669 | # CONFIG_FB is not set |
644 | 670 | ||
645 | # | 671 | # |
@@ -648,6 +674,7 @@ CONFIG_SENSORS_EEPROM=y | |||
648 | CONFIG_VGA_CONSOLE=y | 674 | CONFIG_VGA_CONSOLE=y |
649 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set | 675 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set |
650 | CONFIG_DUMMY_CONSOLE=y | 676 | CONFIG_DUMMY_CONSOLE=y |
677 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
651 | 678 | ||
652 | # | 679 | # |
653 | # Sound | 680 | # Sound |
@@ -704,6 +731,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
704 | # CONFIG_RTC_CLASS is not set | 731 | # CONFIG_RTC_CLASS is not set |
705 | 732 | ||
706 | # | 733 | # |
734 | # DMA Engine support | ||
735 | # | ||
736 | # CONFIG_DMA_ENGINE is not set | ||
737 | |||
738 | # | ||
739 | # DMA Clients | ||
740 | # | ||
741 | |||
742 | # | ||
743 | # DMA Devices | ||
744 | # | ||
745 | |||
746 | # | ||
707 | # File systems | 747 | # File systems |
708 | # | 748 | # |
709 | CONFIG_EXT2_FS=y | 749 | CONFIG_EXT2_FS=y |
@@ -870,6 +910,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
870 | # CONFIG_CRC16 is not set | 910 | # CONFIG_CRC16 is not set |
871 | CONFIG_CRC32=y | 911 | CONFIG_CRC32=y |
872 | # CONFIG_LIBCRC32C is not set | 912 | # CONFIG_LIBCRC32C is not set |
913 | CONFIG_PLIST=y | ||
873 | 914 | ||
874 | # | 915 | # |
875 | # Instrumentation Support | 916 | # Instrumentation Support |
@@ -881,13 +922,18 @@ CONFIG_CRC32=y | |||
881 | # | 922 | # |
882 | # CONFIG_PRINTK_TIME is not set | 923 | # CONFIG_PRINTK_TIME is not set |
883 | # CONFIG_MAGIC_SYSRQ is not set | 924 | # CONFIG_MAGIC_SYSRQ is not set |
925 | # CONFIG_UNUSED_SYMBOLS is not set | ||
884 | CONFIG_DEBUG_KERNEL=y | 926 | CONFIG_DEBUG_KERNEL=y |
885 | CONFIG_LOG_BUF_SHIFT=14 | 927 | CONFIG_LOG_BUF_SHIFT=14 |
886 | CONFIG_DETECT_SOFTLOCKUP=y | 928 | CONFIG_DETECT_SOFTLOCKUP=y |
887 | # CONFIG_SCHEDSTATS is not set | 929 | # CONFIG_SCHEDSTATS is not set |
888 | # CONFIG_DEBUG_MUTEXES is not set | 930 | # CONFIG_DEBUG_RT_MUTEXES is not set |
931 | # CONFIG_RT_MUTEX_TESTER is not set | ||
889 | # CONFIG_DEBUG_SPINLOCK is not set | 932 | # CONFIG_DEBUG_SPINLOCK is not set |
933 | # CONFIG_DEBUG_MUTEXES is not set | ||
934 | # CONFIG_DEBUG_RWSEMS is not set | ||
890 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 935 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
936 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
891 | # CONFIG_DEBUG_KOBJECT is not set | 937 | # CONFIG_DEBUG_KOBJECT is not set |
892 | # CONFIG_DEBUG_HIGHMEM is not set | 938 | # CONFIG_DEBUG_HIGHMEM is not set |
893 | # CONFIG_DEBUG_INFO is not set | 939 | # CONFIG_DEBUG_INFO is not set |
@@ -899,11 +945,7 @@ CONFIG_FORCED_INLINING=y | |||
899 | # CONFIG_DEBUGGER is not set | 945 | # CONFIG_DEBUGGER is not set |
900 | # CONFIG_BDI_SWITCH is not set | 946 | # CONFIG_BDI_SWITCH is not set |
901 | # CONFIG_BOOTX_TEXT is not set | 947 | # CONFIG_BOOTX_TEXT is not set |
902 | # CONFIG_PPC_EARLY_DEBUG_LPAR is not set | 948 | # CONFIG_PPC_EARLY_DEBUG is not set |
903 | # CONFIG_PPC_EARLY_DEBUG_G5 is not set | ||
904 | # CONFIG_PPC_EARLY_DEBUG_RTAS is not set | ||
905 | # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set | ||
906 | # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set | ||
907 | 949 | ||
908 | # | 950 | # |
909 | # Security options | 951 | # Security options |
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig index 3545af9896a..6861dde7d77 100644 --- a/arch/powerpc/configs/pmac32_defconfig +++ b/arch/powerpc/configs/pmac32_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Mon Jul 3 14:20:49 2006 | 4 | # Sun Sep 10 10:30:23 2006 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | CONFIG_PPC32=y | 7 | CONFIG_PPC32=y |
@@ -60,6 +60,7 @@ CONFIG_SWAP=y | |||
60 | CONFIG_SYSVIPC=y | 60 | CONFIG_SYSVIPC=y |
61 | CONFIG_POSIX_MQUEUE=y | 61 | CONFIG_POSIX_MQUEUE=y |
62 | # CONFIG_BSD_PROCESS_ACCT is not set | 62 | # CONFIG_BSD_PROCESS_ACCT is not set |
63 | # CONFIG_TASKSTATS is not set | ||
63 | CONFIG_SYSCTL=y | 64 | CONFIG_SYSCTL=y |
64 | # CONFIG_AUDIT is not set | 65 | # CONFIG_AUDIT is not set |
65 | CONFIG_IKCONFIG=y | 66 | CONFIG_IKCONFIG=y |
@@ -128,7 +129,6 @@ CONFIG_PPC_PMAC=y | |||
128 | # CONFIG_PPC_CELL is not set | 129 | # CONFIG_PPC_CELL is not set |
129 | # CONFIG_PPC_CELL_NATIVE is not set | 130 | # CONFIG_PPC_CELL_NATIVE is not set |
130 | # CONFIG_UDBG_RTAS_CONSOLE is not set | 131 | # CONFIG_UDBG_RTAS_CONSOLE is not set |
131 | CONFIG_MPIC=y | ||
132 | # CONFIG_PPC_RTAS is not set | 132 | # CONFIG_PPC_RTAS is not set |
133 | # CONFIG_MMIO_NVRAM is not set | 133 | # CONFIG_MMIO_NVRAM is not set |
134 | CONFIG_PPC_MPC106=y | 134 | CONFIG_PPC_MPC106=y |
@@ -149,6 +149,7 @@ CONFIG_CPU_FREQ_PMAC=y | |||
149 | CONFIG_PPC601_SYNC_FIX=y | 149 | CONFIG_PPC601_SYNC_FIX=y |
150 | # CONFIG_TAU is not set | 150 | # CONFIG_TAU is not set |
151 | # CONFIG_WANT_EARLY_SERIAL is not set | 151 | # CONFIG_WANT_EARLY_SERIAL is not set |
152 | CONFIG_MPIC=y | ||
152 | 153 | ||
153 | # | 154 | # |
154 | # Kernel options | 155 | # Kernel options |
@@ -189,6 +190,7 @@ CONFIG_ISA_DMA_API=y | |||
189 | # Bus options | 190 | # Bus options |
190 | # | 191 | # |
191 | CONFIG_GENERIC_ISA_DMA=y | 192 | CONFIG_GENERIC_ISA_DMA=y |
193 | # CONFIG_MPIC_WEIRD is not set | ||
192 | # CONFIG_PPC_I8259 is not set | 194 | # CONFIG_PPC_I8259 is not set |
193 | CONFIG_PPC_INDIRECT_PCI=y | 195 | CONFIG_PPC_INDIRECT_PCI=y |
194 | CONFIG_PCI=y | 196 | CONFIG_PCI=y |
@@ -559,6 +561,7 @@ CONFIG_BLK_DEV_UB=m | |||
559 | CONFIG_BLK_DEV_RAM=y | 561 | CONFIG_BLK_DEV_RAM=y |
560 | CONFIG_BLK_DEV_RAM_COUNT=16 | 562 | CONFIG_BLK_DEV_RAM_COUNT=16 |
561 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 563 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
564 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
562 | CONFIG_BLK_DEV_INITRD=y | 565 | CONFIG_BLK_DEV_INITRD=y |
563 | # CONFIG_CDROM_PKTCDVD is not set | 566 | # CONFIG_CDROM_PKTCDVD is not set |
564 | # CONFIG_ATA_OVER_ETH is not set | 567 | # CONFIG_ATA_OVER_ETH is not set |
@@ -1502,7 +1505,6 @@ CONFIG_USB_MON=y | |||
1502 | CONFIG_USB_SERIAL=m | 1505 | CONFIG_USB_SERIAL=m |
1503 | # CONFIG_USB_SERIAL_GENERIC is not set | 1506 | # CONFIG_USB_SERIAL_GENERIC is not set |
1504 | # CONFIG_USB_SERIAL_AIRPRIME is not set | 1507 | # CONFIG_USB_SERIAL_AIRPRIME is not set |
1505 | # CONFIG_USB_SERIAL_ANYDATA is not set | ||
1506 | # CONFIG_USB_SERIAL_ARK3116 is not set | 1508 | # CONFIG_USB_SERIAL_ARK3116 is not set |
1507 | # CONFIG_USB_SERIAL_BELKIN is not set | 1509 | # CONFIG_USB_SERIAL_BELKIN is not set |
1508 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | 1510 | # CONFIG_USB_SERIAL_WHITEHEAT is not set |
@@ -1540,6 +1542,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | |||
1540 | # CONFIG_USB_SERIAL_PL2303 is not set | 1542 | # CONFIG_USB_SERIAL_PL2303 is not set |
1541 | # CONFIG_USB_SERIAL_HP4X is not set | 1543 | # CONFIG_USB_SERIAL_HP4X is not set |
1542 | # CONFIG_USB_SERIAL_SAFE is not set | 1544 | # CONFIG_USB_SERIAL_SAFE is not set |
1545 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | ||
1543 | # CONFIG_USB_SERIAL_TI is not set | 1546 | # CONFIG_USB_SERIAL_TI is not set |
1544 | # CONFIG_USB_SERIAL_CYBERJACK is not set | 1547 | # CONFIG_USB_SERIAL_CYBERJACK is not set |
1545 | # CONFIG_USB_SERIAL_XIRCOM is not set | 1548 | # CONFIG_USB_SERIAL_XIRCOM is not set |
@@ -1557,7 +1560,7 @@ CONFIG_USB_EZUSB=y | |||
1557 | # CONFIG_USB_LEGOTOWER is not set | 1560 | # CONFIG_USB_LEGOTOWER is not set |
1558 | # CONFIG_USB_LCD is not set | 1561 | # CONFIG_USB_LCD is not set |
1559 | # CONFIG_USB_LED is not set | 1562 | # CONFIG_USB_LED is not set |
1560 | # CONFIG_USB_CY7C63 is not set | 1563 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1561 | # CONFIG_USB_CYTHERM is not set | 1564 | # CONFIG_USB_CYTHERM is not set |
1562 | # CONFIG_USB_PHIDGETKIT is not set | 1565 | # CONFIG_USB_PHIDGETKIT is not set |
1563 | # CONFIG_USB_PHIDGETSERVO is not set | 1566 | # CONFIG_USB_PHIDGETSERVO is not set |
@@ -1728,7 +1731,6 @@ CONFIG_RPCSEC_GSS_KRB5=y | |||
1728 | CONFIG_SMB_FS=m | 1731 | CONFIG_SMB_FS=m |
1729 | # CONFIG_SMB_NLS_DEFAULT is not set | 1732 | # CONFIG_SMB_NLS_DEFAULT is not set |
1730 | # CONFIG_CIFS is not set | 1733 | # CONFIG_CIFS is not set |
1731 | # CONFIG_CIFS_DEBUG2 is not set | ||
1732 | # CONFIG_NCP_FS is not set | 1734 | # CONFIG_NCP_FS is not set |
1733 | # CONFIG_CODA_FS is not set | 1735 | # CONFIG_CODA_FS is not set |
1734 | # CONFIG_AFS_FS is not set | 1736 | # CONFIG_AFS_FS is not set |
@@ -1831,11 +1833,13 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
1831 | CONFIG_DETECT_SOFTLOCKUP=y | 1833 | CONFIG_DETECT_SOFTLOCKUP=y |
1832 | # CONFIG_SCHEDSTATS is not set | 1834 | # CONFIG_SCHEDSTATS is not set |
1833 | # CONFIG_DEBUG_SLAB is not set | 1835 | # CONFIG_DEBUG_SLAB is not set |
1834 | # CONFIG_DEBUG_MUTEXES is not set | ||
1835 | # CONFIG_DEBUG_RT_MUTEXES is not set | 1836 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1836 | # CONFIG_RT_MUTEX_TESTER is not set | 1837 | # CONFIG_RT_MUTEX_TESTER is not set |
1837 | # CONFIG_DEBUG_SPINLOCK is not set | 1838 | # CONFIG_DEBUG_SPINLOCK is not set |
1839 | # CONFIG_DEBUG_MUTEXES is not set | ||
1840 | # CONFIG_DEBUG_RWSEMS is not set | ||
1838 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1841 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1842 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1839 | # CONFIG_DEBUG_KOBJECT is not set | 1843 | # CONFIG_DEBUG_KOBJECT is not set |
1840 | # CONFIG_DEBUG_INFO is not set | 1844 | # CONFIG_DEBUG_INFO is not set |
1841 | # CONFIG_DEBUG_FS is not set | 1845 | # CONFIG_DEBUG_FS is not set |
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig index 395e4984778..7517d0c5303 100644 --- a/arch/powerpc/configs/ppc64_defconfig +++ b/arch/powerpc/configs/ppc64_defconfig | |||
@@ -1,15 +1,18 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc2 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Fri Feb 10 17:32:14 2006 | 4 | # Sun Sep 10 10:45:11 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
8 | CONFIG_PPC_MERGE=y | 8 | CONFIG_PPC_MERGE=y |
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_IRQ_PER_CPU=y | ||
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 12 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
13 | CONFIG_GENERIC_HWEIGHT=y | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 14 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
15 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
13 | CONFIG_PPC=y | 16 | CONFIG_PPC=y |
14 | CONFIG_EARLY_PRINTK=y | 17 | CONFIG_EARLY_PRINTK=y |
15 | CONFIG_COMPAT=y | 18 | CONFIG_COMPAT=y |
@@ -30,8 +33,10 @@ CONFIG_POWER4=y | |||
30 | CONFIG_PPC_FPU=y | 33 | CONFIG_PPC_FPU=y |
31 | CONFIG_ALTIVEC=y | 34 | CONFIG_ALTIVEC=y |
32 | CONFIG_PPC_STD_MMU=y | 35 | CONFIG_PPC_STD_MMU=y |
36 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
33 | CONFIG_SMP=y | 37 | CONFIG_SMP=y |
34 | CONFIG_NR_CPUS=32 | 38 | CONFIG_NR_CPUS=32 |
39 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
35 | 40 | ||
36 | # | 41 | # |
37 | # Code maturity level options | 42 | # Code maturity level options |
@@ -49,11 +54,14 @@ CONFIG_SWAP=y | |||
49 | CONFIG_SYSVIPC=y | 54 | CONFIG_SYSVIPC=y |
50 | CONFIG_POSIX_MQUEUE=y | 55 | CONFIG_POSIX_MQUEUE=y |
51 | # CONFIG_BSD_PROCESS_ACCT is not set | 56 | # CONFIG_BSD_PROCESS_ACCT is not set |
57 | CONFIG_TASKSTATS=y | ||
58 | CONFIG_TASK_DELAY_ACCT=y | ||
52 | CONFIG_SYSCTL=y | 59 | CONFIG_SYSCTL=y |
53 | # CONFIG_AUDIT is not set | 60 | # CONFIG_AUDIT is not set |
54 | CONFIG_IKCONFIG=y | 61 | CONFIG_IKCONFIG=y |
55 | CONFIG_IKCONFIG_PROC=y | 62 | CONFIG_IKCONFIG_PROC=y |
56 | CONFIG_CPUSETS=y | 63 | CONFIG_CPUSETS=y |
64 | CONFIG_RELAY=y | ||
57 | CONFIG_INITRAMFS_SOURCE="" | 65 | CONFIG_INITRAMFS_SOURCE="" |
58 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 66 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
59 | # CONFIG_EMBEDDED is not set | 67 | # CONFIG_EMBEDDED is not set |
@@ -65,14 +73,12 @@ CONFIG_PRINTK=y | |||
65 | CONFIG_BUG=y | 73 | CONFIG_BUG=y |
66 | CONFIG_ELF_CORE=y | 74 | CONFIG_ELF_CORE=y |
67 | CONFIG_BASE_FULL=y | 75 | CONFIG_BASE_FULL=y |
76 | CONFIG_RT_MUTEXES=y | ||
68 | CONFIG_FUTEX=y | 77 | CONFIG_FUTEX=y |
69 | CONFIG_EPOLL=y | 78 | CONFIG_EPOLL=y |
70 | CONFIG_SHMEM=y | 79 | CONFIG_SHMEM=y |
71 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
72 | CONFIG_CC_ALIGN_LABELS=0 | ||
73 | CONFIG_CC_ALIGN_LOOPS=0 | ||
74 | CONFIG_CC_ALIGN_JUMPS=0 | ||
75 | CONFIG_SLAB=y | 80 | CONFIG_SLAB=y |
81 | CONFIG_VM_EVENT_COUNTERS=y | ||
76 | # CONFIG_TINY_SHMEM is not set | 82 | # CONFIG_TINY_SHMEM is not set |
77 | CONFIG_BASE_SMALL=0 | 83 | CONFIG_BASE_SMALL=0 |
78 | # CONFIG_SLOB is not set | 84 | # CONFIG_SLOB is not set |
@@ -83,7 +89,6 @@ CONFIG_BASE_SMALL=0 | |||
83 | CONFIG_MODULES=y | 89 | CONFIG_MODULES=y |
84 | CONFIG_MODULE_UNLOAD=y | 90 | CONFIG_MODULE_UNLOAD=y |
85 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 91 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
86 | CONFIG_OBSOLETE_MODPARM=y | ||
87 | CONFIG_MODVERSIONS=y | 92 | CONFIG_MODVERSIONS=y |
88 | CONFIG_MODULE_SRCVERSION_ALL=y | 93 | CONFIG_MODULE_SRCVERSION_ALL=y |
89 | CONFIG_KMOD=y | 94 | CONFIG_KMOD=y |
@@ -92,6 +97,7 @@ CONFIG_STOP_MACHINE=y | |||
92 | # | 97 | # |
93 | # Block layer | 98 | # Block layer |
94 | # | 99 | # |
100 | CONFIG_BLK_DEV_IO_TRACE=y | ||
95 | 101 | ||
96 | # | 102 | # |
97 | # IO Schedulers | 103 | # IO Schedulers |
@@ -117,19 +123,22 @@ CONFIG_PPC_PSERIES=y | |||
117 | CONFIG_PPC_PMAC=y | 123 | CONFIG_PPC_PMAC=y |
118 | CONFIG_PPC_PMAC64=y | 124 | CONFIG_PPC_PMAC64=y |
119 | CONFIG_PPC_MAPLE=y | 125 | CONFIG_PPC_MAPLE=y |
120 | # CONFIG_PPC_CELL is not set | 126 | CONFIG_PPC_CELL=y |
127 | CONFIG_PPC_CELL_NATIVE=y | ||
128 | CONFIG_PPC_IBM_CELL_BLADE=y | ||
129 | CONFIG_UDBG_RTAS_CONSOLE=y | ||
121 | CONFIG_XICS=y | 130 | CONFIG_XICS=y |
122 | CONFIG_U3_DART=y | 131 | CONFIG_U3_DART=y |
123 | CONFIG_MPIC=y | ||
124 | CONFIG_PPC_RTAS=y | 132 | CONFIG_PPC_RTAS=y |
125 | CONFIG_RTAS_ERROR_LOGGING=y | 133 | CONFIG_RTAS_ERROR_LOGGING=y |
126 | CONFIG_RTAS_PROC=y | 134 | CONFIG_RTAS_PROC=y |
127 | CONFIG_RTAS_FLASH=m | 135 | CONFIG_RTAS_FLASH=m |
128 | # CONFIG_MMIO_NVRAM is not set | 136 | CONFIG_MMIO_NVRAM=y |
129 | CONFIG_MPIC_BROKEN_U3=y | 137 | CONFIG_MPIC_BROKEN_U3=y |
130 | CONFIG_IBMVIO=y | 138 | CONFIG_IBMVIO=y |
131 | # CONFIG_IBMEBUS is not set | 139 | # CONFIG_IBMEBUS is not set |
132 | # CONFIG_PPC_MPC106 is not set | 140 | # CONFIG_PPC_MPC106 is not set |
141 | CONFIG_PPC_970_NAP=y | ||
133 | CONFIG_CPU_FREQ=y | 142 | CONFIG_CPU_FREQ=y |
134 | CONFIG_CPU_FREQ_TABLE=y | 143 | CONFIG_CPU_FREQ_TABLE=y |
135 | # CONFIG_CPU_FREQ_DEBUG is not set | 144 | # CONFIG_CPU_FREQ_DEBUG is not set |
@@ -144,6 +153,15 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y | |||
144 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set | 153 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set |
145 | CONFIG_CPU_FREQ_PMAC64=y | 154 | CONFIG_CPU_FREQ_PMAC64=y |
146 | # CONFIG_WANT_EARLY_SERIAL is not set | 155 | # CONFIG_WANT_EARLY_SERIAL is not set |
156 | CONFIG_MPIC=y | ||
157 | |||
158 | # | ||
159 | # Cell Broadband Engine options | ||
160 | # | ||
161 | CONFIG_SPU_FS=m | ||
162 | CONFIG_SPU_BASE=y | ||
163 | CONFIG_SPUFS_MMAP=y | ||
164 | CONFIG_CBE_RAS=y | ||
147 | 165 | ||
148 | # | 166 | # |
149 | # Kernel options | 167 | # Kernel options |
@@ -161,6 +179,7 @@ CONFIG_BINFMT_MISC=m | |||
161 | CONFIG_FORCE_MAX_ZONEORDER=13 | 179 | CONFIG_FORCE_MAX_ZONEORDER=13 |
162 | CONFIG_IOMMU_VMERGE=y | 180 | CONFIG_IOMMU_VMERGE=y |
163 | CONFIG_HOTPLUG_CPU=y | 181 | CONFIG_HOTPLUG_CPU=y |
182 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
164 | CONFIG_KEXEC=y | 183 | CONFIG_KEXEC=y |
165 | # CONFIG_CRASH_DUMP is not set | 184 | # CONFIG_CRASH_DUMP is not set |
166 | CONFIG_IRQ_ALL_CPUS=y | 185 | CONFIG_IRQ_ALL_CPUS=y |
@@ -181,9 +200,10 @@ CONFIG_SPARSEMEM=y | |||
181 | CONFIG_HAVE_MEMORY_PRESENT=y | 200 | CONFIG_HAVE_MEMORY_PRESENT=y |
182 | # CONFIG_SPARSEMEM_STATIC is not set | 201 | # CONFIG_SPARSEMEM_STATIC is not set |
183 | CONFIG_SPARSEMEM_EXTREME=y | 202 | CONFIG_SPARSEMEM_EXTREME=y |
184 | # CONFIG_MEMORY_HOTPLUG is not set | 203 | CONFIG_MEMORY_HOTPLUG=y |
185 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 204 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
186 | CONFIG_MIGRATION=y | 205 | CONFIG_RESOURCES_64BIT=y |
206 | CONFIG_ARCH_MEMORY_PROBE=y | ||
187 | # CONFIG_PPC_64K_PAGES is not set | 207 | # CONFIG_PPC_64K_PAGES is not set |
188 | # CONFIG_SCHED_SMT is not set | 208 | # CONFIG_SCHED_SMT is not set |
189 | CONFIG_PROC_DEVICETREE=y | 209 | CONFIG_PROC_DEVICETREE=y |
@@ -196,11 +216,12 @@ CONFIG_ISA_DMA_API=y | |||
196 | # Bus options | 216 | # Bus options |
197 | # | 217 | # |
198 | CONFIG_GENERIC_ISA_DMA=y | 218 | CONFIG_GENERIC_ISA_DMA=y |
219 | # CONFIG_MPIC_WEIRD is not set | ||
199 | CONFIG_PPC_I8259=y | 220 | CONFIG_PPC_I8259=y |
200 | # CONFIG_PPC_INDIRECT_PCI is not set | 221 | # CONFIG_PPC_INDIRECT_PCI is not set |
201 | CONFIG_PCI=y | 222 | CONFIG_PCI=y |
202 | CONFIG_PCI_DOMAINS=y | 223 | CONFIG_PCI_DOMAINS=y |
203 | # CONFIG_PCI_LEGACY_PROC is not set | 224 | # CONFIG_PCIEPORTBUS is not set |
204 | # CONFIG_PCI_DEBUG is not set | 225 | # CONFIG_PCI_DEBUG is not set |
205 | 226 | ||
206 | # | 227 | # |
@@ -247,7 +268,10 @@ CONFIG_SYN_COOKIES=y | |||
247 | CONFIG_INET_AH=m | 268 | CONFIG_INET_AH=m |
248 | CONFIG_INET_ESP=m | 269 | CONFIG_INET_ESP=m |
249 | CONFIG_INET_IPCOMP=m | 270 | CONFIG_INET_IPCOMP=m |
271 | CONFIG_INET_XFRM_TUNNEL=m | ||
250 | CONFIG_INET_TUNNEL=y | 272 | CONFIG_INET_TUNNEL=y |
273 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
274 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
251 | CONFIG_INET_DIAG=y | 275 | CONFIG_INET_DIAG=y |
252 | CONFIG_INET_TCP_DIAG=y | 276 | CONFIG_INET_TCP_DIAG=y |
253 | # CONFIG_TCP_CONG_ADVANCED is not set | 277 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -258,6 +282,9 @@ CONFIG_TCP_CONG_BIC=y | |||
258 | # | 282 | # |
259 | # CONFIG_IP_VS is not set | 283 | # CONFIG_IP_VS is not set |
260 | # CONFIG_IPV6 is not set | 284 | # CONFIG_IPV6 is not set |
285 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
286 | # CONFIG_INET6_TUNNEL is not set | ||
287 | # CONFIG_NETWORK_SECMARK is not set | ||
261 | CONFIG_NETFILTER=y | 288 | CONFIG_NETFILTER=y |
262 | # CONFIG_NETFILTER_DEBUG is not set | 289 | # CONFIG_NETFILTER_DEBUG is not set |
263 | 290 | ||
@@ -284,6 +311,8 @@ CONFIG_IP_NF_IRC=m | |||
284 | CONFIG_IP_NF_TFTP=m | 311 | CONFIG_IP_NF_TFTP=m |
285 | CONFIG_IP_NF_AMANDA=m | 312 | CONFIG_IP_NF_AMANDA=m |
286 | # CONFIG_IP_NF_PPTP is not set | 313 | # CONFIG_IP_NF_PPTP is not set |
314 | # CONFIG_IP_NF_H323 is not set | ||
315 | CONFIG_IP_NF_SIP=m | ||
287 | CONFIG_IP_NF_QUEUE=m | 316 | CONFIG_IP_NF_QUEUE=m |
288 | 317 | ||
289 | # | 318 | # |
@@ -339,6 +368,7 @@ CONFIG_STANDALONE=y | |||
339 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 368 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
340 | CONFIG_FW_LOADER=y | 369 | CONFIG_FW_LOADER=y |
341 | # CONFIG_DEBUG_DRIVER is not set | 370 | # CONFIG_DEBUG_DRIVER is not set |
371 | # CONFIG_SYS_HYPERVISOR is not set | ||
342 | 372 | ||
343 | # | 373 | # |
344 | # Connector - unified userspace <-> kernelspace linker | 374 | # Connector - unified userspace <-> kernelspace linker |
@@ -376,6 +406,7 @@ CONFIG_BLK_DEV_NBD=m | |||
376 | CONFIG_BLK_DEV_RAM=y | 406 | CONFIG_BLK_DEV_RAM=y |
377 | CONFIG_BLK_DEV_RAM_COUNT=16 | 407 | CONFIG_BLK_DEV_RAM_COUNT=16 |
378 | CONFIG_BLK_DEV_RAM_SIZE=65536 | 408 | CONFIG_BLK_DEV_RAM_SIZE=65536 |
409 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
379 | CONFIG_BLK_DEV_INITRD=y | 410 | CONFIG_BLK_DEV_INITRD=y |
380 | # CONFIG_CDROM_PKTCDVD is not set | 411 | # CONFIG_CDROM_PKTCDVD is not set |
381 | # CONFIG_ATA_OVER_ETH is not set | 412 | # CONFIG_ATA_OVER_ETH is not set |
@@ -436,7 +467,6 @@ CONFIG_BLK_DEV_AMD74XX=y | |||
436 | CONFIG_BLK_DEV_IDE_PMAC=y | 467 | CONFIG_BLK_DEV_IDE_PMAC=y |
437 | CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y | 468 | CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y |
438 | CONFIG_BLK_DEV_IDEDMA_PMAC=y | 469 | CONFIG_BLK_DEV_IDEDMA_PMAC=y |
439 | # CONFIG_BLK_DEV_IDE_PMAC_BLINK is not set | ||
440 | # CONFIG_IDE_ARM is not set | 470 | # CONFIG_IDE_ARM is not set |
441 | CONFIG_BLK_DEV_IDEDMA=y | 471 | CONFIG_BLK_DEV_IDEDMA=y |
442 | # CONFIG_IDEDMA_IVB is not set | 472 | # CONFIG_IDEDMA_IVB is not set |
@@ -497,6 +527,7 @@ CONFIG_SCSI_SATA_SVW=y | |||
497 | # CONFIG_SCSI_SATA_MV is not set | 527 | # CONFIG_SCSI_SATA_MV is not set |
498 | # CONFIG_SCSI_SATA_NV is not set | 528 | # CONFIG_SCSI_SATA_NV is not set |
499 | # CONFIG_SCSI_PDC_ADMA is not set | 529 | # CONFIG_SCSI_PDC_ADMA is not set |
530 | # CONFIG_SCSI_HPTIOP is not set | ||
500 | # CONFIG_SCSI_SATA_QSTOR is not set | 531 | # CONFIG_SCSI_SATA_QSTOR is not set |
501 | # CONFIG_SCSI_SATA_PROMISE is not set | 532 | # CONFIG_SCSI_SATA_PROMISE is not set |
502 | # CONFIG_SCSI_SATA_SX4 is not set | 533 | # CONFIG_SCSI_SATA_SX4 is not set |
@@ -519,11 +550,10 @@ CONFIG_SCSI_SYM53C8XX_2=y | |||
519 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 | 550 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 |
520 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 | 551 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 |
521 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 | 552 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 |
522 | # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set | 553 | CONFIG_SCSI_SYM53C8XX_MMIO=y |
523 | CONFIG_SCSI_IPR=y | 554 | CONFIG_SCSI_IPR=y |
524 | CONFIG_SCSI_IPR_TRACE=y | 555 | CONFIG_SCSI_IPR_TRACE=y |
525 | CONFIG_SCSI_IPR_DUMP=y | 556 | CONFIG_SCSI_IPR_DUMP=y |
526 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
527 | # CONFIG_SCSI_QLOGIC_1280 is not set | 557 | # CONFIG_SCSI_QLOGIC_1280 is not set |
528 | # CONFIG_SCSI_QLA_FC is not set | 558 | # CONFIG_SCSI_QLA_FC is not set |
529 | CONFIG_SCSI_LPFC=m | 559 | CONFIG_SCSI_LPFC=m |
@@ -540,8 +570,8 @@ CONFIG_MD_LINEAR=y | |||
540 | CONFIG_MD_RAID0=y | 570 | CONFIG_MD_RAID0=y |
541 | CONFIG_MD_RAID1=y | 571 | CONFIG_MD_RAID1=y |
542 | CONFIG_MD_RAID10=y | 572 | CONFIG_MD_RAID10=y |
543 | CONFIG_MD_RAID5=y | 573 | CONFIG_MD_RAID456=y |
544 | CONFIG_MD_RAID6=m | 574 | CONFIG_MD_RAID5_RESHAPE=y |
545 | CONFIG_MD_MULTIPATH=m | 575 | CONFIG_MD_MULTIPATH=m |
546 | CONFIG_MD_FAULTY=m | 576 | CONFIG_MD_FAULTY=m |
547 | CONFIG_BLK_DEV_DM=y | 577 | CONFIG_BLK_DEV_DM=y |
@@ -585,7 +615,6 @@ CONFIG_IEEE1394_OHCI1394=y | |||
585 | # | 615 | # |
586 | CONFIG_IEEE1394_VIDEO1394=m | 616 | CONFIG_IEEE1394_VIDEO1394=m |
587 | CONFIG_IEEE1394_SBP2=m | 617 | CONFIG_IEEE1394_SBP2=m |
588 | # CONFIG_IEEE1394_SBP2_PHYS_DMA is not set | ||
589 | CONFIG_IEEE1394_ETH1394=m | 618 | CONFIG_IEEE1394_ETH1394=m |
590 | CONFIG_IEEE1394_DV1394=m | 619 | CONFIG_IEEE1394_DV1394=m |
591 | CONFIG_IEEE1394_RAWIO=y | 620 | CONFIG_IEEE1394_RAWIO=y |
@@ -599,6 +628,7 @@ CONFIG_IEEE1394_RAWIO=y | |||
599 | # Macintosh device drivers | 628 | # Macintosh device drivers |
600 | # | 629 | # |
601 | CONFIG_ADB_PMU=y | 630 | CONFIG_ADB_PMU=y |
631 | # CONFIG_ADB_PMU_LED is not set | ||
602 | CONFIG_PMAC_SMU=y | 632 | CONFIG_PMAC_SMU=y |
603 | CONFIG_THERM_PM72=y | 633 | CONFIG_THERM_PM72=y |
604 | CONFIG_WINDFARM=y | 634 | CONFIG_WINDFARM=y |
@@ -682,6 +712,7 @@ CONFIG_E1000=y | |||
682 | # CONFIG_VIA_VELOCITY is not set | 712 | # CONFIG_VIA_VELOCITY is not set |
683 | CONFIG_TIGON3=y | 713 | CONFIG_TIGON3=y |
684 | # CONFIG_BNX2 is not set | 714 | # CONFIG_BNX2 is not set |
715 | CONFIG_SPIDER_NET=m | ||
685 | # CONFIG_MV643XX_ETH is not set | 716 | # CONFIG_MV643XX_ETH is not set |
686 | 717 | ||
687 | # | 718 | # |
@@ -691,6 +722,7 @@ CONFIG_TIGON3=y | |||
691 | CONFIG_IXGB=m | 722 | CONFIG_IXGB=m |
692 | # CONFIG_IXGB_NAPI is not set | 723 | # CONFIG_IXGB_NAPI is not set |
693 | # CONFIG_S2IO is not set | 724 | # CONFIG_S2IO is not set |
725 | # CONFIG_MYRI10GE is not set | ||
694 | 726 | ||
695 | # | 727 | # |
696 | # Token Ring devices | 728 | # Token Ring devices |
@@ -792,6 +824,7 @@ CONFIG_SERIO_LIBPS2=y | |||
792 | CONFIG_VT=y | 824 | CONFIG_VT=y |
793 | CONFIG_VT_CONSOLE=y | 825 | CONFIG_VT_CONSOLE=y |
794 | CONFIG_HW_CONSOLE=y | 826 | CONFIG_HW_CONSOLE=y |
827 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
795 | # CONFIG_SERIAL_NONSTANDARD is not set | 828 | # CONFIG_SERIAL_NONSTANDARD is not set |
796 | 829 | ||
797 | # | 830 | # |
@@ -799,6 +832,7 @@ CONFIG_HW_CONSOLE=y | |||
799 | # | 832 | # |
800 | CONFIG_SERIAL_8250=y | 833 | CONFIG_SERIAL_8250=y |
801 | CONFIG_SERIAL_8250_CONSOLE=y | 834 | CONFIG_SERIAL_8250_CONSOLE=y |
835 | CONFIG_SERIAL_8250_PCI=y | ||
802 | CONFIG_SERIAL_8250_NR_UARTS=4 | 836 | CONFIG_SERIAL_8250_NR_UARTS=4 |
803 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 837 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
804 | # CONFIG_SERIAL_8250_EXTENDED is not set | 838 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -814,7 +848,9 @@ CONFIG_SERIAL_ICOM=m | |||
814 | CONFIG_UNIX98_PTYS=y | 848 | CONFIG_UNIX98_PTYS=y |
815 | CONFIG_LEGACY_PTYS=y | 849 | CONFIG_LEGACY_PTYS=y |
816 | CONFIG_LEGACY_PTY_COUNT=256 | 850 | CONFIG_LEGACY_PTY_COUNT=256 |
851 | CONFIG_HVC_DRIVER=y | ||
817 | CONFIG_HVC_CONSOLE=y | 852 | CONFIG_HVC_CONSOLE=y |
853 | CONFIG_HVC_RTAS=y | ||
818 | CONFIG_HVCS=m | 854 | CONFIG_HVCS=m |
819 | 855 | ||
820 | # | 856 | # |
@@ -826,7 +862,7 @@ CONFIG_HVCS=m | |||
826 | # Watchdog Cards | 862 | # Watchdog Cards |
827 | # | 863 | # |
828 | # CONFIG_WATCHDOG is not set | 864 | # CONFIG_WATCHDOG is not set |
829 | # CONFIG_RTC is not set | 865 | # CONFIG_HW_RANDOM is not set |
830 | CONFIG_GEN_RTC=y | 866 | CONFIG_GEN_RTC=y |
831 | # CONFIG_GEN_RTC_X is not set | 867 | # CONFIG_GEN_RTC_X is not set |
832 | # CONFIG_DTLK is not set | 868 | # CONFIG_DTLK is not set |
@@ -874,10 +910,10 @@ CONFIG_I2C_AMD8111=y | |||
874 | # CONFIG_I2C_PIIX4 is not set | 910 | # CONFIG_I2C_PIIX4 is not set |
875 | CONFIG_I2C_POWERMAC=y | 911 | CONFIG_I2C_POWERMAC=y |
876 | # CONFIG_I2C_NFORCE2 is not set | 912 | # CONFIG_I2C_NFORCE2 is not set |
913 | # CONFIG_I2C_OCORES is not set | ||
877 | # CONFIG_I2C_PARPORT_LIGHT is not set | 914 | # CONFIG_I2C_PARPORT_LIGHT is not set |
878 | # CONFIG_I2C_PROSAVAGE is not set | 915 | # CONFIG_I2C_PROSAVAGE is not set |
879 | # CONFIG_I2C_SAVAGE4 is not set | 916 | # CONFIG_I2C_SAVAGE4 is not set |
880 | # CONFIG_SCx200_ACB is not set | ||
881 | # CONFIG_I2C_SIS5595 is not set | 917 | # CONFIG_I2C_SIS5595 is not set |
882 | # CONFIG_I2C_SIS630 is not set | 918 | # CONFIG_I2C_SIS630 is not set |
883 | # CONFIG_I2C_SIS96X is not set | 919 | # CONFIG_I2C_SIS96X is not set |
@@ -896,9 +932,7 @@ CONFIG_I2C_POWERMAC=y | |||
896 | # CONFIG_SENSORS_PCF8574 is not set | 932 | # CONFIG_SENSORS_PCF8574 is not set |
897 | # CONFIG_SENSORS_PCA9539 is not set | 933 | # CONFIG_SENSORS_PCA9539 is not set |
898 | # CONFIG_SENSORS_PCF8591 is not set | 934 | # CONFIG_SENSORS_PCF8591 is not set |
899 | # CONFIG_SENSORS_RTC8564 is not set | ||
900 | # CONFIG_SENSORS_MAX6875 is not set | 935 | # CONFIG_SENSORS_MAX6875 is not set |
901 | # CONFIG_RTC_X1205_I2C is not set | ||
902 | # CONFIG_I2C_DEBUG_CORE is not set | 936 | # CONFIG_I2C_DEBUG_CORE is not set |
903 | # CONFIG_I2C_DEBUG_ALGO is not set | 937 | # CONFIG_I2C_DEBUG_ALGO is not set |
904 | # CONFIG_I2C_DEBUG_BUS is not set | 938 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -913,7 +947,6 @@ CONFIG_I2C_POWERMAC=y | |||
913 | # | 947 | # |
914 | # Dallas's 1-wire bus | 948 | # Dallas's 1-wire bus |
915 | # | 949 | # |
916 | # CONFIG_W1 is not set | ||
917 | 950 | ||
918 | # | 951 | # |
919 | # Hardware Monitoring support | 952 | # Hardware Monitoring support |
@@ -926,37 +959,33 @@ CONFIG_I2C_POWERMAC=y | |||
926 | # | 959 | # |
927 | 960 | ||
928 | # | 961 | # |
929 | # Multimedia Capabilities Port drivers | ||
930 | # | ||
931 | |||
932 | # | ||
933 | # Multimedia devices | 962 | # Multimedia devices |
934 | # | 963 | # |
935 | # CONFIG_VIDEO_DEV is not set | 964 | # CONFIG_VIDEO_DEV is not set |
965 | CONFIG_VIDEO_V4L2=y | ||
936 | 966 | ||
937 | # | 967 | # |
938 | # Digital Video Broadcasting Devices | 968 | # Digital Video Broadcasting Devices |
939 | # | 969 | # |
940 | # CONFIG_DVB is not set | 970 | # CONFIG_DVB is not set |
971 | # CONFIG_USB_DABUSB is not set | ||
941 | 972 | ||
942 | # | 973 | # |
943 | # Graphics support | 974 | # Graphics support |
944 | # | 975 | # |
976 | CONFIG_FIRMWARE_EDID=y | ||
945 | CONFIG_FB=y | 977 | CONFIG_FB=y |
946 | CONFIG_FB_CFB_FILLRECT=y | 978 | CONFIG_FB_CFB_FILLRECT=y |
947 | CONFIG_FB_CFB_COPYAREA=y | 979 | CONFIG_FB_CFB_COPYAREA=y |
948 | CONFIG_FB_CFB_IMAGEBLIT=y | 980 | CONFIG_FB_CFB_IMAGEBLIT=y |
949 | CONFIG_FB_MACMODES=y | 981 | CONFIG_FB_MACMODES=y |
982 | # CONFIG_FB_BACKLIGHT is not set | ||
950 | CONFIG_FB_MODE_HELPERS=y | 983 | CONFIG_FB_MODE_HELPERS=y |
951 | CONFIG_FB_TILEBLITTING=y | 984 | CONFIG_FB_TILEBLITTING=y |
952 | # CONFIG_FB_CIRRUS is not set | 985 | # CONFIG_FB_CIRRUS is not set |
953 | # CONFIG_FB_PM2 is not set | 986 | # CONFIG_FB_PM2 is not set |
954 | # CONFIG_FB_CYBER2000 is not set | 987 | # CONFIG_FB_CYBER2000 is not set |
955 | CONFIG_FB_OF=y | 988 | CONFIG_FB_OF=y |
956 | # CONFIG_FB_CONTROL is not set | ||
957 | # CONFIG_FB_PLATINUM is not set | ||
958 | # CONFIG_FB_VALKYRIE is not set | ||
959 | # CONFIG_FB_CT65550 is not set | ||
960 | # CONFIG_FB_ASILIANT is not set | 989 | # CONFIG_FB_ASILIANT is not set |
961 | # CONFIG_FB_IMSTT is not set | 990 | # CONFIG_FB_IMSTT is not set |
962 | # CONFIG_FB_VGA16 is not set | 991 | # CONFIG_FB_VGA16 is not set |
@@ -970,7 +999,6 @@ CONFIG_FB_MATROX_G=y | |||
970 | CONFIG_FB_MATROX_I2C=m | 999 | CONFIG_FB_MATROX_I2C=m |
971 | CONFIG_FB_MATROX_MAVEN=m | 1000 | CONFIG_FB_MATROX_MAVEN=m |
972 | CONFIG_FB_MATROX_MULTIHEAD=y | 1001 | CONFIG_FB_MATROX_MULTIHEAD=y |
973 | # CONFIG_FB_RADEON_OLD is not set | ||
974 | CONFIG_FB_RADEON=y | 1002 | CONFIG_FB_RADEON=y |
975 | CONFIG_FB_RADEON_I2C=y | 1003 | CONFIG_FB_RADEON_I2C=y |
976 | # CONFIG_FB_RADEON_DEBUG is not set | 1004 | # CONFIG_FB_RADEON_DEBUG is not set |
@@ -1025,9 +1053,11 @@ CONFIG_SND_SEQ_DUMMY=m | |||
1025 | CONFIG_SND_OSSEMUL=y | 1053 | CONFIG_SND_OSSEMUL=y |
1026 | CONFIG_SND_MIXER_OSS=m | 1054 | CONFIG_SND_MIXER_OSS=m |
1027 | CONFIG_SND_PCM_OSS=m | 1055 | CONFIG_SND_PCM_OSS=m |
1056 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
1028 | CONFIG_SND_SEQUENCER_OSS=y | 1057 | CONFIG_SND_SEQUENCER_OSS=y |
1029 | # CONFIG_SND_DYNAMIC_MINORS is not set | 1058 | # CONFIG_SND_DYNAMIC_MINORS is not set |
1030 | CONFIG_SND_SUPPORT_OLD_API=y | 1059 | CONFIG_SND_SUPPORT_OLD_API=y |
1060 | CONFIG_SND_VERBOSE_PROCFS=y | ||
1031 | # CONFIG_SND_VERBOSE_PRINTK is not set | 1061 | # CONFIG_SND_VERBOSE_PRINTK is not set |
1032 | # CONFIG_SND_DEBUG is not set | 1062 | # CONFIG_SND_DEBUG is not set |
1033 | 1063 | ||
@@ -1044,6 +1074,7 @@ CONFIG_SND_SUPPORT_OLD_API=y | |||
1044 | # PCI devices | 1074 | # PCI devices |
1045 | # | 1075 | # |
1046 | # CONFIG_SND_AD1889 is not set | 1076 | # CONFIG_SND_AD1889 is not set |
1077 | # CONFIG_SND_ALS300 is not set | ||
1047 | # CONFIG_SND_ALS4000 is not set | 1078 | # CONFIG_SND_ALS4000 is not set |
1048 | # CONFIG_SND_ALI5451 is not set | 1079 | # CONFIG_SND_ALI5451 is not set |
1049 | # CONFIG_SND_ATIIXP is not set | 1080 | # CONFIG_SND_ATIIXP is not set |
@@ -1057,6 +1088,18 @@ CONFIG_SND_SUPPORT_OLD_API=y | |||
1057 | # CONFIG_SND_CMIPCI is not set | 1088 | # CONFIG_SND_CMIPCI is not set |
1058 | # CONFIG_SND_CS4281 is not set | 1089 | # CONFIG_SND_CS4281 is not set |
1059 | # CONFIG_SND_CS46XX is not set | 1090 | # CONFIG_SND_CS46XX is not set |
1091 | # CONFIG_SND_DARLA20 is not set | ||
1092 | # CONFIG_SND_GINA20 is not set | ||
1093 | # CONFIG_SND_LAYLA20 is not set | ||
1094 | # CONFIG_SND_DARLA24 is not set | ||
1095 | # CONFIG_SND_GINA24 is not set | ||
1096 | # CONFIG_SND_LAYLA24 is not set | ||
1097 | # CONFIG_SND_MONA is not set | ||
1098 | # CONFIG_SND_MIA is not set | ||
1099 | # CONFIG_SND_ECHO3G is not set | ||
1100 | # CONFIG_SND_INDIGO is not set | ||
1101 | # CONFIG_SND_INDIGOIO is not set | ||
1102 | # CONFIG_SND_INDIGODJ is not set | ||
1060 | # CONFIG_SND_EMU10K1 is not set | 1103 | # CONFIG_SND_EMU10K1 is not set |
1061 | # CONFIG_SND_EMU10K1X is not set | 1104 | # CONFIG_SND_EMU10K1X is not set |
1062 | # CONFIG_SND_ENS1370 is not set | 1105 | # CONFIG_SND_ENS1370 is not set |
@@ -1076,6 +1119,7 @@ CONFIG_SND_SUPPORT_OLD_API=y | |||
1076 | # CONFIG_SND_MIXART is not set | 1119 | # CONFIG_SND_MIXART is not set |
1077 | # CONFIG_SND_NM256 is not set | 1120 | # CONFIG_SND_NM256 is not set |
1078 | # CONFIG_SND_PCXHR is not set | 1121 | # CONFIG_SND_PCXHR is not set |
1122 | # CONFIG_SND_RIPTIDE is not set | ||
1079 | # CONFIG_SND_RME32 is not set | 1123 | # CONFIG_SND_RME32 is not set |
1080 | # CONFIG_SND_RME96 is not set | 1124 | # CONFIG_SND_RME96 is not set |
1081 | # CONFIG_SND_RME9652 is not set | 1125 | # CONFIG_SND_RME9652 is not set |
@@ -1093,6 +1137,17 @@ CONFIG_SND_POWERMAC=m | |||
1093 | CONFIG_SND_POWERMAC_AUTO_DRC=y | 1137 | CONFIG_SND_POWERMAC_AUTO_DRC=y |
1094 | 1138 | ||
1095 | # | 1139 | # |
1140 | # Apple Onboard Audio driver | ||
1141 | # | ||
1142 | CONFIG_SND_AOA=m | ||
1143 | CONFIG_SND_AOA_FABRIC_LAYOUT=m | ||
1144 | CONFIG_SND_AOA_ONYX=m | ||
1145 | CONFIG_SND_AOA_TAS=m | ||
1146 | CONFIG_SND_AOA_TOONIE=m | ||
1147 | CONFIG_SND_AOA_SOUNDBUS=m | ||
1148 | CONFIG_SND_AOA_SOUNDBUS_I2S=m | ||
1149 | |||
1150 | # | ||
1096 | # USB devices | 1151 | # USB devices |
1097 | # | 1152 | # |
1098 | # CONFIG_SND_USB_AUDIO is not set | 1153 | # CONFIG_SND_USB_AUDIO is not set |
@@ -1108,6 +1163,7 @@ CONFIG_SND_POWERMAC_AUTO_DRC=y | |||
1108 | # | 1163 | # |
1109 | CONFIG_USB_ARCH_HAS_HCD=y | 1164 | CONFIG_USB_ARCH_HAS_HCD=y |
1110 | CONFIG_USB_ARCH_HAS_OHCI=y | 1165 | CONFIG_USB_ARCH_HAS_OHCI=y |
1166 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
1111 | CONFIG_USB=y | 1167 | CONFIG_USB=y |
1112 | # CONFIG_USB_DEBUG is not set | 1168 | # CONFIG_USB_DEBUG is not set |
1113 | 1169 | ||
@@ -1125,6 +1181,7 @@ CONFIG_USB_DEVICEFS=y | |||
1125 | CONFIG_USB_EHCI_HCD=y | 1181 | CONFIG_USB_EHCI_HCD=y |
1126 | # CONFIG_USB_EHCI_SPLIT_ISO is not set | 1182 | # CONFIG_USB_EHCI_SPLIT_ISO is not set |
1127 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 1183 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
1184 | CONFIG_USB_EHCI_TT_NEWSCHED=y | ||
1128 | # CONFIG_USB_ISP116X_HCD is not set | 1185 | # CONFIG_USB_ISP116X_HCD is not set |
1129 | CONFIG_USB_OHCI_HCD=y | 1186 | CONFIG_USB_OHCI_HCD=y |
1130 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | 1187 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set |
@@ -1135,7 +1192,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1135 | # | 1192 | # |
1136 | # USB Device Class drivers | 1193 | # USB Device Class drivers |
1137 | # | 1194 | # |
1138 | # CONFIG_OBSOLETE_OSS_USB_DRIVER is not set | ||
1139 | # CONFIG_USB_ACM is not set | 1195 | # CONFIG_USB_ACM is not set |
1140 | # CONFIG_USB_PRINTER is not set | 1196 | # CONFIG_USB_PRINTER is not set |
1141 | 1197 | ||
@@ -1173,9 +1229,7 @@ CONFIG_USB_HIDDEV=y | |||
1173 | # CONFIG_USB_ACECAD is not set | 1229 | # CONFIG_USB_ACECAD is not set |
1174 | # CONFIG_USB_KBTAB is not set | 1230 | # CONFIG_USB_KBTAB is not set |
1175 | # CONFIG_USB_POWERMATE is not set | 1231 | # CONFIG_USB_POWERMATE is not set |
1176 | # CONFIG_USB_MTOUCH is not set | 1232 | # CONFIG_USB_TOUCHSCREEN is not set |
1177 | # CONFIG_USB_ITMTOUCH is not set | ||
1178 | # CONFIG_USB_EGALAX is not set | ||
1179 | # CONFIG_USB_YEALINK is not set | 1233 | # CONFIG_USB_YEALINK is not set |
1180 | # CONFIG_USB_XPAD is not set | 1234 | # CONFIG_USB_XPAD is not set |
1181 | # CONFIG_USB_ATI_REMOTE is not set | 1235 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -1190,15 +1244,6 @@ CONFIG_USB_HIDDEV=y | |||
1190 | # CONFIG_USB_MICROTEK is not set | 1244 | # CONFIG_USB_MICROTEK is not set |
1191 | 1245 | ||
1192 | # | 1246 | # |
1193 | # USB Multimedia devices | ||
1194 | # | ||
1195 | # CONFIG_USB_DABUSB is not set | ||
1196 | |||
1197 | # | ||
1198 | # Video4Linux support is needed for USB Multimedia device support | ||
1199 | # | ||
1200 | |||
1201 | # | ||
1202 | # USB Network Adapters | 1247 | # USB Network Adapters |
1203 | # | 1248 | # |
1204 | # CONFIG_USB_CATC is not set | 1249 | # CONFIG_USB_CATC is not set |
@@ -1227,10 +1272,12 @@ CONFIG_USB_HIDDEV=y | |||
1227 | # CONFIG_USB_LEGOTOWER is not set | 1272 | # CONFIG_USB_LEGOTOWER is not set |
1228 | # CONFIG_USB_LCD is not set | 1273 | # CONFIG_USB_LCD is not set |
1229 | # CONFIG_USB_LED is not set | 1274 | # CONFIG_USB_LED is not set |
1275 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
1230 | # CONFIG_USB_CYTHERM is not set | 1276 | # CONFIG_USB_CYTHERM is not set |
1231 | # CONFIG_USB_PHIDGETKIT is not set | 1277 | # CONFIG_USB_PHIDGETKIT is not set |
1232 | # CONFIG_USB_PHIDGETSERVO is not set | 1278 | # CONFIG_USB_PHIDGETSERVO is not set |
1233 | # CONFIG_USB_IDMOUSE is not set | 1279 | # CONFIG_USB_IDMOUSE is not set |
1280 | CONFIG_USB_APPLEDISPLAY=m | ||
1234 | # CONFIG_USB_SISUSBVGA is not set | 1281 | # CONFIG_USB_SISUSBVGA is not set |
1235 | # CONFIG_USB_LD is not set | 1282 | # CONFIG_USB_LD is not set |
1236 | # CONFIG_USB_TEST is not set | 1283 | # CONFIG_USB_TEST is not set |
@@ -1250,23 +1297,53 @@ CONFIG_USB_HIDDEV=y | |||
1250 | # CONFIG_MMC is not set | 1297 | # CONFIG_MMC is not set |
1251 | 1298 | ||
1252 | # | 1299 | # |
1300 | # LED devices | ||
1301 | # | ||
1302 | # CONFIG_NEW_LEDS is not set | ||
1303 | |||
1304 | # | ||
1305 | # LED drivers | ||
1306 | # | ||
1307 | |||
1308 | # | ||
1309 | # LED Triggers | ||
1310 | # | ||
1311 | |||
1312 | # | ||
1253 | # InfiniBand support | 1313 | # InfiniBand support |
1254 | # | 1314 | # |
1255 | CONFIG_INFINIBAND=m | 1315 | CONFIG_INFINIBAND=m |
1256 | # CONFIG_INFINIBAND_USER_MAD is not set | 1316 | # CONFIG_INFINIBAND_USER_MAD is not set |
1257 | # CONFIG_INFINIBAND_USER_ACCESS is not set | 1317 | # CONFIG_INFINIBAND_USER_ACCESS is not set |
1318 | CONFIG_INFINIBAND_ADDR_TRANS=y | ||
1258 | CONFIG_INFINIBAND_MTHCA=m | 1319 | CONFIG_INFINIBAND_MTHCA=m |
1259 | # CONFIG_INFINIBAND_MTHCA_DEBUG is not set | 1320 | CONFIG_INFINIBAND_MTHCA_DEBUG=y |
1260 | CONFIG_INFINIBAND_IPOIB=m | 1321 | CONFIG_INFINIBAND_IPOIB=m |
1261 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set | 1322 | CONFIG_INFINIBAND_IPOIB_DEBUG=y |
1323 | # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set | ||
1262 | # CONFIG_INFINIBAND_SRP is not set | 1324 | # CONFIG_INFINIBAND_SRP is not set |
1325 | CONFIG_INFINIBAND_ISER=m | ||
1263 | 1326 | ||
1264 | # | 1327 | # |
1265 | # SN Devices | 1328 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
1266 | # | 1329 | # |
1267 | 1330 | ||
1268 | # | 1331 | # |
1269 | # EDAC - error detection and reporting (RAS) | 1332 | # Real Time Clock |
1333 | # | ||
1334 | # CONFIG_RTC_CLASS is not set | ||
1335 | |||
1336 | # | ||
1337 | # DMA Engine support | ||
1338 | # | ||
1339 | # CONFIG_DMA_ENGINE is not set | ||
1340 | |||
1341 | # | ||
1342 | # DMA Clients | ||
1343 | # | ||
1344 | |||
1345 | # | ||
1346 | # DMA Devices | ||
1270 | # | 1347 | # |
1271 | 1348 | ||
1272 | # | 1349 | # |
@@ -1298,7 +1375,6 @@ CONFIG_JFS_SECURITY=y | |||
1298 | # CONFIG_JFS_STATISTICS is not set | 1375 | # CONFIG_JFS_STATISTICS is not set |
1299 | CONFIG_FS_POSIX_ACL=y | 1376 | CONFIG_FS_POSIX_ACL=y |
1300 | CONFIG_XFS_FS=m | 1377 | CONFIG_XFS_FS=m |
1301 | CONFIG_XFS_EXPORT=y | ||
1302 | # CONFIG_XFS_QUOTA is not set | 1378 | # CONFIG_XFS_QUOTA is not set |
1303 | CONFIG_XFS_SECURITY=y | 1379 | CONFIG_XFS_SECURITY=y |
1304 | CONFIG_XFS_POSIX_ACL=y | 1380 | CONFIG_XFS_POSIX_ACL=y |
@@ -1307,6 +1383,7 @@ CONFIG_XFS_POSIX_ACL=y | |||
1307 | # CONFIG_MINIX_FS is not set | 1383 | # CONFIG_MINIX_FS is not set |
1308 | # CONFIG_ROMFS_FS is not set | 1384 | # CONFIG_ROMFS_FS is not set |
1309 | CONFIG_INOTIFY=y | 1385 | CONFIG_INOTIFY=y |
1386 | CONFIG_INOTIFY_USER=y | ||
1310 | # CONFIG_QUOTA is not set | 1387 | # CONFIG_QUOTA is not set |
1311 | CONFIG_DNOTIFY=y | 1388 | CONFIG_DNOTIFY=y |
1312 | CONFIG_AUTOFS_FS=y | 1389 | CONFIG_AUTOFS_FS=y |
@@ -1342,7 +1419,6 @@ CONFIG_TMPFS=y | |||
1342 | CONFIG_HUGETLBFS=y | 1419 | CONFIG_HUGETLBFS=y |
1343 | CONFIG_HUGETLB_PAGE=y | 1420 | CONFIG_HUGETLB_PAGE=y |
1344 | CONFIG_RAMFS=y | 1421 | CONFIG_RAMFS=y |
1345 | # CONFIG_RELAYFS_FS is not set | ||
1346 | # CONFIG_CONFIGFS_FS is not set | 1422 | # CONFIG_CONFIGFS_FS is not set |
1347 | 1423 | ||
1348 | # | 1424 | # |
@@ -1388,8 +1464,10 @@ CONFIG_RPCSEC_GSS_SPKM3=m | |||
1388 | # CONFIG_SMB_FS is not set | 1464 | # CONFIG_SMB_FS is not set |
1389 | CONFIG_CIFS=m | 1465 | CONFIG_CIFS=m |
1390 | # CONFIG_CIFS_STATS is not set | 1466 | # CONFIG_CIFS_STATS is not set |
1467 | # CONFIG_CIFS_WEAK_PW_HASH is not set | ||
1391 | CONFIG_CIFS_XATTR=y | 1468 | CONFIG_CIFS_XATTR=y |
1392 | CONFIG_CIFS_POSIX=y | 1469 | CONFIG_CIFS_POSIX=y |
1470 | # CONFIG_CIFS_DEBUG2 is not set | ||
1393 | # CONFIG_CIFS_EXPERIMENTAL is not set | 1471 | # CONFIG_CIFS_EXPERIMENTAL is not set |
1394 | # CONFIG_NCP_FS is not set | 1472 | # CONFIG_NCP_FS is not set |
1395 | # CONFIG_CODA_FS is not set | 1473 | # CONFIG_CODA_FS is not set |
@@ -1470,6 +1548,9 @@ CONFIG_CRC32=y | |||
1470 | CONFIG_LIBCRC32C=m | 1548 | CONFIG_LIBCRC32C=m |
1471 | CONFIG_ZLIB_INFLATE=y | 1549 | CONFIG_ZLIB_INFLATE=y |
1472 | CONFIG_ZLIB_DEFLATE=m | 1550 | CONFIG_ZLIB_DEFLATE=m |
1551 | CONFIG_TEXTSEARCH=y | ||
1552 | CONFIG_TEXTSEARCH_KMP=m | ||
1553 | CONFIG_PLIST=y | ||
1473 | 1554 | ||
1474 | # | 1555 | # |
1475 | # Instrumentation Support | 1556 | # Instrumentation Support |
@@ -1483,14 +1564,19 @@ CONFIG_OPROFILE=y | |||
1483 | # | 1564 | # |
1484 | # CONFIG_PRINTK_TIME is not set | 1565 | # CONFIG_PRINTK_TIME is not set |
1485 | CONFIG_MAGIC_SYSRQ=y | 1566 | CONFIG_MAGIC_SYSRQ=y |
1567 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1486 | CONFIG_DEBUG_KERNEL=y | 1568 | CONFIG_DEBUG_KERNEL=y |
1487 | CONFIG_LOG_BUF_SHIFT=17 | 1569 | CONFIG_LOG_BUF_SHIFT=17 |
1488 | CONFIG_DETECT_SOFTLOCKUP=y | 1570 | CONFIG_DETECT_SOFTLOCKUP=y |
1489 | # CONFIG_SCHEDSTATS is not set | 1571 | # CONFIG_SCHEDSTATS is not set |
1490 | # CONFIG_DEBUG_SLAB is not set | 1572 | # CONFIG_DEBUG_SLAB is not set |
1491 | CONFIG_DEBUG_MUTEXES=y | 1573 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1574 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1492 | # CONFIG_DEBUG_SPINLOCK is not set | 1575 | # CONFIG_DEBUG_SPINLOCK is not set |
1576 | CONFIG_DEBUG_MUTEXES=y | ||
1577 | # CONFIG_DEBUG_RWSEMS is not set | ||
1493 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1578 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1579 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1494 | # CONFIG_DEBUG_KOBJECT is not set | 1580 | # CONFIG_DEBUG_KOBJECT is not set |
1495 | # CONFIG_DEBUG_INFO is not set | 1581 | # CONFIG_DEBUG_INFO is not set |
1496 | CONFIG_DEBUG_FS=y | 1582 | CONFIG_DEBUG_FS=y |
@@ -1504,11 +1590,7 @@ CONFIG_XMON=y | |||
1504 | # CONFIG_XMON_DEFAULT is not set | 1590 | # CONFIG_XMON_DEFAULT is not set |
1505 | CONFIG_IRQSTACKS=y | 1591 | CONFIG_IRQSTACKS=y |
1506 | CONFIG_BOOTX_TEXT=y | 1592 | CONFIG_BOOTX_TEXT=y |
1507 | # CONFIG_PPC_EARLY_DEBUG_LPAR is not set | 1593 | # CONFIG_PPC_EARLY_DEBUG is not set |
1508 | # CONFIG_PPC_EARLY_DEBUG_G5 is not set | ||
1509 | # CONFIG_PPC_EARLY_DEBUG_RTAS is not set | ||
1510 | # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set | ||
1511 | # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set | ||
1512 | 1594 | ||
1513 | # | 1595 | # |
1514 | # Security options | 1596 | # Security options |
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig index c18e8600d78..a8cdf312e1b 100644 --- a/arch/powerpc/configs/pseries_defconfig +++ b/arch/powerpc/configs/pseries_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.18-rc3 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Tue Aug 8 09:14:48 2006 | 4 | # Sun Sep 10 10:45:12 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -128,7 +128,6 @@ CONFIG_PPC_PSERIES=y | |||
128 | # CONFIG_UDBG_RTAS_CONSOLE is not set | 128 | # CONFIG_UDBG_RTAS_CONSOLE is not set |
129 | CONFIG_XICS=y | 129 | CONFIG_XICS=y |
130 | # CONFIG_U3_DART is not set | 130 | # CONFIG_U3_DART is not set |
131 | CONFIG_MPIC=y | ||
132 | CONFIG_PPC_RTAS=y | 131 | CONFIG_PPC_RTAS=y |
133 | CONFIG_RTAS_ERROR_LOGGING=y | 132 | CONFIG_RTAS_ERROR_LOGGING=y |
134 | CONFIG_RTAS_PROC=y | 133 | CONFIG_RTAS_PROC=y |
@@ -140,6 +139,7 @@ CONFIG_IBMEBUS=y | |||
140 | # CONFIG_PPC_970_NAP is not set | 139 | # CONFIG_PPC_970_NAP is not set |
141 | # CONFIG_CPU_FREQ is not set | 140 | # CONFIG_CPU_FREQ is not set |
142 | # CONFIG_WANT_EARLY_SERIAL is not set | 141 | # CONFIG_WANT_EARLY_SERIAL is not set |
142 | CONFIG_MPIC=y | ||
143 | 143 | ||
144 | # | 144 | # |
145 | # Kernel options | 145 | # Kernel options |
@@ -196,6 +196,7 @@ CONFIG_ISA_DMA_API=y | |||
196 | # Bus options | 196 | # Bus options |
197 | # | 197 | # |
198 | CONFIG_GENERIC_ISA_DMA=y | 198 | CONFIG_GENERIC_ISA_DMA=y |
199 | # CONFIG_MPIC_WEIRD is not set | ||
199 | CONFIG_PPC_I8259=y | 200 | CONFIG_PPC_I8259=y |
200 | # CONFIG_PPC_INDIRECT_PCI is not set | 201 | # CONFIG_PPC_INDIRECT_PCI is not set |
201 | CONFIG_PCI=y | 202 | CONFIG_PCI=y |
@@ -790,7 +791,6 @@ CONFIG_SERIAL_JSM=m | |||
790 | CONFIG_UNIX98_PTYS=y | 791 | CONFIG_UNIX98_PTYS=y |
791 | CONFIG_LEGACY_PTYS=y | 792 | CONFIG_LEGACY_PTYS=y |
792 | CONFIG_LEGACY_PTY_COUNT=256 | 793 | CONFIG_LEGACY_PTY_COUNT=256 |
793 | # CONFIG_BRIQ_PANEL is not set | ||
794 | # CONFIG_PRINTER is not set | 794 | # CONFIG_PRINTER is not set |
795 | # CONFIG_PPDEV is not set | 795 | # CONFIG_PPDEV is not set |
796 | # CONFIG_TIPAR is not set | 796 | # CONFIG_TIPAR is not set |
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index d2ab2943d23..8b3f4faf576 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile | |||
@@ -70,6 +70,8 @@ obj-$(CONFIG_PCI) += $(pci64-y) $(pci32-y) | |||
70 | kexec-$(CONFIG_PPC64) := machine_kexec_64.o | 70 | kexec-$(CONFIG_PPC64) := machine_kexec_64.o |
71 | kexec-$(CONFIG_PPC32) := machine_kexec_32.o | 71 | kexec-$(CONFIG_PPC32) := machine_kexec_32.o |
72 | obj-$(CONFIG_KEXEC) += machine_kexec.o crash.o $(kexec-y) | 72 | obj-$(CONFIG_KEXEC) += machine_kexec.o crash.o $(kexec-y) |
73 | obj-$(CONFIG_AUDIT) += audit.o | ||
74 | obj64-$(CONFIG_AUDIT) += compat_audit.o | ||
73 | 75 | ||
74 | ifeq ($(CONFIG_PPC_ISERIES),y) | 76 | ifeq ($(CONFIG_PPC_ISERIES),y) |
75 | $(obj)/head_64.o: $(obj)/lparmap.s | 77 | $(obj)/head_64.o: $(obj)/lparmap.s |
diff --git a/arch/powerpc/kernel/audit.c b/arch/powerpc/kernel/audit.c new file mode 100644 index 00000000000..7fe5e6300e9 --- /dev/null +++ b/arch/powerpc/kernel/audit.c | |||
@@ -0,0 +1,66 @@ | |||
1 | #include <linux/init.h> | ||
2 | #include <linux/types.h> | ||
3 | #include <linux/audit.h> | ||
4 | #include <asm/unistd.h> | ||
5 | |||
6 | static unsigned dir_class[] = { | ||
7 | #include <asm-generic/audit_dir_write.h> | ||
8 | ~0U | ||
9 | }; | ||
10 | |||
11 | static unsigned read_class[] = { | ||
12 | #include <asm-generic/audit_read.h> | ||
13 | ~0U | ||
14 | }; | ||
15 | |||
16 | static unsigned write_class[] = { | ||
17 | #include <asm-generic/audit_write.h> | ||
18 | ~0U | ||
19 | }; | ||
20 | |||
21 | static unsigned chattr_class[] = { | ||
22 | #include <asm-generic/audit_change_attr.h> | ||
23 | ~0U | ||
24 | }; | ||
25 | |||
26 | int audit_classify_syscall(int abi, unsigned syscall) | ||
27 | { | ||
28 | #ifdef CONFIG_PPC64 | ||
29 | extern int ppc32_classify_syscall(unsigned); | ||
30 | if (abi == AUDIT_ARCH_PPC) | ||
31 | return ppc32_classify_syscall(syscall); | ||
32 | #endif | ||
33 | switch(syscall) { | ||
34 | case __NR_open: | ||
35 | return 2; | ||
36 | case __NR_openat: | ||
37 | return 3; | ||
38 | case __NR_socketcall: | ||
39 | return 4; | ||
40 | case __NR_execve: | ||
41 | return 5; | ||
42 | default: | ||
43 | return 0; | ||
44 | } | ||
45 | } | ||
46 | |||
47 | static int __init audit_classes_init(void) | ||
48 | { | ||
49 | #ifdef CONFIG_PPC64 | ||
50 | extern __u32 ppc32_dir_class[]; | ||
51 | extern __u32 ppc32_write_class[]; | ||
52 | extern __u32 ppc32_read_class[]; | ||
53 | extern __u32 ppc32_chattr_class[]; | ||
54 | audit_register_class(AUDIT_CLASS_WRITE_32, ppc32_write_class); | ||
55 | audit_register_class(AUDIT_CLASS_READ_32, ppc32_read_class); | ||
56 | audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ppc32_dir_class); | ||
57 | audit_register_class(AUDIT_CLASS_CHATTR_32, ppc32_chattr_class); | ||
58 | #endif | ||
59 | audit_register_class(AUDIT_CLASS_WRITE, write_class); | ||
60 | audit_register_class(AUDIT_CLASS_READ, read_class); | ||
61 | audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); | ||
62 | audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); | ||
63 | return 0; | ||
64 | } | ||
65 | |||
66 | __initcall(audit_classes_init); | ||
diff --git a/arch/powerpc/kernel/compat_audit.c b/arch/powerpc/kernel/compat_audit.c new file mode 100644 index 00000000000..640d4bb2932 --- /dev/null +++ b/arch/powerpc/kernel/compat_audit.c | |||
@@ -0,0 +1,38 @@ | |||
1 | #undef __powerpc64__ | ||
2 | #include <asm/unistd.h> | ||
3 | |||
4 | unsigned ppc32_dir_class[] = { | ||
5 | #include <asm-generic/audit_dir_write.h> | ||
6 | ~0U | ||
7 | }; | ||
8 | |||
9 | unsigned ppc32_chattr_class[] = { | ||
10 | #include <asm-generic/audit_change_attr.h> | ||
11 | ~0U | ||
12 | }; | ||
13 | |||
14 | unsigned ppc32_write_class[] = { | ||
15 | #include <asm-generic/audit_write.h> | ||
16 | ~0U | ||
17 | }; | ||
18 | |||
19 | unsigned ppc32_read_class[] = { | ||
20 | #include <asm-generic/audit_read.h> | ||
21 | ~0U | ||
22 | }; | ||
23 | |||
24 | int ppc32_classify_syscall(unsigned syscall) | ||
25 | { | ||
26 | switch(syscall) { | ||
27 | case __NR_open: | ||
28 | return 2; | ||
29 | case __NR_openat: | ||
30 | return 3; | ||
31 | case __NR_socketcall: | ||
32 | return 4; | ||
33 | case __NR_execve: | ||
34 | return 5; | ||
35 | default: | ||
36 | return 1; | ||
37 | } | ||
38 | } | ||
diff --git a/arch/powerpc/kernel/crash.c b/arch/powerpc/kernel/crash.c index f04c18e08b8..1af41f7616d 100644 --- a/arch/powerpc/kernel/crash.c +++ b/arch/powerpc/kernel/crash.c | |||
@@ -295,7 +295,7 @@ void default_machine_crash_shutdown(struct pt_regs *regs) | |||
295 | struct irq_desc *desc = irq_desc + irq; | 295 | struct irq_desc *desc = irq_desc + irq; |
296 | 296 | ||
297 | if (desc->status & IRQ_INPROGRESS) | 297 | if (desc->status & IRQ_INPROGRESS) |
298 | desc->chip->end(irq); | 298 | desc->chip->eoi(irq); |
299 | 299 | ||
300 | if (!(desc->status & IRQ_DISABLED)) | 300 | if (!(desc->status & IRQ_DISABLED)) |
301 | desc->chip->disable(irq); | 301 | desc->chip->disable(irq); |
diff --git a/arch/powerpc/kernel/misc.S b/arch/powerpc/kernel/misc.S index fc23040d5a2..f770805f121 100644 --- a/arch/powerpc/kernel/misc.S +++ b/arch/powerpc/kernel/misc.S | |||
@@ -17,15 +17,6 @@ | |||
17 | 17 | ||
18 | .text | 18 | .text |
19 | 19 | ||
20 | #ifdef CONFIG_PPC64 | ||
21 | #define IN_SYNC twi 0,r5,0; isync | ||
22 | #define EIEIO_32 | ||
23 | #define SYNC_64 sync | ||
24 | #else /* CONFIG_PPC32 */ | ||
25 | #define IN_SYNC | ||
26 | #define EIEIO_32 eieio | ||
27 | #define SYNC_64 | ||
28 | #endif | ||
29 | /* | 20 | /* |
30 | * Returns (address we are running at) - (address we were linked at) | 21 | * Returns (address we are running at) - (address we were linked at) |
31 | * for use before the text and data are mapped to KERNELBASE. | 22 | * for use before the text and data are mapped to KERNELBASE. |
@@ -70,6 +61,7 @@ _GLOBAL(add_reloc_offset) | |||
70 | * The *_ns versions don't do byte-swapping. | 61 | * The *_ns versions don't do byte-swapping. |
71 | */ | 62 | */ |
72 | _GLOBAL(_insb) | 63 | _GLOBAL(_insb) |
64 | sync | ||
73 | cmpwi 0,r5,0 | 65 | cmpwi 0,r5,0 |
74 | mtctr r5 | 66 | mtctr r5 |
75 | subi r4,r4,1 | 67 | subi r4,r4,1 |
@@ -78,7 +70,8 @@ _GLOBAL(_insb) | |||
78 | eieio | 70 | eieio |
79 | stbu r5,1(r4) | 71 | stbu r5,1(r4) |
80 | bdnz 00b | 72 | bdnz 00b |
81 | IN_SYNC | 73 | twi 0,r5,0 |
74 | isync | ||
82 | blr | 75 | blr |
83 | 76 | ||
84 | _GLOBAL(_outsb) | 77 | _GLOBAL(_outsb) |
@@ -86,14 +79,15 @@ _GLOBAL(_outsb) | |||
86 | mtctr r5 | 79 | mtctr r5 |
87 | subi r4,r4,1 | 80 | subi r4,r4,1 |
88 | blelr- | 81 | blelr- |
82 | sync | ||
89 | 00: lbzu r5,1(r4) | 83 | 00: lbzu r5,1(r4) |
90 | stb r5,0(r3) | 84 | stb r5,0(r3) |
91 | EIEIO_32 | ||
92 | bdnz 00b | 85 | bdnz 00b |
93 | SYNC_64 | 86 | sync |
94 | blr | 87 | blr |
95 | 88 | ||
96 | _GLOBAL(_insw) | 89 | _GLOBAL(_insw) |
90 | sync | ||
97 | cmpwi 0,r5,0 | 91 | cmpwi 0,r5,0 |
98 | mtctr r5 | 92 | mtctr r5 |
99 | subi r4,r4,2 | 93 | subi r4,r4,2 |
@@ -102,7 +96,8 @@ _GLOBAL(_insw) | |||
102 | eieio | 96 | eieio |
103 | sthu r5,2(r4) | 97 | sthu r5,2(r4) |
104 | bdnz 00b | 98 | bdnz 00b |
105 | IN_SYNC | 99 | twi 0,r5,0 |
100 | isync | ||
106 | blr | 101 | blr |
107 | 102 | ||
108 | _GLOBAL(_outsw) | 103 | _GLOBAL(_outsw) |
@@ -110,14 +105,15 @@ _GLOBAL(_outsw) | |||
110 | mtctr r5 | 105 | mtctr r5 |
111 | subi r4,r4,2 | 106 | subi r4,r4,2 |
112 | blelr- | 107 | blelr- |
108 | sync | ||
113 | 00: lhzu r5,2(r4) | 109 | 00: lhzu r5,2(r4) |
114 | EIEIO_32 | ||
115 | sthbrx r5,0,r3 | 110 | sthbrx r5,0,r3 |
116 | bdnz 00b | 111 | bdnz 00b |
117 | SYNC_64 | 112 | sync |
118 | blr | 113 | blr |
119 | 114 | ||
120 | _GLOBAL(_insl) | 115 | _GLOBAL(_insl) |
116 | sync | ||
121 | cmpwi 0,r5,0 | 117 | cmpwi 0,r5,0 |
122 | mtctr r5 | 118 | mtctr r5 |
123 | subi r4,r4,4 | 119 | subi r4,r4,4 |
@@ -126,7 +122,8 @@ _GLOBAL(_insl) | |||
126 | eieio | 122 | eieio |
127 | stwu r5,4(r4) | 123 | stwu r5,4(r4) |
128 | bdnz 00b | 124 | bdnz 00b |
129 | IN_SYNC | 125 | twi 0,r5,0 |
126 | isync | ||
130 | blr | 127 | blr |
131 | 128 | ||
132 | _GLOBAL(_outsl) | 129 | _GLOBAL(_outsl) |
@@ -134,17 +131,18 @@ _GLOBAL(_outsl) | |||
134 | mtctr r5 | 131 | mtctr r5 |
135 | subi r4,r4,4 | 132 | subi r4,r4,4 |
136 | blelr- | 133 | blelr- |
134 | sync | ||
137 | 00: lwzu r5,4(r4) | 135 | 00: lwzu r5,4(r4) |
138 | stwbrx r5,0,r3 | 136 | stwbrx r5,0,r3 |
139 | EIEIO_32 | ||
140 | bdnz 00b | 137 | bdnz 00b |
141 | SYNC_64 | 138 | sync |
142 | blr | 139 | blr |
143 | 140 | ||
144 | #ifdef CONFIG_PPC32 | 141 | #ifdef CONFIG_PPC32 |
145 | _GLOBAL(__ide_mm_insw) | 142 | _GLOBAL(__ide_mm_insw) |
146 | #endif | 143 | #endif |
147 | _GLOBAL(_insw_ns) | 144 | _GLOBAL(_insw_ns) |
145 | sync | ||
148 | cmpwi 0,r5,0 | 146 | cmpwi 0,r5,0 |
149 | mtctr r5 | 147 | mtctr r5 |
150 | subi r4,r4,2 | 148 | subi r4,r4,2 |
@@ -153,7 +151,8 @@ _GLOBAL(_insw_ns) | |||
153 | eieio | 151 | eieio |
154 | sthu r5,2(r4) | 152 | sthu r5,2(r4) |
155 | bdnz 00b | 153 | bdnz 00b |
156 | IN_SYNC | 154 | twi 0,r5,0 |
155 | isync | ||
157 | blr | 156 | blr |
158 | 157 | ||
159 | #ifdef CONFIG_PPC32 | 158 | #ifdef CONFIG_PPC32 |
@@ -164,17 +163,18 @@ _GLOBAL(_outsw_ns) | |||
164 | mtctr r5 | 163 | mtctr r5 |
165 | subi r4,r4,2 | 164 | subi r4,r4,2 |
166 | blelr- | 165 | blelr- |
166 | sync | ||
167 | 00: lhzu r5,2(r4) | 167 | 00: lhzu r5,2(r4) |
168 | sth r5,0(r3) | 168 | sth r5,0(r3) |
169 | EIEIO_32 | ||
170 | bdnz 00b | 169 | bdnz 00b |
171 | SYNC_64 | 170 | sync |
172 | blr | 171 | blr |
173 | 172 | ||
174 | #ifdef CONFIG_PPC32 | 173 | #ifdef CONFIG_PPC32 |
175 | _GLOBAL(__ide_mm_insl) | 174 | _GLOBAL(__ide_mm_insl) |
176 | #endif | 175 | #endif |
177 | _GLOBAL(_insl_ns) | 176 | _GLOBAL(_insl_ns) |
177 | sync | ||
178 | cmpwi 0,r5,0 | 178 | cmpwi 0,r5,0 |
179 | mtctr r5 | 179 | mtctr r5 |
180 | subi r4,r4,4 | 180 | subi r4,r4,4 |
@@ -183,7 +183,8 @@ _GLOBAL(_insl_ns) | |||
183 | eieio | 183 | eieio |
184 | stwu r5,4(r4) | 184 | stwu r5,4(r4) |
185 | bdnz 00b | 185 | bdnz 00b |
186 | IN_SYNC | 186 | twi 0,r5,0 |
187 | isync | ||
187 | blr | 188 | blr |
188 | 189 | ||
189 | #ifdef CONFIG_PPC32 | 190 | #ifdef CONFIG_PPC32 |
@@ -194,10 +195,10 @@ _GLOBAL(_outsl_ns) | |||
194 | mtctr r5 | 195 | mtctr r5 |
195 | subi r4,r4,4 | 196 | subi r4,r4,4 |
196 | blelr- | 197 | blelr- |
198 | sync | ||
197 | 00: lwzu r5,4(r4) | 199 | 00: lwzu r5,4(r4) |
198 | stw r5,0(r3) | 200 | stw r5,0(r3) |
199 | EIEIO_32 | ||
200 | bdnz 00b | 201 | bdnz 00b |
201 | SYNC_64 | 202 | sync |
202 | blr | 203 | blr |
203 | 204 | ||
diff --git a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c index 8e433101324..b637e8157f7 100644 --- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c +++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | |||
@@ -158,7 +158,7 @@ get_pci_irq_from_of(struct pci_controller *hose, int slot, int pin) | |||
158 | 158 | ||
159 | laddr[0] = (hose->first_busno << 16) | (PCI_DEVFN(slot, 0) << 8); | 159 | laddr[0] = (hose->first_busno << 16) | (PCI_DEVFN(slot, 0) << 8); |
160 | laddr[1] = laddr[2] = 0; | 160 | laddr[1] = laddr[2] = 0; |
161 | of_irq_map_raw(hosenode, &pin, laddr, &oirq); | 161 | of_irq_map_raw(hosenode, &pin, 1, laddr, &oirq); |
162 | DBG("mpc86xx_hpcn: pci irq addr %x, slot %d, pin %d, irq %d\n", | 162 | DBG("mpc86xx_hpcn: pci irq addr %x, slot %d, pin %d, irq %d\n", |
163 | laddr[0], slot, pin, oirq.specifier[0]); | 163 | laddr[0], slot, pin, oirq.specifier[0]); |
164 | return oirq.specifier[0]; | 164 | return oirq.specifier[0]; |
diff --git a/arch/powerpc/platforms/powermac/pfunc_base.c b/arch/powerpc/platforms/powermac/pfunc_base.c index 829dacec96e..ee3b223ab17 100644 --- a/arch/powerpc/platforms/powermac/pfunc_base.c +++ b/arch/powerpc/platforms/powermac/pfunc_base.c | |||
@@ -256,7 +256,7 @@ static struct pmf_handlers macio_mmio_handlers = { | |||
256 | .write_reg32 = macio_do_write_reg32, | 256 | .write_reg32 = macio_do_write_reg32, |
257 | .read_reg32 = macio_do_read_reg32, | 257 | .read_reg32 = macio_do_read_reg32, |
258 | .write_reg8 = macio_do_write_reg8, | 258 | .write_reg8 = macio_do_write_reg8, |
259 | .read_reg32 = macio_do_read_reg8, | 259 | .read_reg8 = macio_do_read_reg8, |
260 | .read_reg32_msrx = macio_do_read_reg32_msrx, | 260 | .read_reg32_msrx = macio_do_read_reg32_msrx, |
261 | .read_reg8_msrx = macio_do_read_reg8_msrx, | 261 | .read_reg8_msrx = macio_do_read_reg8_msrx, |
262 | .write_reg32_slm = macio_do_write_reg32_slm, | 262 | .write_reg32_slm = macio_do_write_reg32_slm, |
diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms/powermac/pic.c index 060789e31c6..39f7ddb554e 100644 --- a/arch/powerpc/platforms/powermac/pic.c +++ b/arch/powerpc/platforms/powermac/pic.c | |||
@@ -87,8 +87,8 @@ static void __pmac_retrigger(unsigned int irq_nr) | |||
87 | static void pmac_mask_and_ack_irq(unsigned int virq) | 87 | static void pmac_mask_and_ack_irq(unsigned int virq) |
88 | { | 88 | { |
89 | unsigned int src = irq_map[virq].hwirq; | 89 | unsigned int src = irq_map[virq].hwirq; |
90 | unsigned long bit = 1UL << (virq & 0x1f); | 90 | unsigned long bit = 1UL << (src & 0x1f); |
91 | int i = virq >> 5; | 91 | int i = src >> 5; |
92 | unsigned long flags; | 92 | unsigned long flags; |
93 | 93 | ||
94 | spin_lock_irqsave(&pmac_pic_lock, flags); | 94 | spin_lock_irqsave(&pmac_pic_lock, flags); |
@@ -175,7 +175,7 @@ static void pmac_mask_irq(unsigned int virq) | |||
175 | 175 | ||
176 | spin_lock_irqsave(&pmac_pic_lock, flags); | 176 | spin_lock_irqsave(&pmac_pic_lock, flags); |
177 | __clear_bit(src, ppc_cached_irq_mask); | 177 | __clear_bit(src, ppc_cached_irq_mask); |
178 | __pmac_set_irq_mask(src, 0); | 178 | __pmac_set_irq_mask(src, 1); |
179 | spin_unlock_irqrestore(&pmac_pic_lock, flags); | 179 | spin_unlock_irqrestore(&pmac_pic_lock, flags); |
180 | } | 180 | } |
181 | 181 | ||
diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c index e32fadde1f7..03b4477dd7f 100644 --- a/arch/powerpc/sysdev/dart_iommu.c +++ b/arch/powerpc/sysdev/dart_iommu.c | |||
@@ -139,6 +139,7 @@ wait_more: | |||
139 | 139 | ||
140 | static void dart_flush(struct iommu_table *tbl) | 140 | static void dart_flush(struct iommu_table *tbl) |
141 | { | 141 | { |
142 | mb(); | ||
142 | if (dart_dirty) { | 143 | if (dart_dirty) { |
143 | dart_tlb_invalidate_all(); | 144 | dart_tlb_invalidate_all(); |
144 | dart_dirty = 0; | 145 | dart_dirty = 0; |
@@ -172,9 +173,13 @@ static void dart_build(struct iommu_table *tbl, long index, | |||
172 | uaddr += DART_PAGE_SIZE; | 173 | uaddr += DART_PAGE_SIZE; |
173 | } | 174 | } |
174 | 175 | ||
176 | /* make sure all updates have reached memory */ | ||
177 | mb(); | ||
178 | in_be32((unsigned __iomem *)dp); | ||
179 | mb(); | ||
180 | |||
175 | if (dart_is_u4) { | 181 | if (dart_is_u4) { |
176 | rpn = index; | 182 | rpn = index; |
177 | mb(); /* make sure all updates have reached memory */ | ||
178 | while (npages--) | 183 | while (npages--) |
179 | dart_tlb_invalidate_one(rpn++); | 184 | dart_tlb_invalidate_one(rpn++); |
180 | } else { | 185 | } else { |
diff --git a/arch/ppc/configs/prep_defconfig b/arch/ppc/configs/prep_defconfig index 4d33bee23a8..0aa333178b2 100644 --- a/arch/ppc/configs/prep_defconfig +++ b/arch/ppc/configs/prep_defconfig | |||
@@ -1,56 +1,63 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.13-rc3 | 3 | # Linux kernel version: 2.6.18-rc6 |
4 | # Wed Jul 13 13:34:24 2005 | 4 | # Wed Sep 6 15:09:32 2006 |
5 | # | 5 | # |
6 | CONFIG_MMU=y | 6 | CONFIG_MMU=y |
7 | CONFIG_GENERIC_HARDIRQS=y | 7 | CONFIG_GENERIC_HARDIRQS=y |
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
9 | CONFIG_GENERIC_HWEIGHT=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 10 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
10 | CONFIG_HAVE_DEC_LOCK=y | ||
11 | CONFIG_PPC=y | 11 | CONFIG_PPC=y |
12 | CONFIG_PPC32=y | 12 | CONFIG_PPC32=y |
13 | CONFIG_GENERIC_NVRAM=y | 13 | CONFIG_GENERIC_NVRAM=y |
14 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
14 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | 15 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y |
16 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
17 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
15 | 18 | ||
16 | # | 19 | # |
17 | # Code maturity level options | 20 | # Code maturity level options |
18 | # | 21 | # |
19 | CONFIG_EXPERIMENTAL=y | 22 | CONFIG_EXPERIMENTAL=y |
20 | CONFIG_CLEAN_COMPILE=y | ||
21 | CONFIG_BROKEN_ON_SMP=y | 23 | CONFIG_BROKEN_ON_SMP=y |
22 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 24 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
23 | 25 | ||
24 | # | 26 | # |
25 | # General setup | 27 | # General setup |
26 | # | 28 | # |
27 | CONFIG_LOCALVERSION="" | 29 | CONFIG_LOCALVERSION="-prep" |
30 | CONFIG_LOCALVERSION_AUTO=y | ||
28 | CONFIG_SWAP=y | 31 | CONFIG_SWAP=y |
29 | CONFIG_SYSVIPC=y | 32 | CONFIG_SYSVIPC=y |
30 | CONFIG_POSIX_MQUEUE=y | 33 | CONFIG_POSIX_MQUEUE=y |
31 | # CONFIG_BSD_PROCESS_ACCT is not set | 34 | # CONFIG_BSD_PROCESS_ACCT is not set |
35 | # CONFIG_TASKSTATS is not set | ||
32 | CONFIG_SYSCTL=y | 36 | CONFIG_SYSCTL=y |
33 | # CONFIG_AUDIT is not set | 37 | # CONFIG_AUDIT is not set |
34 | CONFIG_HOTPLUG=y | ||
35 | CONFIG_KOBJECT_UEVENT=y | ||
36 | CONFIG_IKCONFIG=y | 38 | CONFIG_IKCONFIG=y |
37 | CONFIG_IKCONFIG_PROC=y | 39 | CONFIG_IKCONFIG_PROC=y |
40 | # CONFIG_RELAY is not set | ||
41 | CONFIG_INITRAMFS_SOURCE="" | ||
42 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
38 | # CONFIG_EMBEDDED is not set | 43 | # CONFIG_EMBEDDED is not set |
39 | CONFIG_KALLSYMS=y | 44 | CONFIG_KALLSYMS=y |
40 | # CONFIG_KALLSYMS_ALL is not set | 45 | # CONFIG_KALLSYMS_ALL is not set |
41 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 46 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
47 | CONFIG_HOTPLUG=y | ||
42 | CONFIG_PRINTK=y | 48 | CONFIG_PRINTK=y |
43 | CONFIG_BUG=y | 49 | CONFIG_BUG=y |
50 | CONFIG_ELF_CORE=y | ||
44 | CONFIG_BASE_FULL=y | 51 | CONFIG_BASE_FULL=y |
52 | CONFIG_RT_MUTEXES=y | ||
45 | CONFIG_FUTEX=y | 53 | CONFIG_FUTEX=y |
46 | CONFIG_EPOLL=y | 54 | CONFIG_EPOLL=y |
47 | CONFIG_SHMEM=y | 55 | CONFIG_SHMEM=y |
48 | CONFIG_CC_ALIGN_FUNCTIONS=0 | 56 | CONFIG_SLAB=y |
49 | CONFIG_CC_ALIGN_LABELS=0 | 57 | CONFIG_VM_EVENT_COUNTERS=y |
50 | CONFIG_CC_ALIGN_LOOPS=0 | ||
51 | CONFIG_CC_ALIGN_JUMPS=0 | ||
52 | # CONFIG_TINY_SHMEM is not set | 58 | # CONFIG_TINY_SHMEM is not set |
53 | CONFIG_BASE_SMALL=0 | 59 | CONFIG_BASE_SMALL=0 |
60 | # CONFIG_SLOB is not set | ||
54 | 61 | ||
55 | # | 62 | # |
56 | # Loadable module support | 63 | # Loadable module support |
@@ -58,69 +65,68 @@ CONFIG_BASE_SMALL=0 | |||
58 | CONFIG_MODULES=y | 65 | CONFIG_MODULES=y |
59 | CONFIG_MODULE_UNLOAD=y | 66 | CONFIG_MODULE_UNLOAD=y |
60 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 67 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
61 | CONFIG_OBSOLETE_MODPARM=y | ||
62 | CONFIG_MODVERSIONS=y | 68 | CONFIG_MODVERSIONS=y |
63 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 69 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
64 | CONFIG_KMOD=y | 70 | CONFIG_KMOD=y |
65 | 71 | ||
66 | # | 72 | # |
73 | # Block layer | ||
74 | # | ||
75 | CONFIG_LBD=y | ||
76 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
77 | # CONFIG_LSF is not set | ||
78 | |||
79 | # | ||
80 | # IO Schedulers | ||
81 | # | ||
82 | CONFIG_IOSCHED_NOOP=y | ||
83 | CONFIG_IOSCHED_AS=y | ||
84 | CONFIG_IOSCHED_DEADLINE=y | ||
85 | CONFIG_IOSCHED_CFQ=y | ||
86 | # CONFIG_DEFAULT_AS is not set | ||
87 | # CONFIG_DEFAULT_DEADLINE is not set | ||
88 | CONFIG_DEFAULT_CFQ=y | ||
89 | # CONFIG_DEFAULT_NOOP is not set | ||
90 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
91 | |||
92 | # | ||
67 | # Processor | 93 | # Processor |
68 | # | 94 | # |
69 | CONFIG_6xx=y | 95 | CONFIG_6xx=y |
70 | # CONFIG_40x is not set | 96 | # CONFIG_40x is not set |
71 | # CONFIG_44x is not set | 97 | # CONFIG_44x is not set |
72 | # CONFIG_POWER3 is not set | ||
73 | # CONFIG_POWER4 is not set | ||
74 | # CONFIG_8xx is not set | 98 | # CONFIG_8xx is not set |
75 | # CONFIG_E200 is not set | 99 | # CONFIG_E200 is not set |
76 | # CONFIG_E500 is not set | 100 | # CONFIG_E500 is not set |
77 | CONFIG_PPC_FPU=y | 101 | CONFIG_PPC_FPU=y |
78 | CONFIG_ALTIVEC=y | 102 | # CONFIG_ALTIVEC is not set |
79 | CONFIG_TAU=y | 103 | # CONFIG_TAU is not set |
80 | # CONFIG_TAU_INT is not set | ||
81 | # CONFIG_TAU_AVERAGE is not set | ||
82 | # CONFIG_KEXEC is not set | 104 | # CONFIG_KEXEC is not set |
83 | CONFIG_CPU_FREQ=y | 105 | # CONFIG_CPU_FREQ is not set |
84 | CONFIG_CPU_FREQ_TABLE=y | ||
85 | # CONFIG_CPU_FREQ_DEBUG is not set | ||
86 | CONFIG_CPU_FREQ_STAT=m | ||
87 | CONFIG_CPU_FREQ_STAT_DETAILS=y | ||
88 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | ||
89 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
90 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
91 | CONFIG_CPU_FREQ_GOV_POWERSAVE=m | ||
92 | CONFIG_CPU_FREQ_GOV_USERSPACE=m | ||
93 | CONFIG_CPU_FREQ_GOV_ONDEMAND=m | ||
94 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m | ||
95 | CONFIG_CPU_FREQ_PMAC=y | ||
96 | CONFIG_PPC601_SYNC_FIX=y | 106 | CONFIG_PPC601_SYNC_FIX=y |
97 | CONFIG_PM=y | 107 | # CONFIG_WANT_EARLY_SERIAL is not set |
98 | CONFIG_PPC_STD_MMU=y | 108 | CONFIG_PPC_STD_MMU=y |
99 | 109 | ||
100 | # | 110 | # |
101 | # Platform options | 111 | # Platform options |
102 | # | 112 | # |
103 | CONFIG_PPC_MULTIPLATFORM=y | 113 | CONFIG_PPC_PREP=y |
104 | # CONFIG_APUS is not set | 114 | # CONFIG_APUS is not set |
105 | # CONFIG_KATANA is not set | 115 | # CONFIG_KATANA is not set |
106 | # CONFIG_WILLOW is not set | 116 | # CONFIG_WILLOW is not set |
107 | # CONFIG_CPCI690 is not set | 117 | # CONFIG_CPCI690 is not set |
108 | # CONFIG_PCORE is not set | ||
109 | # CONFIG_POWERPMC250 is not set | 118 | # CONFIG_POWERPMC250 is not set |
110 | # CONFIG_CHESTNUT is not set | 119 | # CONFIG_CHESTNUT is not set |
111 | # CONFIG_SPRUCE is not set | 120 | # CONFIG_SPRUCE is not set |
112 | # CONFIG_HDPU is not set | 121 | # CONFIG_HDPU is not set |
113 | # CONFIG_EV64260 is not set | 122 | # CONFIG_EV64260 is not set |
114 | # CONFIG_LOPEC is not set | 123 | # CONFIG_LOPEC is not set |
115 | # CONFIG_MCPN765 is not set | ||
116 | # CONFIG_MVME5100 is not set | 124 | # CONFIG_MVME5100 is not set |
117 | # CONFIG_PPLUS is not set | 125 | # CONFIG_PPLUS is not set |
118 | # CONFIG_PRPMC750 is not set | 126 | # CONFIG_PRPMC750 is not set |
119 | # CONFIG_PRPMC800 is not set | 127 | # CONFIG_PRPMC800 is not set |
120 | # CONFIG_SANDPOINT is not set | 128 | # CONFIG_SANDPOINT is not set |
121 | # CONFIG_RADSTONE_PPC7D is not set | 129 | # CONFIG_RADSTONE_PPC7D is not set |
122 | # CONFIG_ADIR is not set | ||
123 | # CONFIG_K2 is not set | ||
124 | # CONFIG_PAL4 is not set | 130 | # CONFIG_PAL4 is not set |
125 | # CONFIG_GEMINI is not set | 131 | # CONFIG_GEMINI is not set |
126 | # CONFIG_EST8260 is not set | 132 | # CONFIG_EST8260 is not set |
@@ -132,10 +138,7 @@ CONFIG_PPC_MULTIPLATFORM=y | |||
132 | # CONFIG_PQ2FADS is not set | 138 | # CONFIG_PQ2FADS is not set |
133 | # CONFIG_LITE5200 is not set | 139 | # CONFIG_LITE5200 is not set |
134 | # CONFIG_MPC834x_SYS is not set | 140 | # CONFIG_MPC834x_SYS is not set |
135 | CONFIG_PPC_CHRP=y | 141 | # CONFIG_EV64360 is not set |
136 | CONFIG_PPC_PMAC=y | ||
137 | CONFIG_PPC_PREP=y | ||
138 | CONFIG_PPC_OF=y | ||
139 | CONFIG_PPCBUG_NVRAM=y | 142 | CONFIG_PPCBUG_NVRAM=y |
140 | # CONFIG_SMP is not set | 143 | # CONFIG_SMP is not set |
141 | # CONFIG_HIGHMEM is not set | 144 | # CONFIG_HIGHMEM is not set |
@@ -152,12 +155,16 @@ CONFIG_FLATMEM_MANUAL=y | |||
152 | # CONFIG_SPARSEMEM_MANUAL is not set | 155 | # CONFIG_SPARSEMEM_MANUAL is not set |
153 | CONFIG_FLATMEM=y | 156 | CONFIG_FLATMEM=y |
154 | CONFIG_FLAT_NODE_MEM_MAP=y | 157 | CONFIG_FLAT_NODE_MEM_MAP=y |
158 | # CONFIG_SPARSEMEM_STATIC is not set | ||
159 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
160 | # CONFIG_RESOURCES_64BIT is not set | ||
155 | CONFIG_BINFMT_ELF=y | 161 | CONFIG_BINFMT_ELF=y |
156 | CONFIG_BINFMT_MISC=m | 162 | CONFIG_BINFMT_MISC=m |
157 | CONFIG_PROC_DEVICETREE=y | ||
158 | CONFIG_PREP_RESIDUAL=y | 163 | CONFIG_PREP_RESIDUAL=y |
159 | CONFIG_PROC_PREPRESIDUAL=y | 164 | CONFIG_PROC_PREPRESIDUAL=y |
160 | # CONFIG_CMDLINE_BOOL is not set | 165 | # CONFIG_CMDLINE_BOOL is not set |
166 | CONFIG_PM=y | ||
167 | # CONFIG_PM_LEGACY is not set | ||
161 | # CONFIG_PM_DEBUG is not set | 168 | # CONFIG_PM_DEBUG is not set |
162 | CONFIG_SOFTWARE_SUSPEND=y | 169 | CONFIG_SOFTWARE_SUSPEND=y |
163 | CONFIG_PM_STD_PARTITION="" | 170 | CONFIG_PM_STD_PARTITION="" |
@@ -169,10 +176,10 @@ CONFIG_ISA_DMA_API=y | |||
169 | # | 176 | # |
170 | CONFIG_ISA=y | 177 | CONFIG_ISA=y |
171 | CONFIG_GENERIC_ISA_DMA=y | 178 | CONFIG_GENERIC_ISA_DMA=y |
179 | CONFIG_PPC_I8259=y | ||
180 | CONFIG_PPC_INDIRECT_PCI=y | ||
172 | CONFIG_PCI=y | 181 | CONFIG_PCI=y |
173 | CONFIG_PCI_DOMAINS=y | 182 | CONFIG_PCI_DOMAINS=y |
174 | # CONFIG_PCI_LEGACY_PROC is not set | ||
175 | # CONFIG_PCI_NAMES is not set | ||
176 | # CONFIG_PCI_DEBUG is not set | 183 | # CONFIG_PCI_DEBUG is not set |
177 | 184 | ||
178 | # | 185 | # |
@@ -187,6 +194,11 @@ CONFIG_CARDBUS=y | |||
187 | # PC-card bridges | 194 | # PC-card bridges |
188 | # | 195 | # |
189 | CONFIG_YENTA=m | 196 | CONFIG_YENTA=m |
197 | CONFIG_YENTA_O2=y | ||
198 | CONFIG_YENTA_RICOH=y | ||
199 | CONFIG_YENTA_TI=y | ||
200 | CONFIG_YENTA_ENE_TUNE=y | ||
201 | CONFIG_YENTA_TOSHIBA=y | ||
190 | CONFIG_PCMCIA_PROBE=y | 202 | CONFIG_PCMCIA_PROBE=y |
191 | CONFIG_PCCARD_NONSTATIC=m | 203 | CONFIG_PCCARD_NONSTATIC=m |
192 | 204 | ||
@@ -212,6 +224,7 @@ CONFIG_NET=y | |||
212 | # | 224 | # |
213 | # Networking options | 225 | # Networking options |
214 | # | 226 | # |
227 | # CONFIG_NETDEBUG is not set | ||
215 | CONFIG_PACKET=y | 228 | CONFIG_PACKET=y |
216 | # CONFIG_PACKET_MMAP is not set | 229 | # CONFIG_PACKET_MMAP is not set |
217 | CONFIG_UNIX=y | 230 | CONFIG_UNIX=y |
@@ -229,9 +242,11 @@ CONFIG_SYN_COOKIES=y | |||
229 | # CONFIG_INET_AH is not set | 242 | # CONFIG_INET_AH is not set |
230 | # CONFIG_INET_ESP is not set | 243 | # CONFIG_INET_ESP is not set |
231 | # CONFIG_INET_IPCOMP is not set | 244 | # CONFIG_INET_IPCOMP is not set |
245 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
232 | # CONFIG_INET_TUNNEL is not set | 246 | # CONFIG_INET_TUNNEL is not set |
233 | CONFIG_IP_TCPDIAG=y | 247 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |
234 | # CONFIG_IP_TCPDIAG_IPV6 is not set | 248 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set |
249 | # CONFIG_INET_DIAG is not set | ||
235 | # CONFIG_TCP_CONG_ADVANCED is not set | 250 | # CONFIG_TCP_CONG_ADVANCED is not set |
236 | CONFIG_TCP_CONG_BIC=y | 251 | CONFIG_TCP_CONG_BIC=y |
237 | 252 | ||
@@ -240,80 +255,77 @@ CONFIG_TCP_CONG_BIC=y | |||
240 | # | 255 | # |
241 | # CONFIG_IP_VS is not set | 256 | # CONFIG_IP_VS is not set |
242 | # CONFIG_IPV6 is not set | 257 | # CONFIG_IPV6 is not set |
258 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
259 | # CONFIG_INET6_TUNNEL is not set | ||
260 | # CONFIG_NETWORK_SECMARK is not set | ||
243 | CONFIG_NETFILTER=y | 261 | CONFIG_NETFILTER=y |
244 | # CONFIG_NETFILTER_DEBUG is not set | 262 | # CONFIG_NETFILTER_DEBUG is not set |
245 | 263 | ||
246 | # | 264 | # |
265 | # Core Netfilter Configuration | ||
266 | # | ||
267 | CONFIG_NETFILTER_NETLINK=m | ||
268 | CONFIG_NETFILTER_NETLINK_QUEUE=m | ||
269 | CONFIG_NETFILTER_NETLINK_LOG=m | ||
270 | CONFIG_NETFILTER_XTABLES=m | ||
271 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | ||
272 | CONFIG_NETFILTER_XT_TARGET_MARK=m | ||
273 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | ||
274 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | ||
275 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | ||
276 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | ||
277 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | ||
278 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
279 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | ||
280 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | ||
281 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | ||
282 | CONFIG_NETFILTER_XT_MATCH_MAC=m | ||
283 | CONFIG_NETFILTER_XT_MATCH_MARK=m | ||
284 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
285 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | ||
286 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
287 | CONFIG_NETFILTER_XT_MATCH_REALM=m | ||
288 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | ||
289 | CONFIG_NETFILTER_XT_MATCH_STATE=m | ||
290 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
291 | CONFIG_NETFILTER_XT_MATCH_STRING=m | ||
292 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | ||
293 | |||
294 | # | ||
247 | # IP: Netfilter Configuration | 295 | # IP: Netfilter Configuration |
248 | # | 296 | # |
249 | CONFIG_IP_NF_CONNTRACK=m | 297 | CONFIG_IP_NF_CONNTRACK=m |
250 | # CONFIG_IP_NF_CT_ACCT is not set | 298 | # CONFIG_IP_NF_CT_ACCT is not set |
251 | CONFIG_IP_NF_CONNTRACK_MARK=y | 299 | CONFIG_IP_NF_CONNTRACK_MARK=y |
300 | # CONFIG_IP_NF_CONNTRACK_EVENTS is not set | ||
301 | # CONFIG_IP_NF_CONNTRACK_NETLINK is not set | ||
252 | # CONFIG_IP_NF_CT_PROTO_SCTP is not set | 302 | # CONFIG_IP_NF_CT_PROTO_SCTP is not set |
253 | CONFIG_IP_NF_FTP=m | 303 | CONFIG_IP_NF_FTP=m |
254 | CONFIG_IP_NF_IRC=m | 304 | CONFIG_IP_NF_IRC=m |
305 | # CONFIG_IP_NF_NETBIOS_NS is not set | ||
255 | CONFIG_IP_NF_TFTP=m | 306 | CONFIG_IP_NF_TFTP=m |
256 | CONFIG_IP_NF_AMANDA=m | 307 | CONFIG_IP_NF_AMANDA=m |
308 | # CONFIG_IP_NF_PPTP is not set | ||
309 | # CONFIG_IP_NF_H323 is not set | ||
310 | # CONFIG_IP_NF_SIP is not set | ||
257 | CONFIG_IP_NF_QUEUE=m | 311 | CONFIG_IP_NF_QUEUE=m |
258 | CONFIG_IP_NF_IPTABLES=m | 312 | # CONFIG_IP_NF_IPTABLES is not set |
259 | CONFIG_IP_NF_MATCH_LIMIT=m | 313 | # CONFIG_IP_NF_ARPTABLES is not set |
260 | CONFIG_IP_NF_MATCH_IPRANGE=m | 314 | |
261 | CONFIG_IP_NF_MATCH_MAC=m | 315 | # |
262 | CONFIG_IP_NF_MATCH_PKTTYPE=m | 316 | # DCCP Configuration (EXPERIMENTAL) |
263 | CONFIG_IP_NF_MATCH_MARK=m | 317 | # |
264 | CONFIG_IP_NF_MATCH_MULTIPORT=m | 318 | # CONFIG_IP_DCCP is not set |
265 | CONFIG_IP_NF_MATCH_TOS=m | ||
266 | CONFIG_IP_NF_MATCH_RECENT=m | ||
267 | CONFIG_IP_NF_MATCH_ECN=m | ||
268 | CONFIG_IP_NF_MATCH_DSCP=m | ||
269 | CONFIG_IP_NF_MATCH_AH_ESP=m | ||
270 | CONFIG_IP_NF_MATCH_LENGTH=m | ||
271 | CONFIG_IP_NF_MATCH_TTL=m | ||
272 | CONFIG_IP_NF_MATCH_TCPMSS=m | ||
273 | CONFIG_IP_NF_MATCH_HELPER=m | ||
274 | CONFIG_IP_NF_MATCH_STATE=m | ||
275 | CONFIG_IP_NF_MATCH_CONNTRACK=m | ||
276 | CONFIG_IP_NF_MATCH_OWNER=m | ||
277 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | ||
278 | CONFIG_IP_NF_MATCH_REALM=m | ||
279 | CONFIG_IP_NF_MATCH_SCTP=m | ||
280 | CONFIG_IP_NF_MATCH_COMMENT=m | ||
281 | CONFIG_IP_NF_MATCH_CONNMARK=m | ||
282 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | ||
283 | CONFIG_IP_NF_FILTER=m | ||
284 | CONFIG_IP_NF_TARGET_REJECT=m | ||
285 | CONFIG_IP_NF_TARGET_LOG=m | ||
286 | CONFIG_IP_NF_TARGET_ULOG=m | ||
287 | CONFIG_IP_NF_TARGET_TCPMSS=m | ||
288 | CONFIG_IP_NF_NAT=m | ||
289 | CONFIG_IP_NF_NAT_NEEDED=y | ||
290 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
291 | CONFIG_IP_NF_TARGET_REDIRECT=m | ||
292 | CONFIG_IP_NF_TARGET_NETMAP=m | ||
293 | CONFIG_IP_NF_TARGET_SAME=m | ||
294 | CONFIG_IP_NF_NAT_SNMP_BASIC=m | ||
295 | CONFIG_IP_NF_NAT_IRC=m | ||
296 | CONFIG_IP_NF_NAT_FTP=m | ||
297 | CONFIG_IP_NF_NAT_TFTP=m | ||
298 | CONFIG_IP_NF_NAT_AMANDA=m | ||
299 | CONFIG_IP_NF_MANGLE=m | ||
300 | CONFIG_IP_NF_TARGET_TOS=m | ||
301 | CONFIG_IP_NF_TARGET_ECN=m | ||
302 | CONFIG_IP_NF_TARGET_DSCP=m | ||
303 | CONFIG_IP_NF_TARGET_MARK=m | ||
304 | CONFIG_IP_NF_TARGET_CLASSIFY=m | ||
305 | CONFIG_IP_NF_TARGET_CONNMARK=m | ||
306 | CONFIG_IP_NF_TARGET_CLUSTERIP=m | ||
307 | CONFIG_IP_NF_RAW=m | ||
308 | CONFIG_IP_NF_TARGET_NOTRACK=m | ||
309 | CONFIG_IP_NF_ARPTABLES=m | ||
310 | # CONFIG_IP_NF_ARPFILTER is not set | ||
311 | # CONFIG_IP_NF_ARP_MANGLE is not set | ||
312 | 319 | ||
313 | # | 320 | # |
314 | # SCTP Configuration (EXPERIMENTAL) | 321 | # SCTP Configuration (EXPERIMENTAL) |
315 | # | 322 | # |
316 | # CONFIG_IP_SCTP is not set | 323 | # CONFIG_IP_SCTP is not set |
324 | |||
325 | # | ||
326 | # TIPC Configuration (EXPERIMENTAL) | ||
327 | # | ||
328 | # CONFIG_TIPC is not set | ||
317 | # CONFIG_ATM is not set | 329 | # CONFIG_ATM is not set |
318 | # CONFIG_BRIDGE is not set | 330 | # CONFIG_BRIDGE is not set |
319 | # CONFIG_VLAN_8021Q is not set | 331 | # CONFIG_VLAN_8021Q is not set |
@@ -326,6 +338,10 @@ CONFIG_IP_NF_ARPTABLES=m | |||
326 | # CONFIG_NET_DIVERT is not set | 338 | # CONFIG_NET_DIVERT is not set |
327 | # CONFIG_ECONET is not set | 339 | # CONFIG_ECONET is not set |
328 | # CONFIG_WAN_ROUTER is not set | 340 | # CONFIG_WAN_ROUTER is not set |
341 | |||
342 | # | ||
343 | # QoS and/or fair queueing | ||
344 | # | ||
329 | # CONFIG_NET_SCHED is not set | 345 | # CONFIG_NET_SCHED is not set |
330 | CONFIG_NET_CLS_ROUTE=y | 346 | CONFIG_NET_CLS_ROUTE=y |
331 | 347 | ||
@@ -333,13 +349,11 @@ CONFIG_NET_CLS_ROUTE=y | |||
333 | # Network testing | 349 | # Network testing |
334 | # | 350 | # |
335 | # CONFIG_NET_PKTGEN is not set | 351 | # CONFIG_NET_PKTGEN is not set |
336 | CONFIG_NETPOLL=y | ||
337 | # CONFIG_NETPOLL_RX is not set | ||
338 | # CONFIG_NETPOLL_TRAP is not set | ||
339 | CONFIG_NET_POLL_CONTROLLER=y | ||
340 | # CONFIG_HAMRADIO is not set | 352 | # CONFIG_HAMRADIO is not set |
341 | # CONFIG_IRDA is not set | 353 | # CONFIG_IRDA is not set |
342 | # CONFIG_BT is not set | 354 | # CONFIG_BT is not set |
355 | # CONFIG_IEEE80211 is not set | ||
356 | CONFIG_WIRELESS_EXT=y | ||
343 | 357 | ||
344 | # | 358 | # |
345 | # Device Drivers | 359 | # Device Drivers |
@@ -352,6 +366,12 @@ CONFIG_NET_POLL_CONTROLLER=y | |||
352 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 366 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
353 | CONFIG_FW_LOADER=m | 367 | CONFIG_FW_LOADER=m |
354 | # CONFIG_DEBUG_DRIVER is not set | 368 | # CONFIG_DEBUG_DRIVER is not set |
369 | # CONFIG_SYS_HYPERVISOR is not set | ||
370 | |||
371 | # | ||
372 | # Connector - unified userspace <-> kernelspace linker | ||
373 | # | ||
374 | # CONFIG_CONNECTOR is not set | ||
355 | 375 | ||
356 | # | 376 | # |
357 | # Memory Technology Devices (MTD) | 377 | # Memory Technology Devices (MTD) |
@@ -367,6 +387,7 @@ CONFIG_PARPORT_SERIAL=m | |||
367 | CONFIG_PARPORT_PC_FIFO=y | 387 | CONFIG_PARPORT_PC_FIFO=y |
368 | CONFIG_PARPORT_PC_SUPERIO=y | 388 | CONFIG_PARPORT_PC_SUPERIO=y |
369 | # CONFIG_PARPORT_GSC is not set | 389 | # CONFIG_PARPORT_GSC is not set |
390 | # CONFIG_PARPORT_AX88796 is not set | ||
370 | CONFIG_PARPORT_1284=y | 391 | CONFIG_PARPORT_1284=y |
371 | 392 | ||
372 | # | 393 | # |
@@ -378,7 +399,6 @@ CONFIG_PARPORT_1284=y | |||
378 | # Block devices | 399 | # Block devices |
379 | # | 400 | # |
380 | CONFIG_BLK_DEV_FD=m | 401 | CONFIG_BLK_DEV_FD=m |
381 | CONFIG_MAC_FLOPPY=m | ||
382 | # CONFIG_BLK_DEV_XD is not set | 402 | # CONFIG_BLK_DEV_XD is not set |
383 | # CONFIG_PARIDE is not set | 403 | # CONFIG_PARIDE is not set |
384 | # CONFIG_BLK_CPQ_DA is not set | 404 | # CONFIG_BLK_CPQ_DA is not set |
@@ -394,18 +414,9 @@ CONFIG_BLK_DEV_LOOP=y | |||
394 | CONFIG_BLK_DEV_RAM=y | 414 | CONFIG_BLK_DEV_RAM=y |
395 | CONFIG_BLK_DEV_RAM_COUNT=16 | 415 | CONFIG_BLK_DEV_RAM_COUNT=16 |
396 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 416 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
417 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
397 | CONFIG_BLK_DEV_INITRD=y | 418 | CONFIG_BLK_DEV_INITRD=y |
398 | CONFIG_INITRAMFS_SOURCE="" | ||
399 | CONFIG_LBD=y | ||
400 | # CONFIG_CDROM_PKTCDVD is not set | 419 | # CONFIG_CDROM_PKTCDVD is not set |
401 | |||
402 | # | ||
403 | # IO Schedulers | ||
404 | # | ||
405 | CONFIG_IOSCHED_NOOP=y | ||
406 | CONFIG_IOSCHED_AS=y | ||
407 | CONFIG_IOSCHED_DEADLINE=y | ||
408 | CONFIG_IOSCHED_CFQ=y | ||
409 | # CONFIG_ATA_OVER_ETH is not set | 420 | # CONFIG_ATA_OVER_ETH is not set |
410 | 421 | ||
411 | # | 422 | # |
@@ -422,7 +433,7 @@ CONFIG_BLK_DEV_IDEDISK=y | |||
422 | # CONFIG_IDEDISK_MULTI_MODE is not set | 433 | # CONFIG_IDEDISK_MULTI_MODE is not set |
423 | CONFIG_BLK_DEV_IDECD=y | 434 | CONFIG_BLK_DEV_IDECD=y |
424 | # CONFIG_BLK_DEV_IDETAPE is not set | 435 | # CONFIG_BLK_DEV_IDETAPE is not set |
425 | CONFIG_BLK_DEV_IDEFLOPPY=y | 436 | # CONFIG_BLK_DEV_IDEFLOPPY is not set |
426 | CONFIG_BLK_DEV_IDESCSI=y | 437 | CONFIG_BLK_DEV_IDESCSI=y |
427 | # CONFIG_IDE_TASK_IOCTL is not set | 438 | # CONFIG_IDE_TASK_IOCTL is not set |
428 | 439 | ||
@@ -435,7 +446,7 @@ CONFIG_IDEPCI_SHARE_IRQ=y | |||
435 | # CONFIG_BLK_DEV_OFFBOARD is not set | 446 | # CONFIG_BLK_DEV_OFFBOARD is not set |
436 | CONFIG_BLK_DEV_GENERIC=y | 447 | CONFIG_BLK_DEV_GENERIC=y |
437 | # CONFIG_BLK_DEV_OPTI621 is not set | 448 | # CONFIG_BLK_DEV_OPTI621 is not set |
438 | # CONFIG_BLK_DEV_SL82C105 is not set | 449 | CONFIG_BLK_DEV_SL82C105=y |
439 | CONFIG_BLK_DEV_IDEDMA_PCI=y | 450 | CONFIG_BLK_DEV_IDEDMA_PCI=y |
440 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | 451 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set |
441 | CONFIG_IDEDMA_PCI_AUTO=y | 452 | CONFIG_IDEDMA_PCI_AUTO=y |
@@ -443,7 +454,7 @@ CONFIG_IDEDMA_PCI_AUTO=y | |||
443 | # CONFIG_BLK_DEV_AEC62XX is not set | 454 | # CONFIG_BLK_DEV_AEC62XX is not set |
444 | # CONFIG_BLK_DEV_ALI15X3 is not set | 455 | # CONFIG_BLK_DEV_ALI15X3 is not set |
445 | # CONFIG_BLK_DEV_AMD74XX is not set | 456 | # CONFIG_BLK_DEV_AMD74XX is not set |
446 | CONFIG_BLK_DEV_CMD64X=y | 457 | # CONFIG_BLK_DEV_CMD64X is not set |
447 | # CONFIG_BLK_DEV_TRIFLEX is not set | 458 | # CONFIG_BLK_DEV_TRIFLEX is not set |
448 | # CONFIG_BLK_DEV_CY82C693 is not set | 459 | # CONFIG_BLK_DEV_CY82C693 is not set |
449 | # CONFIG_BLK_DEV_CS5520 is not set | 460 | # CONFIG_BLK_DEV_CS5520 is not set |
@@ -455,17 +466,12 @@ CONFIG_BLK_DEV_CMD64X=y | |||
455 | # CONFIG_BLK_DEV_IT821X is not set | 466 | # CONFIG_BLK_DEV_IT821X is not set |
456 | # CONFIG_BLK_DEV_NS87415 is not set | 467 | # CONFIG_BLK_DEV_NS87415 is not set |
457 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | 468 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set |
458 | CONFIG_BLK_DEV_PDC202XX_NEW=y | 469 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set |
459 | # CONFIG_PDC202XX_FORCE is not set | ||
460 | # CONFIG_BLK_DEV_SVWKS is not set | 470 | # CONFIG_BLK_DEV_SVWKS is not set |
461 | # CONFIG_BLK_DEV_SIIMAGE is not set | 471 | # CONFIG_BLK_DEV_SIIMAGE is not set |
462 | # CONFIG_BLK_DEV_SLC90E66 is not set | 472 | # CONFIG_BLK_DEV_SLC90E66 is not set |
463 | # CONFIG_BLK_DEV_TRM290 is not set | 473 | # CONFIG_BLK_DEV_TRM290 is not set |
464 | # CONFIG_BLK_DEV_VIA82CXXX is not set | 474 | # CONFIG_BLK_DEV_VIA82CXXX is not set |
465 | CONFIG_BLK_DEV_IDE_PMAC=y | ||
466 | CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y | ||
467 | CONFIG_BLK_DEV_IDEDMA_PMAC=y | ||
468 | CONFIG_BLK_DEV_IDE_PMAC_BLINK=y | ||
469 | # CONFIG_IDE_ARM is not set | 475 | # CONFIG_IDE_ARM is not set |
470 | # CONFIG_IDE_CHIPSETS is not set | 476 | # CONFIG_IDE_CHIPSETS is not set |
471 | CONFIG_BLK_DEV_IDEDMA=y | 477 | CONFIG_BLK_DEV_IDEDMA=y |
@@ -476,6 +482,7 @@ CONFIG_IDEDMA_AUTO=y | |||
476 | # | 482 | # |
477 | # SCSI device support | 483 | # SCSI device support |
478 | # | 484 | # |
485 | # CONFIG_RAID_ATTRS is not set | ||
479 | CONFIG_SCSI=y | 486 | CONFIG_SCSI=y |
480 | CONFIG_SCSI_PROC_FS=y | 487 | CONFIG_SCSI_PROC_FS=y |
481 | 488 | ||
@@ -503,10 +510,12 @@ CONFIG_SCSI_LOGGING=y | |||
503 | CONFIG_SCSI_SPI_ATTRS=y | 510 | CONFIG_SCSI_SPI_ATTRS=y |
504 | # CONFIG_SCSI_FC_ATTRS is not set | 511 | # CONFIG_SCSI_FC_ATTRS is not set |
505 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 512 | # CONFIG_SCSI_ISCSI_ATTRS is not set |
513 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
506 | 514 | ||
507 | # | 515 | # |
508 | # SCSI low-level drivers | 516 | # SCSI low-level drivers |
509 | # | 517 | # |
518 | # CONFIG_ISCSI_TCP is not set | ||
510 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 519 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
511 | # CONFIG_SCSI_3W_9XXX is not set | 520 | # CONFIG_SCSI_3W_9XXX is not set |
512 | # CONFIG_SCSI_7000FASST is not set | 521 | # CONFIG_SCSI_7000FASST is not set |
@@ -514,19 +523,16 @@ CONFIG_SCSI_SPI_ATTRS=y | |||
514 | # CONFIG_SCSI_AHA152X is not set | 523 | # CONFIG_SCSI_AHA152X is not set |
515 | # CONFIG_SCSI_AHA1542 is not set | 524 | # CONFIG_SCSI_AHA1542 is not set |
516 | # CONFIG_SCSI_AACRAID is not set | 525 | # CONFIG_SCSI_AACRAID is not set |
517 | CONFIG_SCSI_AIC7XXX=m | 526 | # CONFIG_SCSI_AIC7XXX is not set |
518 | CONFIG_AIC7XXX_CMDS_PER_DEVICE=253 | 527 | # CONFIG_SCSI_AIC7XXX_OLD is not set |
519 | CONFIG_AIC7XXX_RESET_DELAY_MS=15000 | ||
520 | CONFIG_AIC7XXX_DEBUG_ENABLE=y | ||
521 | CONFIG_AIC7XXX_DEBUG_MASK=0 | ||
522 | CONFIG_AIC7XXX_REG_PRETTY_PRINT=y | ||
523 | CONFIG_SCSI_AIC7XXX_OLD=m | ||
524 | # CONFIG_SCSI_AIC79XX is not set | 528 | # CONFIG_SCSI_AIC79XX is not set |
525 | # CONFIG_SCSI_DPT_I2O is not set | 529 | # CONFIG_SCSI_DPT_I2O is not set |
526 | # CONFIG_SCSI_IN2000 is not set | 530 | # CONFIG_SCSI_IN2000 is not set |
527 | # CONFIG_MEGARAID_NEWGEN is not set | 531 | # CONFIG_MEGARAID_NEWGEN is not set |
528 | # CONFIG_MEGARAID_LEGACY is not set | 532 | # CONFIG_MEGARAID_LEGACY is not set |
533 | # CONFIG_MEGARAID_SAS is not set | ||
529 | # CONFIG_SCSI_SATA is not set | 534 | # CONFIG_SCSI_SATA is not set |
535 | # CONFIG_SCSI_HPTIOP is not set | ||
530 | # CONFIG_SCSI_BUSLOGIC is not set | 536 | # CONFIG_SCSI_BUSLOGIC is not set |
531 | # CONFIG_SCSI_DMX3191D is not set | 537 | # CONFIG_SCSI_DMX3191D is not set |
532 | # CONFIG_SCSI_DTC3280 is not set | 538 | # CONFIG_SCSI_DTC3280 is not set |
@@ -545,19 +551,13 @@ CONFIG_SCSI_SYM53C8XX_2=y | |||
545 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 | 551 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 |
546 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 | 552 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 |
547 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 | 553 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 |
548 | # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set | 554 | CONFIG_SCSI_SYM53C8XX_MMIO=y |
549 | # CONFIG_SCSI_IPR is not set | 555 | # CONFIG_SCSI_IPR is not set |
550 | # CONFIG_SCSI_PAS16 is not set | 556 | # CONFIG_SCSI_PAS16 is not set |
551 | # CONFIG_SCSI_PSI240I is not set | 557 | # CONFIG_SCSI_PSI240I is not set |
552 | # CONFIG_SCSI_QLOGIC_FAS is not set | 558 | # CONFIG_SCSI_QLOGIC_FAS is not set |
553 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
554 | # CONFIG_SCSI_QLOGIC_1280 is not set | 559 | # CONFIG_SCSI_QLOGIC_1280 is not set |
555 | CONFIG_SCSI_QLA2XXX=y | 560 | # CONFIG_SCSI_QLA_FC is not set |
556 | # CONFIG_SCSI_QLA21XX is not set | ||
557 | # CONFIG_SCSI_QLA22XX is not set | ||
558 | # CONFIG_SCSI_QLA2300 is not set | ||
559 | # CONFIG_SCSI_QLA2322 is not set | ||
560 | # CONFIG_SCSI_QLA6312 is not set | ||
561 | # CONFIG_SCSI_LPFC is not set | 561 | # CONFIG_SCSI_LPFC is not set |
562 | # CONFIG_SCSI_SYM53C416 is not set | 562 | # CONFIG_SCSI_SYM53C416 is not set |
563 | # CONFIG_SCSI_DC395x is not set | 563 | # CONFIG_SCSI_DC395x is not set |
@@ -566,10 +566,6 @@ CONFIG_SCSI_QLA2XXX=y | |||
566 | # CONFIG_SCSI_U14_34F is not set | 566 | # CONFIG_SCSI_U14_34F is not set |
567 | # CONFIG_SCSI_NSP32 is not set | 567 | # CONFIG_SCSI_NSP32 is not set |
568 | # CONFIG_SCSI_DEBUG is not set | 568 | # CONFIG_SCSI_DEBUG is not set |
569 | CONFIG_SCSI_MESH=y | ||
570 | CONFIG_SCSI_MESH_SYNC_RATE=5 | ||
571 | CONFIG_SCSI_MESH_RESET_DELAY_MS=4000 | ||
572 | CONFIG_SCSI_MAC53C94=y | ||
573 | 569 | ||
574 | # | 570 | # |
575 | # Old CD-ROM drivers (not SCSI, not IDE) | 571 | # Old CD-ROM drivers (not SCSI, not IDE) |
@@ -587,6 +583,7 @@ CONFIG_SCSI_MAC53C94=y | |||
587 | # CONFIG_FUSION is not set | 583 | # CONFIG_FUSION is not set |
588 | # CONFIG_FUSION_SPI is not set | 584 | # CONFIG_FUSION_SPI is not set |
589 | # CONFIG_FUSION_FC is not set | 585 | # CONFIG_FUSION_FC is not set |
586 | # CONFIG_FUSION_SAS is not set | ||
590 | 587 | ||
591 | # | 588 | # |
592 | # IEEE 1394 (FireWire) support | 589 | # IEEE 1394 (FireWire) support |
@@ -613,12 +610,9 @@ CONFIG_IEEE1394_OHCI1394=m | |||
613 | # | 610 | # |
614 | CONFIG_IEEE1394_VIDEO1394=m | 611 | CONFIG_IEEE1394_VIDEO1394=m |
615 | CONFIG_IEEE1394_SBP2=m | 612 | CONFIG_IEEE1394_SBP2=m |
616 | # CONFIG_IEEE1394_SBP2_PHYS_DMA is not set | ||
617 | CONFIG_IEEE1394_ETH1394=m | 613 | CONFIG_IEEE1394_ETH1394=m |
618 | CONFIG_IEEE1394_DV1394=m | 614 | CONFIG_IEEE1394_DV1394=m |
619 | CONFIG_IEEE1394_RAWIO=m | 615 | CONFIG_IEEE1394_RAWIO=m |
620 | CONFIG_IEEE1394_CMP=m | ||
621 | CONFIG_IEEE1394_AMDTP=m | ||
622 | 616 | ||
623 | # | 617 | # |
624 | # I2O device support | 618 | # I2O device support |
@@ -628,18 +622,7 @@ CONFIG_IEEE1394_AMDTP=m | |||
628 | # | 622 | # |
629 | # Macintosh device drivers | 623 | # Macintosh device drivers |
630 | # | 624 | # |
631 | CONFIG_ADB=y | 625 | # CONFIG_WINDFARM is not set |
632 | CONFIG_ADB_CUDA=y | ||
633 | CONFIG_ADB_PMU=y | ||
634 | CONFIG_PMAC_APM_EMU=y | ||
635 | CONFIG_PMAC_MEDIABAY=y | ||
636 | CONFIG_PMAC_BACKLIGHT=y | ||
637 | CONFIG_ADB_MACIO=y | ||
638 | CONFIG_INPUT_ADBHID=y | ||
639 | CONFIG_MAC_EMUMOUSEBTN=y | ||
640 | CONFIG_THERM_WINDTUNNEL=m | ||
641 | CONFIG_THERM_ADT746X=m | ||
642 | # CONFIG_ANSLCD is not set | ||
643 | 626 | ||
644 | # | 627 | # |
645 | # Network device support | 628 | # Network device support |
@@ -656,15 +639,18 @@ CONFIG_TUN=m | |||
656 | # CONFIG_ARCNET is not set | 639 | # CONFIG_ARCNET is not set |
657 | 640 | ||
658 | # | 641 | # |
642 | # PHY device support | ||
643 | # | ||
644 | # CONFIG_PHYLIB is not set | ||
645 | |||
646 | # | ||
659 | # Ethernet (10 or 100Mbit) | 647 | # Ethernet (10 or 100Mbit) |
660 | # | 648 | # |
661 | CONFIG_NET_ETHERNET=y | 649 | CONFIG_NET_ETHERNET=y |
662 | CONFIG_MII=y | 650 | CONFIG_MII=y |
663 | CONFIG_MACE=y | ||
664 | # CONFIG_MACE_AAUI_PORT is not set | ||
665 | CONFIG_BMAC=y | ||
666 | # CONFIG_HAPPYMEAL is not set | 651 | # CONFIG_HAPPYMEAL is not set |
667 | CONFIG_SUNGEM=y | 652 | # CONFIG_SUNGEM is not set |
653 | # CONFIG_CASSINI is not set | ||
668 | # CONFIG_NET_VENDOR_3COM is not set | 654 | # CONFIG_NET_VENDOR_3COM is not set |
669 | # CONFIG_LANCE is not set | 655 | # CONFIG_LANCE is not set |
670 | # CONFIG_NET_VENDOR_SMC is not set | 656 | # CONFIG_NET_VENDOR_SMC is not set |
@@ -682,6 +668,7 @@ CONFIG_TULIP_MMIO=y | |||
682 | CONFIG_DE4X5=m | 668 | CONFIG_DE4X5=m |
683 | # CONFIG_WINBOND_840 is not set | 669 | # CONFIG_WINBOND_840 is not set |
684 | # CONFIG_DM9102 is not set | 670 | # CONFIG_DM9102 is not set |
671 | # CONFIG_ULI526X is not set | ||
685 | # CONFIG_PCMCIA_XIRCOM is not set | 672 | # CONFIG_PCMCIA_XIRCOM is not set |
686 | # CONFIG_PCMCIA_XIRTULIP is not set | 673 | # CONFIG_PCMCIA_XIRTULIP is not set |
687 | # CONFIG_AT1700 is not set | 674 | # CONFIG_AT1700 is not set |
@@ -722,18 +709,21 @@ CONFIG_PCNET32=y | |||
722 | # CONFIG_HAMACHI is not set | 709 | # CONFIG_HAMACHI is not set |
723 | # CONFIG_YELLOWFIN is not set | 710 | # CONFIG_YELLOWFIN is not set |
724 | # CONFIG_R8169 is not set | 711 | # CONFIG_R8169 is not set |
712 | # CONFIG_SIS190 is not set | ||
725 | # CONFIG_SKGE is not set | 713 | # CONFIG_SKGE is not set |
714 | # CONFIG_SKY2 is not set | ||
726 | # CONFIG_SK98LIN is not set | 715 | # CONFIG_SK98LIN is not set |
727 | # CONFIG_VIA_VELOCITY is not set | 716 | # CONFIG_VIA_VELOCITY is not set |
728 | # CONFIG_TIGON3 is not set | 717 | # CONFIG_TIGON3 is not set |
729 | # CONFIG_BNX2 is not set | 718 | # CONFIG_BNX2 is not set |
730 | # CONFIG_MV643XX_ETH is not set | ||
731 | 719 | ||
732 | # | 720 | # |
733 | # Ethernet (10000 Mbit) | 721 | # Ethernet (10000 Mbit) |
734 | # | 722 | # |
723 | # CONFIG_CHELSIO_T1 is not set | ||
735 | # CONFIG_IXGB is not set | 724 | # CONFIG_IXGB is not set |
736 | # CONFIG_S2IO is not set | 725 | # CONFIG_S2IO is not set |
726 | # CONFIG_MYRI10GE is not set | ||
737 | 727 | ||
738 | # | 728 | # |
739 | # Token Ring devices | 729 | # Token Ring devices |
@@ -744,6 +734,7 @@ CONFIG_PCNET32=y | |||
744 | # Wireless LAN (non-hamradio) | 734 | # Wireless LAN (non-hamradio) |
745 | # | 735 | # |
746 | CONFIG_NET_RADIO=y | 736 | CONFIG_NET_RADIO=y |
737 | # CONFIG_NET_WIRELESS_RTNETLINK is not set | ||
747 | 738 | ||
748 | # | 739 | # |
749 | # Obsolete Wireless cards support (pre-802.11) | 740 | # Obsolete Wireless cards support (pre-802.11) |
@@ -755,11 +746,13 @@ CONFIG_NET_RADIO=y | |||
755 | # | 746 | # |
756 | # Wireless 802.11b ISA/PCI cards support | 747 | # Wireless 802.11b ISA/PCI cards support |
757 | # | 748 | # |
749 | # CONFIG_IPW2100 is not set | ||
750 | # CONFIG_IPW2200 is not set | ||
758 | # CONFIG_AIRO is not set | 751 | # CONFIG_AIRO is not set |
759 | CONFIG_HERMES=m | 752 | CONFIG_HERMES=m |
760 | CONFIG_APPLE_AIRPORT=m | ||
761 | # CONFIG_PLX_HERMES is not set | 753 | # CONFIG_PLX_HERMES is not set |
762 | # CONFIG_TMD_HERMES is not set | 754 | # CONFIG_TMD_HERMES is not set |
755 | # CONFIG_NORTEL_HERMES is not set | ||
763 | # CONFIG_PCI_HERMES is not set | 756 | # CONFIG_PCI_HERMES is not set |
764 | # CONFIG_ATMEL is not set | 757 | # CONFIG_ATMEL is not set |
765 | 758 | ||
@@ -767,6 +760,8 @@ CONFIG_APPLE_AIRPORT=m | |||
767 | # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support | 760 | # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support |
768 | # | 761 | # |
769 | # CONFIG_PRISM54 is not set | 762 | # CONFIG_PRISM54 is not set |
763 | # CONFIG_USB_ZD1201 is not set | ||
764 | # CONFIG_HOSTAP is not set | ||
770 | CONFIG_NET_WIRELESS=y | 765 | CONFIG_NET_WIRELESS=y |
771 | 766 | ||
772 | # | 767 | # |
@@ -783,11 +778,16 @@ CONFIG_PPP_ASYNC=y | |||
783 | # CONFIG_PPP_SYNC_TTY is not set | 778 | # CONFIG_PPP_SYNC_TTY is not set |
784 | CONFIG_PPP_DEFLATE=y | 779 | CONFIG_PPP_DEFLATE=y |
785 | CONFIG_PPP_BSDCOMP=m | 780 | CONFIG_PPP_BSDCOMP=m |
781 | # CONFIG_PPP_MPPE is not set | ||
786 | CONFIG_PPPOE=m | 782 | CONFIG_PPPOE=m |
787 | # CONFIG_SLIP is not set | 783 | # CONFIG_SLIP is not set |
788 | # CONFIG_NET_FC is not set | 784 | # CONFIG_NET_FC is not set |
789 | # CONFIG_SHAPER is not set | 785 | # CONFIG_SHAPER is not set |
790 | CONFIG_NETCONSOLE=m | 786 | CONFIG_NETCONSOLE=m |
787 | CONFIG_NETPOLL=y | ||
788 | # CONFIG_NETPOLL_RX is not set | ||
789 | # CONFIG_NETPOLL_TRAP is not set | ||
790 | CONFIG_NET_POLL_CONTROLLER=y | ||
791 | 791 | ||
792 | # | 792 | # |
793 | # ISDN subsystem | 793 | # ISDN subsystem |
@@ -835,7 +835,7 @@ CONFIG_MOUSE_PS2=y | |||
835 | # CONFIG_INPUT_JOYSTICK is not set | 835 | # CONFIG_INPUT_JOYSTICK is not set |
836 | # CONFIG_INPUT_TOUCHSCREEN is not set | 836 | # CONFIG_INPUT_TOUCHSCREEN is not set |
837 | CONFIG_INPUT_MISC=y | 837 | CONFIG_INPUT_MISC=y |
838 | # CONFIG_INPUT_PCSPKR is not set | 838 | CONFIG_INPUT_PCSPKR=m |
839 | CONFIG_INPUT_UINPUT=m | 839 | CONFIG_INPUT_UINPUT=m |
840 | 840 | ||
841 | # | 841 | # |
@@ -856,6 +856,7 @@ CONFIG_SERIO_LIBPS2=y | |||
856 | CONFIG_VT=y | 856 | CONFIG_VT=y |
857 | CONFIG_VT_CONSOLE=y | 857 | CONFIG_VT_CONSOLE=y |
858 | CONFIG_HW_CONSOLE=y | 858 | CONFIG_HW_CONSOLE=y |
859 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
859 | # CONFIG_SERIAL_NONSTANDARD is not set | 860 | # CONFIG_SERIAL_NONSTANDARD is not set |
860 | 861 | ||
861 | # | 862 | # |
@@ -863,7 +864,9 @@ CONFIG_HW_CONSOLE=y | |||
863 | # | 864 | # |
864 | CONFIG_SERIAL_8250=y | 865 | CONFIG_SERIAL_8250=y |
865 | CONFIG_SERIAL_8250_CONSOLE=y | 866 | CONFIG_SERIAL_8250_CONSOLE=y |
867 | CONFIG_SERIAL_8250_PCI=y | ||
866 | CONFIG_SERIAL_8250_NR_UARTS=4 | 868 | CONFIG_SERIAL_8250_NR_UARTS=4 |
869 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||
867 | # CONFIG_SERIAL_8250_EXTENDED is not set | 870 | # CONFIG_SERIAL_8250_EXTENDED is not set |
868 | 871 | ||
869 | # | 872 | # |
@@ -871,8 +874,6 @@ CONFIG_SERIAL_8250_NR_UARTS=4 | |||
871 | # | 874 | # |
872 | CONFIG_SERIAL_CORE=y | 875 | CONFIG_SERIAL_CORE=y |
873 | CONFIG_SERIAL_CORE_CONSOLE=y | 876 | CONFIG_SERIAL_CORE_CONSOLE=y |
874 | CONFIG_SERIAL_PMACZILOG=y | ||
875 | CONFIG_SERIAL_PMACZILOG_CONSOLE=y | ||
876 | # CONFIG_SERIAL_JSM is not set | 877 | # CONFIG_SERIAL_JSM is not set |
877 | CONFIG_UNIX98_PTYS=y | 878 | CONFIG_UNIX98_PTYS=y |
878 | CONFIG_LEGACY_PTYS=y | 879 | CONFIG_LEGACY_PTYS=y |
@@ -890,6 +891,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
890 | # Watchdog Cards | 891 | # Watchdog Cards |
891 | # | 892 | # |
892 | # CONFIG_WATCHDOG is not set | 893 | # CONFIG_WATCHDOG is not set |
894 | # CONFIG_HW_RANDOM is not set | ||
893 | CONFIG_NVRAM=y | 895 | CONFIG_NVRAM=y |
894 | CONFIG_GEN_RTC=y | 896 | CONFIG_GEN_RTC=y |
895 | # CONFIG_GEN_RTC_X is not set | 897 | # CONFIG_GEN_RTC_X is not set |
@@ -900,21 +902,15 @@ CONFIG_GEN_RTC=y | |||
900 | # | 902 | # |
901 | # Ftape, the floppy tape device driver | 903 | # Ftape, the floppy tape device driver |
902 | # | 904 | # |
903 | CONFIG_AGP=m | 905 | # CONFIG_AGP is not set |
904 | CONFIG_AGP_UNINORTH=m | 906 | # CONFIG_DRM is not set |
905 | CONFIG_DRM=m | ||
906 | # CONFIG_DRM_TDFX is not set | ||
907 | CONFIG_DRM_R128=m | ||
908 | CONFIG_DRM_RADEON=m | ||
909 | # CONFIG_DRM_MGA is not set | ||
910 | # CONFIG_DRM_SIS is not set | ||
911 | # CONFIG_DRM_VIA is not set | ||
912 | # CONFIG_RAW_DRIVER is not set | 907 | # CONFIG_RAW_DRIVER is not set |
913 | 908 | ||
914 | # | 909 | # |
915 | # TPM devices | 910 | # TPM devices |
916 | # | 911 | # |
917 | # CONFIG_TCG_TPM is not set | 912 | # CONFIG_TCG_TPM is not set |
913 | # CONFIG_TELCLOCK is not set | ||
918 | 914 | ||
919 | # | 915 | # |
920 | # I2C support | 916 | # I2C support |
@@ -938,19 +934,16 @@ CONFIG_I2C_ALGOBIT=y | |||
938 | # CONFIG_I2C_AMD756 is not set | 934 | # CONFIG_I2C_AMD756 is not set |
939 | # CONFIG_I2C_AMD8111 is not set | 935 | # CONFIG_I2C_AMD8111 is not set |
940 | # CONFIG_I2C_ELEKTOR is not set | 936 | # CONFIG_I2C_ELEKTOR is not set |
941 | CONFIG_I2C_HYDRA=y | ||
942 | # CONFIG_I2C_I801 is not set | 937 | # CONFIG_I2C_I801 is not set |
943 | # CONFIG_I2C_I810 is not set | 938 | # CONFIG_I2C_I810 is not set |
944 | # CONFIG_I2C_PIIX4 is not set | 939 | # CONFIG_I2C_PIIX4 is not set |
945 | # CONFIG_I2C_ISA is not set | ||
946 | CONFIG_I2C_KEYWEST=m | ||
947 | # CONFIG_I2C_MPC is not set | 940 | # CONFIG_I2C_MPC is not set |
948 | # CONFIG_I2C_NFORCE2 is not set | 941 | # CONFIG_I2C_NFORCE2 is not set |
942 | # CONFIG_I2C_OCORES is not set | ||
949 | # CONFIG_I2C_PARPORT is not set | 943 | # CONFIG_I2C_PARPORT is not set |
950 | # CONFIG_I2C_PARPORT_LIGHT is not set | 944 | # CONFIG_I2C_PARPORT_LIGHT is not set |
951 | # CONFIG_I2C_PROSAVAGE is not set | 945 | # CONFIG_I2C_PROSAVAGE is not set |
952 | # CONFIG_I2C_SAVAGE4 is not set | 946 | # CONFIG_I2C_SAVAGE4 is not set |
953 | # CONFIG_SCx200_ACB is not set | ||
954 | # CONFIG_I2C_SIS5595 is not set | 947 | # CONFIG_I2C_SIS5595 is not set |
955 | # CONFIG_I2C_SIS630 is not set | 948 | # CONFIG_I2C_SIS630 is not set |
956 | # CONFIG_I2C_SIS96X is not set | 949 | # CONFIG_I2C_SIS96X is not set |
@@ -959,7 +952,6 @@ CONFIG_I2C_KEYWEST=m | |||
959 | # CONFIG_I2C_VIAPRO is not set | 952 | # CONFIG_I2C_VIAPRO is not set |
960 | # CONFIG_I2C_VOODOO3 is not set | 953 | # CONFIG_I2C_VOODOO3 is not set |
961 | # CONFIG_I2C_PCA_ISA is not set | 954 | # CONFIG_I2C_PCA_ISA is not set |
962 | # CONFIG_I2C_SENSOR is not set | ||
963 | 955 | ||
964 | # | 956 | # |
965 | # Miscellaneous I2C Chip support | 957 | # Miscellaneous I2C Chip support |
@@ -970,7 +962,6 @@ CONFIG_I2C_KEYWEST=m | |||
970 | # CONFIG_SENSORS_PCF8574 is not set | 962 | # CONFIG_SENSORS_PCF8574 is not set |
971 | # CONFIG_SENSORS_PCA9539 is not set | 963 | # CONFIG_SENSORS_PCA9539 is not set |
972 | # CONFIG_SENSORS_PCF8591 is not set | 964 | # CONFIG_SENSORS_PCF8591 is not set |
973 | # CONFIG_SENSORS_RTC8564 is not set | ||
974 | # CONFIG_SENSORS_M41T00 is not set | 965 | # CONFIG_SENSORS_M41T00 is not set |
975 | # CONFIG_SENSORS_MAX6875 is not set | 966 | # CONFIG_SENSORS_MAX6875 is not set |
976 | # CONFIG_I2C_DEBUG_CORE is not set | 967 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -979,14 +970,20 @@ CONFIG_I2C_KEYWEST=m | |||
979 | # CONFIG_I2C_DEBUG_CHIP is not set | 970 | # CONFIG_I2C_DEBUG_CHIP is not set |
980 | 971 | ||
981 | # | 972 | # |
973 | # SPI support | ||
974 | # | ||
975 | # CONFIG_SPI is not set | ||
976 | # CONFIG_SPI_MASTER is not set | ||
977 | |||
978 | # | ||
982 | # Dallas's 1-wire bus | 979 | # Dallas's 1-wire bus |
983 | # | 980 | # |
984 | # CONFIG_W1 is not set | ||
985 | 981 | ||
986 | # | 982 | # |
987 | # Hardware Monitoring support | 983 | # Hardware Monitoring support |
988 | # | 984 | # |
989 | # CONFIG_HWMON is not set | 985 | # CONFIG_HWMON is not set |
986 | # CONFIG_HWMON_VID is not set | ||
990 | 987 | ||
991 | # | 988 | # |
992 | # Misc devices | 989 | # Misc devices |
@@ -996,38 +993,36 @@ CONFIG_I2C_KEYWEST=m | |||
996 | # Multimedia devices | 993 | # Multimedia devices |
997 | # | 994 | # |
998 | # CONFIG_VIDEO_DEV is not set | 995 | # CONFIG_VIDEO_DEV is not set |
996 | CONFIG_VIDEO_V4L2=y | ||
999 | 997 | ||
1000 | # | 998 | # |
1001 | # Digital Video Broadcasting Devices | 999 | # Digital Video Broadcasting Devices |
1002 | # | 1000 | # |
1003 | # CONFIG_DVB is not set | 1001 | # CONFIG_DVB is not set |
1002 | # CONFIG_USB_DABUSB is not set | ||
1004 | 1003 | ||
1005 | # | 1004 | # |
1006 | # Graphics support | 1005 | # Graphics support |
1007 | # | 1006 | # |
1007 | # CONFIG_FIRMWARE_EDID is not set | ||
1008 | CONFIG_FB=y | 1008 | CONFIG_FB=y |
1009 | CONFIG_FB_CFB_FILLRECT=y | 1009 | CONFIG_FB_CFB_FILLRECT=y |
1010 | CONFIG_FB_CFB_COPYAREA=y | 1010 | CONFIG_FB_CFB_COPYAREA=y |
1011 | CONFIG_FB_CFB_IMAGEBLIT=y | 1011 | CONFIG_FB_CFB_IMAGEBLIT=y |
1012 | CONFIG_FB_SOFT_CURSOR=y | 1012 | # CONFIG_FB_MACMODES is not set |
1013 | CONFIG_FB_MACMODES=y | 1013 | # CONFIG_FB_BACKLIGHT is not set |
1014 | CONFIG_FB_MODE_HELPERS=y | 1014 | CONFIG_FB_MODE_HELPERS=y |
1015 | CONFIG_FB_TILEBLITTING=y | 1015 | CONFIG_FB_TILEBLITTING=y |
1016 | # CONFIG_FB_CIRRUS is not set | 1016 | # CONFIG_FB_CIRRUS is not set |
1017 | # CONFIG_FB_PM2 is not set | 1017 | # CONFIG_FB_PM2 is not set |
1018 | # CONFIG_FB_CYBER2000 is not set | 1018 | # CONFIG_FB_CYBER2000 is not set |
1019 | CONFIG_FB_OF=y | 1019 | # CONFIG_FB_CT65550 is not set |
1020 | CONFIG_FB_CONTROL=y | ||
1021 | CONFIG_FB_PLATINUM=y | ||
1022 | CONFIG_FB_VALKYRIE=y | ||
1023 | CONFIG_FB_CT65550=y | ||
1024 | # CONFIG_FB_ASILIANT is not set | 1020 | # CONFIG_FB_ASILIANT is not set |
1025 | CONFIG_FB_IMSTT=y | 1021 | # CONFIG_FB_IMSTT is not set |
1026 | # CONFIG_FB_VGA16 is not set | 1022 | # CONFIG_FB_VGA16 is not set |
1023 | # CONFIG_FB_S1D13XXX is not set | ||
1027 | # CONFIG_FB_NVIDIA is not set | 1024 | # CONFIG_FB_NVIDIA is not set |
1028 | CONFIG_FB_RIVA=y | 1025 | # CONFIG_FB_RIVA is not set |
1029 | CONFIG_FB_RIVA_I2C=y | ||
1030 | # CONFIG_FB_RIVA_DEBUG is not set | ||
1031 | CONFIG_FB_MATROX=y | 1026 | CONFIG_FB_MATROX=y |
1032 | CONFIG_FB_MATROX_MILLENIUM=y | 1027 | CONFIG_FB_MATROX_MILLENIUM=y |
1033 | CONFIG_FB_MATROX_MYSTIQUE=y | 1028 | CONFIG_FB_MATROX_MYSTIQUE=y |
@@ -1035,34 +1030,27 @@ CONFIG_FB_MATROX_G=y | |||
1035 | CONFIG_FB_MATROX_I2C=y | 1030 | CONFIG_FB_MATROX_I2C=y |
1036 | CONFIG_FB_MATROX_MAVEN=m | 1031 | CONFIG_FB_MATROX_MAVEN=m |
1037 | # CONFIG_FB_MATROX_MULTIHEAD is not set | 1032 | # CONFIG_FB_MATROX_MULTIHEAD is not set |
1038 | # CONFIG_FB_RADEON_OLD is not set | 1033 | # CONFIG_FB_RADEON is not set |
1039 | CONFIG_FB_RADEON=y | 1034 | # CONFIG_FB_ATY128 is not set |
1040 | CONFIG_FB_RADEON_I2C=y | 1035 | # CONFIG_FB_ATY is not set |
1041 | # CONFIG_FB_RADEON_DEBUG is not set | ||
1042 | CONFIG_FB_ATY128=y | ||
1043 | CONFIG_FB_ATY=y | ||
1044 | CONFIG_FB_ATY_CT=y | ||
1045 | CONFIG_FB_ATY_GENERIC_LCD=y | ||
1046 | CONFIG_FB_ATY_XL_INIT=y | ||
1047 | CONFIG_FB_ATY_GX=y | ||
1048 | # CONFIG_FB_SAVAGE is not set | 1036 | # CONFIG_FB_SAVAGE is not set |
1049 | # CONFIG_FB_SIS is not set | 1037 | # CONFIG_FB_SIS is not set |
1050 | # CONFIG_FB_NEOMAGIC is not set | 1038 | # CONFIG_FB_NEOMAGIC is not set |
1051 | # CONFIG_FB_KYRO is not set | 1039 | # CONFIG_FB_KYRO is not set |
1052 | CONFIG_FB_3DFX=y | 1040 | # CONFIG_FB_3DFX is not set |
1053 | # CONFIG_FB_3DFX_ACCEL is not set | ||
1054 | # CONFIG_FB_VOODOO1 is not set | 1041 | # CONFIG_FB_VOODOO1 is not set |
1055 | # CONFIG_FB_TRIDENT is not set | 1042 | # CONFIG_FB_TRIDENT is not set |
1056 | # CONFIG_FB_S1D13XXX is not set | ||
1057 | # CONFIG_FB_VIRTUAL is not set | 1043 | # CONFIG_FB_VIRTUAL is not set |
1058 | 1044 | ||
1059 | # | 1045 | # |
1060 | # Console display driver support | 1046 | # Console display driver support |
1061 | # | 1047 | # |
1062 | CONFIG_VGA_CONSOLE=y | 1048 | CONFIG_VGA_CONSOLE=y |
1049 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set | ||
1063 | # CONFIG_MDA_CONSOLE is not set | 1050 | # CONFIG_MDA_CONSOLE is not set |
1064 | CONFIG_DUMMY_CONSOLE=y | 1051 | CONFIG_DUMMY_CONSOLE=y |
1065 | CONFIG_FRAMEBUFFER_CONSOLE=y | 1052 | CONFIG_FRAMEBUFFER_CONSOLE=y |
1053 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
1066 | # CONFIG_FONTS is not set | 1054 | # CONFIG_FONTS is not set |
1067 | CONFIG_FONT_8x8=y | 1055 | CONFIG_FONT_8x8=y |
1068 | CONFIG_FONT_8x16=y | 1056 | CONFIG_FONT_8x16=y |
@@ -1080,8 +1068,6 @@ CONFIG_LOGO_LINUX_CLUT224=y | |||
1080 | # Sound | 1068 | # Sound |
1081 | # | 1069 | # |
1082 | CONFIG_SOUND=m | 1070 | CONFIG_SOUND=m |
1083 | CONFIG_DMASOUND_PMAC=m | ||
1084 | CONFIG_DMASOUND=m | ||
1085 | 1071 | ||
1086 | # | 1072 | # |
1087 | # Advanced Linux Sound Architecture | 1073 | # Advanced Linux Sound Architecture |
@@ -1096,10 +1082,13 @@ CONFIG_SND_SEQUENCER=m | |||
1096 | CONFIG_SND_OSSEMUL=y | 1082 | CONFIG_SND_OSSEMUL=y |
1097 | CONFIG_SND_MIXER_OSS=m | 1083 | CONFIG_SND_MIXER_OSS=m |
1098 | CONFIG_SND_PCM_OSS=m | 1084 | CONFIG_SND_PCM_OSS=m |
1085 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
1099 | CONFIG_SND_SEQUENCER_OSS=y | 1086 | CONFIG_SND_SEQUENCER_OSS=y |
1087 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
1088 | CONFIG_SND_SUPPORT_OLD_API=y | ||
1089 | CONFIG_SND_VERBOSE_PROCFS=y | ||
1100 | # CONFIG_SND_VERBOSE_PRINTK is not set | 1090 | # CONFIG_SND_VERBOSE_PRINTK is not set |
1101 | # CONFIG_SND_DEBUG is not set | 1091 | # CONFIG_SND_DEBUG is not set |
1102 | CONFIG_SND_GENERIC_PM=y | ||
1103 | 1092 | ||
1104 | # | 1093 | # |
1105 | # Generic devices | 1094 | # Generic devices |
@@ -1116,7 +1105,9 @@ CONFIG_SND_OPL3_LIB=m | |||
1116 | # ISA devices | 1105 | # ISA devices |
1117 | # | 1106 | # |
1118 | CONFIG_SND_CS4231_LIB=m | 1107 | CONFIG_SND_CS4231_LIB=m |
1108 | # CONFIG_SND_ADLIB is not set | ||
1119 | # CONFIG_SND_AD1848 is not set | 1109 | # CONFIG_SND_AD1848 is not set |
1110 | # CONFIG_SND_CMI8330 is not set | ||
1120 | # CONFIG_SND_CS4231 is not set | 1111 | # CONFIG_SND_CS4231 is not set |
1121 | CONFIG_SND_CS4232=m | 1112 | CONFIG_SND_CS4232=m |
1122 | # CONFIG_SND_CS4236 is not set | 1113 | # CONFIG_SND_CS4236 is not set |
@@ -1125,23 +1116,24 @@ CONFIG_SND_CS4232=m | |||
1125 | # CONFIG_SND_GUSCLASSIC is not set | 1116 | # CONFIG_SND_GUSCLASSIC is not set |
1126 | # CONFIG_SND_GUSEXTREME is not set | 1117 | # CONFIG_SND_GUSEXTREME is not set |
1127 | # CONFIG_SND_GUSMAX is not set | 1118 | # CONFIG_SND_GUSMAX is not set |
1128 | # CONFIG_SND_INTERWAVE is not set | 1119 | # CONFIG_SND_OPL3SA2 is not set |
1129 | # CONFIG_SND_INTERWAVE_STB is not set | ||
1130 | # CONFIG_SND_OPTI92X_AD1848 is not set | 1120 | # CONFIG_SND_OPTI92X_AD1848 is not set |
1131 | # CONFIG_SND_OPTI92X_CS4231 is not set | 1121 | # CONFIG_SND_OPTI92X_CS4231 is not set |
1132 | # CONFIG_SND_OPTI93X is not set | 1122 | # CONFIG_SND_OPTI93X is not set |
1123 | # CONFIG_SND_MIRO is not set | ||
1133 | # CONFIG_SND_SB8 is not set | 1124 | # CONFIG_SND_SB8 is not set |
1134 | # CONFIG_SND_SB16 is not set | 1125 | # CONFIG_SND_SB16 is not set |
1135 | # CONFIG_SND_SBAWE is not set | 1126 | # CONFIG_SND_SBAWE is not set |
1136 | # CONFIG_SND_WAVEFRONT is not set | ||
1137 | # CONFIG_SND_CMI8330 is not set | ||
1138 | # CONFIG_SND_OPL3SA2 is not set | ||
1139 | # CONFIG_SND_SGALAXY is not set | 1127 | # CONFIG_SND_SGALAXY is not set |
1140 | # CONFIG_SND_SSCAPE is not set | 1128 | # CONFIG_SND_SSCAPE is not set |
1129 | # CONFIG_SND_WAVEFRONT is not set | ||
1141 | 1130 | ||
1142 | # | 1131 | # |
1143 | # PCI devices | 1132 | # PCI devices |
1144 | # | 1133 | # |
1134 | # CONFIG_SND_AD1889 is not set | ||
1135 | # CONFIG_SND_ALS300 is not set | ||
1136 | # CONFIG_SND_ALS4000 is not set | ||
1145 | # CONFIG_SND_ALI5451 is not set | 1137 | # CONFIG_SND_ALI5451 is not set |
1146 | # CONFIG_SND_ATIIXP is not set | 1138 | # CONFIG_SND_ATIIXP is not set |
1147 | # CONFIG_SND_ATIIXP_MODEM is not set | 1139 | # CONFIG_SND_ATIIXP_MODEM is not set |
@@ -1150,43 +1142,61 @@ CONFIG_SND_CS4232=m | |||
1150 | # CONFIG_SND_AU8830 is not set | 1142 | # CONFIG_SND_AU8830 is not set |
1151 | # CONFIG_SND_AZT3328 is not set | 1143 | # CONFIG_SND_AZT3328 is not set |
1152 | # CONFIG_SND_BT87X is not set | 1144 | # CONFIG_SND_BT87X is not set |
1153 | # CONFIG_SND_CS46XX is not set | 1145 | # CONFIG_SND_CA0106 is not set |
1146 | # CONFIG_SND_CMIPCI is not set | ||
1154 | # CONFIG_SND_CS4281 is not set | 1147 | # CONFIG_SND_CS4281 is not set |
1148 | # CONFIG_SND_CS46XX is not set | ||
1149 | # CONFIG_SND_DARLA20 is not set | ||
1150 | # CONFIG_SND_GINA20 is not set | ||
1151 | # CONFIG_SND_LAYLA20 is not set | ||
1152 | # CONFIG_SND_DARLA24 is not set | ||
1153 | # CONFIG_SND_GINA24 is not set | ||
1154 | # CONFIG_SND_LAYLA24 is not set | ||
1155 | # CONFIG_SND_MONA is not set | ||
1156 | # CONFIG_SND_MIA is not set | ||
1157 | # CONFIG_SND_ECHO3G is not set | ||
1158 | # CONFIG_SND_INDIGO is not set | ||
1159 | # CONFIG_SND_INDIGOIO is not set | ||
1160 | # CONFIG_SND_INDIGODJ is not set | ||
1155 | # CONFIG_SND_EMU10K1 is not set | 1161 | # CONFIG_SND_EMU10K1 is not set |
1156 | # CONFIG_SND_EMU10K1X is not set | 1162 | # CONFIG_SND_EMU10K1X is not set |
1157 | # CONFIG_SND_CA0106 is not set | ||
1158 | # CONFIG_SND_KORG1212 is not set | ||
1159 | # CONFIG_SND_MIXART is not set | ||
1160 | # CONFIG_SND_NM256 is not set | ||
1161 | # CONFIG_SND_RME32 is not set | ||
1162 | # CONFIG_SND_RME96 is not set | ||
1163 | # CONFIG_SND_RME9652 is not set | ||
1164 | # CONFIG_SND_HDSP is not set | ||
1165 | # CONFIG_SND_HDSPM is not set | ||
1166 | # CONFIG_SND_TRIDENT is not set | ||
1167 | # CONFIG_SND_YMFPCI is not set | ||
1168 | # CONFIG_SND_ALS4000 is not set | ||
1169 | # CONFIG_SND_CMIPCI is not set | ||
1170 | # CONFIG_SND_ENS1370 is not set | 1163 | # CONFIG_SND_ENS1370 is not set |
1171 | # CONFIG_SND_ENS1371 is not set | 1164 | # CONFIG_SND_ENS1371 is not set |
1172 | # CONFIG_SND_ES1938 is not set | 1165 | # CONFIG_SND_ES1938 is not set |
1173 | # CONFIG_SND_ES1968 is not set | 1166 | # CONFIG_SND_ES1968 is not set |
1174 | # CONFIG_SND_MAESTRO3 is not set | ||
1175 | # CONFIG_SND_FM801 is not set | 1167 | # CONFIG_SND_FM801 is not set |
1168 | # CONFIG_SND_HDA_INTEL is not set | ||
1169 | # CONFIG_SND_HDSP is not set | ||
1170 | # CONFIG_SND_HDSPM is not set | ||
1176 | # CONFIG_SND_ICE1712 is not set | 1171 | # CONFIG_SND_ICE1712 is not set |
1177 | # CONFIG_SND_ICE1724 is not set | 1172 | # CONFIG_SND_ICE1724 is not set |
1178 | # CONFIG_SND_INTEL8X0 is not set | 1173 | # CONFIG_SND_INTEL8X0 is not set |
1179 | # CONFIG_SND_INTEL8X0M is not set | 1174 | # CONFIG_SND_INTEL8X0M is not set |
1175 | # CONFIG_SND_KORG1212 is not set | ||
1176 | # CONFIG_SND_MAESTRO3 is not set | ||
1177 | # CONFIG_SND_MIXART is not set | ||
1178 | # CONFIG_SND_NM256 is not set | ||
1179 | # CONFIG_SND_PCXHR is not set | ||
1180 | # CONFIG_SND_RIPTIDE is not set | ||
1181 | # CONFIG_SND_RME32 is not set | ||
1182 | # CONFIG_SND_RME96 is not set | ||
1183 | # CONFIG_SND_RME9652 is not set | ||
1180 | # CONFIG_SND_SONICVIBES is not set | 1184 | # CONFIG_SND_SONICVIBES is not set |
1185 | # CONFIG_SND_TRIDENT is not set | ||
1181 | # CONFIG_SND_VIA82XX is not set | 1186 | # CONFIG_SND_VIA82XX is not set |
1182 | # CONFIG_SND_VIA82XX_MODEM is not set | 1187 | # CONFIG_SND_VIA82XX_MODEM is not set |
1183 | # CONFIG_SND_VX222 is not set | 1188 | # CONFIG_SND_VX222 is not set |
1184 | # CONFIG_SND_HDA_INTEL is not set | 1189 | # CONFIG_SND_YMFPCI is not set |
1185 | 1190 | ||
1186 | # | 1191 | # |
1187 | # ALSA PowerMac devices | 1192 | # ALSA PowerMac devices |
1188 | # | 1193 | # |
1189 | CONFIG_SND_POWERMAC=m | 1194 | |
1195 | # | ||
1196 | # Apple Onboard Audio driver | ||
1197 | # | ||
1198 | # CONFIG_SND_AOA is not set | ||
1199 | # CONFIG_SND_AOA_SOUNDBUS is not set | ||
1190 | 1200 | ||
1191 | # | 1201 | # |
1192 | # USB devices | 1202 | # USB devices |
@@ -1204,6 +1214,7 @@ CONFIG_SND_USB_AUDIO=m | |||
1204 | # | 1214 | # |
1205 | CONFIG_USB_ARCH_HAS_HCD=y | 1215 | CONFIG_USB_ARCH_HAS_HCD=y |
1206 | CONFIG_USB_ARCH_HAS_OHCI=y | 1216 | CONFIG_USB_ARCH_HAS_OHCI=y |
1217 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
1207 | CONFIG_USB=y | 1218 | CONFIG_USB=y |
1208 | # CONFIG_USB_DEBUG is not set | 1219 | # CONFIG_USB_DEBUG is not set |
1209 | 1220 | ||
@@ -1222,6 +1233,7 @@ CONFIG_USB_DEVICEFS=y | |||
1222 | CONFIG_USB_EHCI_HCD=m | 1233 | CONFIG_USB_EHCI_HCD=m |
1223 | CONFIG_USB_EHCI_SPLIT_ISO=y | 1234 | CONFIG_USB_EHCI_SPLIT_ISO=y |
1224 | CONFIG_USB_EHCI_ROOT_HUB_TT=y | 1235 | CONFIG_USB_EHCI_ROOT_HUB_TT=y |
1236 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | ||
1225 | # CONFIG_USB_ISP116X_HCD is not set | 1237 | # CONFIG_USB_ISP116X_HCD is not set |
1226 | CONFIG_USB_OHCI_HCD=y | 1238 | CONFIG_USB_OHCI_HCD=y |
1227 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | 1239 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set |
@@ -1232,14 +1244,15 @@ CONFIG_USB_UHCI_HCD=m | |||
1232 | # | 1244 | # |
1233 | # USB Device Class drivers | 1245 | # USB Device Class drivers |
1234 | # | 1246 | # |
1235 | # CONFIG_USB_AUDIO is not set | ||
1236 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
1237 | # CONFIG_USB_MIDI is not set | ||
1238 | CONFIG_USB_ACM=m | 1247 | CONFIG_USB_ACM=m |
1239 | CONFIG_USB_PRINTER=m | 1248 | CONFIG_USB_PRINTER=m |
1240 | 1249 | ||
1241 | # | 1250 | # |
1242 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 1251 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
1252 | # | ||
1253 | |||
1254 | # | ||
1255 | # may also be needed; see USB_STORAGE Help for more information | ||
1243 | # | 1256 | # |
1244 | CONFIG_USB_STORAGE=m | 1257 | CONFIG_USB_STORAGE=m |
1245 | # CONFIG_USB_STORAGE_DEBUG is not set | 1258 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1251,12 +1264,15 @@ CONFIG_USB_STORAGE_USBAT=y | |||
1251 | CONFIG_USB_STORAGE_SDDR09=y | 1264 | CONFIG_USB_STORAGE_SDDR09=y |
1252 | CONFIG_USB_STORAGE_SDDR55=y | 1265 | CONFIG_USB_STORAGE_SDDR55=y |
1253 | CONFIG_USB_STORAGE_JUMPSHOT=y | 1266 | CONFIG_USB_STORAGE_JUMPSHOT=y |
1267 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
1268 | # CONFIG_USB_LIBUSUAL is not set | ||
1254 | 1269 | ||
1255 | # | 1270 | # |
1256 | # USB Input Devices | 1271 | # USB Input Devices |
1257 | # | 1272 | # |
1258 | CONFIG_USB_HID=y | 1273 | CONFIG_USB_HID=y |
1259 | CONFIG_USB_HIDINPUT=y | 1274 | CONFIG_USB_HIDINPUT=y |
1275 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
1260 | # CONFIG_HID_FF is not set | 1276 | # CONFIG_HID_FF is not set |
1261 | CONFIG_USB_HIDDEV=y | 1277 | CONFIG_USB_HIDDEV=y |
1262 | # CONFIG_USB_AIPTEK is not set | 1278 | # CONFIG_USB_AIPTEK is not set |
@@ -1264,12 +1280,13 @@ CONFIG_USB_HIDDEV=y | |||
1264 | # CONFIG_USB_ACECAD is not set | 1280 | # CONFIG_USB_ACECAD is not set |
1265 | # CONFIG_USB_KBTAB is not set | 1281 | # CONFIG_USB_KBTAB is not set |
1266 | # CONFIG_USB_POWERMATE is not set | 1282 | # CONFIG_USB_POWERMATE is not set |
1267 | # CONFIG_USB_MTOUCH is not set | 1283 | # CONFIG_USB_TOUCHSCREEN is not set |
1268 | # CONFIG_USB_ITMTOUCH is not set | 1284 | # CONFIG_USB_YEALINK is not set |
1269 | # CONFIG_USB_EGALAX is not set | ||
1270 | # CONFIG_USB_XPAD is not set | 1285 | # CONFIG_USB_XPAD is not set |
1271 | # CONFIG_USB_ATI_REMOTE is not set | 1286 | # CONFIG_USB_ATI_REMOTE is not set |
1287 | # CONFIG_USB_ATI_REMOTE2 is not set | ||
1272 | # CONFIG_USB_KEYSPAN_REMOTE is not set | 1288 | # CONFIG_USB_KEYSPAN_REMOTE is not set |
1289 | # CONFIG_USB_APPLETOUCH is not set | ||
1273 | 1290 | ||
1274 | # | 1291 | # |
1275 | # USB Imaging devices | 1292 | # USB Imaging devices |
@@ -1278,15 +1295,6 @@ CONFIG_USB_HIDDEV=y | |||
1278 | # CONFIG_USB_MICROTEK is not set | 1295 | # CONFIG_USB_MICROTEK is not set |
1279 | 1296 | ||
1280 | # | 1297 | # |
1281 | # USB Multimedia devices | ||
1282 | # | ||
1283 | # CONFIG_USB_DABUSB is not set | ||
1284 | |||
1285 | # | ||
1286 | # Video4Linux support is needed for USB Multimedia device support | ||
1287 | # | ||
1288 | |||
1289 | # | ||
1290 | # USB Network Adapters | 1298 | # USB Network Adapters |
1291 | # | 1299 | # |
1292 | # CONFIG_USB_CATC is not set | 1300 | # CONFIG_USB_CATC is not set |
@@ -1294,7 +1302,6 @@ CONFIG_USB_HIDDEV=y | |||
1294 | CONFIG_USB_PEGASUS=m | 1302 | CONFIG_USB_PEGASUS=m |
1295 | # CONFIG_USB_RTL8150 is not set | 1303 | # CONFIG_USB_RTL8150 is not set |
1296 | # CONFIG_USB_USBNET is not set | 1304 | # CONFIG_USB_USBNET is not set |
1297 | # CONFIG_USB_ZD1201 is not set | ||
1298 | # CONFIG_USB_MON is not set | 1305 | # CONFIG_USB_MON is not set |
1299 | 1306 | ||
1300 | # | 1307 | # |
@@ -1308,6 +1315,7 @@ CONFIG_USB_PEGASUS=m | |||
1308 | CONFIG_USB_SERIAL=m | 1315 | CONFIG_USB_SERIAL=m |
1309 | # CONFIG_USB_SERIAL_GENERIC is not set | 1316 | # CONFIG_USB_SERIAL_GENERIC is not set |
1310 | # CONFIG_USB_SERIAL_AIRPRIME is not set | 1317 | # CONFIG_USB_SERIAL_AIRPRIME is not set |
1318 | # CONFIG_USB_SERIAL_ARK3116 is not set | ||
1311 | # CONFIG_USB_SERIAL_BELKIN is not set | 1319 | # CONFIG_USB_SERIAL_BELKIN is not set |
1312 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | 1320 | # CONFIG_USB_SERIAL_WHITEHEAT is not set |
1313 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | 1321 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set |
@@ -1315,6 +1323,7 @@ CONFIG_USB_SERIAL=m | |||
1315 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | 1323 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set |
1316 | # CONFIG_USB_SERIAL_EMPEG is not set | 1324 | # CONFIG_USB_SERIAL_EMPEG is not set |
1317 | # CONFIG_USB_SERIAL_FTDI_SIO is not set | 1325 | # CONFIG_USB_SERIAL_FTDI_SIO is not set |
1326 | # CONFIG_USB_SERIAL_FUNSOFT is not set | ||
1318 | CONFIG_USB_SERIAL_VISOR=m | 1327 | CONFIG_USB_SERIAL_VISOR=m |
1319 | # CONFIG_USB_SERIAL_IPAQ is not set | 1328 | # CONFIG_USB_SERIAL_IPAQ is not set |
1320 | # CONFIG_USB_SERIAL_IR is not set | 1329 | # CONFIG_USB_SERIAL_IR is not set |
@@ -1339,9 +1348,11 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | |||
1339 | # CONFIG_USB_SERIAL_KLSI is not set | 1348 | # CONFIG_USB_SERIAL_KLSI is not set |
1340 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | 1349 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set |
1341 | # CONFIG_USB_SERIAL_MCT_U232 is not set | 1350 | # CONFIG_USB_SERIAL_MCT_U232 is not set |
1351 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
1342 | # CONFIG_USB_SERIAL_PL2303 is not set | 1352 | # CONFIG_USB_SERIAL_PL2303 is not set |
1343 | # CONFIG_USB_SERIAL_HP4X is not set | 1353 | # CONFIG_USB_SERIAL_HP4X is not set |
1344 | # CONFIG_USB_SERIAL_SAFE is not set | 1354 | # CONFIG_USB_SERIAL_SAFE is not set |
1355 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | ||
1345 | # CONFIG_USB_SERIAL_TI is not set | 1356 | # CONFIG_USB_SERIAL_TI is not set |
1346 | # CONFIG_USB_SERIAL_CYBERJACK is not set | 1357 | # CONFIG_USB_SERIAL_CYBERJACK is not set |
1347 | # CONFIG_USB_SERIAL_XIRCOM is not set | 1358 | # CONFIG_USB_SERIAL_XIRCOM is not set |
@@ -1359,10 +1370,12 @@ CONFIG_USB_EZUSB=y | |||
1359 | # CONFIG_USB_LEGOTOWER is not set | 1370 | # CONFIG_USB_LEGOTOWER is not set |
1360 | # CONFIG_USB_LCD is not set | 1371 | # CONFIG_USB_LCD is not set |
1361 | # CONFIG_USB_LED is not set | 1372 | # CONFIG_USB_LED is not set |
1373 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
1362 | # CONFIG_USB_CYTHERM is not set | 1374 | # CONFIG_USB_CYTHERM is not set |
1363 | # CONFIG_USB_PHIDGETKIT is not set | 1375 | # CONFIG_USB_PHIDGETKIT is not set |
1364 | # CONFIG_USB_PHIDGETSERVO is not set | 1376 | # CONFIG_USB_PHIDGETSERVO is not set |
1365 | # CONFIG_USB_IDMOUSE is not set | 1377 | # CONFIG_USB_IDMOUSE is not set |
1378 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1366 | # CONFIG_USB_SISUSBVGA is not set | 1379 | # CONFIG_USB_SISUSBVGA is not set |
1367 | # CONFIG_USB_LD is not set | 1380 | # CONFIG_USB_LD is not set |
1368 | # CONFIG_USB_TEST is not set | 1381 | # CONFIG_USB_TEST is not set |
@@ -1382,12 +1395,43 @@ CONFIG_USB_EZUSB=y | |||
1382 | # CONFIG_MMC is not set | 1395 | # CONFIG_MMC is not set |
1383 | 1396 | ||
1384 | # | 1397 | # |
1398 | # LED devices | ||
1399 | # | ||
1400 | # CONFIG_NEW_LEDS is not set | ||
1401 | |||
1402 | # | ||
1403 | # LED drivers | ||
1404 | # | ||
1405 | |||
1406 | # | ||
1407 | # LED Triggers | ||
1408 | # | ||
1409 | |||
1410 | # | ||
1385 | # InfiniBand support | 1411 | # InfiniBand support |
1386 | # | 1412 | # |
1387 | # CONFIG_INFINIBAND is not set | 1413 | # CONFIG_INFINIBAND is not set |
1388 | 1414 | ||
1389 | # | 1415 | # |
1390 | # SN Devices | 1416 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
1417 | # | ||
1418 | |||
1419 | # | ||
1420 | # Real Time Clock | ||
1421 | # | ||
1422 | # CONFIG_RTC_CLASS is not set | ||
1423 | |||
1424 | # | ||
1425 | # DMA Engine support | ||
1426 | # | ||
1427 | # CONFIG_DMA_ENGINE is not set | ||
1428 | |||
1429 | # | ||
1430 | # DMA Clients | ||
1431 | # | ||
1432 | |||
1433 | # | ||
1434 | # DMA Devices | ||
1391 | # | 1435 | # |
1392 | 1436 | ||
1393 | # | 1437 | # |
@@ -1417,23 +1461,21 @@ CONFIG_JFS_SECURITY=y | |||
1417 | # CONFIG_JFS_DEBUG is not set | 1461 | # CONFIG_JFS_DEBUG is not set |
1418 | # CONFIG_JFS_STATISTICS is not set | 1462 | # CONFIG_JFS_STATISTICS is not set |
1419 | CONFIG_FS_POSIX_ACL=y | 1463 | CONFIG_FS_POSIX_ACL=y |
1420 | |||
1421 | # | ||
1422 | # XFS support | ||
1423 | # | ||
1424 | CONFIG_XFS_FS=m | 1464 | CONFIG_XFS_FS=m |
1425 | CONFIG_XFS_EXPORT=y | ||
1426 | # CONFIG_XFS_RT is not set | ||
1427 | # CONFIG_XFS_QUOTA is not set | 1465 | # CONFIG_XFS_QUOTA is not set |
1428 | CONFIG_XFS_SECURITY=y | 1466 | CONFIG_XFS_SECURITY=y |
1429 | CONFIG_XFS_POSIX_ACL=y | 1467 | CONFIG_XFS_POSIX_ACL=y |
1468 | # CONFIG_XFS_RT is not set | ||
1469 | # CONFIG_OCFS2_FS is not set | ||
1430 | # CONFIG_MINIX_FS is not set | 1470 | # CONFIG_MINIX_FS is not set |
1431 | # CONFIG_ROMFS_FS is not set | 1471 | # CONFIG_ROMFS_FS is not set |
1432 | CONFIG_INOTIFY=y | 1472 | CONFIG_INOTIFY=y |
1473 | CONFIG_INOTIFY_USER=y | ||
1433 | # CONFIG_QUOTA is not set | 1474 | # CONFIG_QUOTA is not set |
1434 | CONFIG_DNOTIFY=y | 1475 | CONFIG_DNOTIFY=y |
1435 | # CONFIG_AUTOFS_FS is not set | 1476 | # CONFIG_AUTOFS_FS is not set |
1436 | CONFIG_AUTOFS4_FS=m | 1477 | CONFIG_AUTOFS4_FS=m |
1478 | # CONFIG_FUSE_FS is not set | ||
1437 | 1479 | ||
1438 | # | 1480 | # |
1439 | # CD-ROM/DVD Filesystems | 1481 | # CD-ROM/DVD Filesystems |
@@ -1460,13 +1502,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
1460 | CONFIG_PROC_FS=y | 1502 | CONFIG_PROC_FS=y |
1461 | CONFIG_PROC_KCORE=y | 1503 | CONFIG_PROC_KCORE=y |
1462 | CONFIG_SYSFS=y | 1504 | CONFIG_SYSFS=y |
1463 | CONFIG_DEVPTS_FS_XATTR=y | ||
1464 | CONFIG_DEVPTS_FS_SECURITY=y | ||
1465 | CONFIG_TMPFS=y | 1505 | CONFIG_TMPFS=y |
1466 | CONFIG_TMPFS_XATTR=y | ||
1467 | CONFIG_TMPFS_SECURITY=y | ||
1468 | # CONFIG_HUGETLB_PAGE is not set | 1506 | # CONFIG_HUGETLB_PAGE is not set |
1469 | CONFIG_RAMFS=y | 1507 | CONFIG_RAMFS=y |
1508 | # CONFIG_CONFIGFS_FS is not set | ||
1470 | 1509 | ||
1471 | # | 1510 | # |
1472 | # Miscellaneous filesystems | 1511 | # Miscellaneous filesystems |
@@ -1485,6 +1524,7 @@ CONFIG_CRAMFS=m | |||
1485 | # CONFIG_SYSV_FS is not set | 1524 | # CONFIG_SYSV_FS is not set |
1486 | CONFIG_UFS_FS=m | 1525 | CONFIG_UFS_FS=m |
1487 | # CONFIG_UFS_FS_WRITE is not set | 1526 | # CONFIG_UFS_FS_WRITE is not set |
1527 | # CONFIG_UFS_DEBUG is not set | ||
1488 | 1528 | ||
1489 | # | 1529 | # |
1490 | # Network File Systems | 1530 | # Network File Systems |
@@ -1513,6 +1553,7 @@ CONFIG_SUNRPC=y | |||
1513 | # CONFIG_NCP_FS is not set | 1553 | # CONFIG_NCP_FS is not set |
1514 | # CONFIG_CODA_FS is not set | 1554 | # CONFIG_CODA_FS is not set |
1515 | # CONFIG_AFS_FS is not set | 1555 | # CONFIG_AFS_FS is not set |
1556 | # CONFIG_9P_FS is not set | ||
1516 | 1557 | ||
1517 | # | 1558 | # |
1518 | # Partition Types | 1559 | # Partition Types |
@@ -1532,6 +1573,7 @@ CONFIG_MSDOS_PARTITION=y | |||
1532 | # CONFIG_SGI_PARTITION is not set | 1573 | # CONFIG_SGI_PARTITION is not set |
1533 | # CONFIG_ULTRIX_PARTITION is not set | 1574 | # CONFIG_ULTRIX_PARTITION is not set |
1534 | # CONFIG_SUN_PARTITION is not set | 1575 | # CONFIG_SUN_PARTITION is not set |
1576 | # CONFIG_KARMA_PARTITION is not set | ||
1535 | # CONFIG_EFI_PARTITION is not set | 1577 | # CONFIG_EFI_PARTITION is not set |
1536 | 1578 | ||
1537 | # | 1579 | # |
@@ -1582,33 +1624,44 @@ CONFIG_NLS_UTF8=m | |||
1582 | # Library routines | 1624 | # Library routines |
1583 | # | 1625 | # |
1584 | CONFIG_CRC_CCITT=y | 1626 | CONFIG_CRC_CCITT=y |
1627 | # CONFIG_CRC16 is not set | ||
1585 | CONFIG_CRC32=y | 1628 | CONFIG_CRC32=y |
1586 | # CONFIG_LIBCRC32C is not set | 1629 | # CONFIG_LIBCRC32C is not set |
1587 | CONFIG_ZLIB_INFLATE=y | 1630 | CONFIG_ZLIB_INFLATE=y |
1588 | CONFIG_ZLIB_DEFLATE=y | 1631 | CONFIG_ZLIB_DEFLATE=y |
1589 | 1632 | CONFIG_TEXTSEARCH=y | |
1590 | # | 1633 | CONFIG_TEXTSEARCH_KMP=m |
1591 | # Profiling support | 1634 | CONFIG_TEXTSEARCH_BM=m |
1592 | # | 1635 | CONFIG_TEXTSEARCH_FSM=m |
1636 | CONFIG_PLIST=y | ||
1593 | # CONFIG_PROFILING is not set | 1637 | # CONFIG_PROFILING is not set |
1594 | 1638 | ||
1595 | # | 1639 | # |
1596 | # Kernel hacking | 1640 | # Kernel hacking |
1597 | # | 1641 | # |
1598 | # CONFIG_PRINTK_TIME is not set | 1642 | # CONFIG_PRINTK_TIME is not set |
1599 | CONFIG_DEBUG_KERNEL=y | ||
1600 | CONFIG_MAGIC_SYSRQ=y | 1643 | CONFIG_MAGIC_SYSRQ=y |
1644 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1645 | CONFIG_DEBUG_KERNEL=y | ||
1601 | CONFIG_LOG_BUF_SHIFT=14 | 1646 | CONFIG_LOG_BUF_SHIFT=14 |
1647 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1602 | # CONFIG_SCHEDSTATS is not set | 1648 | # CONFIG_SCHEDSTATS is not set |
1603 | # CONFIG_DEBUG_SLAB is not set | 1649 | # CONFIG_DEBUG_SLAB is not set |
1650 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1651 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1604 | # CONFIG_DEBUG_SPINLOCK is not set | 1652 | # CONFIG_DEBUG_SPINLOCK is not set |
1653 | # CONFIG_DEBUG_MUTEXES is not set | ||
1654 | # CONFIG_DEBUG_RWSEMS is not set | ||
1605 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1655 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1656 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1606 | # CONFIG_DEBUG_KOBJECT is not set | 1657 | # CONFIG_DEBUG_KOBJECT is not set |
1607 | # CONFIG_DEBUG_INFO is not set | 1658 | # CONFIG_DEBUG_INFO is not set |
1608 | # CONFIG_DEBUG_FS is not set | 1659 | # CONFIG_DEBUG_FS is not set |
1660 | # CONFIG_DEBUG_VM is not set | ||
1661 | CONFIG_FORCED_INLINING=y | ||
1662 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1609 | # CONFIG_XMON is not set | 1663 | # CONFIG_XMON is not set |
1610 | # CONFIG_BDI_SWITCH is not set | 1664 | # CONFIG_BDI_SWITCH is not set |
1611 | CONFIG_BOOTX_TEXT=y | ||
1612 | 1665 | ||
1613 | # | 1666 | # |
1614 | # Security options | 1667 | # Security options |
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index ae071a11ce7..2f4f70c4dbb 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
@@ -118,6 +118,10 @@ config SYSVIPC_COMPAT | |||
118 | depends on COMPAT && SYSVIPC | 118 | depends on COMPAT && SYSVIPC |
119 | default y | 119 | default y |
120 | 120 | ||
121 | config AUDIT_ARCH | ||
122 | bool | ||
123 | default y | ||
124 | |||
121 | comment "Code generation options" | 125 | comment "Code generation options" |
122 | 126 | ||
123 | choice | 127 | choice |
diff --git a/arch/s390/kernel/Makefile b/arch/s390/kernel/Makefile index 86601a94570..9a33ed6ca69 100644 --- a/arch/s390/kernel/Makefile +++ b/arch/s390/kernel/Makefile | |||
@@ -16,9 +16,11 @@ extra-y += head.o init_task.o vmlinux.lds | |||
16 | obj-$(CONFIG_MODULES) += s390_ksyms.o module.o | 16 | obj-$(CONFIG_MODULES) += s390_ksyms.o module.o |
17 | obj-$(CONFIG_SMP) += smp.o | 17 | obj-$(CONFIG_SMP) += smp.o |
18 | 18 | ||
19 | obj-$(CONFIG_AUDIT) += audit.o | ||
20 | compat-obj-$(CONFIG_AUDIT) += compat_audit.o | ||
19 | obj-$(CONFIG_COMPAT) += compat_linux.o compat_signal.o \ | 21 | obj-$(CONFIG_COMPAT) += compat_linux.o compat_signal.o \ |
20 | compat_wrapper.o compat_exec_domain.o \ | 22 | compat_wrapper.o compat_exec_domain.o \ |
21 | binfmt_elf32.o | 23 | binfmt_elf32.o $(compat-obj-y) |
22 | 24 | ||
23 | obj-$(CONFIG_VIRT_TIMER) += vtime.o | 25 | obj-$(CONFIG_VIRT_TIMER) += vtime.o |
24 | obj-$(CONFIG_STACKTRACE) += stacktrace.o | 26 | obj-$(CONFIG_STACKTRACE) += stacktrace.o |
diff --git a/arch/s390/kernel/audit.c b/arch/s390/kernel/audit.c new file mode 100644 index 00000000000..0741d919339 --- /dev/null +++ b/arch/s390/kernel/audit.c | |||
@@ -0,0 +1,66 @@ | |||
1 | #include <linux/init.h> | ||
2 | #include <linux/types.h> | ||
3 | #include <linux/audit.h> | ||
4 | #include <asm/unistd.h> | ||
5 | |||
6 | static unsigned dir_class[] = { | ||
7 | #include <asm-generic/audit_dir_write.h> | ||
8 | ~0U | ||
9 | }; | ||
10 | |||
11 | static unsigned read_class[] = { | ||
12 | #include <asm-generic/audit_read.h> | ||
13 | ~0U | ||
14 | }; | ||
15 | |||
16 | static unsigned write_class[] = { | ||
17 | #include <asm-generic/audit_write.h> | ||
18 | ~0U | ||
19 | }; | ||
20 | |||
21 | static unsigned chattr_class[] = { | ||
22 | #include <asm-generic/audit_change_attr.h> | ||
23 | ~0U | ||
24 | }; | ||
25 | |||
26 | int audit_classify_syscall(int abi, unsigned syscall) | ||
27 | { | ||
28 | #ifdef CONFIG_COMPAT | ||
29 | extern int s390_classify_syscall(unsigned); | ||
30 | if (abi == AUDIT_ARCH_S390) | ||
31 | return s390_classify_syscall(syscall); | ||
32 | #endif | ||
33 | switch(syscall) { | ||
34 | case __NR_open: | ||
35 | return 2; | ||
36 | case __NR_openat: | ||
37 | return 3; | ||
38 | case __NR_socketcall: | ||
39 | return 4; | ||
40 | case __NR_execve: | ||
41 | return 5; | ||
42 | default: | ||
43 | return 0; | ||
44 | } | ||
45 | } | ||
46 | |||
47 | static int __init audit_classes_init(void) | ||
48 | { | ||
49 | #ifdef CONFIG_COMPAT | ||
50 | extern __u32 s390_dir_class[]; | ||
51 | extern __u32 s390_write_class[]; | ||
52 | extern __u32 s390_read_class[]; | ||
53 | extern __u32 s390_chattr_class[]; | ||
54 | audit_register_class(AUDIT_CLASS_WRITE_32, s390_write_class); | ||
55 | audit_register_class(AUDIT_CLASS_READ_32, s390_read_class); | ||
56 | audit_register_class(AUDIT_CLASS_DIR_WRITE_32, s390_dir_class); | ||
57 | audit_register_class(AUDIT_CLASS_CHATTR_32, s390_chattr_class); | ||
58 | #endif | ||
59 | audit_register_class(AUDIT_CLASS_WRITE, write_class); | ||
60 | audit_register_class(AUDIT_CLASS_READ, read_class); | ||
61 | audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); | ||
62 | audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); | ||
63 | return 0; | ||
64 | } | ||
65 | |||
66 | __initcall(audit_classes_init); | ||
diff --git a/arch/s390/kernel/compat_audit.c b/arch/s390/kernel/compat_audit.c new file mode 100644 index 00000000000..16d9436bfa9 --- /dev/null +++ b/arch/s390/kernel/compat_audit.c | |||
@@ -0,0 +1,38 @@ | |||
1 | #undef __s390x__ | ||
2 | #include <asm/unistd.h> | ||
3 | |||
4 | unsigned s390_dir_class[] = { | ||
5 | #include <asm-generic/audit_dir_write.h> | ||
6 | ~0U | ||
7 | }; | ||
8 | |||
9 | unsigned s390_chattr_class[] = { | ||
10 | #include <asm-generic/audit_change_attr.h> | ||
11 | ~0U | ||
12 | }; | ||
13 | |||
14 | unsigned s390_write_class[] = { | ||
15 | #include <asm-generic/audit_write.h> | ||
16 | ~0U | ||
17 | }; | ||
18 | |||
19 | unsigned s390_read_class[] = { | ||
20 | #include <asm-generic/audit_read.h> | ||
21 | ~0U | ||
22 | }; | ||
23 | |||
24 | int s390_classify_syscall(unsigned syscall) | ||
25 | { | ||
26 | switch(syscall) { | ||
27 | case __NR_open: | ||
28 | return 2; | ||
29 | case __NR_openat: | ||
30 | return 3; | ||
31 | case __NR_socketcall: | ||
32 | return 4; | ||
33 | case __NR_execve: | ||
34 | return 5; | ||
35 | default: | ||
36 | return 1; | ||
37 | } | ||
38 | } | ||
diff --git a/arch/s390/lib/uaccess.S b/arch/s390/lib/uaccess.S index 5d59e262504..837275284d9 100644 --- a/arch/s390/lib/uaccess.S +++ b/arch/s390/lib/uaccess.S | |||
@@ -88,30 +88,31 @@ __copy_to_user_asm: | |||
88 | .globl __copy_in_user_asm | 88 | .globl __copy_in_user_asm |
89 | # %r2 = from, %r3 = n, %r4 = to | 89 | # %r2 = from, %r3 = n, %r4 = to |
90 | __copy_in_user_asm: | 90 | __copy_in_user_asm: |
91 | ahi %r3,-1 | ||
92 | jo 6f | ||
91 | sacf 256 | 93 | sacf 256 |
92 | bras 1,1f | 94 | bras %r1,4f |
93 | mvc 0(1,%r4),0(%r2) | 95 | 0: ahi %r3,257 |
94 | 0: mvc 0(256,%r4),0(%r2) | 96 | 1: mvc 0(1,%r4),0(%r2) |
95 | la %r2,256(%r2) | ||
96 | la %r4,256(%r4) | ||
97 | 1: ahi %r3,-256 | ||
98 | jnm 0b | ||
99 | 2: ex %r3,0(%r1) | ||
100 | sacf 0 | ||
101 | slr %r2,%r2 | ||
102 | br 14 | ||
103 | 3: mvc 0(1,%r4),0(%r2) | ||
104 | la %r2,1(%r2) | 97 | la %r2,1(%r2) |
105 | la %r4,1(%r4) | 98 | la %r4,1(%r4) |
106 | ahi %r3,-1 | 99 | ahi %r3,-1 |
100 | jnz 1b | ||
101 | 2: lr %r2,%r3 | ||
102 | br %r14 | ||
103 | 3: mvc 0(256,%r4),0(%r2) | ||
104 | la %r2,256(%r2) | ||
105 | la %r4,256(%r4) | ||
106 | 4: ahi %r3,-256 | ||
107 | jnm 3b | 107 | jnm 3b |
108 | 4: lr %r2,%r3 | 108 | 5: ex %r3,4(%r1) |
109 | sacf 0 | 109 | sacf 0 |
110 | 6: slr %r2,%r2 | ||
110 | br %r14 | 111 | br %r14 |
111 | .section __ex_table,"a" | 112 | .section __ex_table,"a" |
112 | .long 0b,3b | 113 | .long 1b,2b |
113 | .long 2b,3b | 114 | .long 3b,0b |
114 | .long 3b,4b | 115 | .long 5b,0b |
115 | .previous | 116 | .previous |
116 | 117 | ||
117 | .align 4 | 118 | .align 4 |
diff --git a/arch/s390/lib/uaccess64.S b/arch/s390/lib/uaccess64.S index 19b41a33c23..1f755be22f9 100644 --- a/arch/s390/lib/uaccess64.S +++ b/arch/s390/lib/uaccess64.S | |||
@@ -88,30 +88,31 @@ __copy_to_user_asm: | |||
88 | .globl __copy_in_user_asm | 88 | .globl __copy_in_user_asm |
89 | # %r2 = from, %r3 = n, %r4 = to | 89 | # %r2 = from, %r3 = n, %r4 = to |
90 | __copy_in_user_asm: | 90 | __copy_in_user_asm: |
91 | aghi %r3,-1 | ||
92 | jo 6f | ||
91 | sacf 256 | 93 | sacf 256 |
92 | bras 1,1f | 94 | bras %r1,4f |
93 | mvc 0(1,%r4),0(%r2) | 95 | 0: aghi %r3,257 |
94 | 0: mvc 0(256,%r4),0(%r2) | 96 | 1: mvc 0(1,%r4),0(%r2) |
95 | la %r2,256(%r2) | ||
96 | la %r4,256(%r4) | ||
97 | 1: aghi %r3,-256 | ||
98 | jnm 0b | ||
99 | 2: ex %r3,0(%r1) | ||
100 | sacf 0 | ||
101 | slgr %r2,%r2 | ||
102 | br 14 | ||
103 | 3: mvc 0(1,%r4),0(%r2) | ||
104 | la %r2,1(%r2) | 97 | la %r2,1(%r2) |
105 | la %r4,1(%r4) | 98 | la %r4,1(%r4) |
106 | aghi %r3,-1 | 99 | aghi %r3,-1 |
100 | jnz 1b | ||
101 | 2: lgr %r2,%r3 | ||
102 | br %r14 | ||
103 | 3: mvc 0(256,%r4),0(%r2) | ||
104 | la %r2,256(%r2) | ||
105 | la %r4,256(%r4) | ||
106 | 4: aghi %r3,-256 | ||
107 | jnm 3b | 107 | jnm 3b |
108 | 4: lgr %r2,%r3 | 108 | 5: ex %r3,4(%r1) |
109 | sacf 0 | 109 | sacf 0 |
110 | br %r14 | 110 | 6: slgr %r2,%r2 |
111 | br 14 | ||
111 | .section __ex_table,"a" | 112 | .section __ex_table,"a" |
112 | .quad 0b,3b | 113 | .quad 1b,2b |
113 | .quad 2b,3b | 114 | .quad 3b,0b |
114 | .quad 3b,4b | 115 | .quad 5b,0b |
115 | .previous | 116 | .previous |
116 | 117 | ||
117 | .align 4 | 118 | .align 4 |
diff --git a/arch/sh64/Makefile b/arch/sh64/Makefile index 8ca57ffa2b7..ebf20043991 100644 --- a/arch/sh64/Makefile +++ b/arch/sh64/Makefile | |||
@@ -26,7 +26,6 @@ LDFLAGS += -EB -mshelf32_linux | |||
26 | endif | 26 | endif |
27 | 27 | ||
28 | # No requirements for endianess support from AFLAGS, 'as' always run through gcc | 28 | # No requirements for endianess support from AFLAGS, 'as' always run through gcc |
29 | AFLAGS += -m5 -isa=sh64 -traditional | ||
30 | CFLAGS += $(cpu-y) | 29 | CFLAGS += $(cpu-y) |
31 | 30 | ||
32 | LDFLAGS_vmlinux += --defsym phys_stext=_stext-$(CONFIG_CACHED_MEMORY_OFFSET) \ | 31 | LDFLAGS_vmlinux += --defsym phys_stext=_stext-$(CONFIG_CACHED_MEMORY_OFFSET) \ |
diff --git a/arch/sh64/kernel/process.c b/arch/sh64/kernel/process.c index dba8e14013b..db475b7833f 100644 --- a/arch/sh64/kernel/process.c +++ b/arch/sh64/kernel/process.c | |||
@@ -355,6 +355,9 @@ void machine_power_off(void) | |||
355 | enter_deep_standby(); | 355 | enter_deep_standby(); |
356 | } | 356 | } |
357 | 357 | ||
358 | void (*pm_power_off)(void) = machine_power_off; | ||
359 | EXPORT_SYMBOL(pm_power_off); | ||
360 | |||
358 | void show_regs(struct pt_regs * regs) | 361 | void show_regs(struct pt_regs * regs) |
359 | { | 362 | { |
360 | unsigned long long ah, al, bh, bl, ch, cl; | 363 | unsigned long long ah, al, bh, bl, ch, cl; |
diff --git a/arch/sh64/mach-cayman/setup.c b/arch/sh64/mach-cayman/setup.c index d84895dda3c..3ed87cd059d 100644 --- a/arch/sh64/mach-cayman/setup.c +++ b/arch/sh64/mach-cayman/setup.c | |||
@@ -112,8 +112,10 @@ struct resource io_resources[] = { | |||
112 | }; | 112 | }; |
113 | 113 | ||
114 | struct resource kram_resources[] = { | 114 | struct resource kram_resources[] = { |
115 | { "Kernel code", 0, 0 }, /* These must be last in the array */ | 115 | /* These must be last in the array */ |
116 | { "Kernel data", 0, 0 } /* These must be last in the array */ | 116 | { .name = "Kernel code", .start = 0, .end = 0 }, |
117 | /* These must be last in the array */ | ||
118 | { .name = "Kernel data", .start = 0, .end = 0 } | ||
117 | }; | 119 | }; |
118 | 120 | ||
119 | struct resource xram_resources[] = { | 121 | struct resource xram_resources[] = { |
diff --git a/arch/sh64/mm/ioremap.c b/arch/sh64/mm/ioremap.c index fb1866fa2c9..80c56754f51 100644 --- a/arch/sh64/mm/ioremap.c +++ b/arch/sh64/mm/ioremap.c | |||
@@ -449,7 +449,9 @@ ioremap_proc_info(char *buf, char **start, off_t fpos, int length, int *eof, | |||
449 | if (p + 32 >= e) /* Better than nothing */ | 449 | if (p + 32 >= e) /* Better than nothing */ |
450 | break; | 450 | break; |
451 | if ((nm = r->name) == 0) nm = "???"; | 451 | if ((nm = r->name) == 0) nm = "???"; |
452 | p += sprintf(p, "%08lx-%08lx: %s\n", r->start, r->end, nm); | 452 | p += sprintf(p, "%08lx-%08lx: %s\n", |
453 | (unsigned long)r->start, | ||
454 | (unsigned long)r->end, nm); | ||
453 | } | 455 | } |
454 | 456 | ||
455 | return p-buf; | 457 | return p-buf; |
diff --git a/arch/sparc/kernel/sys_sparc.c b/arch/sparc/kernel/sys_sparc.c index a41c8a5c200..94ff58c9d4a 100644 --- a/arch/sparc/kernel/sys_sparc.c +++ b/arch/sparc/kernel/sys_sparc.c | |||
@@ -219,6 +219,21 @@ out: | |||
219 | return err; | 219 | return err; |
220 | } | 220 | } |
221 | 221 | ||
222 | int sparc_mmap_check(unsigned long addr, unsigned long len, unsigned long flags) | ||
223 | { | ||
224 | if (ARCH_SUN4C_SUN4 && | ||
225 | (len > 0x20000000 || | ||
226 | ((flags & MAP_FIXED) && | ||
227 | addr < 0xe0000000 && addr + len > 0x20000000))) | ||
228 | return -EINVAL; | ||
229 | |||
230 | /* See asm-sparc/uaccess.h */ | ||
231 | if (len > TASK_SIZE - PAGE_SIZE || addr + len > TASK_SIZE - PAGE_SIZE) | ||
232 | return -EINVAL; | ||
233 | |||
234 | return 0; | ||
235 | } | ||
236 | |||
222 | /* Linux version of mmap */ | 237 | /* Linux version of mmap */ |
223 | static unsigned long do_mmap2(unsigned long addr, unsigned long len, | 238 | static unsigned long do_mmap2(unsigned long addr, unsigned long len, |
224 | unsigned long prot, unsigned long flags, unsigned long fd, | 239 | unsigned long prot, unsigned long flags, unsigned long fd, |
@@ -233,25 +248,13 @@ static unsigned long do_mmap2(unsigned long addr, unsigned long len, | |||
233 | goto out; | 248 | goto out; |
234 | } | 249 | } |
235 | 250 | ||
236 | retval = -EINVAL; | ||
237 | len = PAGE_ALIGN(len); | 251 | len = PAGE_ALIGN(len); |
238 | if (ARCH_SUN4C_SUN4 && | ||
239 | (len > 0x20000000 || | ||
240 | ((flags & MAP_FIXED) && | ||
241 | addr < 0xe0000000 && addr + len > 0x20000000))) | ||
242 | goto out_putf; | ||
243 | |||
244 | /* See asm-sparc/uaccess.h */ | ||
245 | if (len > TASK_SIZE - PAGE_SIZE || addr + len > TASK_SIZE - PAGE_SIZE) | ||
246 | goto out_putf; | ||
247 | |||
248 | flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); | 252 | flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); |
249 | 253 | ||
250 | down_write(¤t->mm->mmap_sem); | 254 | down_write(¤t->mm->mmap_sem); |
251 | retval = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); | 255 | retval = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); |
252 | up_write(¤t->mm->mmap_sem); | 256 | up_write(¤t->mm->mmap_sem); |
253 | 257 | ||
254 | out_putf: | ||
255 | if (file) | 258 | if (file) |
256 | fput(file); | 259 | fput(file); |
257 | out: | 260 | out: |
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index 8a36ba8868d..8d8ca716f7a 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig | |||
@@ -34,6 +34,10 @@ config ARCH_MAY_HAVE_PC_FDC | |||
34 | bool | 34 | bool |
35 | default y | 35 | default y |
36 | 36 | ||
37 | config AUDIT_ARCH | ||
38 | bool | ||
39 | default y | ||
40 | |||
37 | choice | 41 | choice |
38 | prompt "Kernel page size" | 42 | prompt "Kernel page size" |
39 | default SPARC64_PAGE_SIZE_8KB | 43 | default SPARC64_PAGE_SIZE_8KB |
diff --git a/arch/sparc64/kernel/Makefile b/arch/sparc64/kernel/Makefile index 86c9fe3f3e4..e1eabebaed3 100644 --- a/arch/sparc64/kernel/Makefile +++ b/arch/sparc64/kernel/Makefile | |||
@@ -25,6 +25,9 @@ obj-$(CONFIG_MODULES) += module.o | |||
25 | obj-$(CONFIG_US3_FREQ) += us3_cpufreq.o | 25 | obj-$(CONFIG_US3_FREQ) += us3_cpufreq.o |
26 | obj-$(CONFIG_US2E_FREQ) += us2e_cpufreq.o | 26 | obj-$(CONFIG_US2E_FREQ) += us2e_cpufreq.o |
27 | obj-$(CONFIG_KPROBES) += kprobes.o | 27 | obj-$(CONFIG_KPROBES) += kprobes.o |
28 | obj-$(CONFIG_AUDIT) += audit.o | ||
29 | obj-$(CONFIG_AUDIT)$(CONFIG_SPARC32_COMPAT) += compat_audit.o | ||
30 | obj-y += $(obj-yy) | ||
28 | 31 | ||
29 | ifdef CONFIG_SUNOS_EMUL | 32 | ifdef CONFIG_SUNOS_EMUL |
30 | obj-y += sys_sunos32.o sunos_ioctl32.o | 33 | obj-y += sys_sunos32.o sunos_ioctl32.o |
diff --git a/arch/sparc64/kernel/audit.c b/arch/sparc64/kernel/audit.c new file mode 100644 index 00000000000..aef19cc2707 --- /dev/null +++ b/arch/sparc64/kernel/audit.c | |||
@@ -0,0 +1,66 @@ | |||
1 | #include <linux/init.h> | ||
2 | #include <linux/types.h> | ||
3 | #include <linux/audit.h> | ||
4 | #include <asm/unistd.h> | ||
5 | |||
6 | static unsigned dir_class[] = { | ||
7 | #include <asm-generic/audit_dir_write.h> | ||
8 | ~0U | ||
9 | }; | ||
10 | |||
11 | static unsigned read_class[] = { | ||
12 | #include <asm-generic/audit_read.h> | ||
13 | ~0U | ||
14 | }; | ||
15 | |||
16 | static unsigned write_class[] = { | ||
17 | #include <asm-generic/audit_write.h> | ||
18 | ~0U | ||
19 | }; | ||
20 | |||
21 | static unsigned chattr_class[] = { | ||
22 | #include <asm-generic/audit_change_attr.h> | ||
23 | ~0U | ||
24 | }; | ||
25 | |||
26 | int audit_classify_syscall(int abi, unsigned syscall) | ||
27 | { | ||
28 | #ifdef CONFIG_SPARC32_COMPAT | ||
29 | extern int sparc32_classify_syscall(unsigned); | ||
30 | if (abi == AUDIT_ARCH_SPARC) | ||
31 | return sparc32_classify_syscall(syscall); | ||
32 | #endif | ||
33 | switch(syscall) { | ||
34 | case __NR_open: | ||
35 | return 2; | ||
36 | case __NR_openat: | ||
37 | return 3; | ||
38 | case __NR_socketcall: | ||
39 | return 4; | ||
40 | case __NR_execve: | ||
41 | return 5; | ||
42 | default: | ||
43 | return 0; | ||
44 | } | ||
45 | } | ||
46 | |||
47 | static int __init audit_classes_init(void) | ||
48 | { | ||
49 | #ifdef CONFIG_SPARC32_COMPAT | ||
50 | extern __u32 sparc32_dir_class[]; | ||
51 | extern __u32 sparc32_write_class[]; | ||
52 | extern __u32 sparc32_read_class[]; | ||
53 | extern __u32 sparc32_chattr_class[]; | ||
54 | audit_register_class(AUDIT_CLASS_WRITE_32, sparc32_write_class); | ||
55 | audit_register_class(AUDIT_CLASS_READ_32, sparc32_read_class); | ||
56 | audit_register_class(AUDIT_CLASS_DIR_WRITE_32, sparc32_dir_class); | ||
57 | audit_register_class(AUDIT_CLASS_CHATTR_32, sparc32_chattr_class); | ||
58 | #endif | ||
59 | audit_register_class(AUDIT_CLASS_WRITE, write_class); | ||
60 | audit_register_class(AUDIT_CLASS_READ, read_class); | ||
61 | audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); | ||
62 | audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); | ||
63 | return 0; | ||
64 | } | ||
65 | |||
66 | __initcall(audit_classes_init); | ||
diff --git a/arch/sparc64/kernel/compat_audit.c b/arch/sparc64/kernel/compat_audit.c new file mode 100644 index 00000000000..cca96c91b78 --- /dev/null +++ b/arch/sparc64/kernel/compat_audit.c | |||
@@ -0,0 +1,37 @@ | |||
1 | #include <asm-sparc/unistd.h> | ||
2 | |||
3 | unsigned sparc32_dir_class[] = { | ||
4 | #include <asm-generic/audit_dir_write.h> | ||
5 | ~0U | ||
6 | }; | ||
7 | |||
8 | unsigned sparc32_chattr_class[] = { | ||
9 | #include <asm-generic/audit_change_attr.h> | ||
10 | ~0U | ||
11 | }; | ||
12 | |||
13 | unsigned sparc32_write_class[] = { | ||
14 | #include <asm-generic/audit_write.h> | ||
15 | ~0U | ||
16 | }; | ||
17 | |||
18 | unsigned sparc32_read_class[] = { | ||
19 | #include <asm-generic/audit_read.h> | ||
20 | ~0U | ||
21 | }; | ||
22 | |||
23 | int sparc32_classify_syscall(unsigned syscall) | ||
24 | { | ||
25 | switch(syscall) { | ||
26 | case __NR_open: | ||
27 | return 2; | ||
28 | case __NR_openat: | ||
29 | return 3; | ||
30 | case __NR_socketcall: | ||
31 | return 4; | ||
32 | case __NR_execve: | ||
33 | return 5; | ||
34 | default: | ||
35 | return 1; | ||
36 | } | ||
37 | } | ||
diff --git a/arch/sparc64/kernel/sys_sparc.c b/arch/sparc64/kernel/sys_sparc.c index 054d0abdb7e..bf5f14ee73d 100644 --- a/arch/sparc64/kernel/sys_sparc.c +++ b/arch/sparc64/kernel/sys_sparc.c | |||
@@ -548,6 +548,26 @@ asmlinkage long sparc64_personality(unsigned long personality) | |||
548 | return ret; | 548 | return ret; |
549 | } | 549 | } |
550 | 550 | ||
551 | int sparc64_mmap_check(unsigned long addr, unsigned long len, | ||
552 | unsigned long flags) | ||
553 | { | ||
554 | if (test_thread_flag(TIF_32BIT)) { | ||
555 | if (len >= STACK_TOP32) | ||
556 | return -EINVAL; | ||
557 | |||
558 | if ((flags & MAP_FIXED) && addr > STACK_TOP32 - len) | ||
559 | return -EINVAL; | ||
560 | } else { | ||
561 | if (len >= VA_EXCLUDE_START) | ||
562 | return -EINVAL; | ||
563 | |||
564 | if ((flags & MAP_FIXED) && invalid_64bit_range(addr, len)) | ||
565 | return -EINVAL; | ||
566 | } | ||
567 | |||
568 | return 0; | ||
569 | } | ||
570 | |||
551 | /* Linux version of mmap */ | 571 | /* Linux version of mmap */ |
552 | asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len, | 572 | asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len, |
553 | unsigned long prot, unsigned long flags, unsigned long fd, | 573 | unsigned long prot, unsigned long flags, unsigned long fd, |
@@ -563,27 +583,11 @@ asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len, | |||
563 | } | 583 | } |
564 | flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); | 584 | flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); |
565 | len = PAGE_ALIGN(len); | 585 | len = PAGE_ALIGN(len); |
566 | retval = -EINVAL; | ||
567 | |||
568 | if (test_thread_flag(TIF_32BIT)) { | ||
569 | if (len >= STACK_TOP32) | ||
570 | goto out_putf; | ||
571 | |||
572 | if ((flags & MAP_FIXED) && addr > STACK_TOP32 - len) | ||
573 | goto out_putf; | ||
574 | } else { | ||
575 | if (len >= VA_EXCLUDE_START) | ||
576 | goto out_putf; | ||
577 | |||
578 | if ((flags & MAP_FIXED) && invalid_64bit_range(addr, len)) | ||
579 | goto out_putf; | ||
580 | } | ||
581 | 586 | ||
582 | down_write(¤t->mm->mmap_sem); | 587 | down_write(¤t->mm->mmap_sem); |
583 | retval = do_mmap(file, addr, len, prot, flags, off); | 588 | retval = do_mmap(file, addr, len, prot, flags, off); |
584 | up_write(¤t->mm->mmap_sem); | 589 | up_write(¤t->mm->mmap_sem); |
585 | 590 | ||
586 | out_putf: | ||
587 | if (file) | 591 | if (file) |
588 | fput(file); | 592 | fput(file); |
589 | out: | 593 | out: |
diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig index 28df7d88ce2..6cd4878625f 100644 --- a/arch/x86_64/Kconfig +++ b/arch/x86_64/Kconfig | |||
@@ -85,6 +85,10 @@ config DMI | |||
85 | bool | 85 | bool |
86 | default y | 86 | default y |
87 | 87 | ||
88 | config AUDIT_ARCH | ||
89 | bool | ||
90 | default y | ||
91 | |||
88 | source "init/Kconfig" | 92 | source "init/Kconfig" |
89 | 93 | ||
90 | 94 | ||
diff --git a/arch/x86_64/ia32/audit.c b/arch/x86_64/ia32/audit.c index ab94f2e58cd..92d7d0c8d93 100644 --- a/arch/x86_64/ia32/audit.c +++ b/arch/x86_64/ia32/audit.c | |||
@@ -9,3 +9,29 @@ unsigned ia32_chattr_class[] = { | |||
9 | #include <asm-generic/audit_change_attr.h> | 9 | #include <asm-generic/audit_change_attr.h> |
10 | ~0U | 10 | ~0U |
11 | }; | 11 | }; |
12 | |||
13 | unsigned ia32_write_class[] = { | ||
14 | #include <asm-generic/audit_write.h> | ||
15 | ~0U | ||
16 | }; | ||
17 | |||
18 | unsigned ia32_read_class[] = { | ||
19 | #include <asm-generic/audit_read.h> | ||
20 | ~0U | ||
21 | }; | ||
22 | |||
23 | int ia32_classify_syscall(unsigned syscall) | ||
24 | { | ||
25 | switch(syscall) { | ||
26 | case __NR_open: | ||
27 | return 2; | ||
28 | case __NR_openat: | ||
29 | return 3; | ||
30 | case __NR_socketcall: | ||
31 | return 4; | ||
32 | case __NR_execve: | ||
33 | return 5; | ||
34 | default: | ||
35 | return 1; | ||
36 | } | ||
37 | } | ||
diff --git a/arch/x86_64/kernel/audit.c b/arch/x86_64/kernel/audit.c index a067aa468a8..21f33387bef 100644 --- a/arch/x86_64/kernel/audit.c +++ b/arch/x86_64/kernel/audit.c | |||
@@ -8,19 +8,54 @@ static unsigned dir_class[] = { | |||
8 | ~0U | 8 | ~0U |
9 | }; | 9 | }; |
10 | 10 | ||
11 | static unsigned read_class[] = { | ||
12 | #include <asm-generic/audit_read.h> | ||
13 | ~0U | ||
14 | }; | ||
15 | |||
16 | static unsigned write_class[] = { | ||
17 | #include <asm-generic/audit_write.h> | ||
18 | ~0U | ||
19 | }; | ||
20 | |||
11 | static unsigned chattr_class[] = { | 21 | static unsigned chattr_class[] = { |
12 | #include <asm-generic/audit_change_attr.h> | 22 | #include <asm-generic/audit_change_attr.h> |
13 | ~0U | 23 | ~0U |
14 | }; | 24 | }; |
15 | 25 | ||
26 | int audit_classify_syscall(int abi, unsigned syscall) | ||
27 | { | ||
28 | #ifdef CONFIG_IA32_EMULATION | ||
29 | extern int ia32_classify_syscall(unsigned); | ||
30 | if (abi == AUDIT_ARCH_I386) | ||
31 | return ia32_classify_syscall(syscall); | ||
32 | #endif | ||
33 | switch(syscall) { | ||
34 | case __NR_open: | ||
35 | return 2; | ||
36 | case __NR_openat: | ||
37 | return 3; | ||
38 | case __NR_execve: | ||
39 | return 5; | ||
40 | default: | ||
41 | return 0; | ||
42 | } | ||
43 | } | ||
44 | |||
16 | static int __init audit_classes_init(void) | 45 | static int __init audit_classes_init(void) |
17 | { | 46 | { |
18 | #ifdef CONFIG_IA32_EMULATION | 47 | #ifdef CONFIG_IA32_EMULATION |
19 | extern __u32 ia32_dir_class[]; | 48 | extern __u32 ia32_dir_class[]; |
49 | extern __u32 ia32_write_class[]; | ||
50 | extern __u32 ia32_read_class[]; | ||
20 | extern __u32 ia32_chattr_class[]; | 51 | extern __u32 ia32_chattr_class[]; |
52 | audit_register_class(AUDIT_CLASS_WRITE_32, ia32_write_class); | ||
53 | audit_register_class(AUDIT_CLASS_READ_32, ia32_read_class); | ||
21 | audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ia32_dir_class); | 54 | audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ia32_dir_class); |
22 | audit_register_class(AUDIT_CLASS_CHATTR_32, ia32_chattr_class); | 55 | audit_register_class(AUDIT_CLASS_CHATTR_32, ia32_chattr_class); |
23 | #endif | 56 | #endif |
57 | audit_register_class(AUDIT_CLASS_WRITE, write_class); | ||
58 | audit_register_class(AUDIT_CLASS_READ, read_class); | ||
24 | audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); | 59 | audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); |
25 | audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); | 60 | audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); |
26 | return 0; | 61 | return 0; |
diff --git a/arch/xtensa/kernel/ptrace.c b/arch/xtensa/kernel/ptrace.c index 5064d938396..9aea23cc0dc 100644 --- a/arch/xtensa/kernel/ptrace.c +++ b/arch/xtensa/kernel/ptrace.c | |||
@@ -212,7 +212,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
212 | */ | 212 | */ |
213 | case PTRACE_KILL: | 213 | case PTRACE_KILL: |
214 | ret = 0; | 214 | ret = 0; |
215 | if (child->state == EXIT_ZOMBIE) /* already dead */ | 215 | if (child->exit_state == EXIT_ZOMBIE) /* already dead */ |
216 | break; | 216 | break; |
217 | child->exit_code = SIGKILL; | 217 | child->exit_code = SIGKILL; |
218 | child->ptrace &= ~PT_SINGLESTEP; | 218 | child->ptrace &= ~PT_SINGLESTEP; |
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 7b0eca703a6..2cd3391ff87 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c | |||
@@ -48,14 +48,14 @@ | |||
48 | #include <linux/completion.h> | 48 | #include <linux/completion.h> |
49 | 49 | ||
50 | #define CCISS_DRIVER_VERSION(maj,min,submin) ((maj<<16)|(min<<8)|(submin)) | 50 | #define CCISS_DRIVER_VERSION(maj,min,submin) ((maj<<16)|(min<<8)|(submin)) |
51 | #define DRIVER_NAME "HP CISS Driver (v 2.6.10)" | 51 | #define DRIVER_NAME "HP CISS Driver (v 3.6.10)" |
52 | #define DRIVER_VERSION CCISS_DRIVER_VERSION(2,6,10) | 52 | #define DRIVER_VERSION CCISS_DRIVER_VERSION(3,6,10) |
53 | 53 | ||
54 | /* Embedded module documentation macros - see modules.h */ | 54 | /* Embedded module documentation macros - see modules.h */ |
55 | MODULE_AUTHOR("Hewlett-Packard Company"); | 55 | MODULE_AUTHOR("Hewlett-Packard Company"); |
56 | MODULE_DESCRIPTION("Driver for HP Controller SA5xxx SA6xxx version 2.6.10"); | 56 | MODULE_DESCRIPTION("Driver for HP Controller SA5xxx SA6xxx version 3.6.10"); |
57 | MODULE_SUPPORTED_DEVICE("HP SA5i SA5i+ SA532 SA5300 SA5312 SA641 SA642 SA6400" | 57 | MODULE_SUPPORTED_DEVICE("HP SA5i SA5i+ SA532 SA5300 SA5312 SA641 SA642 SA6400" |
58 | " SA6i P600 P800 P400 P400i E200 E200i"); | 58 | " SA6i P600 P800 P400 P400i E200 E200i E500"); |
59 | MODULE_LICENSE("GPL"); | 59 | MODULE_LICENSE("GPL"); |
60 | 60 | ||
61 | #include "cciss_cmd.h" | 61 | #include "cciss_cmd.h" |
@@ -82,6 +82,7 @@ static const struct pci_device_id cciss_pci_device_id[] = { | |||
82 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSD, 0x103C, 0x3213}, | 82 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSD, 0x103C, 0x3213}, |
83 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSD, 0x103C, 0x3214}, | 83 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSD, 0x103C, 0x3214}, |
84 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSD, 0x103C, 0x3215}, | 84 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSD, 0x103C, 0x3215}, |
85 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3233}, | ||
85 | {0,} | 86 | {0,} |
86 | }; | 87 | }; |
87 | 88 | ||
@@ -110,6 +111,7 @@ static struct board_type products[] = { | |||
110 | {0x3213103C, "Smart Array E200i", &SA5_access}, | 111 | {0x3213103C, "Smart Array E200i", &SA5_access}, |
111 | {0x3214103C, "Smart Array E200i", &SA5_access}, | 112 | {0x3214103C, "Smart Array E200i", &SA5_access}, |
112 | {0x3215103C, "Smart Array E200i", &SA5_access}, | 113 | {0x3215103C, "Smart Array E200i", &SA5_access}, |
114 | {0x3233103C, "Smart Array E500", &SA5_access}, | ||
113 | }; | 115 | }; |
114 | 116 | ||
115 | /* How long to wait (in milliseconds) for board to go into simple mode */ | 117 | /* How long to wait (in milliseconds) for board to go into simple mode */ |
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c index 5109fa37c66..ad1d7065a1b 100644 --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c | |||
@@ -4177,6 +4177,11 @@ static int __init floppy_init(void) | |||
4177 | int i, unit, drive; | 4177 | int i, unit, drive; |
4178 | int err, dr; | 4178 | int err, dr; |
4179 | 4179 | ||
4180 | #if defined(CONFIG_PPC_MERGE) | ||
4181 | if (check_legacy_ioport(FDC1)) | ||
4182 | return -ENODEV; | ||
4183 | #endif | ||
4184 | |||
4180 | raw_cmd = NULL; | 4185 | raw_cmd = NULL; |
4181 | 4186 | ||
4182 | for (dr = 0; dr < N_DRIVE; dr++) { | 4187 | for (dr = 0; dr < N_DRIVE; dr++) { |
@@ -4234,13 +4239,6 @@ static int __init floppy_init(void) | |||
4234 | } | 4239 | } |
4235 | 4240 | ||
4236 | use_virtual_dma = can_use_virtual_dma & 1; | 4241 | use_virtual_dma = can_use_virtual_dma & 1; |
4237 | #if defined(CONFIG_PPC_MERGE) | ||
4238 | if (check_legacy_ioport(FDC1)) { | ||
4239 | del_timer(&fd_timeout); | ||
4240 | err = -ENODEV; | ||
4241 | goto out_unreg_region; | ||
4242 | } | ||
4243 | #endif | ||
4244 | fdc_state[0].address = FDC1; | 4242 | fdc_state[0].address = FDC1; |
4245 | if (fdc_state[0].address == -1) { | 4243 | if (fdc_state[0].address == -1) { |
4246 | del_timer(&fd_timeout); | 4244 | del_timer(&fd_timeout); |
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c index 0aa5d608fe6..843d34c8627 100644 --- a/drivers/char/ipmi/ipmi_msghandler.c +++ b/drivers/char/ipmi/ipmi_msghandler.c | |||
@@ -3428,6 +3428,7 @@ struct ipmi_recv_msg *ipmi_alloc_recv_msg(void) | |||
3428 | 3428 | ||
3429 | rv = kmalloc(sizeof(struct ipmi_recv_msg), GFP_ATOMIC); | 3429 | rv = kmalloc(sizeof(struct ipmi_recv_msg), GFP_ATOMIC); |
3430 | if (rv) { | 3430 | if (rv) { |
3431 | rv->user = NULL; | ||
3431 | rv->done = free_recv_msg; | 3432 | rv->done = free_recv_msg; |
3432 | atomic_inc(&recv_msg_inuse_count); | 3433 | atomic_inc(&recv_msg_inuse_count); |
3433 | } | 3434 | } |
diff --git a/drivers/char/synclink_gt.c b/drivers/char/synclink_gt.c index b2dbbdb1bf8..2f07b085536 100644 --- a/drivers/char/synclink_gt.c +++ b/drivers/char/synclink_gt.c | |||
@@ -391,8 +391,8 @@ static MGSL_PARAMS default_params = { | |||
391 | #define DESC_LIST_SIZE 4096 | 391 | #define DESC_LIST_SIZE 4096 |
392 | 392 | ||
393 | #define MASK_PARITY BIT1 | 393 | #define MASK_PARITY BIT1 |
394 | #define MASK_FRAMING BIT2 | 394 | #define MASK_FRAMING BIT0 |
395 | #define MASK_BREAK BIT3 | 395 | #define MASK_BREAK BIT14 |
396 | #define MASK_OVERRUN BIT4 | 396 | #define MASK_OVERRUN BIT4 |
397 | 397 | ||
398 | #define GSR 0x00 /* global status */ | 398 | #define GSR 0x00 /* global status */ |
@@ -1800,17 +1800,17 @@ static void rx_async(struct slgt_info *info) | |||
1800 | 1800 | ||
1801 | stat = 0; | 1801 | stat = 0; |
1802 | 1802 | ||
1803 | if ((status = *(p+1) & (BIT9 + BIT8))) { | 1803 | if ((status = *(p+1) & (BIT1 + BIT0))) { |
1804 | if (status & BIT9) | 1804 | if (status & BIT1) |
1805 | icount->parity++; | 1805 | icount->parity++; |
1806 | else if (status & BIT8) | 1806 | else if (status & BIT0) |
1807 | icount->frame++; | 1807 | icount->frame++; |
1808 | /* discard char if tty control flags say so */ | 1808 | /* discard char if tty control flags say so */ |
1809 | if (status & info->ignore_status_mask) | 1809 | if (status & info->ignore_status_mask) |
1810 | continue; | 1810 | continue; |
1811 | if (status & BIT9) | 1811 | if (status & BIT1) |
1812 | stat = TTY_PARITY; | 1812 | stat = TTY_PARITY; |
1813 | else if (status & BIT8) | 1813 | else if (status & BIT0) |
1814 | stat = TTY_FRAME; | 1814 | stat = TTY_FRAME; |
1815 | } | 1815 | } |
1816 | if (tty) { | 1816 | if (tty) { |
diff --git a/drivers/char/watchdog/sbc8360.c b/drivers/char/watchdog/sbc8360.c index 1035be5b501..41fc6f80c49 100644 --- a/drivers/char/watchdog/sbc8360.c +++ b/drivers/char/watchdog/sbc8360.c | |||
@@ -200,7 +200,7 @@ static int wd_margin = 0xB; | |||
200 | static int wd_multiplier = 2; | 200 | static int wd_multiplier = 2; |
201 | static int nowayout = WATCHDOG_NOWAYOUT; | 201 | static int nowayout = WATCHDOG_NOWAYOUT; |
202 | 202 | ||
203 | module_param(timeout, int, 27); | 203 | module_param(timeout, int, 0); |
204 | MODULE_PARM_DESC(timeout, "Index into timeout table (0-63) (default=27 (60s))"); | 204 | MODULE_PARM_DESC(timeout, "Index into timeout table (0-63) (default=27 (60s))"); |
205 | module_param(nowayout, int, 0); | 205 | module_param(nowayout, int, 0); |
206 | MODULE_PARM_DESC(nowayout, | 206 | MODULE_PARM_DESC(nowayout, |
@@ -407,7 +407,7 @@ module_exit(sbc8360_exit); | |||
407 | MODULE_AUTHOR("Ian E. Morgan <imorgan@webcon.ca>"); | 407 | MODULE_AUTHOR("Ian E. Morgan <imorgan@webcon.ca>"); |
408 | MODULE_DESCRIPTION("SBC8360 watchdog driver"); | 408 | MODULE_DESCRIPTION("SBC8360 watchdog driver"); |
409 | MODULE_LICENSE("GPL"); | 409 | MODULE_LICENSE("GPL"); |
410 | MODULE_VERSION("1.0"); | 410 | MODULE_VERSION("1.01"); |
411 | MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); | 411 | MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); |
412 | 412 | ||
413 | /* end of sbc8360.c */ | 413 | /* end of sbc8360.c */ |
diff --git a/drivers/ide/ide-proc.c b/drivers/ide/ide-proc.c index c12f1b71e93..41b74b13a00 100644 --- a/drivers/ide/ide-proc.c +++ b/drivers/ide/ide-proc.c | |||
@@ -376,6 +376,8 @@ static int proc_ide_read_media | |||
376 | break; | 376 | break; |
377 | case ide_floppy:media = "floppy\n"; | 377 | case ide_floppy:media = "floppy\n"; |
378 | break; | 378 | break; |
379 | case ide_optical:media = "optical\n"; | ||
380 | break; | ||
379 | default: media = "UNKNOWN\n"; | 381 | default: media = "UNKNOWN\n"; |
380 | break; | 382 | break; |
381 | } | 383 | } |
diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c index a7c725f8bf6..f286079d233 100644 --- a/drivers/ide/pci/aec62xx.c +++ b/drivers/ide/pci/aec62xx.c | |||
@@ -425,12 +425,12 @@ static int __devinit aec62xx_init_one(struct pci_dev *dev, const struct pci_devi | |||
425 | return d->init_setup(dev, d); | 425 | return d->init_setup(dev, d); |
426 | } | 426 | } |
427 | 427 | ||
428 | static const struct pci_device_id aec62xx_pci_tbl[] = { | 428 | static struct pci_device_id aec62xx_pci_tbl[] = { |
429 | { PCI_DEVICE(PCI_VENDOR_ID_ARTOP, PCI_DEVICE_ID_ARTOP_ATP850UF), 0 }, | 429 | { PCI_VENDOR_ID_ARTOP, PCI_DEVICE_ID_ARTOP_ATP850UF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, |
430 | { PCI_DEVICE(PCI_VENDOR_ID_ARTOP, PCI_DEVICE_ID_ARTOP_ATP860), 1 }, | 430 | { PCI_VENDOR_ID_ARTOP, PCI_DEVICE_ID_ARTOP_ATP860, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, |
431 | { PCI_DEVICE(PCI_VENDOR_ID_ARTOP, PCI_DEVICE_ID_ARTOP_ATP860R), 2 }, | 431 | { PCI_VENDOR_ID_ARTOP, PCI_DEVICE_ID_ARTOP_ATP860R, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2 }, |
432 | { PCI_DEVICE(PCI_VENDOR_ID_ARTOP, PCI_DEVICE_ID_ARTOP_ATP865), 3 }, | 432 | { PCI_VENDOR_ID_ARTOP, PCI_DEVICE_ID_ARTOP_ATP865, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3 }, |
433 | { PCI_DEVICE(PCI_VENDOR_ID_ARTOP, PCI_DEVICE_ID_ARTOP_ATP865R), 4 }, | 433 | { PCI_VENDOR_ID_ARTOP, PCI_DEVICE_ID_ARTOP_ATP865R, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, |
434 | { 0, }, | 434 | { 0, }, |
435 | }; | 435 | }; |
436 | MODULE_DEVICE_TABLE(pci, aec62xx_pci_tbl); | 436 | MODULE_DEVICE_TABLE(pci, aec62xx_pci_tbl); |
diff --git a/drivers/ide/pci/alim15x3.c b/drivers/ide/pci/alim15x3.c index 351dab2fcac..d419e4bb54f 100644 --- a/drivers/ide/pci/alim15x3.c +++ b/drivers/ide/pci/alim15x3.c | |||
@@ -730,7 +730,7 @@ static unsigned int __devinit ata66_ali15x3 (ide_hwif_t *hwif) | |||
730 | 730 | ||
731 | if(m5229_revision <= 0x20) | 731 | if(m5229_revision <= 0x20) |
732 | tmpbyte = (tmpbyte & (~0x02)) | 0x01; | 732 | tmpbyte = (tmpbyte & (~0x02)) | 0x01; |
733 | else if (m5229_revision == 0xc7) | 733 | else if (m5229_revision == 0xc7 || m5229_revision == 0xc8) |
734 | tmpbyte |= 0x03; | 734 | tmpbyte |= 0x03; |
735 | else | 735 | else |
736 | tmpbyte |= 0x01; | 736 | tmpbyte |= 0x01; |
diff --git a/drivers/ide/pci/serverworks.c b/drivers/ide/pci/serverworks.c index 03677bff0d7..f063d954236 100644 --- a/drivers/ide/pci/serverworks.c +++ b/drivers/ide/pci/serverworks.c | |||
@@ -649,11 +649,11 @@ static int __devinit svwks_init_one(struct pci_dev *dev, const struct pci_device | |||
649 | } | 649 | } |
650 | 650 | ||
651 | static struct pci_device_id svwks_pci_tbl[] = { | 651 | static struct pci_device_id svwks_pci_tbl[] = { |
652 | { PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_OSB4IDE), 0}, | 652 | { PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_OSB4IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
653 | { PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB5IDE), 1}, | 653 | { PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB5IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, |
654 | { PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB6IDE), 2}, | 654 | { PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB6IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, |
655 | { PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2), 3}, | 655 | { PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3}, |
656 | { PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_HT1000IDE), 4}, | 656 | { PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_HT1000IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4}, |
657 | { 0, }, | 657 | { 0, }, |
658 | }; | 658 | }; |
659 | MODULE_DEVICE_TABLE(pci, svwks_pci_tbl); | 659 | MODULE_DEVICE_TABLE(pci, svwks_pci_tbl); |
diff --git a/drivers/ide/pci/sgiioc4.c b/drivers/ide/pci/sgiioc4.c index e125032bb40..d8a0d87df73 100644 --- a/drivers/ide/pci/sgiioc4.c +++ b/drivers/ide/pci/sgiioc4.c | |||
@@ -367,12 +367,13 @@ sgiioc4_INB(unsigned long port) | |||
367 | static void __devinit | 367 | static void __devinit |
368 | ide_dma_sgiioc4(ide_hwif_t * hwif, unsigned long dma_base) | 368 | ide_dma_sgiioc4(ide_hwif_t * hwif, unsigned long dma_base) |
369 | { | 369 | { |
370 | void __iomem *virt_dma_base; | ||
370 | int num_ports = sizeof (ioc4_dma_regs_t); | 371 | int num_ports = sizeof (ioc4_dma_regs_t); |
371 | 372 | ||
372 | printk(KERN_INFO "%s: BM-DMA at 0x%04lx-0x%04lx\n", hwif->name, | 373 | printk(KERN_INFO "%s: BM-DMA at 0x%04lx-0x%04lx\n", hwif->name, |
373 | dma_base, dma_base + num_ports - 1); | 374 | dma_base, dma_base + num_ports - 1); |
374 | 375 | ||
375 | if (!request_region(dma_base, num_ports, hwif->name)) { | 376 | if (!request_mem_region(dma_base, num_ports, hwif->name)) { |
376 | printk(KERN_ERR | 377 | printk(KERN_ERR |
377 | "%s(%s) -- ERROR, Addresses 0x%p to 0x%p " | 378 | "%s(%s) -- ERROR, Addresses 0x%p to 0x%p " |
378 | "ALREADY in use\n", | 379 | "ALREADY in use\n", |
@@ -381,13 +382,21 @@ ide_dma_sgiioc4(ide_hwif_t * hwif, unsigned long dma_base) | |||
381 | goto dma_alloc_failure; | 382 | goto dma_alloc_failure; |
382 | } | 383 | } |
383 | 384 | ||
384 | hwif->dma_base = dma_base; | 385 | virt_dma_base = ioremap(dma_base, num_ports); |
386 | if (virt_dma_base == NULL) { | ||
387 | printk(KERN_ERR | ||
388 | "%s(%s) -- ERROR, Unable to map addresses 0x%lx to 0x%lx\n", | ||
389 | __FUNCTION__, hwif->name, dma_base, dma_base + num_ports - 1); | ||
390 | goto dma_remap_failure; | ||
391 | } | ||
392 | hwif->dma_base = (unsigned long) virt_dma_base; | ||
393 | |||
385 | hwif->dmatable_cpu = pci_alloc_consistent(hwif->pci_dev, | 394 | hwif->dmatable_cpu = pci_alloc_consistent(hwif->pci_dev, |
386 | IOC4_PRD_ENTRIES * IOC4_PRD_BYTES, | 395 | IOC4_PRD_ENTRIES * IOC4_PRD_BYTES, |
387 | &hwif->dmatable_dma); | 396 | &hwif->dmatable_dma); |
388 | 397 | ||
389 | if (!hwif->dmatable_cpu) | 398 | if (!hwif->dmatable_cpu) |
390 | goto dma_alloc_failure; | 399 | goto dma_pci_alloc_failure; |
391 | 400 | ||
392 | hwif->sg_max_nents = IOC4_PRD_ENTRIES; | 401 | hwif->sg_max_nents = IOC4_PRD_ENTRIES; |
393 | 402 | ||
@@ -411,6 +420,12 @@ dma_base2alloc_failure: | |||
411 | printk(KERN_INFO | 420 | printk(KERN_INFO |
412 | "Changing from DMA to PIO mode for Drive %s\n", hwif->name); | 421 | "Changing from DMA to PIO mode for Drive %s\n", hwif->name); |
413 | 422 | ||
423 | dma_pci_alloc_failure: | ||
424 | iounmap(virt_dma_base); | ||
425 | |||
426 | dma_remap_failure: | ||
427 | release_mem_region(dma_base, num_ports); | ||
428 | |||
414 | dma_alloc_failure: | 429 | dma_alloc_failure: |
415 | /* Disable DMA because we couldnot allocate any DMA maps */ | 430 | /* Disable DMA because we couldnot allocate any DMA maps */ |
416 | hwif->autodma = 0; | 431 | hwif->autodma = 0; |
@@ -607,18 +622,15 @@ ide_init_sgiioc4(ide_hwif_t * hwif) | |||
607 | hwif->ide_dma_lostirq = &sgiioc4_ide_dma_lostirq; | 622 | hwif->ide_dma_lostirq = &sgiioc4_ide_dma_lostirq; |
608 | hwif->ide_dma_timeout = &__ide_dma_timeout; | 623 | hwif->ide_dma_timeout = &__ide_dma_timeout; |
609 | 624 | ||
610 | /* | ||
611 | * The IOC4 uses MMIO rather than Port IO. | ||
612 | * It also needs special workarounds for INB. | ||
613 | */ | ||
614 | default_hwif_mmiops(hwif); | ||
615 | hwif->INB = &sgiioc4_INB; | 625 | hwif->INB = &sgiioc4_INB; |
616 | } | 626 | } |
617 | 627 | ||
618 | static int __devinit | 628 | static int __devinit |
619 | sgiioc4_ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t * d) | 629 | sgiioc4_ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t * d) |
620 | { | 630 | { |
621 | unsigned long base, ctl, dma_base, irqport; | 631 | unsigned long cmd_base, dma_base, irqport; |
632 | unsigned long bar0, cmd_phys_base, ctl; | ||
633 | void __iomem *virt_base; | ||
622 | ide_hwif_t *hwif; | 634 | ide_hwif_t *hwif; |
623 | int h; | 635 | int h; |
624 | 636 | ||
@@ -636,23 +648,32 @@ sgiioc4_ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t * d) | |||
636 | } | 648 | } |
637 | 649 | ||
638 | /* Get the CmdBlk and CtrlBlk Base Registers */ | 650 | /* Get the CmdBlk and CtrlBlk Base Registers */ |
639 | base = pci_resource_start(dev, 0) + IOC4_CMD_OFFSET; | 651 | bar0 = pci_resource_start(dev, 0); |
640 | ctl = pci_resource_start(dev, 0) + IOC4_CTRL_OFFSET; | 652 | virt_base = ioremap(bar0, pci_resource_len(dev, 0)); |
641 | irqport = pci_resource_start(dev, 0) + IOC4_INTR_OFFSET; | 653 | if (virt_base == NULL) { |
654 | printk(KERN_ERR "%s: Unable to remap BAR 0 address: 0x%lx\n", | ||
655 | d->name, bar0); | ||
656 | return -ENOMEM; | ||
657 | } | ||
658 | cmd_base = (unsigned long) virt_base + IOC4_CMD_OFFSET; | ||
659 | ctl = (unsigned long) virt_base + IOC4_CTRL_OFFSET; | ||
660 | irqport = (unsigned long) virt_base + IOC4_INTR_OFFSET; | ||
642 | dma_base = pci_resource_start(dev, 0) + IOC4_DMA_OFFSET; | 661 | dma_base = pci_resource_start(dev, 0) + IOC4_DMA_OFFSET; |
643 | 662 | ||
644 | if (!request_region(base, IOC4_CMD_CTL_BLK_SIZE, hwif->name)) { | 663 | cmd_phys_base = bar0 + IOC4_CMD_OFFSET; |
664 | if (!request_mem_region(cmd_phys_base, IOC4_CMD_CTL_BLK_SIZE, | ||
665 | hwif->name)) { | ||
645 | printk(KERN_ERR | 666 | printk(KERN_ERR |
646 | "%s : %s -- ERROR, Port Addresses " | 667 | "%s : %s -- ERROR, Addresses " |
647 | "0x%p to 0x%p ALREADY in use\n", | 668 | "0x%p to 0x%p ALREADY in use\n", |
648 | __FUNCTION__, hwif->name, (void *) base, | 669 | __FUNCTION__, hwif->name, (void *) cmd_phys_base, |
649 | (void *) base + IOC4_CMD_CTL_BLK_SIZE); | 670 | (void *) cmd_phys_base + IOC4_CMD_CTL_BLK_SIZE); |
650 | return -ENOMEM; | 671 | return -ENOMEM; |
651 | } | 672 | } |
652 | 673 | ||
653 | if (hwif->io_ports[IDE_DATA_OFFSET] != base) { | 674 | if (hwif->io_ports[IDE_DATA_OFFSET] != cmd_base) { |
654 | /* Initialize the IO registers */ | 675 | /* Initialize the IO registers */ |
655 | sgiioc4_init_hwif_ports(&hwif->hw, base, ctl, irqport); | 676 | sgiioc4_init_hwif_ports(&hwif->hw, cmd_base, ctl, irqport); |
656 | memcpy(hwif->io_ports, hwif->hw.io_ports, | 677 | memcpy(hwif->io_ports, hwif->hw.io_ports, |
657 | sizeof (hwif->io_ports)); | 678 | sizeof (hwif->io_ports)); |
658 | hwif->noprobe = !hwif->io_ports[IDE_DATA_OFFSET]; | 679 | hwif->noprobe = !hwif->io_ports[IDE_DATA_OFFSET]; |
@@ -665,6 +686,9 @@ sgiioc4_ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t * d) | |||
665 | hwif->cds = (struct ide_pci_device_s *) d; | 686 | hwif->cds = (struct ide_pci_device_s *) d; |
666 | hwif->gendev.parent = &dev->dev;/* setup proper ancestral information */ | 687 | hwif->gendev.parent = &dev->dev;/* setup proper ancestral information */ |
667 | 688 | ||
689 | /* The IOC4 uses MMIO rather than Port IO. */ | ||
690 | default_hwif_mmiops(hwif); | ||
691 | |||
668 | /* Initializing chipset IRQ Registers */ | 692 | /* Initializing chipset IRQ Registers */ |
669 | hwif->OUTL(0x03, irqport + IOC4_INTR_SET * 4); | 693 | hwif->OUTL(0x03, irqport + IOC4_INTR_SET * 4); |
670 | 694 | ||
diff --git a/drivers/ide/pci/siimage.c b/drivers/ide/pci/siimage.c index 25ceb4a39ed..20b392948f3 100644 --- a/drivers/ide/pci/siimage.c +++ b/drivers/ide/pci/siimage.c | |||
@@ -1082,10 +1082,10 @@ static int __devinit siimage_init_one(struct pci_dev *dev, const struct pci_devi | |||
1082 | } | 1082 | } |
1083 | 1083 | ||
1084 | static struct pci_device_id siimage_pci_tbl[] = { | 1084 | static struct pci_device_id siimage_pci_tbl[] = { |
1085 | { PCI_DEVICE(PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_680), 0}, | 1085 | { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
1086 | #ifdef CONFIG_BLK_DEV_IDE_SATA | 1086 | #ifdef CONFIG_BLK_DEV_IDE_SATA |
1087 | { PCI_DEVICE(PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_3112), 1}, | 1087 | { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, |
1088 | { PCI_DEVICE(PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_1210SA), 2}, | 1088 | { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_1210SA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, |
1089 | #endif | 1089 | #endif |
1090 | { 0, }, | 1090 | { 0, }, |
1091 | }; | 1091 | }; |
diff --git a/drivers/ide/pci/sis5513.c b/drivers/ide/pci/sis5513.c index 8a6c23ac8cc..f03196c5db3 100644 --- a/drivers/ide/pci/sis5513.c +++ b/drivers/ide/pci/sis5513.c | |||
@@ -86,6 +86,8 @@ static const struct { | |||
86 | u8 chipset_family; | 86 | u8 chipset_family; |
87 | u8 flags; | 87 | u8 flags; |
88 | } SiSHostChipInfo[] = { | 88 | } SiSHostChipInfo[] = { |
89 | { "SiS968", PCI_DEVICE_ID_SI_968, ATA_133 }, | ||
90 | { "SiS966", PCI_DEVICE_ID_SI_966, ATA_133 }, | ||
89 | { "SiS965", PCI_DEVICE_ID_SI_965, ATA_133 }, | 91 | { "SiS965", PCI_DEVICE_ID_SI_965, ATA_133 }, |
90 | { "SiS745", PCI_DEVICE_ID_SI_745, ATA_100 }, | 92 | { "SiS745", PCI_DEVICE_ID_SI_745, ATA_100 }, |
91 | { "SiS735", PCI_DEVICE_ID_SI_735, ATA_100 }, | 93 | { "SiS735", PCI_DEVICE_ID_SI_735, ATA_100 }, |
diff --git a/drivers/infiniband/hw/mthca/mthca_allocator.c b/drivers/infiniband/hw/mthca/mthca_allocator.c index 25157f57a6d..f930e55b58f 100644 --- a/drivers/infiniband/hw/mthca/mthca_allocator.c +++ b/drivers/infiniband/hw/mthca/mthca_allocator.c | |||
@@ -41,9 +41,11 @@ | |||
41 | /* Trivial bitmap-based allocator */ | 41 | /* Trivial bitmap-based allocator */ |
42 | u32 mthca_alloc(struct mthca_alloc *alloc) | 42 | u32 mthca_alloc(struct mthca_alloc *alloc) |
43 | { | 43 | { |
44 | unsigned long flags; | ||
44 | u32 obj; | 45 | u32 obj; |
45 | 46 | ||
46 | spin_lock(&alloc->lock); | 47 | spin_lock_irqsave(&alloc->lock, flags); |
48 | |||
47 | obj = find_next_zero_bit(alloc->table, alloc->max, alloc->last); | 49 | obj = find_next_zero_bit(alloc->table, alloc->max, alloc->last); |
48 | if (obj >= alloc->max) { | 50 | if (obj >= alloc->max) { |
49 | alloc->top = (alloc->top + alloc->max) & alloc->mask; | 51 | alloc->top = (alloc->top + alloc->max) & alloc->mask; |
@@ -56,19 +58,24 @@ u32 mthca_alloc(struct mthca_alloc *alloc) | |||
56 | } else | 58 | } else |
57 | obj = -1; | 59 | obj = -1; |
58 | 60 | ||
59 | spin_unlock(&alloc->lock); | 61 | spin_unlock_irqrestore(&alloc->lock, flags); |
60 | 62 | ||
61 | return obj; | 63 | return obj; |
62 | } | 64 | } |
63 | 65 | ||
64 | void mthca_free(struct mthca_alloc *alloc, u32 obj) | 66 | void mthca_free(struct mthca_alloc *alloc, u32 obj) |
65 | { | 67 | { |
68 | unsigned long flags; | ||
69 | |||
66 | obj &= alloc->max - 1; | 70 | obj &= alloc->max - 1; |
67 | spin_lock(&alloc->lock); | 71 | |
72 | spin_lock_irqsave(&alloc->lock, flags); | ||
73 | |||
68 | clear_bit(obj, alloc->table); | 74 | clear_bit(obj, alloc->table); |
69 | alloc->last = min(alloc->last, obj); | 75 | alloc->last = min(alloc->last, obj); |
70 | alloc->top = (alloc->top + alloc->max) & alloc->mask; | 76 | alloc->top = (alloc->top + alloc->max) & alloc->mask; |
71 | spin_unlock(&alloc->lock); | 77 | |
78 | spin_unlock_irqrestore(&alloc->lock, flags); | ||
72 | } | 79 | } |
73 | 80 | ||
74 | int mthca_alloc_init(struct mthca_alloc *alloc, u32 num, u32 mask, | 81 | int mthca_alloc_init(struct mthca_alloc *alloc, u32 num, u32 mask, |
diff --git a/drivers/macintosh/via-pmu-backlight.c b/drivers/macintosh/via-pmu-backlight.c index d3f8d75bcbb..a82f313d9dc 100644 --- a/drivers/macintosh/via-pmu-backlight.c +++ b/drivers/macintosh/via-pmu-backlight.c | |||
@@ -18,17 +18,48 @@ | |||
18 | static struct backlight_properties pmu_backlight_data; | 18 | static struct backlight_properties pmu_backlight_data; |
19 | static spinlock_t pmu_backlight_lock; | 19 | static spinlock_t pmu_backlight_lock; |
20 | static int sleeping; | 20 | static int sleeping; |
21 | static u8 bl_curve[FB_BACKLIGHT_LEVELS]; | ||
21 | 22 | ||
22 | static int pmu_backlight_get_level_brightness(struct fb_info *info, | 23 | static void pmu_backlight_init_curve(u8 off, u8 min, u8 max) |
23 | int level) | 24 | { |
25 | unsigned int i, flat, count, range = (max - min); | ||
26 | |||
27 | bl_curve[0] = off; | ||
28 | |||
29 | for (flat = 1; flat < (FB_BACKLIGHT_LEVELS / 16); ++flat) | ||
30 | bl_curve[flat] = min; | ||
31 | |||
32 | count = FB_BACKLIGHT_LEVELS * 15 / 16; | ||
33 | for (i = 0; i < count; ++i) | ||
34 | bl_curve[flat + i] = min + (range * (i + 1) / count); | ||
35 | } | ||
36 | |||
37 | static int pmu_backlight_curve_lookup(int value) | ||
38 | { | ||
39 | int level = (FB_BACKLIGHT_LEVELS - 1); | ||
40 | int i, max = 0; | ||
41 | |||
42 | /* Look for biggest value */ | ||
43 | for (i = 0; i < FB_BACKLIGHT_LEVELS; i++) | ||
44 | max = max((int)bl_curve[i], max); | ||
45 | |||
46 | /* Look for nearest value */ | ||
47 | for (i = 0; i < FB_BACKLIGHT_LEVELS; i++) { | ||
48 | int diff = abs(bl_curve[i] - value); | ||
49 | if (diff < max) { | ||
50 | max = diff; | ||
51 | level = i; | ||
52 | } | ||
53 | } | ||
54 | return level; | ||
55 | } | ||
56 | |||
57 | static int pmu_backlight_get_level_brightness(int level) | ||
24 | { | 58 | { |
25 | int pmulevel; | 59 | int pmulevel; |
26 | 60 | ||
27 | /* Get and convert the value */ | 61 | /* Get and convert the value */ |
28 | mutex_lock(&info->bl_mutex); | 62 | pmulevel = bl_curve[level] * FB_BACKLIGHT_MAX / MAX_PMU_LEVEL; |
29 | pmulevel = info->bl_curve[level] * FB_BACKLIGHT_MAX / MAX_PMU_LEVEL; | ||
30 | mutex_unlock(&info->bl_mutex); | ||
31 | |||
32 | if (pmulevel < 0) | 63 | if (pmulevel < 0) |
33 | pmulevel = 0; | 64 | pmulevel = 0; |
34 | else if (pmulevel > MAX_PMU_LEVEL) | 65 | else if (pmulevel > MAX_PMU_LEVEL) |
@@ -39,7 +70,6 @@ static int pmu_backlight_get_level_brightness(struct fb_info *info, | |||
39 | 70 | ||
40 | static int pmu_backlight_update_status(struct backlight_device *bd) | 71 | static int pmu_backlight_update_status(struct backlight_device *bd) |
41 | { | 72 | { |
42 | struct fb_info *info = class_get_devdata(&bd->class_dev); | ||
43 | struct adb_request req; | 73 | struct adb_request req; |
44 | unsigned long flags; | 74 | unsigned long flags; |
45 | int level = bd->props->brightness; | 75 | int level = bd->props->brightness; |
@@ -55,7 +85,7 @@ static int pmu_backlight_update_status(struct backlight_device *bd) | |||
55 | level = 0; | 85 | level = 0; |
56 | 86 | ||
57 | if (level > 0) { | 87 | if (level > 0) { |
58 | int pmulevel = pmu_backlight_get_level_brightness(info, level); | 88 | int pmulevel = pmu_backlight_get_level_brightness(level); |
59 | 89 | ||
60 | pmu_request(&req, NULL, 2, PMU_BACKLIGHT_BRIGHT, pmulevel); | 90 | pmu_request(&req, NULL, 2, PMU_BACKLIGHT_BRIGHT, pmulevel); |
61 | pmu_wait_complete(&req); | 91 | pmu_wait_complete(&req); |
@@ -88,35 +118,19 @@ static struct backlight_properties pmu_backlight_data = { | |||
88 | }; | 118 | }; |
89 | 119 | ||
90 | #ifdef CONFIG_PM | 120 | #ifdef CONFIG_PM |
91 | static int pmu_backlight_sleep_call(struct pmu_sleep_notifier *self, int when) | 121 | void pmu_backlight_set_sleep(int sleep) |
92 | { | 122 | { |
93 | unsigned long flags; | 123 | unsigned long flags; |
94 | 124 | ||
95 | spin_lock_irqsave(&pmu_backlight_lock, flags); | 125 | spin_lock_irqsave(&pmu_backlight_lock, flags); |
96 | 126 | sleeping = sleep; | |
97 | switch (when) { | ||
98 | case PBOOK_SLEEP_REQUEST: | ||
99 | sleeping = 1; | ||
100 | break; | ||
101 | case PBOOK_WAKE: | ||
102 | sleeping = 0; | ||
103 | break; | ||
104 | } | ||
105 | |||
106 | spin_unlock_irqrestore(&pmu_backlight_lock, flags); | 127 | spin_unlock_irqrestore(&pmu_backlight_lock, flags); |
107 | |||
108 | return PBOOK_SLEEP_OK; | ||
109 | } | 128 | } |
110 | 129 | #endif /* CONFIG_PM */ | |
111 | static struct pmu_sleep_notifier pmu_backlight_sleep_notif = { | ||
112 | .notifier_call = pmu_backlight_sleep_call, | ||
113 | }; | ||
114 | #endif | ||
115 | 130 | ||
116 | void __init pmu_backlight_init() | 131 | void __init pmu_backlight_init() |
117 | { | 132 | { |
118 | struct backlight_device *bd; | 133 | struct backlight_device *bd; |
119 | struct fb_info *info; | ||
120 | char name[10]; | 134 | char name[10]; |
121 | int level, autosave; | 135 | int level, autosave; |
122 | 136 | ||
@@ -131,27 +145,14 @@ void __init pmu_backlight_init() | |||
131 | !machine_is_compatible("PowerBook1,1")) | 145 | !machine_is_compatible("PowerBook1,1")) |
132 | return; | 146 | return; |
133 | 147 | ||
134 | /* Actually, this is a hack, but I don't know of a better way | 148 | snprintf(name, sizeof(name), "pmubl"); |
135 | * to get the first framebuffer device. | ||
136 | */ | ||
137 | info = registered_fb[0]; | ||
138 | if (!info) { | ||
139 | printk("pmubl: No framebuffer found\n"); | ||
140 | goto error; | ||
141 | } | ||
142 | |||
143 | snprintf(name, sizeof(name), "pmubl%d", info->node); | ||
144 | 149 | ||
145 | bd = backlight_device_register(name, info, &pmu_backlight_data); | 150 | bd = backlight_device_register(name, NULL, &pmu_backlight_data); |
146 | if (IS_ERR(bd)) { | 151 | if (IS_ERR(bd)) { |
147 | printk("pmubl: Backlight registration failed\n"); | 152 | printk("pmubl: Backlight registration failed\n"); |
148 | goto error; | 153 | goto error; |
149 | } | 154 | } |
150 | 155 | pmu_backlight_init_curve(0x7F, 0x46, 0x0E); | |
151 | mutex_lock(&info->bl_mutex); | ||
152 | info->bl_dev = bd; | ||
153 | fb_bl_default_curve(info, 0x7F, 0x46, 0x0E); | ||
154 | mutex_unlock(&info->bl_mutex); | ||
155 | 156 | ||
156 | level = pmu_backlight_data.max_brightness; | 157 | level = pmu_backlight_data.max_brightness; |
157 | 158 | ||
@@ -161,28 +162,22 @@ void __init pmu_backlight_init() | |||
161 | pmu_request(&req, NULL, 2, 0xd9, 0); | 162 | pmu_request(&req, NULL, 2, 0xd9, 0); |
162 | pmu_wait_complete(&req); | 163 | pmu_wait_complete(&req); |
163 | 164 | ||
164 | mutex_lock(&info->bl_mutex); | 165 | level = pmu_backlight_curve_lookup( |
165 | level = pmac_backlight_curve_lookup(info, | ||
166 | (req.reply[0] >> 4) * | 166 | (req.reply[0] >> 4) * |
167 | pmu_backlight_data.max_brightness / 15); | 167 | pmu_backlight_data.max_brightness / 15); |
168 | mutex_unlock(&info->bl_mutex); | ||
169 | } | 168 | } |
170 | 169 | ||
171 | up(&bd->sem); | 170 | down(&bd->sem); |
172 | bd->props->brightness = level; | 171 | bd->props->brightness = level; |
173 | bd->props->power = FB_BLANK_UNBLANK; | 172 | bd->props->power = FB_BLANK_UNBLANK; |
174 | bd->props->update_status(bd); | 173 | bd->props->update_status(bd); |
175 | down(&bd->sem); | 174 | up(&bd->sem); |
176 | 175 | ||
177 | mutex_lock(&pmac_backlight_mutex); | 176 | mutex_lock(&pmac_backlight_mutex); |
178 | if (!pmac_backlight) | 177 | if (!pmac_backlight) |
179 | pmac_backlight = bd; | 178 | pmac_backlight = bd; |
180 | mutex_unlock(&pmac_backlight_mutex); | 179 | mutex_unlock(&pmac_backlight_mutex); |
181 | 180 | ||
182 | #ifdef CONFIG_PM | ||
183 | pmu_register_sleep_notifier(&pmu_backlight_sleep_notif); | ||
184 | #endif | ||
185 | |||
186 | printk("pmubl: Backlight initialized (%s)\n", name); | 181 | printk("pmubl: Backlight initialized (%s)\n", name); |
187 | 182 | ||
188 | return; | 183 | return; |
diff --git a/drivers/macintosh/via-pmu.c b/drivers/macintosh/via-pmu.c index 0df500b9a66..dda03985dcf 100644 --- a/drivers/macintosh/via-pmu.c +++ b/drivers/macintosh/via-pmu.c | |||
@@ -1995,6 +1995,8 @@ restore_via_state(void) | |||
1995 | out_8(&via[IER], IER_SET | SR_INT | CB1_INT); | 1995 | out_8(&via[IER], IER_SET | SR_INT | CB1_INT); |
1996 | } | 1996 | } |
1997 | 1997 | ||
1998 | extern void pmu_backlight_set_sleep(int sleep); | ||
1999 | |||
1998 | static int | 2000 | static int |
1999 | pmac_suspend_devices(void) | 2001 | pmac_suspend_devices(void) |
2000 | { | 2002 | { |
@@ -2032,6 +2034,11 @@ pmac_suspend_devices(void) | |||
2032 | return -EBUSY; | 2034 | return -EBUSY; |
2033 | } | 2035 | } |
2034 | 2036 | ||
2037 | #ifdef CONFIG_PMAC_BACKLIGHT | ||
2038 | /* Tell backlight code not to muck around with the chip anymore */ | ||
2039 | pmu_backlight_set_sleep(1); | ||
2040 | #endif | ||
2041 | |||
2035 | /* Call platform functions marked "on sleep" */ | 2042 | /* Call platform functions marked "on sleep" */ |
2036 | pmac_pfunc_i2c_suspend(); | 2043 | pmac_pfunc_i2c_suspend(); |
2037 | pmac_pfunc_base_suspend(); | 2044 | pmac_pfunc_base_suspend(); |
@@ -2090,6 +2097,11 @@ pmac_wakeup_devices(void) | |||
2090 | { | 2097 | { |
2091 | mdelay(100); | 2098 | mdelay(100); |
2092 | 2099 | ||
2100 | #ifdef CONFIG_PMAC_BACKLIGHT | ||
2101 | /* Tell backlight code it can use the chip again */ | ||
2102 | pmu_backlight_set_sleep(0); | ||
2103 | #endif | ||
2104 | |||
2093 | /* Power back up system devices (including the PIC) */ | 2105 | /* Power back up system devices (including the PIC) */ |
2094 | device_power_up(); | 2106 | device_power_up(); |
2095 | 2107 | ||
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 87bfe9e7d8c..3b4d69c0562 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c | |||
@@ -930,10 +930,13 @@ static void status(struct seq_file *seq, mddev_t *mddev) | |||
930 | 930 | ||
931 | seq_printf(seq, " [%d/%d] [", conf->raid_disks, | 931 | seq_printf(seq, " [%d/%d] [", conf->raid_disks, |
932 | conf->working_disks); | 932 | conf->working_disks); |
933 | for (i = 0; i < conf->raid_disks; i++) | 933 | rcu_read_lock(); |
934 | for (i = 0; i < conf->raid_disks; i++) { | ||
935 | mdk_rdev_t *rdev = rcu_dereference(conf->mirrors[i].rdev); | ||
934 | seq_printf(seq, "%s", | 936 | seq_printf(seq, "%s", |
935 | conf->mirrors[i].rdev && | 937 | rdev && test_bit(In_sync, &rdev->flags) ? "U" : "_"); |
936 | test_bit(In_sync, &conf->mirrors[i].rdev->flags) ? "U" : "_"); | 938 | } |
939 | rcu_read_unlock(); | ||
937 | seq_printf(seq, "]"); | 940 | seq_printf(seq, "]"); |
938 | } | 941 | } |
939 | 942 | ||
@@ -975,7 +978,6 @@ static void error(mddev_t *mddev, mdk_rdev_t *rdev) | |||
975 | static void print_conf(conf_t *conf) | 978 | static void print_conf(conf_t *conf) |
976 | { | 979 | { |
977 | int i; | 980 | int i; |
978 | mirror_info_t *tmp; | ||
979 | 981 | ||
980 | printk("RAID1 conf printout:\n"); | 982 | printk("RAID1 conf printout:\n"); |
981 | if (!conf) { | 983 | if (!conf) { |
@@ -985,14 +987,17 @@ static void print_conf(conf_t *conf) | |||
985 | printk(" --- wd:%d rd:%d\n", conf->working_disks, | 987 | printk(" --- wd:%d rd:%d\n", conf->working_disks, |
986 | conf->raid_disks); | 988 | conf->raid_disks); |
987 | 989 | ||
990 | rcu_read_lock(); | ||
988 | for (i = 0; i < conf->raid_disks; i++) { | 991 | for (i = 0; i < conf->raid_disks; i++) { |
989 | char b[BDEVNAME_SIZE]; | 992 | char b[BDEVNAME_SIZE]; |
990 | tmp = conf->mirrors + i; | 993 | mdk_rdev_t *rdev = rcu_dereference(conf->mirrors[i].rdev); |
991 | if (tmp->rdev) | 994 | if (rdev) |
992 | printk(" disk %d, wo:%d, o:%d, dev:%s\n", | 995 | printk(" disk %d, wo:%d, o:%d, dev:%s\n", |
993 | i, !test_bit(In_sync, &tmp->rdev->flags), !test_bit(Faulty, &tmp->rdev->flags), | 996 | i, !test_bit(In_sync, &rdev->flags), |
994 | bdevname(tmp->rdev->bdev,b)); | 997 | !test_bit(Faulty, &rdev->flags), |
998 | bdevname(rdev->bdev,b)); | ||
995 | } | 999 | } |
1000 | rcu_read_unlock(); | ||
996 | } | 1001 | } |
997 | 1002 | ||
998 | static void close_sync(conf_t *conf) | 1003 | static void close_sync(conf_t *conf) |
@@ -1008,20 +1013,20 @@ static int raid1_spare_active(mddev_t *mddev) | |||
1008 | { | 1013 | { |
1009 | int i; | 1014 | int i; |
1010 | conf_t *conf = mddev->private; | 1015 | conf_t *conf = mddev->private; |
1011 | mirror_info_t *tmp; | ||
1012 | 1016 | ||
1013 | /* | 1017 | /* |
1014 | * Find all failed disks within the RAID1 configuration | 1018 | * Find all failed disks within the RAID1 configuration |
1015 | * and mark them readable | 1019 | * and mark them readable. |
1020 | * Called under mddev lock, so rcu protection not needed. | ||
1016 | */ | 1021 | */ |
1017 | for (i = 0; i < conf->raid_disks; i++) { | 1022 | for (i = 0; i < conf->raid_disks; i++) { |
1018 | tmp = conf->mirrors + i; | 1023 | mdk_rdev_t *rdev = conf->mirrors[i].rdev; |
1019 | if (tmp->rdev | 1024 | if (rdev |
1020 | && !test_bit(Faulty, &tmp->rdev->flags) | 1025 | && !test_bit(Faulty, &rdev->flags) |
1021 | && !test_bit(In_sync, &tmp->rdev->flags)) { | 1026 | && !test_bit(In_sync, &rdev->flags)) { |
1022 | conf->working_disks++; | 1027 | conf->working_disks++; |
1023 | mddev->degraded--; | 1028 | mddev->degraded--; |
1024 | set_bit(In_sync, &tmp->rdev->flags); | 1029 | set_bit(In_sync, &rdev->flags); |
1025 | } | 1030 | } |
1026 | } | 1031 | } |
1027 | 1032 | ||
@@ -1237,7 +1242,7 @@ static void sync_request_write(mddev_t *mddev, r1bio_t *r1_bio) | |||
1237 | /* ouch - failed to read all of that. | 1242 | /* ouch - failed to read all of that. |
1238 | * Try some synchronous reads of other devices to get | 1243 | * Try some synchronous reads of other devices to get |
1239 | * good data, much like with normal read errors. Only | 1244 | * good data, much like with normal read errors. Only |
1240 | * read into the pages we already have so they we don't | 1245 | * read into the pages we already have so we don't |
1241 | * need to re-issue the read request. | 1246 | * need to re-issue the read request. |
1242 | * We don't need to freeze the array, because being in an | 1247 | * We don't need to freeze the array, because being in an |
1243 | * active sync request, there is no normal IO, and | 1248 | * active sync request, there is no normal IO, and |
@@ -1257,6 +1262,10 @@ static void sync_request_write(mddev_t *mddev, r1bio_t *r1_bio) | |||
1257 | s = PAGE_SIZE >> 9; | 1262 | s = PAGE_SIZE >> 9; |
1258 | do { | 1263 | do { |
1259 | if (r1_bio->bios[d]->bi_end_io == end_sync_read) { | 1264 | if (r1_bio->bios[d]->bi_end_io == end_sync_read) { |
1265 | /* No rcu protection needed here devices | ||
1266 | * can only be removed when no resync is | ||
1267 | * active, and resync is currently active | ||
1268 | */ | ||
1260 | rdev = conf->mirrors[d].rdev; | 1269 | rdev = conf->mirrors[d].rdev; |
1261 | if (sync_page_io(rdev->bdev, | 1270 | if (sync_page_io(rdev->bdev, |
1262 | sect + rdev->data_offset, | 1271 | sect + rdev->data_offset, |
@@ -1463,6 +1472,11 @@ static void raid1d(mddev_t *mddev) | |||
1463 | s = PAGE_SIZE >> 9; | 1472 | s = PAGE_SIZE >> 9; |
1464 | 1473 | ||
1465 | do { | 1474 | do { |
1475 | /* Note: no rcu protection needed here | ||
1476 | * as this is synchronous in the raid1d thread | ||
1477 | * which is the thread that might remove | ||
1478 | * a device. If raid1d ever becomes multi-threaded.... | ||
1479 | */ | ||
1466 | rdev = conf->mirrors[d].rdev; | 1480 | rdev = conf->mirrors[d].rdev; |
1467 | if (rdev && | 1481 | if (rdev && |
1468 | test_bit(In_sync, &rdev->flags) && | 1482 | test_bit(In_sync, &rdev->flags) && |
@@ -1486,7 +1500,6 @@ static void raid1d(mddev_t *mddev) | |||
1486 | d = conf->raid_disks; | 1500 | d = conf->raid_disks; |
1487 | d--; | 1501 | d--; |
1488 | rdev = conf->mirrors[d].rdev; | 1502 | rdev = conf->mirrors[d].rdev; |
1489 | atomic_add(s, &rdev->corrected_errors); | ||
1490 | if (rdev && | 1503 | if (rdev && |
1491 | test_bit(In_sync, &rdev->flags)) { | 1504 | test_bit(In_sync, &rdev->flags)) { |
1492 | if (sync_page_io(rdev->bdev, | 1505 | if (sync_page_io(rdev->bdev, |
@@ -1509,9 +1522,11 @@ static void raid1d(mddev_t *mddev) | |||
1509 | s<<9, conf->tmppage, READ) == 0) | 1522 | s<<9, conf->tmppage, READ) == 0) |
1510 | /* Well, this device is dead */ | 1523 | /* Well, this device is dead */ |
1511 | md_error(mddev, rdev); | 1524 | md_error(mddev, rdev); |
1512 | else | 1525 | else { |
1526 | atomic_add(s, &rdev->corrected_errors); | ||
1513 | printk(KERN_INFO "raid1:%s: read error corrected (%d sectors at %llu on %s)\n", | 1527 | printk(KERN_INFO "raid1:%s: read error corrected (%d sectors at %llu on %s)\n", |
1514 | mdname(mddev), s, (unsigned long long)(sect + rdev->data_offset), bdevname(rdev->bdev, b)); | 1528 | mdname(mddev), s, (unsigned long long)(sect + rdev->data_offset), bdevname(rdev->bdev, b)); |
1529 | } | ||
1515 | } | 1530 | } |
1516 | } | 1531 | } |
1517 | } else { | 1532 | } else { |
@@ -1787,19 +1802,17 @@ static sector_t sync_request(mddev_t *mddev, sector_t sector_nr, int *skipped, i | |||
1787 | for (i=0; i<conf->raid_disks; i++) { | 1802 | for (i=0; i<conf->raid_disks; i++) { |
1788 | bio = r1_bio->bios[i]; | 1803 | bio = r1_bio->bios[i]; |
1789 | if (bio->bi_end_io == end_sync_read) { | 1804 | if (bio->bi_end_io == end_sync_read) { |
1790 | md_sync_acct(conf->mirrors[i].rdev->bdev, nr_sectors); | 1805 | md_sync_acct(bio->bi_bdev, nr_sectors); |
1791 | generic_make_request(bio); | 1806 | generic_make_request(bio); |
1792 | } | 1807 | } |
1793 | } | 1808 | } |
1794 | } else { | 1809 | } else { |
1795 | atomic_set(&r1_bio->remaining, 1); | 1810 | atomic_set(&r1_bio->remaining, 1); |
1796 | bio = r1_bio->bios[r1_bio->read_disk]; | 1811 | bio = r1_bio->bios[r1_bio->read_disk]; |
1797 | md_sync_acct(conf->mirrors[r1_bio->read_disk].rdev->bdev, | 1812 | md_sync_acct(bio->bi_bdev, nr_sectors); |
1798 | nr_sectors); | ||
1799 | generic_make_request(bio); | 1813 | generic_make_request(bio); |
1800 | 1814 | ||
1801 | } | 1815 | } |
1802 | |||
1803 | return nr_sectors; | 1816 | return nr_sectors; |
1804 | } | 1817 | } |
1805 | 1818 | ||
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig index ef52e6da01e..ed4aa4e7912 100644 --- a/drivers/media/Kconfig +++ b/drivers/media/Kconfig | |||
@@ -53,7 +53,7 @@ config VIDEO_V4L1_COMPAT | |||
53 | If you are unsure as to whether this is required, answer Y. | 53 | If you are unsure as to whether this is required, answer Y. |
54 | 54 | ||
55 | config VIDEO_V4L2 | 55 | config VIDEO_V4L2 |
56 | tristate | 56 | bool |
57 | default y | 57 | default y |
58 | 58 | ||
59 | source "drivers/media/video/Kconfig" | 59 | source "drivers/media/video/Kconfig" |
diff --git a/drivers/media/common/saa7146_video.c b/drivers/media/common/saa7146_video.c index 8393d472d3b..7e0cedc557d 100644 --- a/drivers/media/common/saa7146_video.c +++ b/drivers/media/common/saa7146_video.c | |||
@@ -1190,6 +1190,7 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int | |||
1190 | } | 1190 | } |
1191 | return err; | 1191 | return err; |
1192 | } | 1192 | } |
1193 | #ifdef CONFIG_VIDEO_V4L1_COMPAT | ||
1193 | case VIDIOCGMBUF: | 1194 | case VIDIOCGMBUF: |
1194 | { | 1195 | { |
1195 | struct video_mbuf *mbuf = arg; | 1196 | struct video_mbuf *mbuf = arg; |
@@ -1218,6 +1219,7 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int | |||
1218 | mutex_unlock(&q->lock); | 1219 | mutex_unlock(&q->lock); |
1219 | return 0; | 1220 | return 0; |
1220 | } | 1221 | } |
1222 | #endif | ||
1221 | default: | 1223 | default: |
1222 | return v4l_compat_translate_ioctl(inode,file,cmd,arg, | 1224 | return v4l_compat_translate_ioctl(inode,file,cmd,arg, |
1223 | saa7146_video_do_ioctl); | 1225 | saa7146_video_do_ioctl); |
diff --git a/drivers/media/dvb/b2c2/Kconfig b/drivers/media/dvb/b2c2/Kconfig index d7f1fd5b7b0..49a06fc54c5 100644 --- a/drivers/media/dvb/b2c2/Kconfig +++ b/drivers/media/dvb/b2c2/Kconfig | |||
@@ -1,6 +1,7 @@ | |||
1 | config DVB_B2C2_FLEXCOP | 1 | config DVB_B2C2_FLEXCOP |
2 | tristate "Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters" | 2 | tristate "Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters" |
3 | depends on DVB_CORE && I2C | 3 | depends on DVB_CORE && I2C |
4 | select DVB_PLL | ||
4 | select DVB_STV0299 | 5 | select DVB_STV0299 |
5 | select DVB_MT352 | 6 | select DVB_MT352 |
6 | select DVB_MT312 | 7 | select DVB_MT312 |
diff --git a/drivers/media/dvb/bt8xx/Kconfig b/drivers/media/dvb/bt8xx/Kconfig index f394002118f..7d0ee1ab290 100644 --- a/drivers/media/dvb/bt8xx/Kconfig +++ b/drivers/media/dvb/bt8xx/Kconfig | |||
@@ -1,6 +1,7 @@ | |||
1 | config DVB_BT8XX | 1 | config DVB_BT8XX |
2 | tristate "BT8xx based PCI cards" | 2 | tristate "BT8xx based PCI cards" |
3 | depends on DVB_CORE && PCI && I2C && VIDEO_BT848 | 3 | depends on DVB_CORE && PCI && I2C && VIDEO_BT848 |
4 | select DVB_PLL | ||
4 | select DVB_MT352 | 5 | select DVB_MT352 |
5 | select DVB_SP887X | 6 | select DVB_SP887X |
6 | select DVB_NXT6000 | 7 | select DVB_NXT6000 |
diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig index 3bc6722a644..75824b77198 100644 --- a/drivers/media/dvb/dvb-usb/Kconfig +++ b/drivers/media/dvb/dvb-usb/Kconfig | |||
@@ -2,6 +2,7 @@ config DVB_USB | |||
2 | tristate "Support for various USB DVB devices" | 2 | tristate "Support for various USB DVB devices" |
3 | depends on DVB_CORE && USB && I2C | 3 | depends on DVB_CORE && USB && I2C |
4 | select FW_LOADER | 4 | select FW_LOADER |
5 | select DVB_PLL | ||
5 | help | 6 | help |
6 | By enabling this you will be able to choose the various supported | 7 | By enabling this you will be able to choose the various supported |
7 | USB1.1 and USB2.0 DVB devices. | 8 | USB1.1 and USB2.0 DVB devices. |
diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig index 0ef361f0309..db978555b1e 100644 --- a/drivers/media/dvb/frontends/Kconfig +++ b/drivers/media/dvb/frontends/Kconfig | |||
@@ -6,43 +6,43 @@ comment "DVB-S (satellite) frontends" | |||
6 | 6 | ||
7 | config DVB_STV0299 | 7 | config DVB_STV0299 |
8 | tristate "ST STV0299 based" | 8 | tristate "ST STV0299 based" |
9 | depends on DVB_CORE | 9 | depends on DVB_CORE && I2C |
10 | help | 10 | help |
11 | A DVB-S tuner module. Say Y when you want to support this frontend. | 11 | A DVB-S tuner module. Say Y when you want to support this frontend. |
12 | 12 | ||
13 | config DVB_CX24110 | 13 | config DVB_CX24110 |
14 | tristate "Conexant CX24110 based" | 14 | tristate "Conexant CX24110 based" |
15 | depends on DVB_CORE | 15 | depends on DVB_CORE && I2C |
16 | help | 16 | help |
17 | A DVB-S tuner module. Say Y when you want to support this frontend. | 17 | A DVB-S tuner module. Say Y when you want to support this frontend. |
18 | 18 | ||
19 | config DVB_CX24123 | 19 | config DVB_CX24123 |
20 | tristate "Conexant CX24123 based" | 20 | tristate "Conexant CX24123 based" |
21 | depends on DVB_CORE | 21 | depends on DVB_CORE && I2C |
22 | help | 22 | help |
23 | A DVB-S tuner module. Say Y when you want to support this frontend. | 23 | A DVB-S tuner module. Say Y when you want to support this frontend. |
24 | 24 | ||
25 | config DVB_TDA8083 | 25 | config DVB_TDA8083 |
26 | tristate "Philips TDA8083 based" | 26 | tristate "Philips TDA8083 based" |
27 | depends on DVB_CORE | 27 | depends on DVB_CORE && I2C |
28 | help | 28 | help |
29 | A DVB-S tuner module. Say Y when you want to support this frontend. | 29 | A DVB-S tuner module. Say Y when you want to support this frontend. |
30 | 30 | ||
31 | config DVB_MT312 | 31 | config DVB_MT312 |
32 | tristate "Zarlink VP310/MT312 based" | 32 | tristate "Zarlink VP310/MT312 based" |
33 | depends on DVB_CORE | 33 | depends on DVB_CORE && I2C |
34 | help | 34 | help |
35 | A DVB-S tuner module. Say Y when you want to support this frontend. | 35 | A DVB-S tuner module. Say Y when you want to support this frontend. |
36 | 36 | ||
37 | config DVB_VES1X93 | 37 | config DVB_VES1X93 |
38 | tristate "VLSI VES1893 or VES1993 based" | 38 | tristate "VLSI VES1893 or VES1993 based" |
39 | depends on DVB_CORE | 39 | depends on DVB_CORE && I2C |
40 | help | 40 | help |
41 | A DVB-S tuner module. Say Y when you want to support this frontend. | 41 | A DVB-S tuner module. Say Y when you want to support this frontend. |
42 | 42 | ||
43 | config DVB_S5H1420 | 43 | config DVB_S5H1420 |
44 | tristate "Samsung S5H1420 based" | 44 | tristate "Samsung S5H1420 based" |
45 | depends on DVB_CORE | 45 | depends on DVB_CORE && I2C |
46 | help | 46 | help |
47 | A DVB-S tuner module. Say Y when you want to support this frontend. | 47 | A DVB-S tuner module. Say Y when you want to support this frontend. |
48 | 48 | ||
@@ -51,7 +51,7 @@ comment "DVB-T (terrestrial) frontends" | |||
51 | 51 | ||
52 | config DVB_SP8870 | 52 | config DVB_SP8870 |
53 | tristate "Spase sp8870 based" | 53 | tristate "Spase sp8870 based" |
54 | depends on DVB_CORE | 54 | depends on DVB_CORE && I2C |
55 | select FW_LOADER | 55 | select FW_LOADER |
56 | help | 56 | help |
57 | A DVB-T tuner module. Say Y when you want to support this frontend. | 57 | A DVB-T tuner module. Say Y when you want to support this frontend. |
@@ -63,7 +63,7 @@ config DVB_SP8870 | |||
63 | 63 | ||
64 | config DVB_SP887X | 64 | config DVB_SP887X |
65 | tristate "Spase sp887x based" | 65 | tristate "Spase sp887x based" |
66 | depends on DVB_CORE | 66 | depends on DVB_CORE && I2C |
67 | select FW_LOADER | 67 | select FW_LOADER |
68 | help | 68 | help |
69 | A DVB-T tuner module. Say Y when you want to support this frontend. | 69 | A DVB-T tuner module. Say Y when you want to support this frontend. |
@@ -75,25 +75,25 @@ config DVB_SP887X | |||
75 | 75 | ||
76 | config DVB_CX22700 | 76 | config DVB_CX22700 |
77 | tristate "Conexant CX22700 based" | 77 | tristate "Conexant CX22700 based" |
78 | depends on DVB_CORE | 78 | depends on DVB_CORE && I2C |
79 | help | 79 | help |
80 | A DVB-T tuner module. Say Y when you want to support this frontend. | 80 | A DVB-T tuner module. Say Y when you want to support this frontend. |
81 | 81 | ||
82 | config DVB_CX22702 | 82 | config DVB_CX22702 |
83 | tristate "Conexant cx22702 demodulator (OFDM)" | 83 | tristate "Conexant cx22702 demodulator (OFDM)" |
84 | depends on DVB_CORE | 84 | depends on DVB_CORE && I2C |
85 | help | 85 | help |
86 | A DVB-T tuner module. Say Y when you want to support this frontend. | 86 | A DVB-T tuner module. Say Y when you want to support this frontend. |
87 | 87 | ||
88 | config DVB_L64781 | 88 | config DVB_L64781 |
89 | tristate "LSI L64781" | 89 | tristate "LSI L64781" |
90 | depends on DVB_CORE | 90 | depends on DVB_CORE && I2C |
91 | help | 91 | help |
92 | A DVB-T tuner module. Say Y when you want to support this frontend. | 92 | A DVB-T tuner module. Say Y when you want to support this frontend. |
93 | 93 | ||
94 | config DVB_TDA1004X | 94 | config DVB_TDA1004X |
95 | tristate "Philips TDA10045H/TDA10046H based" | 95 | tristate "Philips TDA10045H/TDA10046H based" |
96 | depends on DVB_CORE | 96 | depends on DVB_CORE && I2C |
97 | select FW_LOADER | 97 | select FW_LOADER |
98 | help | 98 | help |
99 | A DVB-T tuner module. Say Y when you want to support this frontend. | 99 | A DVB-T tuner module. Say Y when you want to support this frontend. |
@@ -106,32 +106,32 @@ config DVB_TDA1004X | |||
106 | 106 | ||
107 | config DVB_NXT6000 | 107 | config DVB_NXT6000 |
108 | tristate "NxtWave Communications NXT6000 based" | 108 | tristate "NxtWave Communications NXT6000 based" |
109 | depends on DVB_CORE | 109 | depends on DVB_CORE && I2C |
110 | help | 110 | help |
111 | A DVB-T tuner module. Say Y when you want to support this frontend. | 111 | A DVB-T tuner module. Say Y when you want to support this frontend. |
112 | 112 | ||
113 | config DVB_MT352 | 113 | config DVB_MT352 |
114 | tristate "Zarlink MT352 based" | 114 | tristate "Zarlink MT352 based" |
115 | depends on DVB_CORE | 115 | depends on DVB_CORE && I2C |
116 | help | 116 | help |
117 | A DVB-T tuner module. Say Y when you want to support this frontend. | 117 | A DVB-T tuner module. Say Y when you want to support this frontend. |
118 | 118 | ||
119 | config DVB_ZL10353 | 119 | config DVB_ZL10353 |
120 | tristate "Zarlink ZL10353 based" | 120 | tristate "Zarlink ZL10353 based" |
121 | depends on DVB_CORE | 121 | depends on DVB_CORE && I2C |
122 | help | 122 | help |
123 | A DVB-T tuner module. Say Y when you want to support this frontend. | 123 | A DVB-T tuner module. Say Y when you want to support this frontend. |
124 | 124 | ||
125 | config DVB_DIB3000MB | 125 | config DVB_DIB3000MB |
126 | tristate "DiBcom 3000M-B" | 126 | tristate "DiBcom 3000M-B" |
127 | depends on DVB_CORE | 127 | depends on DVB_CORE && I2C |
128 | help | 128 | help |
129 | A DVB-T tuner module. Designed for mobile usage. Say Y when you want | 129 | A DVB-T tuner module. Designed for mobile usage. Say Y when you want |
130 | to support this frontend. | 130 | to support this frontend. |
131 | 131 | ||
132 | config DVB_DIB3000MC | 132 | config DVB_DIB3000MC |
133 | tristate "DiBcom 3000P/M-C" | 133 | tristate "DiBcom 3000P/M-C" |
134 | depends on DVB_CORE | 134 | depends on DVB_CORE && I2C |
135 | help | 135 | help |
136 | A DVB-T tuner module. Designed for mobile usage. Say Y when you want | 136 | A DVB-T tuner module. Designed for mobile usage. Say Y when you want |
137 | to support this frontend. | 137 | to support this frontend. |
@@ -141,19 +141,19 @@ comment "DVB-C (cable) frontends" | |||
141 | 141 | ||
142 | config DVB_VES1820 | 142 | config DVB_VES1820 |
143 | tristate "VLSI VES1820 based" | 143 | tristate "VLSI VES1820 based" |
144 | depends on DVB_CORE | 144 | depends on DVB_CORE && I2C |
145 | help | 145 | help |
146 | A DVB-C tuner module. Say Y when you want to support this frontend. | 146 | A DVB-C tuner module. Say Y when you want to support this frontend. |
147 | 147 | ||
148 | config DVB_TDA10021 | 148 | config DVB_TDA10021 |
149 | tristate "Philips TDA10021 based" | 149 | tristate "Philips TDA10021 based" |
150 | depends on DVB_CORE | 150 | depends on DVB_CORE && I2C |
151 | help | 151 | help |
152 | A DVB-C tuner module. Say Y when you want to support this frontend. | 152 | A DVB-C tuner module. Say Y when you want to support this frontend. |
153 | 153 | ||
154 | config DVB_STV0297 | 154 | config DVB_STV0297 |
155 | tristate "ST STV0297 based" | 155 | tristate "ST STV0297 based" |
156 | depends on DVB_CORE | 156 | depends on DVB_CORE && I2C |
157 | help | 157 | help |
158 | A DVB-C tuner module. Say Y when you want to support this frontend. | 158 | A DVB-C tuner module. Say Y when you want to support this frontend. |
159 | 159 | ||
@@ -162,7 +162,7 @@ comment "ATSC (North American/Korean Terrestrial/Cable DTV) frontends" | |||
162 | 162 | ||
163 | config DVB_NXT200X | 163 | config DVB_NXT200X |
164 | tristate "NxtWave Communications NXT2002/NXT2004 based" | 164 | tristate "NxtWave Communications NXT2002/NXT2004 based" |
165 | depends on DVB_CORE | 165 | depends on DVB_CORE && I2C |
166 | select FW_LOADER | 166 | select FW_LOADER |
167 | help | 167 | help |
168 | An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want | 168 | An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want |
@@ -176,7 +176,7 @@ config DVB_NXT200X | |||
176 | 176 | ||
177 | config DVB_OR51211 | 177 | config DVB_OR51211 |
178 | tristate "Oren OR51211 based" | 178 | tristate "Oren OR51211 based" |
179 | depends on DVB_CORE | 179 | depends on DVB_CORE && I2C |
180 | select FW_LOADER | 180 | select FW_LOADER |
181 | help | 181 | help |
182 | An ATSC 8VSB tuner module. Say Y when you want to support this frontend. | 182 | An ATSC 8VSB tuner module. Say Y when you want to support this frontend. |
@@ -188,7 +188,7 @@ config DVB_OR51211 | |||
188 | 188 | ||
189 | config DVB_OR51132 | 189 | config DVB_OR51132 |
190 | tristate "Oren OR51132 based" | 190 | tristate "Oren OR51132 based" |
191 | depends on DVB_CORE | 191 | depends on DVB_CORE && I2C |
192 | select FW_LOADER | 192 | select FW_LOADER |
193 | help | 193 | help |
194 | An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want | 194 | An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want |
@@ -203,7 +203,7 @@ config DVB_OR51132 | |||
203 | 203 | ||
204 | config DVB_BCM3510 | 204 | config DVB_BCM3510 |
205 | tristate "Broadcom BCM3510" | 205 | tristate "Broadcom BCM3510" |
206 | depends on DVB_CORE | 206 | depends on DVB_CORE && I2C |
207 | select FW_LOADER | 207 | select FW_LOADER |
208 | help | 208 | help |
209 | An ATSC 8VSB/16VSB and QAM64/256 tuner module. Say Y when you want to | 209 | An ATSC 8VSB/16VSB and QAM64/256 tuner module. Say Y when you want to |
@@ -211,7 +211,7 @@ config DVB_BCM3510 | |||
211 | 211 | ||
212 | config DVB_LGDT330X | 212 | config DVB_LGDT330X |
213 | tristate "LG Electronics LGDT3302/LGDT3303 based" | 213 | tristate "LG Electronics LGDT3302/LGDT3303 based" |
214 | depends on DVB_CORE | 214 | depends on DVB_CORE && I2C |
215 | help | 215 | help |
216 | An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want | 216 | An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want |
217 | to support this frontend. | 217 | to support this frontend. |
@@ -220,15 +220,19 @@ config DVB_LGDT330X | |||
220 | comment "Miscellaneous devices" | 220 | comment "Miscellaneous devices" |
221 | depends on DVB_CORE | 221 | depends on DVB_CORE |
222 | 222 | ||
223 | config DVB_PLL | ||
224 | tristate | ||
225 | depends on DVB_CORE && I2C | ||
226 | |||
223 | config DVB_LNBP21 | 227 | config DVB_LNBP21 |
224 | tristate "LNBP21 SEC controller" | 228 | tristate "LNBP21 SEC controller" |
225 | depends on DVB_CORE | 229 | depends on DVB_CORE && I2C |
226 | help | 230 | help |
227 | An SEC control chip. | 231 | An SEC control chip. |
228 | 232 | ||
229 | config DVB_ISL6421 | 233 | config DVB_ISL6421 |
230 | tristate "ISL6421 SEC controller" | 234 | tristate "ISL6421 SEC controller" |
231 | depends on DVB_CORE | 235 | depends on DVB_CORE && I2C |
232 | help | 236 | help |
233 | An SEC control chip. | 237 | An SEC control chip. |
234 | 238 | ||
diff --git a/drivers/media/dvb/frontends/Makefile b/drivers/media/dvb/frontends/Makefile index 5222245c7f5..0e4880b6db1 100644 --- a/drivers/media/dvb/frontends/Makefile +++ b/drivers/media/dvb/frontends/Makefile | |||
@@ -4,7 +4,7 @@ | |||
4 | 4 | ||
5 | EXTRA_CFLAGS = -Idrivers/media/dvb/dvb-core/ | 5 | EXTRA_CFLAGS = -Idrivers/media/dvb/dvb-core/ |
6 | 6 | ||
7 | obj-$(CONFIG_DVB_CORE) += dvb-pll.o | 7 | obj-$(CONFIG_DVB_PLL) += dvb-pll.o |
8 | obj-$(CONFIG_DVB_STV0299) += stv0299.o | 8 | obj-$(CONFIG_DVB_STV0299) += stv0299.o |
9 | obj-$(CONFIG_DVB_SP8870) += sp8870.o | 9 | obj-$(CONFIG_DVB_SP8870) += sp8870.o |
10 | obj-$(CONFIG_DVB_CX22700) += cx22700.o | 10 | obj-$(CONFIG_DVB_CX22700) += cx22700.o |
diff --git a/drivers/media/dvb/pluto2/Kconfig b/drivers/media/dvb/pluto2/Kconfig index 7d8e6e87bdb..9b84b1bdc31 100644 --- a/drivers/media/dvb/pluto2/Kconfig +++ b/drivers/media/dvb/pluto2/Kconfig | |||
@@ -2,6 +2,7 @@ config DVB_PLUTO2 | |||
2 | tristate "Pluto2 cards" | 2 | tristate "Pluto2 cards" |
3 | depends on DVB_CORE && PCI && I2C | 3 | depends on DVB_CORE && PCI && I2C |
4 | select I2C_ALGOBIT | 4 | select I2C_ALGOBIT |
5 | select DVB_PLL | ||
5 | select DVB_TDA1004X | 6 | select DVB_TDA1004X |
6 | help | 7 | help |
7 | Support for PCI cards based on the Pluto2 FPGA like the Satelco | 8 | Support for PCI cards based on the Pluto2 FPGA like the Satelco |
diff --git a/drivers/media/dvb/ttpci/Kconfig b/drivers/media/dvb/ttpci/Kconfig index 987881fa988..5fb097595cf 100644 --- a/drivers/media/dvb/ttpci/Kconfig +++ b/drivers/media/dvb/ttpci/Kconfig | |||
@@ -3,6 +3,7 @@ config DVB_AV7110 | |||
3 | depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 | 3 | depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 |
4 | select FW_LOADER | 4 | select FW_LOADER |
5 | select VIDEO_SAA7146_VV | 5 | select VIDEO_SAA7146_VV |
6 | select DVB_PLL | ||
6 | select DVB_VES1820 | 7 | select DVB_VES1820 |
7 | select DVB_VES1X93 | 8 | select DVB_VES1X93 |
8 | select DVB_STV0299 | 9 | select DVB_STV0299 |
@@ -61,6 +62,7 @@ config DVB_BUDGET | |||
61 | tristate "Budget cards" | 62 | tristate "Budget cards" |
62 | depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 | 63 | depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 |
63 | select VIDEO_SAA7146 | 64 | select VIDEO_SAA7146 |
65 | select DVB_PLL | ||
64 | select DVB_STV0299 | 66 | select DVB_STV0299 |
65 | select DVB_VES1X93 | 67 | select DVB_VES1X93 |
66 | select DVB_VES1820 | 68 | select DVB_VES1820 |
@@ -83,6 +85,7 @@ config DVB_BUDGET_CI | |||
83 | tristate "Budget cards with onboard CI connector" | 85 | tristate "Budget cards with onboard CI connector" |
84 | depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 | 86 | depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 |
85 | select VIDEO_SAA7146 | 87 | select VIDEO_SAA7146 |
88 | select DVB_PLL | ||
86 | select DVB_STV0297 | 89 | select DVB_STV0297 |
87 | select DVB_STV0299 | 90 | select DVB_STV0299 |
88 | select DVB_TDA1004X | 91 | select DVB_TDA1004X |
@@ -104,6 +107,7 @@ config DVB_BUDGET_AV | |||
104 | tristate "Budget cards with analog video inputs" | 107 | tristate "Budget cards with analog video inputs" |
105 | depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 | 108 | depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 |
106 | select VIDEO_SAA7146_VV | 109 | select VIDEO_SAA7146_VV |
110 | select DVB_PLL | ||
107 | select DVB_STV0299 | 111 | select DVB_STV0299 |
108 | select DVB_TDA1004X | 112 | select DVB_TDA1004X |
109 | select DVB_TDA10021 | 113 | select DVB_TDA10021 |
@@ -122,6 +126,7 @@ config DVB_BUDGET_PATCH | |||
122 | tristate "AV7110 cards with Budget Patch" | 126 | tristate "AV7110 cards with Budget Patch" |
123 | depends on DVB_CORE && DVB_BUDGET && VIDEO_V4L1 | 127 | depends on DVB_CORE && DVB_BUDGET && VIDEO_V4L1 |
124 | select DVB_AV7110 | 128 | select DVB_AV7110 |
129 | select DVB_PLL | ||
125 | select DVB_STV0299 | 130 | select DVB_STV0299 |
126 | select DVB_VES1X93 | 131 | select DVB_VES1X93 |
127 | select DVB_TDA8083 | 132 | select DVB_TDA8083 |
diff --git a/drivers/media/dvb/ttusb-budget/Kconfig b/drivers/media/dvb/ttusb-budget/Kconfig index 92c7cdcf898..46a6a60d2ab 100644 --- a/drivers/media/dvb/ttusb-budget/Kconfig +++ b/drivers/media/dvb/ttusb-budget/Kconfig | |||
@@ -1,6 +1,7 @@ | |||
1 | config DVB_TTUSB_BUDGET | 1 | config DVB_TTUSB_BUDGET |
2 | tristate "Technotrend/Hauppauge Nova-USB devices" | 2 | tristate "Technotrend/Hauppauge Nova-USB devices" |
3 | depends on DVB_CORE && USB | 3 | depends on DVB_CORE && USB && I2C |
4 | select DVB_PLL | ||
4 | select DVB_CX22700 | 5 | select DVB_CX22700 |
5 | select DVB_TDA1004X | 6 | select DVB_TDA1004X |
6 | select DVB_VES1820 | 7 | select DVB_VES1820 |
diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig index 732bf1e7c32..94d078b77ba 100644 --- a/drivers/media/video/Kconfig +++ b/drivers/media/video/Kconfig | |||
@@ -260,7 +260,7 @@ source "drivers/media/video/saa7134/Kconfig" | |||
260 | 260 | ||
261 | config VIDEO_MXB | 261 | config VIDEO_MXB |
262 | tristate "Siemens-Nixdorf 'Multimedia eXtension Board'" | 262 | tristate "Siemens-Nixdorf 'Multimedia eXtension Board'" |
263 | depends on PCI && VIDEO_V4L1 | 263 | depends on PCI && VIDEO_V4L1 && I2C |
264 | select VIDEO_SAA7146_VV | 264 | select VIDEO_SAA7146_VV |
265 | select VIDEO_TUNER | 265 | select VIDEO_TUNER |
266 | ---help--- | 266 | ---help--- |
@@ -272,7 +272,7 @@ config VIDEO_MXB | |||
272 | 272 | ||
273 | config VIDEO_DPC | 273 | config VIDEO_DPC |
274 | tristate "Philips-Semiconductors 'dpc7146 demonstration board'" | 274 | tristate "Philips-Semiconductors 'dpc7146 demonstration board'" |
275 | depends on PCI && VIDEO_V4L1 | 275 | depends on PCI && VIDEO_V4L1 && I2C |
276 | select VIDEO_SAA7146_VV | 276 | select VIDEO_SAA7146_VV |
277 | select VIDEO_V4L2 | 277 | select VIDEO_V4L2 |
278 | ---help--- | 278 | ---help--- |
@@ -287,7 +287,7 @@ config VIDEO_DPC | |||
287 | 287 | ||
288 | config VIDEO_HEXIUM_ORION | 288 | config VIDEO_HEXIUM_ORION |
289 | tristate "Hexium HV-PCI6 and Orion frame grabber" | 289 | tristate "Hexium HV-PCI6 and Orion frame grabber" |
290 | depends on PCI && VIDEO_V4L1 | 290 | depends on PCI && VIDEO_V4L1 && I2C |
291 | select VIDEO_SAA7146_VV | 291 | select VIDEO_SAA7146_VV |
292 | select VIDEO_V4L2 | 292 | select VIDEO_V4L2 |
293 | ---help--- | 293 | ---help--- |
@@ -299,7 +299,7 @@ config VIDEO_HEXIUM_ORION | |||
299 | 299 | ||
300 | config VIDEO_HEXIUM_GEMINI | 300 | config VIDEO_HEXIUM_GEMINI |
301 | tristate "Hexium Gemini frame grabber" | 301 | tristate "Hexium Gemini frame grabber" |
302 | depends on PCI && VIDEO_V4L1 | 302 | depends on PCI && VIDEO_V4L1 && I2C |
303 | select VIDEO_SAA7146_VV | 303 | select VIDEO_SAA7146_VV |
304 | select VIDEO_V4L2 | 304 | select VIDEO_V4L2 |
305 | ---help--- | 305 | ---help--- |
diff --git a/drivers/media/video/bt8xx/bttv-input.c b/drivers/media/video/bt8xx/bttv-input.c index b41f81d2372..933d6db09ac 100644 --- a/drivers/media/video/bt8xx/bttv-input.c +++ b/drivers/media/video/bt8xx/bttv-input.c | |||
@@ -303,6 +303,7 @@ int bttv_input_init(struct bttv *btv) | |||
303 | ir->mask_keyup = 0x010000; | 303 | ir->mask_keyup = 0x010000; |
304 | ir->polling = 50; // ms | 304 | ir->polling = 50; // ms |
305 | break; | 305 | break; |
306 | case BTTV_BOARD_PV_M4900: | ||
306 | case BTTV_BOARD_PV_BT878P_9B: | 307 | case BTTV_BOARD_PV_BT878P_9B: |
307 | case BTTV_BOARD_PV_BT878P_PLUS: | 308 | case BTTV_BOARD_PV_BT878P_PLUS: |
308 | ir_codes = ir_codes_pixelview; | 309 | ir_codes = ir_codes_pixelview; |
diff --git a/drivers/media/video/cx88/Kconfig b/drivers/media/video/cx88/Kconfig index 80e23ee9801..7a94e6a1192 100644 --- a/drivers/media/video/cx88/Kconfig +++ b/drivers/media/video/cx88/Kconfig | |||
@@ -51,6 +51,7 @@ config VIDEO_CX88_DVB | |||
51 | tristate "DVB/ATSC Support for cx2388x based TV cards" | 51 | tristate "DVB/ATSC Support for cx2388x based TV cards" |
52 | depends on VIDEO_CX88 && DVB_CORE | 52 | depends on VIDEO_CX88 && DVB_CORE |
53 | select VIDEO_BUF_DVB | 53 | select VIDEO_BUF_DVB |
54 | select DVB_PLL | ||
54 | ---help--- | 55 | ---help--- |
55 | This adds support for DVB/ATSC cards based on the | 56 | This adds support for DVB/ATSC cards based on the |
56 | Conexant 2388x chip. | 57 | Conexant 2388x chip. |
diff --git a/drivers/media/video/saa7134/Kconfig b/drivers/media/video/saa7134/Kconfig index e1c1805df1f..f5543166d19 100644 --- a/drivers/media/video/saa7134/Kconfig +++ b/drivers/media/video/saa7134/Kconfig | |||
@@ -40,6 +40,7 @@ config VIDEO_SAA7134_DVB | |||
40 | depends on VIDEO_SAA7134 && DVB_CORE | 40 | depends on VIDEO_SAA7134 && DVB_CORE |
41 | select VIDEO_BUF_DVB | 41 | select VIDEO_BUF_DVB |
42 | select FW_LOADER | 42 | select FW_LOADER |
43 | select DVB_PLL | ||
43 | ---help--- | 44 | ---help--- |
44 | This adds support for DVB cards based on the | 45 | This adds support for DVB cards based on the |
45 | Philips saa7134 chip. | 46 | Philips saa7134 chip. |
diff --git a/drivers/media/video/tuner-types.c b/drivers/media/video/tuner-types.c index d7eadc2c298..8b542599ed4 100644 --- a/drivers/media/video/tuner-types.c +++ b/drivers/media/video/tuner-types.c | |||
@@ -926,11 +926,17 @@ static struct tuner_params tuner_lg_tdvs_h06xf_params[] = { | |||
926 | 926 | ||
927 | /* ------------ TUNER_YMEC_TVF66T5_B_DFF - Philips PAL ------------ */ | 927 | /* ------------ TUNER_YMEC_TVF66T5_B_DFF - Philips PAL ------------ */ |
928 | 928 | ||
929 | static struct tuner_range tuner_ymec_tvf66t5_b_dff_pal_ranges[] = { | ||
930 | { 16 * 160.25 /*MHz*/, 0x8e, 0x01, }, | ||
931 | { 16 * 464.25 /*MHz*/, 0x8e, 0x02, }, | ||
932 | { 16 * 999.99 , 0x8e, 0x08, }, | ||
933 | }; | ||
934 | |||
929 | static struct tuner_params tuner_ymec_tvf66t5_b_dff_params[] = { | 935 | static struct tuner_params tuner_ymec_tvf66t5_b_dff_params[] = { |
930 | { | 936 | { |
931 | .type = TUNER_PARAM_TYPE_PAL, | 937 | .type = TUNER_PARAM_TYPE_PAL, |
932 | .ranges = tuner_tena_9533_di_pal_ranges, | 938 | .ranges = tuner_ymec_tvf66t5_b_dff_pal_ranges, |
933 | .count = ARRAY_SIZE(tuner_tena_9533_di_pal_ranges), | 939 | .count = ARRAY_SIZE(tuner_ymec_tvf66t5_b_dff_pal_ranges), |
934 | }, | 940 | }, |
935 | }; | 941 | }; |
936 | 942 | ||
diff --git a/drivers/media/video/zoran.h b/drivers/media/video/zoran.h index ffcda95ed9d..8fb4a3414e0 100644 --- a/drivers/media/video/zoran.h +++ b/drivers/media/video/zoran.h | |||
@@ -267,7 +267,7 @@ struct zoran_v4l_settings { | |||
267 | }; | 267 | }; |
268 | 268 | ||
269 | /* whoops, this one is undeclared if !v4l2 */ | 269 | /* whoops, this one is undeclared if !v4l2 */ |
270 | #ifndef HAVE_V4L2 | 270 | #ifndef CONFIG_VIDEO_V4L2 |
271 | struct v4l2_jpegcompression { | 271 | struct v4l2_jpegcompression { |
272 | int quality; | 272 | int quality; |
273 | int APPn; | 273 | int APPn; |
diff --git a/drivers/media/video/zoran_driver.c b/drivers/media/video/zoran_driver.c index d9a5876eb38..5f90db27892 100644 --- a/drivers/media/video/zoran_driver.c +++ b/drivers/media/video/zoran_driver.c | |||
@@ -86,7 +86,7 @@ | |||
86 | #include "zoran_device.h" | 86 | #include "zoran_device.h" |
87 | #include "zoran_card.h" | 87 | #include "zoran_card.h" |
88 | 88 | ||
89 | #ifdef HAVE_V4L2 | 89 | #ifdef CONFIG_VIDEO_V4L2 |
90 | /* we declare some card type definitions here, they mean | 90 | /* we declare some card type definitions here, they mean |
91 | * the same as the v4l1 ZORAN_VID_TYPE above, except it's v4l2 */ | 91 | * the same as the v4l1 ZORAN_VID_TYPE above, except it's v4l2 */ |
92 | #define ZORAN_V4L2_VID_FLAGS ( \ | 92 | #define ZORAN_V4L2_VID_FLAGS ( \ |
@@ -103,7 +103,7 @@ const struct zoran_format zoran_formats[] = { | |||
103 | { | 103 | { |
104 | .name = "15-bit RGB", | 104 | .name = "15-bit RGB", |
105 | .palette = VIDEO_PALETTE_RGB555, | 105 | .palette = VIDEO_PALETTE_RGB555, |
106 | #ifdef HAVE_V4L2 | 106 | #ifdef CONFIG_VIDEO_V4L2 |
107 | #ifdef __LITTLE_ENDIAN | 107 | #ifdef __LITTLE_ENDIAN |
108 | .fourcc = V4L2_PIX_FMT_RGB555, | 108 | .fourcc = V4L2_PIX_FMT_RGB555, |
109 | #else | 109 | #else |
@@ -117,7 +117,7 @@ const struct zoran_format zoran_formats[] = { | |||
117 | }, { | 117 | }, { |
118 | .name = "16-bit RGB", | 118 | .name = "16-bit RGB", |
119 | .palette = VIDEO_PALETTE_RGB565, | 119 | .palette = VIDEO_PALETTE_RGB565, |
120 | #ifdef HAVE_V4L2 | 120 | #ifdef CONFIG_VIDEO_V4L2 |
121 | #ifdef __LITTLE_ENDIAN | 121 | #ifdef __LITTLE_ENDIAN |
122 | .fourcc = V4L2_PIX_FMT_RGB565, | 122 | .fourcc = V4L2_PIX_FMT_RGB565, |
123 | #else | 123 | #else |
@@ -131,7 +131,7 @@ const struct zoran_format zoran_formats[] = { | |||
131 | }, { | 131 | }, { |
132 | .name = "24-bit RGB", | 132 | .name = "24-bit RGB", |
133 | .palette = VIDEO_PALETTE_RGB24, | 133 | .palette = VIDEO_PALETTE_RGB24, |
134 | #ifdef HAVE_V4L2 | 134 | #ifdef CONFIG_VIDEO_V4L2 |
135 | #ifdef __LITTLE_ENDIAN | 135 | #ifdef __LITTLE_ENDIAN |
136 | .fourcc = V4L2_PIX_FMT_BGR24, | 136 | .fourcc = V4L2_PIX_FMT_BGR24, |
137 | #else | 137 | #else |
@@ -145,7 +145,7 @@ const struct zoran_format zoran_formats[] = { | |||
145 | }, { | 145 | }, { |
146 | .name = "32-bit RGB", | 146 | .name = "32-bit RGB", |
147 | .palette = VIDEO_PALETTE_RGB32, | 147 | .palette = VIDEO_PALETTE_RGB32, |
148 | #ifdef HAVE_V4L2 | 148 | #ifdef CONFIG_VIDEO_V4L2 |
149 | #ifdef __LITTLE_ENDIAN | 149 | #ifdef __LITTLE_ENDIAN |
150 | .fourcc = V4L2_PIX_FMT_BGR32, | 150 | .fourcc = V4L2_PIX_FMT_BGR32, |
151 | #else | 151 | #else |
@@ -159,7 +159,7 @@ const struct zoran_format zoran_formats[] = { | |||
159 | }, { | 159 | }, { |
160 | .name = "4:2:2, packed, YUYV", | 160 | .name = "4:2:2, packed, YUYV", |
161 | .palette = VIDEO_PALETTE_YUV422, | 161 | .palette = VIDEO_PALETTE_YUV422, |
162 | #ifdef HAVE_V4L2 | 162 | #ifdef CONFIG_VIDEO_V4L2 |
163 | .fourcc = V4L2_PIX_FMT_YUYV, | 163 | .fourcc = V4L2_PIX_FMT_YUYV, |
164 | .colorspace = V4L2_COLORSPACE_SMPTE170M, | 164 | .colorspace = V4L2_COLORSPACE_SMPTE170M, |
165 | #endif | 165 | #endif |
@@ -169,7 +169,7 @@ const struct zoran_format zoran_formats[] = { | |||
169 | }, { | 169 | }, { |
170 | .name = "Hardware-encoded Motion-JPEG", | 170 | .name = "Hardware-encoded Motion-JPEG", |
171 | .palette = -1, | 171 | .palette = -1, |
172 | #ifdef HAVE_V4L2 | 172 | #ifdef CONFIG_VIDEO_V4L2 |
173 | .fourcc = V4L2_PIX_FMT_MJPEG, | 173 | .fourcc = V4L2_PIX_FMT_MJPEG, |
174 | .colorspace = V4L2_COLORSPACE_SMPTE170M, | 174 | .colorspace = V4L2_COLORSPACE_SMPTE170M, |
175 | #endif | 175 | #endif |
@@ -210,7 +210,7 @@ static int lock_norm = 0; /* 1=Don't change TV standard (norm) */ | |||
210 | module_param(lock_norm, int, 0); | 210 | module_param(lock_norm, int, 0); |
211 | MODULE_PARM_DESC(lock_norm, "Users can't change norm"); | 211 | MODULE_PARM_DESC(lock_norm, "Users can't change norm"); |
212 | 212 | ||
213 | #ifdef HAVE_V4L2 | 213 | #ifdef CONFIG_VIDEO_V4L2 |
214 | /* small helper function for calculating buffersizes for v4l2 | 214 | /* small helper function for calculating buffersizes for v4l2 |
215 | * we calculate the nearest higher power-of-two, which | 215 | * we calculate the nearest higher power-of-two, which |
216 | * will be the recommended buffersize */ | 216 | * will be the recommended buffersize */ |
@@ -1761,7 +1761,7 @@ setup_overlay (struct file *file, | |||
1761 | return wait_grab_pending(zr); | 1761 | return wait_grab_pending(zr); |
1762 | } | 1762 | } |
1763 | 1763 | ||
1764 | #ifdef HAVE_V4L2 | 1764 | #ifdef CONFIG_VIDEO_V4L2 |
1765 | /* get the status of a buffer in the clients buffer queue */ | 1765 | /* get the status of a buffer in the clients buffer queue */ |
1766 | static int | 1766 | static int |
1767 | zoran_v4l2_buffer_status (struct file *file, | 1767 | zoran_v4l2_buffer_status (struct file *file, |
@@ -2676,7 +2676,7 @@ zoran_do_ioctl (struct inode *inode, | |||
2676 | } | 2676 | } |
2677 | break; | 2677 | break; |
2678 | 2678 | ||
2679 | #ifdef HAVE_V4L2 | 2679 | #ifdef CONFIG_VIDEO_V4L2 |
2680 | 2680 | ||
2681 | /* The new video4linux2 capture interface - much nicer than video4linux1, since | 2681 | /* The new video4linux2 capture interface - much nicer than video4linux1, since |
2682 | * it allows for integrating the JPEG capturing calls inside standard v4l2 | 2682 | * it allows for integrating the JPEG capturing calls inside standard v4l2 |
@@ -4689,7 +4689,7 @@ static struct file_operations zoran_fops = { | |||
4689 | struct video_device zoran_template __devinitdata = { | 4689 | struct video_device zoran_template __devinitdata = { |
4690 | .name = ZORAN_NAME, | 4690 | .name = ZORAN_NAME, |
4691 | .type = ZORAN_VID_TYPE, | 4691 | .type = ZORAN_VID_TYPE, |
4692 | #ifdef HAVE_V4L2 | 4692 | #ifdef CONFIG_VIDEO_V4L2 |
4693 | .type2 = ZORAN_V4L2_VID_FLAGS, | 4693 | .type2 = ZORAN_V4L2_VID_FLAGS, |
4694 | #endif | 4694 | #endif |
4695 | .hardware = ZORAN_HARDWARE, | 4695 | .hardware = ZORAN_HARDWARE, |
diff --git a/drivers/mmc/imxmmc.c b/drivers/mmc/imxmmc.c index 7ca9e95bdf8..fb6565b98f3 100644 --- a/drivers/mmc/imxmmc.c +++ b/drivers/mmc/imxmmc.c | |||
@@ -91,6 +91,8 @@ struct imxmci_host { | |||
91 | int dma_allocated; | 91 | int dma_allocated; |
92 | 92 | ||
93 | unsigned char actual_bus_width; | 93 | unsigned char actual_bus_width; |
94 | |||
95 | int prev_cmd_code; | ||
94 | }; | 96 | }; |
95 | 97 | ||
96 | #define IMXMCI_PEND_IRQ_b 0 | 98 | #define IMXMCI_PEND_IRQ_b 0 |
@@ -248,16 +250,14 @@ static void imxmci_setup_data(struct imxmci_host *host, struct mmc_data *data) | |||
248 | * partial FIFO fills and reads. The length has to be rounded up to burst size multiple. | 250 | * partial FIFO fills and reads. The length has to be rounded up to burst size multiple. |
249 | * This is required for SCR read at least. | 251 | * This is required for SCR read at least. |
250 | */ | 252 | */ |
251 | if (datasz < 64) { | 253 | if (datasz < 512) { |
252 | host->dma_size = datasz; | 254 | host->dma_size = datasz; |
253 | if (data->flags & MMC_DATA_READ) { | 255 | if (data->flags & MMC_DATA_READ) { |
254 | host->dma_dir = DMA_FROM_DEVICE; | 256 | host->dma_dir = DMA_FROM_DEVICE; |
255 | 257 | ||
256 | /* Hack to enable read SCR */ | 258 | /* Hack to enable read SCR */ |
257 | if(datasz < 16) { | 259 | MMC_NOB = 1; |
258 | MMC_NOB = 1; | 260 | MMC_BLK_LEN = 512; |
259 | MMC_BLK_LEN = 16; | ||
260 | } | ||
261 | } else { | 261 | } else { |
262 | host->dma_dir = DMA_TO_DEVICE; | 262 | host->dma_dir = DMA_TO_DEVICE; |
263 | } | 263 | } |
@@ -409,6 +409,9 @@ static void imxmci_finish_request(struct imxmci_host *host, struct mmc_request * | |||
409 | 409 | ||
410 | spin_unlock_irqrestore(&host->lock, flags); | 410 | spin_unlock_irqrestore(&host->lock, flags); |
411 | 411 | ||
412 | if(req && req->cmd) | ||
413 | host->prev_cmd_code = req->cmd->opcode; | ||
414 | |||
412 | host->req = NULL; | 415 | host->req = NULL; |
413 | host->cmd = NULL; | 416 | host->cmd = NULL; |
414 | host->data = NULL; | 417 | host->data = NULL; |
@@ -553,7 +556,6 @@ static int imxmci_cpu_driven_data(struct imxmci_host *host, unsigned int *pstat) | |||
553 | { | 556 | { |
554 | int i; | 557 | int i; |
555 | int burst_len; | 558 | int burst_len; |
556 | int flush_len; | ||
557 | int trans_done = 0; | 559 | int trans_done = 0; |
558 | unsigned int stat = *pstat; | 560 | unsigned int stat = *pstat; |
559 | 561 | ||
@@ -566,44 +568,43 @@ static int imxmci_cpu_driven_data(struct imxmci_host *host, unsigned int *pstat) | |||
566 | dev_dbg(mmc_dev(host->mmc), "imxmci_cpu_driven_data running STATUS = 0x%x\n", | 568 | dev_dbg(mmc_dev(host->mmc), "imxmci_cpu_driven_data running STATUS = 0x%x\n", |
567 | stat); | 569 | stat); |
568 | 570 | ||
571 | udelay(20); /* required for clocks < 8MHz*/ | ||
572 | |||
569 | if(host->dma_dir == DMA_FROM_DEVICE) { | 573 | if(host->dma_dir == DMA_FROM_DEVICE) { |
570 | imxmci_busy_wait_for_status(host, &stat, | 574 | imxmci_busy_wait_for_status(host, &stat, |
571 | STATUS_APPL_BUFF_FF | STATUS_DATA_TRANS_DONE, | 575 | STATUS_APPL_BUFF_FF | STATUS_DATA_TRANS_DONE, |
572 | 20, "imxmci_cpu_driven_data read"); | 576 | 50, "imxmci_cpu_driven_data read"); |
573 | 577 | ||
574 | while((stat & (STATUS_APPL_BUFF_FF | STATUS_DATA_TRANS_DONE)) && | 578 | while((stat & (STATUS_APPL_BUFF_FF | STATUS_DATA_TRANS_DONE)) && |
575 | (host->data_cnt < host->dma_size)) { | 579 | (host->data_cnt < 512)) { |
576 | if(burst_len >= host->dma_size - host->data_cnt) { | 580 | |
577 | flush_len = burst_len; | 581 | udelay(20); /* required for clocks < 8MHz*/ |
578 | burst_len = host->dma_size - host->data_cnt; | ||
579 | flush_len -= burst_len; | ||
580 | host->data_cnt = host->dma_size; | ||
581 | trans_done = 1; | ||
582 | } else { | ||
583 | flush_len = 0; | ||
584 | host->data_cnt += burst_len; | ||
585 | } | ||
586 | 582 | ||
587 | for(i = burst_len; i>=2 ; i-=2) { | 583 | for(i = burst_len; i>=2 ; i-=2) { |
588 | *(host->data_ptr++) = MMC_BUFFER_ACCESS; | 584 | u16 data; |
589 | udelay(20); /* required for clocks < 8MHz*/ | 585 | data = MMC_BUFFER_ACCESS; |
586 | udelay(10); /* required for clocks < 8MHz*/ | ||
587 | if(host->data_cnt+2 <= host->dma_size) { | ||
588 | *(host->data_ptr++) = data; | ||
589 | } else { | ||
590 | if(host->data_cnt < host->dma_size) | ||
591 | *(u8*)(host->data_ptr) = data; | ||
592 | } | ||
593 | host->data_cnt += 2; | ||
590 | } | 594 | } |
591 | 595 | ||
592 | if(i == 1) | ||
593 | *(u8*)(host->data_ptr) = MMC_BUFFER_ACCESS; | ||
594 | |||
595 | stat = MMC_STATUS; | 596 | stat = MMC_STATUS; |
596 | 597 | ||
597 | /* Flush extra bytes from FIFO */ | 598 | dev_dbg(mmc_dev(host->mmc), "imxmci_cpu_driven_data read %d burst %d STATUS = 0x%x\n", |
598 | while(flush_len && !(stat & STATUS_DATA_TRANS_DONE)){ | 599 | host->data_cnt, burst_len, stat); |
599 | i = MMC_BUFFER_ACCESS; | ||
600 | stat = MMC_STATUS; | ||
601 | stat &= ~STATUS_CRC_READ_ERR; /* Stupid but required there */ | ||
602 | } | ||
603 | |||
604 | dev_dbg(mmc_dev(host->mmc), "imxmci_cpu_driven_data read burst %d STATUS = 0x%x\n", | ||
605 | burst_len, stat); | ||
606 | } | 600 | } |
601 | |||
602 | if((stat & STATUS_DATA_TRANS_DONE) && (host->data_cnt >= 512)) | ||
603 | trans_done = 1; | ||
604 | |||
605 | if(host->dma_size & 0x1ff) | ||
606 | stat &= ~STATUS_CRC_READ_ERR; | ||
607 | |||
607 | } else { | 608 | } else { |
608 | imxmci_busy_wait_for_status(host, &stat, | 609 | imxmci_busy_wait_for_status(host, &stat, |
609 | STATUS_APPL_BUFF_FE, | 610 | STATUS_APPL_BUFF_FE, |
@@ -692,8 +693,8 @@ static void imxmci_tasklet_fnc(unsigned long data) | |||
692 | what, stat, MMC_INT_MASK); | 693 | what, stat, MMC_INT_MASK); |
693 | dev_err(mmc_dev(host->mmc), "CMD_DAT_CONT = 0x%04x, MMC_BLK_LEN = 0x%04x, MMC_NOB = 0x%04x, DMA_CCR = 0x%08x\n", | 694 | dev_err(mmc_dev(host->mmc), "CMD_DAT_CONT = 0x%04x, MMC_BLK_LEN = 0x%04x, MMC_NOB = 0x%04x, DMA_CCR = 0x%08x\n", |
694 | MMC_CMD_DAT_CONT, MMC_BLK_LEN, MMC_NOB, CCR(host->dma)); | 695 | MMC_CMD_DAT_CONT, MMC_BLK_LEN, MMC_NOB, CCR(host->dma)); |
695 | dev_err(mmc_dev(host->mmc), "CMD%d, bus %d-bit, dma_size = 0x%x\n", | 696 | dev_err(mmc_dev(host->mmc), "CMD%d, prevCMD%d, bus %d-bit, dma_size = 0x%x\n", |
696 | host->cmd?host->cmd->opcode:0, 1<<host->actual_bus_width, host->dma_size); | 697 | host->cmd?host->cmd->opcode:0, host->prev_cmd_code, 1<<host->actual_bus_width, host->dma_size); |
697 | } | 698 | } |
698 | 699 | ||
699 | if(!host->present || timeout) | 700 | if(!host->present || timeout) |
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 33525bdf2ab..74eaaee66de 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c | |||
@@ -247,6 +247,55 @@ int mmc_wait_for_app_cmd(struct mmc_host *host, unsigned int rca, | |||
247 | 247 | ||
248 | EXPORT_SYMBOL(mmc_wait_for_app_cmd); | 248 | EXPORT_SYMBOL(mmc_wait_for_app_cmd); |
249 | 249 | ||
250 | /** | ||
251 | * mmc_set_data_timeout - set the timeout for a data command | ||
252 | * @data: data phase for command | ||
253 | * @card: the MMC card associated with the data transfer | ||
254 | * @write: flag to differentiate reads from writes | ||
255 | */ | ||
256 | void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card, | ||
257 | int write) | ||
258 | { | ||
259 | unsigned int mult; | ||
260 | |||
261 | /* | ||
262 | * SD cards use a 100 multiplier rather than 10 | ||
263 | */ | ||
264 | mult = mmc_card_sd(card) ? 100 : 10; | ||
265 | |||
266 | /* | ||
267 | * Scale up the multiplier (and therefore the timeout) by | ||
268 | * the r2w factor for writes. | ||
269 | */ | ||
270 | if (write) | ||
271 | mult <<= card->csd.r2w_factor; | ||
272 | |||
273 | data->timeout_ns = card->csd.tacc_ns * mult; | ||
274 | data->timeout_clks = card->csd.tacc_clks * mult; | ||
275 | |||
276 | /* | ||
277 | * SD cards also have an upper limit on the timeout. | ||
278 | */ | ||
279 | if (mmc_card_sd(card)) { | ||
280 | unsigned int timeout_us, limit_us; | ||
281 | |||
282 | timeout_us = data->timeout_ns / 1000; | ||
283 | timeout_us += data->timeout_clks * 1000 / | ||
284 | (card->host->ios.clock / 1000); | ||
285 | |||
286 | if (write) | ||
287 | limit_us = 250000; | ||
288 | else | ||
289 | limit_us = 100000; | ||
290 | |||
291 | if (timeout_us > limit_us) { | ||
292 | data->timeout_ns = limit_us * 1000; | ||
293 | data->timeout_clks = 0; | ||
294 | } | ||
295 | } | ||
296 | } | ||
297 | EXPORT_SYMBOL(mmc_set_data_timeout); | ||
298 | |||
250 | static int mmc_select_card(struct mmc_host *host, struct mmc_card *card); | 299 | static int mmc_select_card(struct mmc_host *host, struct mmc_card *card); |
251 | 300 | ||
252 | /** | 301 | /** |
@@ -908,11 +957,9 @@ static void mmc_read_scrs(struct mmc_host *host) | |||
908 | { | 957 | { |
909 | int err; | 958 | int err; |
910 | struct mmc_card *card; | 959 | struct mmc_card *card; |
911 | |||
912 | struct mmc_request mrq; | 960 | struct mmc_request mrq; |
913 | struct mmc_command cmd; | 961 | struct mmc_command cmd; |
914 | struct mmc_data data; | 962 | struct mmc_data data; |
915 | |||
916 | struct scatterlist sg; | 963 | struct scatterlist sg; |
917 | 964 | ||
918 | list_for_each_entry(card, &host->cards, node) { | 965 | list_for_each_entry(card, &host->cards, node) { |
@@ -947,8 +994,8 @@ static void mmc_read_scrs(struct mmc_host *host) | |||
947 | 994 | ||
948 | memset(&data, 0, sizeof(struct mmc_data)); | 995 | memset(&data, 0, sizeof(struct mmc_data)); |
949 | 996 | ||
950 | data.timeout_ns = card->csd.tacc_ns * 10; | 997 | mmc_set_data_timeout(&data, card, 0); |
951 | data.timeout_clks = card->csd.tacc_clks * 10; | 998 | |
952 | data.blksz_bits = 3; | 999 | data.blksz_bits = 3; |
953 | data.blksz = 1 << 3; | 1000 | data.blksz = 1 << 3; |
954 | data.blocks = 1; | 1001 | data.blocks = 1; |
diff --git a/drivers/mmc/mmc_block.c b/drivers/mmc/mmc_block.c index 115cc21094b..a0e0dad1b41 100644 --- a/drivers/mmc/mmc_block.c +++ b/drivers/mmc/mmc_block.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/mutex.h> | 30 | #include <linux/mutex.h> |
31 | 31 | ||
32 | #include <linux/mmc/card.h> | 32 | #include <linux/mmc/card.h> |
33 | #include <linux/mmc/host.h> | ||
33 | #include <linux/mmc/protocol.h> | 34 | #include <linux/mmc/protocol.h> |
34 | 35 | ||
35 | #include <asm/system.h> | 36 | #include <asm/system.h> |
@@ -171,8 +172,6 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) | |||
171 | 172 | ||
172 | brq.cmd.arg = req->sector << 9; | 173 | brq.cmd.arg = req->sector << 9; |
173 | brq.cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC; | 174 | brq.cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC; |
174 | brq.data.timeout_ns = card->csd.tacc_ns * 10; | ||
175 | brq.data.timeout_clks = card->csd.tacc_clks * 10; | ||
176 | brq.data.blksz_bits = md->block_bits; | 175 | brq.data.blksz_bits = md->block_bits; |
177 | brq.data.blksz = 1 << md->block_bits; | 176 | brq.data.blksz = 1 << md->block_bits; |
178 | brq.data.blocks = req->nr_sectors >> (md->block_bits - 9); | 177 | brq.data.blocks = req->nr_sectors >> (md->block_bits - 9); |
@@ -180,6 +179,8 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) | |||
180 | brq.stop.arg = 0; | 179 | brq.stop.arg = 0; |
181 | brq.stop.flags = MMC_RSP_R1B | MMC_CMD_AC; | 180 | brq.stop.flags = MMC_RSP_R1B | MMC_CMD_AC; |
182 | 181 | ||
182 | mmc_set_data_timeout(&brq.data, card, rq_data_dir(req) != READ); | ||
183 | |||
183 | if (rq_data_dir(req) == READ) { | 184 | if (rq_data_dir(req) == READ) { |
184 | brq.cmd.opcode = brq.data.blocks > 1 ? MMC_READ_MULTIPLE_BLOCK : MMC_READ_SINGLE_BLOCK; | 185 | brq.cmd.opcode = brq.data.blocks > 1 ? MMC_READ_MULTIPLE_BLOCK : MMC_READ_SINGLE_BLOCK; |
185 | brq.data.flags |= MMC_DATA_READ; | 186 | brq.data.flags |= MMC_DATA_READ; |
@@ -187,12 +188,6 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) | |||
187 | brq.cmd.opcode = MMC_WRITE_BLOCK; | 188 | brq.cmd.opcode = MMC_WRITE_BLOCK; |
188 | brq.data.flags |= MMC_DATA_WRITE; | 189 | brq.data.flags |= MMC_DATA_WRITE; |
189 | brq.data.blocks = 1; | 190 | brq.data.blocks = 1; |
190 | |||
191 | /* | ||
192 | * Scale up the timeout by the r2w factor | ||
193 | */ | ||
194 | brq.data.timeout_ns <<= card->csd.r2w_factor; | ||
195 | brq.data.timeout_clks <<= card->csd.r2w_factor; | ||
196 | } | 191 | } |
197 | 192 | ||
198 | if (brq.data.blocks > 1) { | 193 | if (brq.data.blocks > 1) { |
@@ -324,52 +319,11 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card) | |||
324 | md->read_only = mmc_blk_readonly(card); | 319 | md->read_only = mmc_blk_readonly(card); |
325 | 320 | ||
326 | /* | 321 | /* |
327 | * Figure out a workable block size. MMC cards have: | 322 | * Both SD and MMC specifications state (although a bit |
328 | * - two block sizes, one for read and one for write. | 323 | * unclearly in the MMC case) that a block size of 512 |
329 | * - may support partial reads and/or writes | 324 | * bytes must always be supported by the card. |
330 | * (allows block sizes smaller than specified) | ||
331 | */ | ||
332 | md->block_bits = card->csd.read_blkbits; | ||
333 | if (card->csd.write_blkbits != card->csd.read_blkbits) { | ||
334 | if (card->csd.write_blkbits < card->csd.read_blkbits && | ||
335 | card->csd.read_partial) { | ||
336 | /* | ||
337 | * write block size is smaller than read block | ||
338 | * size, but we support partial reads, so choose | ||
339 | * the smaller write block size. | ||
340 | */ | ||
341 | md->block_bits = card->csd.write_blkbits; | ||
342 | } else if (card->csd.write_blkbits > card->csd.read_blkbits && | ||
343 | card->csd.write_partial) { | ||
344 | /* | ||
345 | * read block size is smaller than write block | ||
346 | * size, but we support partial writes. Use read | ||
347 | * block size. | ||
348 | */ | ||
349 | } else { | ||
350 | /* | ||
351 | * We don't support this configuration for writes. | ||
352 | */ | ||
353 | printk(KERN_ERR "%s: unable to select block size for " | ||
354 | "writing (rb%u wb%u rp%u wp%u)\n", | ||
355 | mmc_card_id(card), | ||
356 | 1 << card->csd.read_blkbits, | ||
357 | 1 << card->csd.write_blkbits, | ||
358 | card->csd.read_partial, | ||
359 | card->csd.write_partial); | ||
360 | md->read_only = 1; | ||
361 | } | ||
362 | } | ||
363 | |||
364 | /* | ||
365 | * Refuse to allow block sizes smaller than 512 bytes. | ||
366 | */ | 325 | */ |
367 | if (md->block_bits < 9) { | 326 | md->block_bits = 9; |
368 | printk(KERN_ERR "%s: unable to support block size %u\n", | ||
369 | mmc_card_id(card), 1 << md->block_bits); | ||
370 | ret = -EINVAL; | ||
371 | goto err_kfree; | ||
372 | } | ||
373 | 327 | ||
374 | md->disk = alloc_disk(1 << MMC_SHIFT); | 328 | md->disk = alloc_disk(1 << MMC_SHIFT); |
375 | if (md->disk == NULL) { | 329 | if (md->disk == NULL) { |
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 30b3671d833..a2bd8119270 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig | |||
@@ -2393,7 +2393,7 @@ config MYRI10GE | |||
2393 | you will need a newer firmware image. | 2393 | you will need a newer firmware image. |
2394 | You may get this image or more information, at: | 2394 | You may get this image or more information, at: |
2395 | 2395 | ||
2396 | <http://www.myri.com/Myri-10G/> | 2396 | <http://www.myri.com/scs/download-Myri10GE.html> |
2397 | 2397 | ||
2398 | To compile this driver as a module, choose M here and read | 2398 | To compile this driver as a module, choose M here and read |
2399 | <file:Documentation/networking/net-modules.txt>. The module | 2399 | <file:Documentation/networking/net-modules.txt>. The module |
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c index 3d76fa144c4..a860ebbbf81 100644 --- a/drivers/net/dm9000.c +++ b/drivers/net/dm9000.c | |||
@@ -377,8 +377,8 @@ dm9000_release_board(struct platform_device *pdev, struct board_info *db) | |||
377 | kfree(db->data_req); | 377 | kfree(db->data_req); |
378 | } | 378 | } |
379 | 379 | ||
380 | if (db->addr_res != NULL) { | 380 | if (db->addr_req != NULL) { |
381 | release_resource(db->addr_res); | 381 | release_resource(db->addr_req); |
382 | kfree(db->addr_req); | 382 | kfree(db->addr_req); |
383 | } | 383 | } |
384 | } | 384 | } |
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 73177429fe7..17e709e7d72 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -667,6 +667,7 @@ DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_vi | |||
667 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, quirk_via_irq); | 667 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, quirk_via_irq); |
668 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irq); | 668 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irq); |
669 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_via_irq); | 669 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_via_irq); |
670 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8235_USB_2, quirk_via_irq); | ||
670 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_irq); | 671 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_irq); |
671 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_irq); | 672 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_irq); |
672 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irq); | 673 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irq); |
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index d8e9b95f0a1..25c1ef6dfd4 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c | |||
@@ -52,7 +52,7 @@ static void dasd_setup_queue(struct dasd_device * device); | |||
52 | static void dasd_free_queue(struct dasd_device * device); | 52 | static void dasd_free_queue(struct dasd_device * device); |
53 | static void dasd_flush_request_queue(struct dasd_device *); | 53 | static void dasd_flush_request_queue(struct dasd_device *); |
54 | static void dasd_int_handler(struct ccw_device *, unsigned long, struct irb *); | 54 | static void dasd_int_handler(struct ccw_device *, unsigned long, struct irb *); |
55 | static void dasd_flush_ccw_queue(struct dasd_device *, int); | 55 | static int dasd_flush_ccw_queue(struct dasd_device *, int); |
56 | static void dasd_tasklet(struct dasd_device *); | 56 | static void dasd_tasklet(struct dasd_device *); |
57 | static void do_kick_device(void *data); | 57 | static void do_kick_device(void *data); |
58 | 58 | ||
@@ -60,6 +60,7 @@ static void do_kick_device(void *data); | |||
60 | * SECTION: Operations on the device structure. | 60 | * SECTION: Operations on the device structure. |
61 | */ | 61 | */ |
62 | static wait_queue_head_t dasd_init_waitq; | 62 | static wait_queue_head_t dasd_init_waitq; |
63 | static wait_queue_head_t dasd_flush_wq; | ||
63 | 64 | ||
64 | /* | 65 | /* |
65 | * Allocate memory for a new device structure. | 66 | * Allocate memory for a new device structure. |
@@ -121,7 +122,7 @@ dasd_free_device(struct dasd_device *device) | |||
121 | /* | 122 | /* |
122 | * Make a new device known to the system. | 123 | * Make a new device known to the system. |
123 | */ | 124 | */ |
124 | static inline int | 125 | static int |
125 | dasd_state_new_to_known(struct dasd_device *device) | 126 | dasd_state_new_to_known(struct dasd_device *device) |
126 | { | 127 | { |
127 | int rc; | 128 | int rc; |
@@ -145,7 +146,7 @@ dasd_state_new_to_known(struct dasd_device *device) | |||
145 | /* | 146 | /* |
146 | * Let the system forget about a device. | 147 | * Let the system forget about a device. |
147 | */ | 148 | */ |
148 | static inline void | 149 | static int |
149 | dasd_state_known_to_new(struct dasd_device * device) | 150 | dasd_state_known_to_new(struct dasd_device * device) |
150 | { | 151 | { |
151 | /* Disable extended error reporting for this device. */ | 152 | /* Disable extended error reporting for this device. */ |
@@ -163,12 +164,13 @@ dasd_state_known_to_new(struct dasd_device * device) | |||
163 | 164 | ||
164 | /* Give up reference we took in dasd_state_new_to_known. */ | 165 | /* Give up reference we took in dasd_state_new_to_known. */ |
165 | dasd_put_device(device); | 166 | dasd_put_device(device); |
167 | return 0; | ||
166 | } | 168 | } |
167 | 169 | ||
168 | /* | 170 | /* |
169 | * Request the irq line for the device. | 171 | * Request the irq line for the device. |
170 | */ | 172 | */ |
171 | static inline int | 173 | static int |
172 | dasd_state_known_to_basic(struct dasd_device * device) | 174 | dasd_state_known_to_basic(struct dasd_device * device) |
173 | { | 175 | { |
174 | int rc; | 176 | int rc; |
@@ -192,17 +194,23 @@ dasd_state_known_to_basic(struct dasd_device * device) | |||
192 | /* | 194 | /* |
193 | * Release the irq line for the device. Terminate any running i/o. | 195 | * Release the irq line for the device. Terminate any running i/o. |
194 | */ | 196 | */ |
195 | static inline void | 197 | static int |
196 | dasd_state_basic_to_known(struct dasd_device * device) | 198 | dasd_state_basic_to_known(struct dasd_device * device) |
197 | { | 199 | { |
200 | int rc; | ||
201 | |||
198 | dasd_gendisk_free(device); | 202 | dasd_gendisk_free(device); |
199 | dasd_flush_ccw_queue(device, 1); | 203 | rc = dasd_flush_ccw_queue(device, 1); |
204 | if (rc) | ||
205 | return rc; | ||
206 | |||
200 | DBF_DEV_EVENT(DBF_EMERG, device, "%p debug area deleted", device); | 207 | DBF_DEV_EVENT(DBF_EMERG, device, "%p debug area deleted", device); |
201 | if (device->debug_area != NULL) { | 208 | if (device->debug_area != NULL) { |
202 | debug_unregister(device->debug_area); | 209 | debug_unregister(device->debug_area); |
203 | device->debug_area = NULL; | 210 | device->debug_area = NULL; |
204 | } | 211 | } |
205 | device->state = DASD_STATE_KNOWN; | 212 | device->state = DASD_STATE_KNOWN; |
213 | return 0; | ||
206 | } | 214 | } |
207 | 215 | ||
208 | /* | 216 | /* |
@@ -219,7 +227,7 @@ dasd_state_basic_to_known(struct dasd_device * device) | |||
219 | * In case the analysis returns an error, the device setup is stopped | 227 | * In case the analysis returns an error, the device setup is stopped |
220 | * (a fake disk was already added to allow formatting). | 228 | * (a fake disk was already added to allow formatting). |
221 | */ | 229 | */ |
222 | static inline int | 230 | static int |
223 | dasd_state_basic_to_ready(struct dasd_device * device) | 231 | dasd_state_basic_to_ready(struct dasd_device * device) |
224 | { | 232 | { |
225 | int rc; | 233 | int rc; |
@@ -247,25 +255,31 @@ dasd_state_basic_to_ready(struct dasd_device * device) | |||
247 | * Forget format information. Check if the target level is basic | 255 | * Forget format information. Check if the target level is basic |
248 | * and if it is create fake disk for formatting. | 256 | * and if it is create fake disk for formatting. |
249 | */ | 257 | */ |
250 | static inline void | 258 | static int |
251 | dasd_state_ready_to_basic(struct dasd_device * device) | 259 | dasd_state_ready_to_basic(struct dasd_device * device) |
252 | { | 260 | { |
253 | dasd_flush_ccw_queue(device, 0); | 261 | int rc; |
262 | |||
263 | rc = dasd_flush_ccw_queue(device, 0); | ||
264 | if (rc) | ||
265 | return rc; | ||
254 | dasd_destroy_partitions(device); | 266 | dasd_destroy_partitions(device); |
255 | dasd_flush_request_queue(device); | 267 | dasd_flush_request_queue(device); |
256 | device->blocks = 0; | 268 | device->blocks = 0; |
257 | device->bp_block = 0; | 269 | device->bp_block = 0; |
258 | device->s2b_shift = 0; | 270 | device->s2b_shift = 0; |
259 | device->state = DASD_STATE_BASIC; | 271 | device->state = DASD_STATE_BASIC; |
272 | return 0; | ||
260 | } | 273 | } |
261 | 274 | ||
262 | /* | 275 | /* |
263 | * Back to basic. | 276 | * Back to basic. |
264 | */ | 277 | */ |
265 | static inline void | 278 | static int |
266 | dasd_state_unfmt_to_basic(struct dasd_device * device) | 279 | dasd_state_unfmt_to_basic(struct dasd_device * device) |
267 | { | 280 | { |
268 | device->state = DASD_STATE_BASIC; | 281 | device->state = DASD_STATE_BASIC; |
282 | return 0; | ||
269 | } | 283 | } |
270 | 284 | ||
271 | /* | 285 | /* |
@@ -273,7 +287,7 @@ dasd_state_unfmt_to_basic(struct dasd_device * device) | |||
273 | * the requeueing of requests from the linux request queue to the | 287 | * the requeueing of requests from the linux request queue to the |
274 | * ccw queue. | 288 | * ccw queue. |
275 | */ | 289 | */ |
276 | static inline int | 290 | static int |
277 | dasd_state_ready_to_online(struct dasd_device * device) | 291 | dasd_state_ready_to_online(struct dasd_device * device) |
278 | { | 292 | { |
279 | device->state = DASD_STATE_ONLINE; | 293 | device->state = DASD_STATE_ONLINE; |
@@ -284,16 +298,17 @@ dasd_state_ready_to_online(struct dasd_device * device) | |||
284 | /* | 298 | /* |
285 | * Stop the requeueing of requests again. | 299 | * Stop the requeueing of requests again. |
286 | */ | 300 | */ |
287 | static inline void | 301 | static int |
288 | dasd_state_online_to_ready(struct dasd_device * device) | 302 | dasd_state_online_to_ready(struct dasd_device * device) |
289 | { | 303 | { |
290 | device->state = DASD_STATE_READY; | 304 | device->state = DASD_STATE_READY; |
305 | return 0; | ||
291 | } | 306 | } |
292 | 307 | ||
293 | /* | 308 | /* |
294 | * Device startup state changes. | 309 | * Device startup state changes. |
295 | */ | 310 | */ |
296 | static inline int | 311 | static int |
297 | dasd_increase_state(struct dasd_device *device) | 312 | dasd_increase_state(struct dasd_device *device) |
298 | { | 313 | { |
299 | int rc; | 314 | int rc; |
@@ -329,30 +344,37 @@ dasd_increase_state(struct dasd_device *device) | |||
329 | /* | 344 | /* |
330 | * Device shutdown state changes. | 345 | * Device shutdown state changes. |
331 | */ | 346 | */ |
332 | static inline int | 347 | static int |
333 | dasd_decrease_state(struct dasd_device *device) | 348 | dasd_decrease_state(struct dasd_device *device) |
334 | { | 349 | { |
350 | int rc; | ||
351 | |||
352 | rc = 0; | ||
335 | if (device->state == DASD_STATE_ONLINE && | 353 | if (device->state == DASD_STATE_ONLINE && |
336 | device->target <= DASD_STATE_READY) | 354 | device->target <= DASD_STATE_READY) |
337 | dasd_state_online_to_ready(device); | 355 | rc = dasd_state_online_to_ready(device); |
338 | 356 | ||
339 | if (device->state == DASD_STATE_READY && | 357 | if (!rc && |
358 | device->state == DASD_STATE_READY && | ||
340 | device->target <= DASD_STATE_BASIC) | 359 | device->target <= DASD_STATE_BASIC) |
341 | dasd_state_ready_to_basic(device); | 360 | rc = dasd_state_ready_to_basic(device); |
342 | 361 | ||
343 | if (device->state == DASD_STATE_UNFMT && | 362 | if (!rc && |
363 | device->state == DASD_STATE_UNFMT && | ||
344 | device->target <= DASD_STATE_BASIC) | 364 | device->target <= DASD_STATE_BASIC) |
345 | dasd_state_unfmt_to_basic(device); | 365 | rc = dasd_state_unfmt_to_basic(device); |
346 | 366 | ||
347 | if (device->state == DASD_STATE_BASIC && | 367 | if (!rc && |
368 | device->state == DASD_STATE_BASIC && | ||
348 | device->target <= DASD_STATE_KNOWN) | 369 | device->target <= DASD_STATE_KNOWN) |
349 | dasd_state_basic_to_known(device); | 370 | rc = dasd_state_basic_to_known(device); |
350 | 371 | ||
351 | if (device->state == DASD_STATE_KNOWN && | 372 | if (!rc && |
373 | device->state == DASD_STATE_KNOWN && | ||
352 | device->target <= DASD_STATE_NEW) | 374 | device->target <= DASD_STATE_NEW) |
353 | dasd_state_known_to_new(device); | 375 | rc = dasd_state_known_to_new(device); |
354 | 376 | ||
355 | return 0; | 377 | return rc; |
356 | } | 378 | } |
357 | 379 | ||
358 | /* | 380 | /* |
@@ -701,6 +723,7 @@ dasd_term_IO(struct dasd_ccw_req * cqr) | |||
701 | cqr->retries--; | 723 | cqr->retries--; |
702 | cqr->status = DASD_CQR_CLEAR; | 724 | cqr->status = DASD_CQR_CLEAR; |
703 | cqr->stopclk = get_clock(); | 725 | cqr->stopclk = get_clock(); |
726 | cqr->starttime = 0; | ||
704 | DBF_DEV_EVENT(DBF_DEBUG, device, | 727 | DBF_DEV_EVENT(DBF_DEBUG, device, |
705 | "terminate cqr %p successful", | 728 | "terminate cqr %p successful", |
706 | cqr); | 729 | cqr); |
@@ -978,6 +1001,7 @@ dasd_int_handler(struct ccw_device *cdev, unsigned long intparm, | |||
978 | irb->scsw.fctl & SCSW_FCTL_CLEAR_FUNC) { | 1001 | irb->scsw.fctl & SCSW_FCTL_CLEAR_FUNC) { |
979 | cqr->status = DASD_CQR_QUEUED; | 1002 | cqr->status = DASD_CQR_QUEUED; |
980 | dasd_clear_timer(device); | 1003 | dasd_clear_timer(device); |
1004 | wake_up(&dasd_flush_wq); | ||
981 | dasd_schedule_bh(device); | 1005 | dasd_schedule_bh(device); |
982 | return; | 1006 | return; |
983 | } | 1007 | } |
@@ -1241,6 +1265,10 @@ __dasd_check_expire(struct dasd_device * device) | |||
1241 | cqr = list_entry(device->ccw_queue.next, struct dasd_ccw_req, list); | 1265 | cqr = list_entry(device->ccw_queue.next, struct dasd_ccw_req, list); |
1242 | if (cqr->status == DASD_CQR_IN_IO && cqr->expires != 0) { | 1266 | if (cqr->status == DASD_CQR_IN_IO && cqr->expires != 0) { |
1243 | if (time_after_eq(jiffies, cqr->expires + cqr->starttime)) { | 1267 | if (time_after_eq(jiffies, cqr->expires + cqr->starttime)) { |
1268 | DEV_MESSAGE(KERN_ERR, device, | ||
1269 | "internal error - timeout (%is) expired " | ||
1270 | "for cqr %p (%i retries left)", | ||
1271 | (cqr->expires/HZ), cqr, cqr->retries); | ||
1244 | if (device->discipline->term_IO(cqr) != 0) | 1272 | if (device->discipline->term_IO(cqr) != 0) |
1245 | /* Hmpf, try again in 1/10 sec */ | 1273 | /* Hmpf, try again in 1/10 sec */ |
1246 | dasd_set_timer(device, 10); | 1274 | dasd_set_timer(device, 10); |
@@ -1285,46 +1313,100 @@ __dasd_start_head(struct dasd_device * device) | |||
1285 | dasd_set_timer(device, 50); | 1313 | dasd_set_timer(device, 50); |
1286 | } | 1314 | } |
1287 | 1315 | ||
1316 | static inline int | ||
1317 | _wait_for_clear(struct dasd_ccw_req *cqr) | ||
1318 | { | ||
1319 | return (cqr->status == DASD_CQR_QUEUED); | ||
1320 | } | ||
1321 | |||
1288 | /* | 1322 | /* |
1289 | * Remove requests from the ccw queue. | 1323 | * Remove all requests from the ccw queue (all = '1') or only block device |
1324 | * requests in case all = '0'. | ||
1325 | * Take care of the erp-chain (chained via cqr->refers) and remove either | ||
1326 | * the whole erp-chain or none of the erp-requests. | ||
1327 | * If a request is currently running, term_IO is called and the request | ||
1328 | * is re-queued. Prior to removing the terminated request we need to wait | ||
1329 | * for the clear-interrupt. | ||
1330 | * In case termination is not possible we stop processing and just finishing | ||
1331 | * the already moved requests. | ||
1290 | */ | 1332 | */ |
1291 | static void | 1333 | static int |
1292 | dasd_flush_ccw_queue(struct dasd_device * device, int all) | 1334 | dasd_flush_ccw_queue(struct dasd_device * device, int all) |
1293 | { | 1335 | { |
1336 | struct dasd_ccw_req *cqr, *orig, *n; | ||
1337 | int rc, i; | ||
1338 | |||
1294 | struct list_head flush_queue; | 1339 | struct list_head flush_queue; |
1295 | struct list_head *l, *n; | ||
1296 | struct dasd_ccw_req *cqr; | ||
1297 | 1340 | ||
1298 | INIT_LIST_HEAD(&flush_queue); | 1341 | INIT_LIST_HEAD(&flush_queue); |
1299 | spin_lock_irq(get_ccwdev_lock(device->cdev)); | 1342 | spin_lock_irq(get_ccwdev_lock(device->cdev)); |
1300 | list_for_each_safe(l, n, &device->ccw_queue) { | 1343 | rc = 0; |
1301 | cqr = list_entry(l, struct dasd_ccw_req, list); | 1344 | restart: |
1345 | list_for_each_entry_safe(cqr, n, &device->ccw_queue, list) { | ||
1346 | /* get original request of erp request-chain */ | ||
1347 | for (orig = cqr; orig->refers != NULL; orig = orig->refers); | ||
1348 | |||
1302 | /* Flush all request or only block device requests? */ | 1349 | /* Flush all request or only block device requests? */ |
1303 | if (all == 0 && cqr->callback == dasd_end_request_cb) | 1350 | if (all == 0 && cqr->callback != dasd_end_request_cb && |
1351 | orig->callback != dasd_end_request_cb) { | ||
1304 | continue; | 1352 | continue; |
1305 | if (cqr->status == DASD_CQR_IN_IO) | 1353 | } |
1306 | device->discipline->term_IO(cqr); | 1354 | /* Check status and move request to flush_queue */ |
1307 | if (cqr->status != DASD_CQR_DONE || | 1355 | switch (cqr->status) { |
1308 | cqr->status != DASD_CQR_FAILED) { | 1356 | case DASD_CQR_IN_IO: |
1309 | cqr->status = DASD_CQR_FAILED; | 1357 | rc = device->discipline->term_IO(cqr); |
1358 | if (rc) { | ||
1359 | /* unable to terminate requeust */ | ||
1360 | DEV_MESSAGE(KERN_ERR, device, | ||
1361 | "dasd flush ccw_queue is unable " | ||
1362 | " to terminate request %p", | ||
1363 | cqr); | ||
1364 | /* stop flush processing */ | ||
1365 | goto finished; | ||
1366 | } | ||
1367 | break; | ||
1368 | case DASD_CQR_QUEUED: | ||
1369 | case DASD_CQR_ERROR: | ||
1370 | /* set request to FAILED */ | ||
1310 | cqr->stopclk = get_clock(); | 1371 | cqr->stopclk = get_clock(); |
1372 | cqr->status = DASD_CQR_FAILED; | ||
1373 | break; | ||
1374 | default: /* do not touch the others */ | ||
1375 | break; | ||
1376 | } | ||
1377 | /* Rechain request (including erp chain) */ | ||
1378 | for (i = 0; cqr != NULL; cqr = cqr->refers, i++) { | ||
1379 | cqr->endclk = get_clock(); | ||
1380 | list_move_tail(&cqr->list, &flush_queue); | ||
1381 | } | ||
1382 | if (i > 1) | ||
1383 | /* moved more than one request - need to restart */ | ||
1384 | goto restart; | ||
1385 | } | ||
1386 | |||
1387 | finished: | ||
1388 | spin_unlock_irq(get_ccwdev_lock(device->cdev)); | ||
1389 | /* Now call the callback function of flushed requests */ | ||
1390 | restart_cb: | ||
1391 | list_for_each_entry_safe(cqr, n, &flush_queue, list) { | ||
1392 | if (cqr->status == DASD_CQR_CLEAR) { | ||
1393 | /* wait for clear interrupt! */ | ||
1394 | wait_event(dasd_flush_wq, _wait_for_clear(cqr)); | ||
1395 | cqr->status = DASD_CQR_FAILED; | ||
1311 | } | 1396 | } |
1312 | /* Process finished ERP request. */ | 1397 | /* Process finished ERP request. */ |
1313 | if (cqr->refers) { | 1398 | if (cqr->refers) { |
1314 | __dasd_process_erp(device, cqr); | 1399 | __dasd_process_erp(device, cqr); |
1315 | continue; | 1400 | /* restart list_for_xx loop since dasd_process_erp |
1401 | * might remove multiple elements */ | ||
1402 | goto restart_cb; | ||
1316 | } | 1403 | } |
1317 | /* Rechain request on device request queue */ | 1404 | /* call the callback function */ |
1318 | cqr->endclk = get_clock(); | 1405 | cqr->endclk = get_clock(); |
1319 | list_move_tail(&cqr->list, &flush_queue); | ||
1320 | } | ||
1321 | spin_unlock_irq(get_ccwdev_lock(device->cdev)); | ||
1322 | /* Now call the callback function of flushed requests */ | ||
1323 | list_for_each_safe(l, n, &flush_queue) { | ||
1324 | cqr = list_entry(l, struct dasd_ccw_req, list); | ||
1325 | if (cqr->callback != NULL) | 1406 | if (cqr->callback != NULL) |
1326 | (cqr->callback)(cqr, cqr->callback_data); | 1407 | (cqr->callback)(cqr, cqr->callback_data); |
1327 | } | 1408 | } |
1409 | return rc; | ||
1328 | } | 1410 | } |
1329 | 1411 | ||
1330 | /* | 1412 | /* |
@@ -1510,10 +1592,8 @@ dasd_sleep_on_interruptible(struct dasd_ccw_req * cqr) | |||
1510 | if (device->discipline->term_IO) { | 1592 | if (device->discipline->term_IO) { |
1511 | cqr->retries = -1; | 1593 | cqr->retries = -1; |
1512 | device->discipline->term_IO(cqr); | 1594 | device->discipline->term_IO(cqr); |
1513 | /*nished = | 1595 | /* wait (non-interruptible) for final status |
1514 | * wait (non-interruptible) for final status | 1596 | * because signal ist still pending */ |
1515 | * because signal ist still pending | ||
1516 | */ | ||
1517 | spin_unlock_irq(get_ccwdev_lock(device->cdev)); | 1597 | spin_unlock_irq(get_ccwdev_lock(device->cdev)); |
1518 | wait_event(wait_q, _wait_for_wakeup(cqr)); | 1598 | wait_event(wait_q, _wait_for_wakeup(cqr)); |
1519 | spin_lock_irq(get_ccwdev_lock(device->cdev)); | 1599 | spin_lock_irq(get_ccwdev_lock(device->cdev)); |
@@ -1546,19 +1626,11 @@ static inline int | |||
1546 | _dasd_term_running_cqr(struct dasd_device *device) | 1626 | _dasd_term_running_cqr(struct dasd_device *device) |
1547 | { | 1627 | { |
1548 | struct dasd_ccw_req *cqr; | 1628 | struct dasd_ccw_req *cqr; |
1549 | int rc; | ||
1550 | 1629 | ||
1551 | if (list_empty(&device->ccw_queue)) | 1630 | if (list_empty(&device->ccw_queue)) |
1552 | return 0; | 1631 | return 0; |
1553 | cqr = list_entry(device->ccw_queue.next, struct dasd_ccw_req, list); | 1632 | cqr = list_entry(device->ccw_queue.next, struct dasd_ccw_req, list); |
1554 | rc = device->discipline->term_IO(cqr); | 1633 | return device->discipline->term_IO(cqr); |
1555 | if (rc == 0) { | ||
1556 | /* termination successful */ | ||
1557 | cqr->status = DASD_CQR_QUEUED; | ||
1558 | cqr->startclk = cqr->stopclk = 0; | ||
1559 | cqr->starttime = 0; | ||
1560 | } | ||
1561 | return rc; | ||
1562 | } | 1634 | } |
1563 | 1635 | ||
1564 | int | 1636 | int |
@@ -1726,10 +1798,7 @@ dasd_flush_request_queue(struct dasd_device * device) | |||
1726 | return; | 1798 | return; |
1727 | 1799 | ||
1728 | spin_lock_irq(&device->request_queue_lock); | 1800 | spin_lock_irq(&device->request_queue_lock); |
1729 | while (!list_empty(&device->request_queue->queue_head)) { | 1801 | while ((req = elv_next_request(device->request_queue))) { |
1730 | req = elv_next_request(device->request_queue); | ||
1731 | if (req == NULL) | ||
1732 | break; | ||
1733 | blkdev_dequeue_request(req); | 1802 | blkdev_dequeue_request(req); |
1734 | dasd_end_request(req, 0); | 1803 | dasd_end_request(req, 0); |
1735 | } | 1804 | } |
@@ -2091,6 +2160,7 @@ dasd_init(void) | |||
2091 | int rc; | 2160 | int rc; |
2092 | 2161 | ||
2093 | init_waitqueue_head(&dasd_init_waitq); | 2162 | init_waitqueue_head(&dasd_init_waitq); |
2163 | init_waitqueue_head(&dasd_flush_wq); | ||
2094 | 2164 | ||
2095 | /* register 'common' DASD debug area, used for all DBF_XXX calls */ | 2165 | /* register 'common' DASD debug area, used for all DBF_XXX calls */ |
2096 | dasd_debug_area = debug_register("dasd", 1, 2, 8 * sizeof (long)); | 2166 | dasd_debug_area = debug_register("dasd", 1, 2, 8 * sizeof (long)); |
diff --git a/drivers/s390/block/dasd_genhd.c b/drivers/s390/block/dasd_genhd.c index 4c272b70f41..d163632101d 100644 --- a/drivers/s390/block/dasd_genhd.c +++ b/drivers/s390/block/dasd_genhd.c | |||
@@ -83,10 +83,12 @@ dasd_gendisk_alloc(struct dasd_device *device) | |||
83 | void | 83 | void |
84 | dasd_gendisk_free(struct dasd_device *device) | 84 | dasd_gendisk_free(struct dasd_device *device) |
85 | { | 85 | { |
86 | del_gendisk(device->gdp); | 86 | if (device->gdp) { |
87 | device->gdp->queue = NULL; | 87 | del_gendisk(device->gdp); |
88 | put_disk(device->gdp); | 88 | device->gdp->queue = NULL; |
89 | device->gdp = NULL; | 89 | put_disk(device->gdp); |
90 | device->gdp = NULL; | ||
91 | } | ||
90 | } | 92 | } |
91 | 93 | ||
92 | /* | 94 | /* |
diff --git a/drivers/s390/cio/ccwgroup.c b/drivers/s390/cio/ccwgroup.c index 3cba6c9fab1..38954f5cd14 100644 --- a/drivers/s390/cio/ccwgroup.c +++ b/drivers/s390/cio/ccwgroup.c | |||
@@ -183,11 +183,9 @@ ccwgroup_create(struct device *root, | |||
183 | 183 | ||
184 | gdev->creator_id = creator_id; | 184 | gdev->creator_id = creator_id; |
185 | gdev->count = argc; | 185 | gdev->count = argc; |
186 | gdev->dev = (struct device ) { | 186 | gdev->dev.bus = &ccwgroup_bus_type; |
187 | .bus = &ccwgroup_bus_type, | 187 | gdev->dev.parent = root; |
188 | .parent = root, | 188 | gdev->dev.release = ccwgroup_release; |
189 | .release = ccwgroup_release, | ||
190 | }; | ||
191 | 189 | ||
192 | snprintf (gdev->dev.bus_id, BUS_ID_SIZE, "%s", | 190 | snprintf (gdev->dev.bus_id, BUS_ID_SIZE, "%s", |
193 | gdev->cdev[0]->dev.bus_id); | 191 | gdev->cdev[0]->dev.bus_id); |
@@ -391,10 +389,8 @@ int | |||
391 | ccwgroup_driver_register (struct ccwgroup_driver *cdriver) | 389 | ccwgroup_driver_register (struct ccwgroup_driver *cdriver) |
392 | { | 390 | { |
393 | /* register our new driver with the core */ | 391 | /* register our new driver with the core */ |
394 | cdriver->driver = (struct device_driver) { | 392 | cdriver->driver.bus = &ccwgroup_bus_type; |
395 | .bus = &ccwgroup_bus_type, | 393 | cdriver->driver.name = cdriver->name; |
396 | .name = cdriver->name, | ||
397 | }; | ||
398 | 394 | ||
399 | return driver_register(&cdriver->driver); | 395 | return driver_register(&cdriver->driver); |
400 | } | 396 | } |
diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c index 61ce3f1d522..c28444af091 100644 --- a/drivers/s390/cio/chsc.c +++ b/drivers/s390/cio/chsc.c | |||
@@ -238,8 +238,6 @@ s390_subchannel_remove_chpid(struct device *dev, void *data) | |||
238 | /* Check for single path devices. */ | 238 | /* Check for single path devices. */ |
239 | if (sch->schib.pmcw.pim == 0x80) | 239 | if (sch->schib.pmcw.pim == 0x80) |
240 | goto out_unreg; | 240 | goto out_unreg; |
241 | if (sch->vpm == mask) | ||
242 | goto out_unreg; | ||
243 | 241 | ||
244 | if ((sch->schib.scsw.actl & SCSW_ACTL_DEVACT) && | 242 | if ((sch->schib.scsw.actl & SCSW_ACTL_DEVACT) && |
245 | (sch->schib.scsw.actl & SCSW_ACTL_SCHACT) && | 243 | (sch->schib.scsw.actl & SCSW_ACTL_SCHACT) && |
@@ -258,6 +256,8 @@ s390_subchannel_remove_chpid(struct device *dev, void *data) | |||
258 | /* trigger path verification. */ | 256 | /* trigger path verification. */ |
259 | if (sch->driver && sch->driver->verify) | 257 | if (sch->driver && sch->driver->verify) |
260 | sch->driver->verify(&sch->dev); | 258 | sch->driver->verify(&sch->dev); |
259 | else if (sch->vpm == mask) | ||
260 | goto out_unreg; | ||
261 | out_unlock: | 261 | out_unlock: |
262 | spin_unlock_irq(&sch->lock); | 262 | spin_unlock_irq(&sch->lock); |
263 | return 0; | 263 | return 0; |
@@ -1391,10 +1391,8 @@ new_channel_path(int chpid) | |||
1391 | /* fill in status, etc. */ | 1391 | /* fill in status, etc. */ |
1392 | chp->id = chpid; | 1392 | chp->id = chpid; |
1393 | chp->state = 1; | 1393 | chp->state = 1; |
1394 | chp->dev = (struct device) { | 1394 | chp->dev.parent = &css[0]->device; |
1395 | .parent = &css[0]->device, | 1395 | chp->dev.release = chp_release; |
1396 | .release = chp_release, | ||
1397 | }; | ||
1398 | snprintf(chp->dev.bus_id, BUS_ID_SIZE, "chp0.%x", chpid); | 1396 | snprintf(chp->dev.bus_id, BUS_ID_SIZE, "chp0.%x", chpid); |
1399 | 1397 | ||
1400 | /* Obtain channel path description and fill it in. */ | 1398 | /* Obtain channel path description and fill it in. */ |
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index 585fa04233c..646da564040 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c | |||
@@ -556,12 +556,11 @@ get_disc_ccwdev_by_devno(unsigned int devno, unsigned int ssid, | |||
556 | struct ccw_device *sibling) | 556 | struct ccw_device *sibling) |
557 | { | 557 | { |
558 | struct device *dev; | 558 | struct device *dev; |
559 | struct match_data data = { | 559 | struct match_data data; |
560 | .devno = devno, | ||
561 | .ssid = ssid, | ||
562 | .sibling = sibling, | ||
563 | }; | ||
564 | 560 | ||
561 | data.devno = devno; | ||
562 | data.ssid = ssid; | ||
563 | data.sibling = sibling; | ||
565 | dev = bus_find_device(&ccw_bus_type, NULL, &data, match_devno); | 564 | dev = bus_find_device(&ccw_bus_type, NULL, &data, match_devno); |
566 | 565 | ||
567 | return dev ? to_ccwdev(dev) : NULL; | 566 | return dev ? to_ccwdev(dev) : NULL; |
@@ -835,10 +834,8 @@ io_subchannel_probe (struct subchannel *sch) | |||
835 | return -ENOMEM; | 834 | return -ENOMEM; |
836 | } | 835 | } |
837 | atomic_set(&cdev->private->onoff, 0); | 836 | atomic_set(&cdev->private->onoff, 0); |
838 | cdev->dev = (struct device) { | 837 | cdev->dev.parent = &sch->dev; |
839 | .parent = &sch->dev, | 838 | cdev->dev.release = ccw_device_release; |
840 | .release = ccw_device_release, | ||
841 | }; | ||
842 | INIT_LIST_HEAD(&cdev->private->kick_work.entry); | 839 | INIT_LIST_HEAD(&cdev->private->kick_work.entry); |
843 | /* Do first half of device_register. */ | 840 | /* Do first half of device_register. */ |
844 | device_initialize(&cdev->dev); | 841 | device_initialize(&cdev->dev); |
@@ -977,9 +974,7 @@ ccw_device_console_enable (struct ccw_device *cdev, struct subchannel *sch) | |||
977 | int rc; | 974 | int rc; |
978 | 975 | ||
979 | /* Initialize the ccw_device structure. */ | 976 | /* Initialize the ccw_device structure. */ |
980 | cdev->dev = (struct device) { | 977 | cdev->dev.parent= &sch->dev; |
981 | .parent = &sch->dev, | ||
982 | }; | ||
983 | rc = io_subchannel_recog(cdev, sch); | 978 | rc = io_subchannel_recog(cdev, sch); |
984 | if (rc) | 979 | if (rc) |
985 | return rc; | 980 | return rc; |
diff --git a/drivers/s390/cio/device_fsm.c b/drivers/s390/cio/device_fsm.c index 6d91c2eb205..35e162ba6d5 100644 --- a/drivers/s390/cio/device_fsm.c +++ b/drivers/s390/cio/device_fsm.c | |||
@@ -267,12 +267,10 @@ ccw_device_recog_done(struct ccw_device *cdev, int state) | |||
267 | notify = 1; | 267 | notify = 1; |
268 | } | 268 | } |
269 | /* fill out sense information */ | 269 | /* fill out sense information */ |
270 | cdev->id = (struct ccw_device_id) { | 270 | cdev->id.cu_type = cdev->private->senseid.cu_type; |
271 | .cu_type = cdev->private->senseid.cu_type, | 271 | cdev->id.cu_model = cdev->private->senseid.cu_model; |
272 | .cu_model = cdev->private->senseid.cu_model, | 272 | cdev->id.dev_type = cdev->private->senseid.dev_type; |
273 | .dev_type = cdev->private->senseid.dev_type, | 273 | cdev->id.dev_model = cdev->private->senseid.dev_model; |
274 | .dev_model = cdev->private->senseid.dev_model, | ||
275 | }; | ||
276 | if (notify) { | 274 | if (notify) { |
277 | cdev->private->state = DEV_STATE_OFFLINE; | 275 | cdev->private->state = DEV_STATE_OFFLINE; |
278 | if (same_dev) { | 276 | if (same_dev) { |
@@ -566,12 +564,10 @@ ccw_device_verify_done(struct ccw_device *cdev, int err) | |||
566 | /* Deliver fake irb to device driver, if needed. */ | 564 | /* Deliver fake irb to device driver, if needed. */ |
567 | if (cdev->private->flags.fake_irb) { | 565 | if (cdev->private->flags.fake_irb) { |
568 | memset(&cdev->private->irb, 0, sizeof(struct irb)); | 566 | memset(&cdev->private->irb, 0, sizeof(struct irb)); |
569 | cdev->private->irb.scsw = (struct scsw) { | 567 | cdev->private->irb.scsw.cc = 1; |
570 | .cc = 1, | 568 | cdev->private->irb.scsw.fctl = SCSW_FCTL_START_FUNC; |
571 | .fctl = SCSW_FCTL_START_FUNC, | 569 | cdev->private->irb.scsw.actl = SCSW_ACTL_START_PEND; |
572 | .actl = SCSW_ACTL_START_PEND, | 570 | cdev->private->irb.scsw.stctl = SCSW_STCTL_STATUS_PEND; |
573 | .stctl = SCSW_STCTL_STATUS_PEND, | ||
574 | }; | ||
575 | cdev->private->flags.fake_irb = 0; | 571 | cdev->private->flags.fake_irb = 0; |
576 | if (cdev->handler) | 572 | if (cdev->handler) |
577 | cdev->handler(cdev, cdev->private->intparm, | 573 | cdev->handler(cdev, cdev->private->intparm, |
diff --git a/drivers/s390/cio/device_pgid.c b/drivers/s390/cio/device_pgid.c index 32610fd8868..1693a102dcf 100644 --- a/drivers/s390/cio/device_pgid.c +++ b/drivers/s390/cio/device_pgid.c | |||
@@ -24,6 +24,21 @@ | |||
24 | #include "ioasm.h" | 24 | #include "ioasm.h" |
25 | 25 | ||
26 | /* | 26 | /* |
27 | * Helper function called from interrupt context to decide whether an | ||
28 | * operation should be tried again. | ||
29 | */ | ||
30 | static int __ccw_device_should_retry(struct scsw *scsw) | ||
31 | { | ||
32 | /* CC is only valid if start function bit is set. */ | ||
33 | if ((scsw->fctl & SCSW_FCTL_START_FUNC) && scsw->cc == 1) | ||
34 | return 1; | ||
35 | /* No more activity. For sense and set PGID we stubbornly try again. */ | ||
36 | if (!scsw->actl) | ||
37 | return 1; | ||
38 | return 0; | ||
39 | } | ||
40 | |||
41 | /* | ||
27 | * Start Sense Path Group ID helper function. Used in ccw_device_recog | 42 | * Start Sense Path Group ID helper function. Used in ccw_device_recog |
28 | * and ccw_device_sense_pgid. | 43 | * and ccw_device_sense_pgid. |
29 | */ | 44 | */ |
@@ -155,10 +170,10 @@ ccw_device_sense_pgid_irq(struct ccw_device *cdev, enum dev_event dev_event) | |||
155 | int ret; | 170 | int ret; |
156 | 171 | ||
157 | irb = (struct irb *) __LC_IRB; | 172 | irb = (struct irb *) __LC_IRB; |
158 | /* Retry sense pgid for cc=1. */ | 173 | |
159 | if (irb->scsw.stctl == | 174 | if (irb->scsw.stctl == |
160 | (SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) { | 175 | (SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) { |
161 | if (irb->scsw.cc == 1) { | 176 | if (__ccw_device_should_retry(&irb->scsw)) { |
162 | ret = __ccw_device_sense_pgid_start(cdev); | 177 | ret = __ccw_device_sense_pgid_start(cdev); |
163 | if (ret && ret != -EBUSY) | 178 | if (ret && ret != -EBUSY) |
164 | ccw_device_sense_pgid_done(cdev, ret); | 179 | ccw_device_sense_pgid_done(cdev, ret); |
@@ -391,10 +406,10 @@ ccw_device_verify_irq(struct ccw_device *cdev, enum dev_event dev_event) | |||
391 | int ret; | 406 | int ret; |
392 | 407 | ||
393 | irb = (struct irb *) __LC_IRB; | 408 | irb = (struct irb *) __LC_IRB; |
394 | /* Retry set pgid for cc=1. */ | 409 | |
395 | if (irb->scsw.stctl == | 410 | if (irb->scsw.stctl == |
396 | (SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) { | 411 | (SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) { |
397 | if (irb->scsw.cc == 1) | 412 | if (__ccw_device_should_retry(&irb->scsw)) |
398 | __ccw_device_verify_start(cdev); | 413 | __ccw_device_verify_start(cdev); |
399 | return; | 414 | return; |
400 | } | 415 | } |
@@ -494,10 +509,10 @@ ccw_device_disband_irq(struct ccw_device *cdev, enum dev_event dev_event) | |||
494 | int ret; | 509 | int ret; |
495 | 510 | ||
496 | irb = (struct irb *) __LC_IRB; | 511 | irb = (struct irb *) __LC_IRB; |
497 | /* Retry set pgid for cc=1. */ | 512 | |
498 | if (irb->scsw.stctl == | 513 | if (irb->scsw.stctl == |
499 | (SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) { | 514 | (SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) { |
500 | if (irb->scsw.cc == 1) | 515 | if (__ccw_device_should_retry(&irb->scsw)) |
501 | __ccw_device_disband_start(cdev); | 516 | __ccw_device_disband_start(cdev); |
502 | return; | 517 | return; |
503 | } | 518 | } |
diff --git a/drivers/scsi/ata_piix.c b/drivers/scsi/ata_piix.c index 2d20caf377f..a9bb3cb7e89 100644 --- a/drivers/scsi/ata_piix.c +++ b/drivers/scsi/ata_piix.c | |||
@@ -123,7 +123,8 @@ enum { | |||
123 | ich6_sata = 4, | 123 | ich6_sata = 4, |
124 | ich6_sata_ahci = 5, | 124 | ich6_sata_ahci = 5, |
125 | ich6m_sata_ahci = 6, | 125 | ich6m_sata_ahci = 6, |
126 | ich8_sata_ahci = 7, | 126 | ich7m_sata_ahci = 7, |
127 | ich8_sata_ahci = 8, | ||
127 | 128 | ||
128 | /* constants for mapping table */ | 129 | /* constants for mapping table */ |
129 | P0 = 0, /* port 0 */ | 130 | P0 = 0, /* port 0 */ |
@@ -188,7 +189,7 @@ static const struct pci_device_id piix_pci_tbl[] = { | |||
188 | /* 82801GB/GR/GH (ICH7, identical to ICH6) */ | 189 | /* 82801GB/GR/GH (ICH7, identical to ICH6) */ |
189 | { 0x8086, 0x27c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci }, | 190 | { 0x8086, 0x27c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci }, |
190 | /* 2801GBM/GHM (ICH7M, identical to ICH6M) */ | 191 | /* 2801GBM/GHM (ICH7M, identical to ICH6M) */ |
191 | { 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6m_sata_ahci }, | 192 | { 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich7m_sata_ahci }, |
192 | /* Enterprise Southbridge 2 (where's the datasheet?) */ | 193 | /* Enterprise Southbridge 2 (where's the datasheet?) */ |
193 | { 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci }, | 194 | { 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci }, |
194 | /* SATA Controller 1 IDE (ICH8, no datasheet yet) */ | 195 | /* SATA Controller 1 IDE (ICH8, no datasheet yet) */ |
@@ -336,6 +337,24 @@ static const struct piix_map_db ich6m_map_db = { | |||
336 | }, | 337 | }, |
337 | }; | 338 | }; |
338 | 339 | ||
340 | static const struct piix_map_db ich7m_map_db = { | ||
341 | .mask = 0x3, | ||
342 | .port_enable = 0x5, | ||
343 | .present_shift = 4, | ||
344 | |||
345 | /* Map 01b isn't specified in the doc but some notebooks use | ||
346 | * it anyway. ATM, the only case spotted carries subsystem ID | ||
347 | * 1025:0107. This is the only difference from ich6m. | ||
348 | */ | ||
349 | .map = { | ||
350 | /* PM PS SM SS MAP */ | ||
351 | { P0, P2, RV, RV }, /* 00b */ | ||
352 | { IDE, IDE, P1, P3 }, /* 01b */ | ||
353 | { P0, P2, IDE, IDE }, /* 10b */ | ||
354 | { RV, RV, RV, RV }, | ||
355 | }, | ||
356 | }; | ||
357 | |||
339 | static const struct piix_map_db ich8_map_db = { | 358 | static const struct piix_map_db ich8_map_db = { |
340 | .mask = 0x3, | 359 | .mask = 0x3, |
341 | .port_enable = 0x3, | 360 | .port_enable = 0x3, |
@@ -355,6 +374,7 @@ static const struct piix_map_db *piix_map_db_table[] = { | |||
355 | [ich6_sata] = &ich6_map_db, | 374 | [ich6_sata] = &ich6_map_db, |
356 | [ich6_sata_ahci] = &ich6_map_db, | 375 | [ich6_sata_ahci] = &ich6_map_db, |
357 | [ich6m_sata_ahci] = &ich6m_map_db, | 376 | [ich6m_sata_ahci] = &ich6m_map_db, |
377 | [ich7m_sata_ahci] = &ich7m_map_db, | ||
358 | [ich8_sata_ahci] = &ich8_map_db, | 378 | [ich8_sata_ahci] = &ich8_map_db, |
359 | }; | 379 | }; |
360 | 380 | ||
@@ -444,6 +464,18 @@ static struct ata_port_info piix_port_info[] = { | |||
444 | .port_ops = &piix_sata_ops, | 464 | .port_ops = &piix_sata_ops, |
445 | }, | 465 | }, |
446 | 466 | ||
467 | /* ich7m_sata_ahci */ | ||
468 | { | ||
469 | .sht = &piix_sht, | ||
470 | .host_flags = ATA_FLAG_SATA | | ||
471 | PIIX_FLAG_CHECKINTR | PIIX_FLAG_SCR | | ||
472 | PIIX_FLAG_AHCI, | ||
473 | .pio_mask = 0x1f, /* pio0-4 */ | ||
474 | .mwdma_mask = 0x07, /* mwdma0-2 */ | ||
475 | .udma_mask = 0x7f, /* udma0-6 */ | ||
476 | .port_ops = &piix_sata_ops, | ||
477 | }, | ||
478 | |||
447 | /* ich8_sata_ahci */ | 479 | /* ich8_sata_ahci */ |
448 | { | 480 | { |
449 | .sht = &piix_sht, | 481 | .sht = &piix_sht, |
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index 73dd6c8deed..427b73a3886 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c | |||
@@ -1256,10 +1256,15 @@ int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class, | |||
1256 | swap_buf_le16(id, ATA_ID_WORDS); | 1256 | swap_buf_le16(id, ATA_ID_WORDS); |
1257 | 1257 | ||
1258 | /* sanity check */ | 1258 | /* sanity check */ |
1259 | if ((class == ATA_DEV_ATA) != (ata_id_is_ata(id) | ata_id_is_cfa(id))) { | 1259 | rc = -EINVAL; |
1260 | rc = -EINVAL; | 1260 | reason = "device reports illegal type"; |
1261 | reason = "device reports illegal type"; | 1261 | |
1262 | goto err_out; | 1262 | if (class == ATA_DEV_ATA) { |
1263 | if (!ata_id_is_ata(id) && !ata_id_is_cfa(id)) | ||
1264 | goto err_out; | ||
1265 | } else { | ||
1266 | if (ata_id_is_ata(id)) | ||
1267 | goto err_out; | ||
1263 | } | 1268 | } |
1264 | 1269 | ||
1265 | if (post_reset && class == ATA_DEV_ATA) { | 1270 | if (post_reset && class == ATA_DEV_ATA) { |
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c index 1053c7c76b7..fa38a413d16 100644 --- a/drivers/scsi/sata_mv.c +++ b/drivers/scsi/sata_mv.c | |||
@@ -1961,8 +1961,7 @@ comreset_retry: | |||
1961 | timeout = jiffies + msecs_to_jiffies(200); | 1961 | timeout = jiffies + msecs_to_jiffies(200); |
1962 | do { | 1962 | do { |
1963 | sata_scr_read(ap, SCR_STATUS, &sstatus); | 1963 | sata_scr_read(ap, SCR_STATUS, &sstatus); |
1964 | sstatus &= 0x3; | 1964 | if (((sstatus & 0x3) == 3) || ((sstatus & 0x3) == 0)) |
1965 | if ((sstatus == 3) || (sstatus == 0)) | ||
1966 | break; | 1965 | break; |
1967 | 1966 | ||
1968 | __msleep(1, can_sleep); | 1967 | __msleep(1, can_sleep); |
diff --git a/drivers/scsi/sata_via.c b/drivers/scsi/sata_via.c index 01d40369a8a..a3727af8b9c 100644 --- a/drivers/scsi/sata_via.c +++ b/drivers/scsi/sata_via.c | |||
@@ -77,6 +77,7 @@ static void svia_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val); | |||
77 | static void vt6420_error_handler(struct ata_port *ap); | 77 | static void vt6420_error_handler(struct ata_port *ap); |
78 | 78 | ||
79 | static const struct pci_device_id svia_pci_tbl[] = { | 79 | static const struct pci_device_id svia_pci_tbl[] = { |
80 | { 0x1106, 0x0591, PCI_ANY_ID, PCI_ANY_ID, 0, 0, vt6420 }, | ||
80 | { 0x1106, 0x3149, PCI_ANY_ID, PCI_ANY_ID, 0, 0, vt6420 }, | 81 | { 0x1106, 0x3149, PCI_ANY_ID, PCI_ANY_ID, 0, 0, vt6420 }, |
81 | { 0x1106, 0x3249, PCI_ANY_ID, PCI_ANY_ID, 0, 0, vt6421 }, | 82 | { 0x1106, 0x3249, PCI_ANY_ID, PCI_ANY_ID, 0, 0, vt6421 }, |
82 | 83 | ||
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index a8ed5a22009..3d355d05461 100644 --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c | |||
@@ -466,7 +466,7 @@ static int scsi_send_eh_cmnd(struct scsi_cmnd *scmd, unsigned char *cmnd, | |||
466 | struct scsi_device *sdev = scmd->device; | 466 | struct scsi_device *sdev = scmd->device; |
467 | struct Scsi_Host *shost = sdev->host; | 467 | struct Scsi_Host *shost = sdev->host; |
468 | int old_result = scmd->result; | 468 | int old_result = scmd->result; |
469 | DECLARE_COMPLETION(done); | 469 | DECLARE_COMPLETION_ONSTACK(done); |
470 | unsigned long timeleft; | 470 | unsigned long timeleft; |
471 | unsigned long flags; | 471 | unsigned long flags; |
472 | unsigned char old_cmnd[MAX_COMMAND_SIZE]; | 472 | unsigned char old_cmnd[MAX_COMMAND_SIZE]; |
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c index cd1979daf2b..851e4839d6d 100644 --- a/drivers/serial/8250_pci.c +++ b/drivers/serial/8250_pci.c | |||
@@ -458,11 +458,11 @@ static int pci_siig_setup(struct serial_private *priv, | |||
458 | * growing *huge*, we use this function to collapse some 70 entries | 458 | * growing *huge*, we use this function to collapse some 70 entries |
459 | * in the PCI table into one, for sanity's and compactness's sake. | 459 | * in the PCI table into one, for sanity's and compactness's sake. |
460 | */ | 460 | */ |
461 | static unsigned short timedia_single_port[] = { | 461 | static const unsigned short timedia_single_port[] = { |
462 | 0x4025, 0x4027, 0x4028, 0x5025, 0x5027, 0 | 462 | 0x4025, 0x4027, 0x4028, 0x5025, 0x5027, 0 |
463 | }; | 463 | }; |
464 | 464 | ||
465 | static unsigned short timedia_dual_port[] = { | 465 | static const unsigned short timedia_dual_port[] = { |
466 | 0x0002, 0x4036, 0x4037, 0x4038, 0x4078, 0x4079, 0x4085, | 466 | 0x0002, 0x4036, 0x4037, 0x4038, 0x4078, 0x4079, 0x4085, |
467 | 0x4088, 0x4089, 0x5037, 0x5078, 0x5079, 0x5085, 0x6079, | 467 | 0x4088, 0x4089, 0x5037, 0x5078, 0x5079, 0x5085, 0x6079, |
468 | 0x7079, 0x8079, 0x8137, 0x8138, 0x8237, 0x8238, 0x9079, | 468 | 0x7079, 0x8079, 0x8137, 0x8138, 0x8237, 0x8238, 0x9079, |
@@ -470,35 +470,34 @@ static unsigned short timedia_dual_port[] = { | |||
470 | 0xD079, 0 | 470 | 0xD079, 0 |
471 | }; | 471 | }; |
472 | 472 | ||
473 | static unsigned short timedia_quad_port[] = { | 473 | static const unsigned short timedia_quad_port[] = { |
474 | 0x4055, 0x4056, 0x4095, 0x4096, 0x5056, 0x8156, 0x8157, | 474 | 0x4055, 0x4056, 0x4095, 0x4096, 0x5056, 0x8156, 0x8157, |
475 | 0x8256, 0x8257, 0x9056, 0x9156, 0x9157, 0x9158, 0x9159, | 475 | 0x8256, 0x8257, 0x9056, 0x9156, 0x9157, 0x9158, 0x9159, |
476 | 0x9256, 0x9257, 0xA056, 0xA157, 0xA158, 0xA159, 0xB056, | 476 | 0x9256, 0x9257, 0xA056, 0xA157, 0xA158, 0xA159, 0xB056, |
477 | 0xB157, 0 | 477 | 0xB157, 0 |
478 | }; | 478 | }; |
479 | 479 | ||
480 | static unsigned short timedia_eight_port[] = { | 480 | static const unsigned short timedia_eight_port[] = { |
481 | 0x4065, 0x4066, 0x5065, 0x5066, 0x8166, 0x9066, 0x9166, | 481 | 0x4065, 0x4066, 0x5065, 0x5066, 0x8166, 0x9066, 0x9166, |
482 | 0x9167, 0x9168, 0xA066, 0xA167, 0xA168, 0 | 482 | 0x9167, 0x9168, 0xA066, 0xA167, 0xA168, 0 |
483 | }; | 483 | }; |
484 | 484 | ||
485 | static const struct timedia_struct { | 485 | static const struct timedia_struct { |
486 | int num; | 486 | int num; |
487 | unsigned short *ids; | 487 | const unsigned short *ids; |
488 | } timedia_data[] = { | 488 | } timedia_data[] = { |
489 | { 1, timedia_single_port }, | 489 | { 1, timedia_single_port }, |
490 | { 2, timedia_dual_port }, | 490 | { 2, timedia_dual_port }, |
491 | { 4, timedia_quad_port }, | 491 | { 4, timedia_quad_port }, |
492 | { 8, timedia_eight_port }, | 492 | { 8, timedia_eight_port } |
493 | { 0, NULL } | ||
494 | }; | 493 | }; |
495 | 494 | ||
496 | static int pci_timedia_init(struct pci_dev *dev) | 495 | static int pci_timedia_init(struct pci_dev *dev) |
497 | { | 496 | { |
498 | unsigned short *ids; | 497 | const unsigned short *ids; |
499 | int i, j; | 498 | int i, j; |
500 | 499 | ||
501 | for (i = 0; timedia_data[i].num; i++) { | 500 | for (i = 0; i < ARRAY_SIZE(timedia_data); i++) { |
502 | ids = timedia_data[i].ids; | 501 | ids = timedia_data[i].ids; |
503 | for (j = 0; ids[j]; j++) | 502 | for (j = 0; ids[j]; j++) |
504 | if (dev->subsystem_device == ids[j]) | 503 | if (dev->subsystem_device == ids[j]) |
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c index 80ef7d48275..372e47f7d59 100644 --- a/drivers/serial/serial_core.c +++ b/drivers/serial/serial_core.c | |||
@@ -2377,6 +2377,9 @@ int uart_match_port(struct uart_port *port1, struct uart_port *port2) | |||
2377 | return (port1->iobase == port2->iobase) && | 2377 | return (port1->iobase == port2->iobase) && |
2378 | (port1->hub6 == port2->hub6); | 2378 | (port1->hub6 == port2->hub6); |
2379 | case UPIO_MEM: | 2379 | case UPIO_MEM: |
2380 | case UPIO_MEM32: | ||
2381 | case UPIO_AU: | ||
2382 | case UPIO_TSI: | ||
2380 | return (port1->mapbase == port2->mapbase); | 2383 | return (port1->mapbase == port2->mapbase); |
2381 | } | 2384 | } |
2382 | return 0; | 2385 | return 0; |
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c index 301573373c3..cbede06cac2 100644 --- a/drivers/serial/sh-sci.c +++ b/drivers/serial/sh-sci.c | |||
@@ -1579,7 +1579,7 @@ static int __init serial_console_setup(struct console *co, char *options) | |||
1579 | h8300_sci_enable(port, sci_enable); | 1579 | h8300_sci_enable(port, sci_enable); |
1580 | #endif | 1580 | #endif |
1581 | #elif defined(CONFIG_SUPERH64) | 1581 | #elif defined(CONFIG_SUPERH64) |
1582 | port->uartclk = current_cpu_info.module_clock * 16; | 1582 | port->uartclk = current_cpu_data.module_clock * 16; |
1583 | #else | 1583 | #else |
1584 | { | 1584 | { |
1585 | struct clk *clk = clk_get("module_clk"); | 1585 | struct clk *clk = clk_get("module_clk"); |
@@ -1720,7 +1720,7 @@ static int __init sci_init(void) | |||
1720 | #if defined(__H8300H__) || defined(__H8300S__) | 1720 | #if defined(__H8300H__) || defined(__H8300S__) |
1721 | sciport->port.uartclk = CONFIG_CPU_CLOCK; | 1721 | sciport->port.uartclk = CONFIG_CPU_CLOCK; |
1722 | #elif defined(CONFIG_SUPERH64) | 1722 | #elif defined(CONFIG_SUPERH64) |
1723 | sciport->port.uartclk = current_cpu_info.module_clock * 16; | 1723 | sciport->port.uartclk = current_cpu_data.module_clock * 16; |
1724 | #else | 1724 | #else |
1725 | struct clk *clk = clk_get("module_clk"); | 1725 | struct clk *clk = clk_get("module_clk"); |
1726 | sciport->port.uartclk = clk_get_rate(clk) * 16; | 1726 | sciport->port.uartclk = clk_get_rate(clk) * 16; |
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index 4fe1bec1c25..30299c620d9 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c | |||
@@ -117,6 +117,8 @@ struct eth_dev { | |||
117 | struct usb_ep *in_ep, *out_ep, *status_ep; | 117 | struct usb_ep *in_ep, *out_ep, *status_ep; |
118 | const struct usb_endpoint_descriptor | 118 | const struct usb_endpoint_descriptor |
119 | *in, *out, *status; | 119 | *in, *out, *status; |
120 | |||
121 | spinlock_t req_lock; | ||
120 | struct list_head tx_reqs, rx_reqs; | 122 | struct list_head tx_reqs, rx_reqs; |
121 | 123 | ||
122 | struct net_device *net; | 124 | struct net_device *net; |
@@ -1066,21 +1068,31 @@ static void eth_reset_config (struct eth_dev *dev) | |||
1066 | */ | 1068 | */ |
1067 | if (dev->in) { | 1069 | if (dev->in) { |
1068 | usb_ep_disable (dev->in_ep); | 1070 | usb_ep_disable (dev->in_ep); |
1071 | spin_lock(&dev->req_lock); | ||
1069 | while (likely (!list_empty (&dev->tx_reqs))) { | 1072 | while (likely (!list_empty (&dev->tx_reqs))) { |
1070 | req = container_of (dev->tx_reqs.next, | 1073 | req = container_of (dev->tx_reqs.next, |
1071 | struct usb_request, list); | 1074 | struct usb_request, list); |
1072 | list_del (&req->list); | 1075 | list_del (&req->list); |
1076 | |||
1077 | spin_unlock(&dev->req_lock); | ||
1073 | usb_ep_free_request (dev->in_ep, req); | 1078 | usb_ep_free_request (dev->in_ep, req); |
1079 | spin_lock(&dev->req_lock); | ||
1074 | } | 1080 | } |
1081 | spin_unlock(&dev->req_lock); | ||
1075 | } | 1082 | } |
1076 | if (dev->out) { | 1083 | if (dev->out) { |
1077 | usb_ep_disable (dev->out_ep); | 1084 | usb_ep_disable (dev->out_ep); |
1085 | spin_lock(&dev->req_lock); | ||
1078 | while (likely (!list_empty (&dev->rx_reqs))) { | 1086 | while (likely (!list_empty (&dev->rx_reqs))) { |
1079 | req = container_of (dev->rx_reqs.next, | 1087 | req = container_of (dev->rx_reqs.next, |
1080 | struct usb_request, list); | 1088 | struct usb_request, list); |
1081 | list_del (&req->list); | 1089 | list_del (&req->list); |
1090 | |||
1091 | spin_unlock(&dev->req_lock); | ||
1082 | usb_ep_free_request (dev->out_ep, req); | 1092 | usb_ep_free_request (dev->out_ep, req); |
1093 | spin_lock(&dev->req_lock); | ||
1083 | } | 1094 | } |
1095 | spin_unlock(&dev->req_lock); | ||
1084 | } | 1096 | } |
1085 | 1097 | ||
1086 | if (dev->status) { | 1098 | if (dev->status) { |
@@ -1659,9 +1671,9 @@ enomem: | |||
1659 | if (retval) { | 1671 | if (retval) { |
1660 | DEBUG (dev, "rx submit --> %d\n", retval); | 1672 | DEBUG (dev, "rx submit --> %d\n", retval); |
1661 | dev_kfree_skb_any (skb); | 1673 | dev_kfree_skb_any (skb); |
1662 | spin_lock (&dev->lock); | 1674 | spin_lock(&dev->req_lock); |
1663 | list_add (&req->list, &dev->rx_reqs); | 1675 | list_add (&req->list, &dev->rx_reqs); |
1664 | spin_unlock (&dev->lock); | 1676 | spin_unlock(&dev->req_lock); |
1665 | } | 1677 | } |
1666 | return retval; | 1678 | return retval; |
1667 | } | 1679 | } |
@@ -1730,8 +1742,9 @@ quiesce: | |||
1730 | dev_kfree_skb_any (skb); | 1742 | dev_kfree_skb_any (skb); |
1731 | if (!netif_running (dev->net)) { | 1743 | if (!netif_running (dev->net)) { |
1732 | clean: | 1744 | clean: |
1733 | /* nobody reading rx_reqs, so no dev->lock */ | 1745 | spin_lock(&dev->req_lock); |
1734 | list_add (&req->list, &dev->rx_reqs); | 1746 | list_add (&req->list, &dev->rx_reqs); |
1747 | spin_unlock(&dev->req_lock); | ||
1735 | req = NULL; | 1748 | req = NULL; |
1736 | } | 1749 | } |
1737 | if (req) | 1750 | if (req) |
@@ -1782,15 +1795,18 @@ static int alloc_requests (struct eth_dev *dev, unsigned n, gfp_t gfp_flags) | |||
1782 | { | 1795 | { |
1783 | int status; | 1796 | int status; |
1784 | 1797 | ||
1798 | spin_lock(&dev->req_lock); | ||
1785 | status = prealloc (&dev->tx_reqs, dev->in_ep, n, gfp_flags); | 1799 | status = prealloc (&dev->tx_reqs, dev->in_ep, n, gfp_flags); |
1786 | if (status < 0) | 1800 | if (status < 0) |
1787 | goto fail; | 1801 | goto fail; |
1788 | status = prealloc (&dev->rx_reqs, dev->out_ep, n, gfp_flags); | 1802 | status = prealloc (&dev->rx_reqs, dev->out_ep, n, gfp_flags); |
1789 | if (status < 0) | 1803 | if (status < 0) |
1790 | goto fail; | 1804 | goto fail; |
1791 | return 0; | 1805 | goto done; |
1792 | fail: | 1806 | fail: |
1793 | DEBUG (dev, "can't alloc requests\n"); | 1807 | DEBUG (dev, "can't alloc requests\n"); |
1808 | done: | ||
1809 | spin_unlock(&dev->req_lock); | ||
1794 | return status; | 1810 | return status; |
1795 | } | 1811 | } |
1796 | 1812 | ||
@@ -1800,21 +1816,21 @@ static void rx_fill (struct eth_dev *dev, gfp_t gfp_flags) | |||
1800 | unsigned long flags; | 1816 | unsigned long flags; |
1801 | 1817 | ||
1802 | /* fill unused rxq slots with some skb */ | 1818 | /* fill unused rxq slots with some skb */ |
1803 | spin_lock_irqsave (&dev->lock, flags); | 1819 | spin_lock_irqsave(&dev->req_lock, flags); |
1804 | while (!list_empty (&dev->rx_reqs)) { | 1820 | while (!list_empty (&dev->rx_reqs)) { |
1805 | req = container_of (dev->rx_reqs.next, | 1821 | req = container_of (dev->rx_reqs.next, |
1806 | struct usb_request, list); | 1822 | struct usb_request, list); |
1807 | list_del_init (&req->list); | 1823 | list_del_init (&req->list); |
1808 | spin_unlock_irqrestore (&dev->lock, flags); | 1824 | spin_unlock_irqrestore(&dev->req_lock, flags); |
1809 | 1825 | ||
1810 | if (rx_submit (dev, req, gfp_flags) < 0) { | 1826 | if (rx_submit (dev, req, gfp_flags) < 0) { |
1811 | defer_kevent (dev, WORK_RX_MEMORY); | 1827 | defer_kevent (dev, WORK_RX_MEMORY); |
1812 | return; | 1828 | return; |
1813 | } | 1829 | } |
1814 | 1830 | ||
1815 | spin_lock_irqsave (&dev->lock, flags); | 1831 | spin_lock_irqsave(&dev->req_lock, flags); |
1816 | } | 1832 | } |
1817 | spin_unlock_irqrestore (&dev->lock, flags); | 1833 | spin_unlock_irqrestore(&dev->req_lock, flags); |
1818 | } | 1834 | } |
1819 | 1835 | ||
1820 | static void eth_work (void *_dev) | 1836 | static void eth_work (void *_dev) |
@@ -1848,9 +1864,9 @@ static void tx_complete (struct usb_ep *ep, struct usb_request *req) | |||
1848 | } | 1864 | } |
1849 | dev->stats.tx_packets++; | 1865 | dev->stats.tx_packets++; |
1850 | 1866 | ||
1851 | spin_lock (&dev->lock); | 1867 | spin_lock(&dev->req_lock); |
1852 | list_add (&req->list, &dev->tx_reqs); | 1868 | list_add (&req->list, &dev->tx_reqs); |
1853 | spin_unlock (&dev->lock); | 1869 | spin_unlock(&dev->req_lock); |
1854 | dev_kfree_skb_any (skb); | 1870 | dev_kfree_skb_any (skb); |
1855 | 1871 | ||
1856 | atomic_dec (&dev->tx_qlen); | 1872 | atomic_dec (&dev->tx_qlen); |
@@ -1896,12 +1912,12 @@ static int eth_start_xmit (struct sk_buff *skb, struct net_device *net) | |||
1896 | /* ignores USB_CDC_PACKET_TYPE_DIRECTED */ | 1912 | /* ignores USB_CDC_PACKET_TYPE_DIRECTED */ |
1897 | } | 1913 | } |
1898 | 1914 | ||
1899 | spin_lock_irqsave (&dev->lock, flags); | 1915 | spin_lock_irqsave(&dev->req_lock, flags); |
1900 | req = container_of (dev->tx_reqs.next, struct usb_request, list); | 1916 | req = container_of (dev->tx_reqs.next, struct usb_request, list); |
1901 | list_del (&req->list); | 1917 | list_del (&req->list); |
1902 | if (list_empty (&dev->tx_reqs)) | 1918 | if (list_empty (&dev->tx_reqs)) |
1903 | netif_stop_queue (net); | 1919 | netif_stop_queue (net); |
1904 | spin_unlock_irqrestore (&dev->lock, flags); | 1920 | spin_unlock_irqrestore(&dev->req_lock, flags); |
1905 | 1921 | ||
1906 | /* no buffer copies needed, unless the network stack did it | 1922 | /* no buffer copies needed, unless the network stack did it |
1907 | * or the hardware can't use skb buffers. | 1923 | * or the hardware can't use skb buffers. |
@@ -1955,11 +1971,11 @@ static int eth_start_xmit (struct sk_buff *skb, struct net_device *net) | |||
1955 | drop: | 1971 | drop: |
1956 | dev->stats.tx_dropped++; | 1972 | dev->stats.tx_dropped++; |
1957 | dev_kfree_skb_any (skb); | 1973 | dev_kfree_skb_any (skb); |
1958 | spin_lock_irqsave (&dev->lock, flags); | 1974 | spin_lock_irqsave(&dev->req_lock, flags); |
1959 | if (list_empty (&dev->tx_reqs)) | 1975 | if (list_empty (&dev->tx_reqs)) |
1960 | netif_start_queue (net); | 1976 | netif_start_queue (net); |
1961 | list_add (&req->list, &dev->tx_reqs); | 1977 | list_add (&req->list, &dev->tx_reqs); |
1962 | spin_unlock_irqrestore (&dev->lock, flags); | 1978 | spin_unlock_irqrestore(&dev->req_lock, flags); |
1963 | } | 1979 | } |
1964 | return 0; | 1980 | return 0; |
1965 | } | 1981 | } |
@@ -2378,6 +2394,7 @@ autoconf_fail: | |||
2378 | return status; | 2394 | return status; |
2379 | dev = netdev_priv(net); | 2395 | dev = netdev_priv(net); |
2380 | spin_lock_init (&dev->lock); | 2396 | spin_lock_init (&dev->lock); |
2397 | spin_lock_init (&dev->req_lock); | ||
2381 | INIT_WORK (&dev->work, eth_work, dev); | 2398 | INIT_WORK (&dev->work, eth_work, dev); |
2382 | INIT_LIST_HEAD (&dev->tx_reqs); | 2399 | INIT_LIST_HEAD (&dev->tx_reqs); |
2383 | INIT_LIST_HEAD (&dev->rx_reqs); | 2400 | INIT_LIST_HEAD (&dev->rx_reqs); |
diff --git a/drivers/usb/host/uhci-q.c b/drivers/usb/host/uhci-q.c index 66c3f61bc9d..431e8f31f1a 100644 --- a/drivers/usb/host/uhci-q.c +++ b/drivers/usb/host/uhci-q.c | |||
@@ -372,7 +372,7 @@ static void uhci_fixup_toggles(struct uhci_qh *qh, int skip_first) | |||
372 | * need to change any toggles in this URB */ | 372 | * need to change any toggles in this URB */ |
373 | td = list_entry(urbp->td_list.next, struct uhci_td, list); | 373 | td = list_entry(urbp->td_list.next, struct uhci_td, list); |
374 | if (toggle > 1 || uhci_toggle(td_token(td)) == toggle) { | 374 | if (toggle > 1 || uhci_toggle(td_token(td)) == toggle) { |
375 | td = list_entry(urbp->td_list.next, struct uhci_td, | 375 | td = list_entry(urbp->td_list.prev, struct uhci_td, |
376 | list); | 376 | list); |
377 | toggle = uhci_toggle(td_token(td)) ^ 1; | 377 | toggle = uhci_toggle(td_token(td)) ^ 1; |
378 | 378 | ||
@@ -1348,7 +1348,7 @@ static void uhci_scan_qh(struct uhci_hcd *uhci, struct uhci_qh *qh, | |||
1348 | } | 1348 | } |
1349 | 1349 | ||
1350 | uhci_giveback_urb(uhci, qh, urb, regs); | 1350 | uhci_giveback_urb(uhci, qh, urb, regs); |
1351 | if (status < 0) | 1351 | if (status < 0 && qh->type != USB_ENDPOINT_XFER_ISOC) |
1352 | break; | 1352 | break; |
1353 | } | 1353 | } |
1354 | 1354 | ||
diff --git a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c index 8ea9c915fbf..a2c56b2de58 100644 --- a/drivers/usb/input/hid-core.c +++ b/drivers/usb/input/hid-core.c | |||
@@ -1411,17 +1411,54 @@ void hid_init_reports(struct hid_device *hid) | |||
1411 | warn("timeout initializing reports"); | 1411 | warn("timeout initializing reports"); |
1412 | } | 1412 | } |
1413 | 1413 | ||
1414 | #define USB_VENDOR_ID_GTCO 0x078c | ||
1415 | #define USB_DEVICE_ID_GTCO_90 0x0090 | ||
1416 | #define USB_DEVICE_ID_GTCO_100 0x0100 | ||
1417 | #define USB_DEVICE_ID_GTCO_101 0x0101 | ||
1418 | #define USB_DEVICE_ID_GTCO_103 0x0103 | ||
1419 | #define USB_DEVICE_ID_GTCO_104 0x0104 | ||
1420 | #define USB_DEVICE_ID_GTCO_105 0x0105 | ||
1421 | #define USB_DEVICE_ID_GTCO_106 0x0106 | ||
1422 | #define USB_DEVICE_ID_GTCO_107 0x0107 | ||
1423 | #define USB_DEVICE_ID_GTCO_108 0x0108 | ||
1424 | #define USB_DEVICE_ID_GTCO_200 0x0200 | ||
1425 | #define USB_DEVICE_ID_GTCO_201 0x0201 | ||
1426 | #define USB_DEVICE_ID_GTCO_202 0x0202 | ||
1427 | #define USB_DEVICE_ID_GTCO_203 0x0203 | ||
1428 | #define USB_DEVICE_ID_GTCO_204 0x0204 | ||
1429 | #define USB_DEVICE_ID_GTCO_205 0x0205 | ||
1430 | #define USB_DEVICE_ID_GTCO_206 0x0206 | ||
1431 | #define USB_DEVICE_ID_GTCO_207 0x0207 | ||
1432 | #define USB_DEVICE_ID_GTCO_300 0x0300 | ||
1433 | #define USB_DEVICE_ID_GTCO_301 0x0301 | ||
1434 | #define USB_DEVICE_ID_GTCO_302 0x0302 | ||
1435 | #define USB_DEVICE_ID_GTCO_303 0x0303 | ||
1436 | #define USB_DEVICE_ID_GTCO_304 0x0304 | ||
1437 | #define USB_DEVICE_ID_GTCO_305 0x0305 | ||
1438 | #define USB_DEVICE_ID_GTCO_306 0x0306 | ||
1439 | #define USB_DEVICE_ID_GTCO_307 0x0307 | ||
1440 | #define USB_DEVICE_ID_GTCO_308 0x0308 | ||
1441 | #define USB_DEVICE_ID_GTCO_309 0x0309 | ||
1442 | #define USB_DEVICE_ID_GTCO_400 0x0400 | ||
1443 | #define USB_DEVICE_ID_GTCO_401 0x0401 | ||
1444 | #define USB_DEVICE_ID_GTCO_402 0x0402 | ||
1445 | #define USB_DEVICE_ID_GTCO_403 0x0403 | ||
1446 | #define USB_DEVICE_ID_GTCO_404 0x0404 | ||
1447 | #define USB_DEVICE_ID_GTCO_405 0x0405 | ||
1448 | #define USB_DEVICE_ID_GTCO_500 0x0500 | ||
1449 | #define USB_DEVICE_ID_GTCO_501 0x0501 | ||
1450 | #define USB_DEVICE_ID_GTCO_502 0x0502 | ||
1451 | #define USB_DEVICE_ID_GTCO_503 0x0503 | ||
1452 | #define USB_DEVICE_ID_GTCO_504 0x0504 | ||
1453 | #define USB_DEVICE_ID_GTCO_1000 0x1000 | ||
1454 | #define USB_DEVICE_ID_GTCO_1001 0x1001 | ||
1455 | #define USB_DEVICE_ID_GTCO_1002 0x1002 | ||
1456 | #define USB_DEVICE_ID_GTCO_1003 0x1003 | ||
1457 | #define USB_DEVICE_ID_GTCO_1004 0x1004 | ||
1458 | #define USB_DEVICE_ID_GTCO_1005 0x1005 | ||
1459 | #define USB_DEVICE_ID_GTCO_1006 0x1006 | ||
1460 | |||
1414 | #define USB_VENDOR_ID_WACOM 0x056a | 1461 | #define USB_VENDOR_ID_WACOM 0x056a |
1415 | #define USB_DEVICE_ID_WACOM_PENPARTNER 0x0000 | ||
1416 | #define USB_DEVICE_ID_WACOM_GRAPHIRE 0x0010 | ||
1417 | #define USB_DEVICE_ID_WACOM_INTUOS 0x0020 | ||
1418 | #define USB_DEVICE_ID_WACOM_PL 0x0030 | ||
1419 | #define USB_DEVICE_ID_WACOM_INTUOS2 0x0040 | ||
1420 | #define USB_DEVICE_ID_WACOM_VOLITO 0x0060 | ||
1421 | #define USB_DEVICE_ID_WACOM_PTU 0x0003 | ||
1422 | #define USB_DEVICE_ID_WACOM_INTUOS3 0x00B0 | ||
1423 | #define USB_DEVICE_ID_WACOM_CINTIQ 0x003F | ||
1424 | #define USB_DEVICE_ID_WACOM_DTF 0x00C0 | ||
1425 | 1462 | ||
1426 | #define USB_VENDOR_ID_ACECAD 0x0460 | 1463 | #define USB_VENDOR_ID_ACECAD 0x0460 |
1427 | #define USB_DEVICE_ID_ACECAD_FLAIR 0x0004 | 1464 | #define USB_DEVICE_ID_ACECAD_FLAIR 0x0004 |
@@ -1588,6 +1625,51 @@ static const struct hid_blacklist { | |||
1588 | { USB_VENDOR_ID_GLAB, USB_DEVICE_ID_0_8_8_IF_KIT, HID_QUIRK_IGNORE }, | 1625 | { USB_VENDOR_ID_GLAB, USB_DEVICE_ID_0_8_8_IF_KIT, HID_QUIRK_IGNORE }, |
1589 | { USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_POWERMATE, HID_QUIRK_IGNORE }, | 1626 | { USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_POWERMATE, HID_QUIRK_IGNORE }, |
1590 | { USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_SOUNDKNOB, HID_QUIRK_IGNORE }, | 1627 | { USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_SOUNDKNOB, HID_QUIRK_IGNORE }, |
1628 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_90, HID_QUIRK_IGNORE }, | ||
1629 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_100, HID_QUIRK_IGNORE }, | ||
1630 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_101, HID_QUIRK_IGNORE }, | ||
1631 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_103, HID_QUIRK_IGNORE }, | ||
1632 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_104, HID_QUIRK_IGNORE }, | ||
1633 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_105, HID_QUIRK_IGNORE }, | ||
1634 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_106, HID_QUIRK_IGNORE }, | ||
1635 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_107, HID_QUIRK_IGNORE }, | ||
1636 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_108, HID_QUIRK_IGNORE }, | ||
1637 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_200, HID_QUIRK_IGNORE }, | ||
1638 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_201, HID_QUIRK_IGNORE }, | ||
1639 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_202, HID_QUIRK_IGNORE }, | ||
1640 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_203, HID_QUIRK_IGNORE }, | ||
1641 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_204, HID_QUIRK_IGNORE }, | ||
1642 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_205, HID_QUIRK_IGNORE }, | ||
1643 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_206, HID_QUIRK_IGNORE }, | ||
1644 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_207, HID_QUIRK_IGNORE }, | ||
1645 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_300, HID_QUIRK_IGNORE }, | ||
1646 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_301, HID_QUIRK_IGNORE }, | ||
1647 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_302, HID_QUIRK_IGNORE }, | ||
1648 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_303, HID_QUIRK_IGNORE }, | ||
1649 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_304, HID_QUIRK_IGNORE }, | ||
1650 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_305, HID_QUIRK_IGNORE }, | ||
1651 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_306, HID_QUIRK_IGNORE }, | ||
1652 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_307, HID_QUIRK_IGNORE }, | ||
1653 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_308, HID_QUIRK_IGNORE }, | ||
1654 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_309, HID_QUIRK_IGNORE }, | ||
1655 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_400, HID_QUIRK_IGNORE }, | ||
1656 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_401, HID_QUIRK_IGNORE }, | ||
1657 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_402, HID_QUIRK_IGNORE }, | ||
1658 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_403, HID_QUIRK_IGNORE }, | ||
1659 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_404, HID_QUIRK_IGNORE }, | ||
1660 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_405, HID_QUIRK_IGNORE }, | ||
1661 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_500, HID_QUIRK_IGNORE }, | ||
1662 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_501, HID_QUIRK_IGNORE }, | ||
1663 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_502, HID_QUIRK_IGNORE }, | ||
1664 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_503, HID_QUIRK_IGNORE }, | ||
1665 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_504, HID_QUIRK_IGNORE }, | ||
1666 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1000, HID_QUIRK_IGNORE }, | ||
1667 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1001, HID_QUIRK_IGNORE }, | ||
1668 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1002, HID_QUIRK_IGNORE }, | ||
1669 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1003, HID_QUIRK_IGNORE }, | ||
1670 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1004, HID_QUIRK_IGNORE }, | ||
1671 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1005, HID_QUIRK_IGNORE }, | ||
1672 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1006, HID_QUIRK_IGNORE }, | ||
1591 | { USB_VENDOR_ID_KBGEAR, USB_DEVICE_ID_KBGEAR_JAMSTUDIO, HID_QUIRK_IGNORE }, | 1673 | { USB_VENDOR_ID_KBGEAR, USB_DEVICE_ID_KBGEAR_JAMSTUDIO, HID_QUIRK_IGNORE }, |
1592 | { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_CASSY, HID_QUIRK_IGNORE }, | 1674 | { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_CASSY, HID_QUIRK_IGNORE }, |
1593 | { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_POCKETCASSY, HID_QUIRK_IGNORE }, | 1675 | { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_POCKETCASSY, HID_QUIRK_IGNORE }, |
@@ -1617,49 +1699,6 @@ static const struct hid_blacklist { | |||
1617 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP, HID_QUIRK_IGNORE }, | 1699 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP, HID_QUIRK_IGNORE }, |
1618 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP, HID_QUIRK_IGNORE }, | 1700 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP, HID_QUIRK_IGNORE }, |
1619 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_CYCLOPS, HID_QUIRK_IGNORE }, | 1701 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_CYCLOPS, HID_QUIRK_IGNORE }, |
1620 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PENPARTNER, HID_QUIRK_IGNORE }, | ||
1621 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE, HID_QUIRK_IGNORE }, | ||
1622 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 1, HID_QUIRK_IGNORE }, | ||
1623 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 2, HID_QUIRK_IGNORE }, | ||
1624 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 3, HID_QUIRK_IGNORE }, | ||
1625 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 4, HID_QUIRK_IGNORE }, | ||
1626 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS, HID_QUIRK_IGNORE }, | ||
1627 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS + 1, HID_QUIRK_IGNORE }, | ||
1628 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS + 2, HID_QUIRK_IGNORE }, | ||
1629 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS + 3, HID_QUIRK_IGNORE }, | ||
1630 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS + 4, HID_QUIRK_IGNORE }, | ||
1631 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL, HID_QUIRK_IGNORE }, | ||
1632 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 1, HID_QUIRK_IGNORE }, | ||
1633 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 2, HID_QUIRK_IGNORE }, | ||
1634 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 3, HID_QUIRK_IGNORE }, | ||
1635 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 4, HID_QUIRK_IGNORE }, | ||
1636 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 5, HID_QUIRK_IGNORE }, | ||
1637 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 7, HID_QUIRK_IGNORE }, | ||
1638 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 8, HID_QUIRK_IGNORE }, | ||
1639 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 9, HID_QUIRK_IGNORE }, | ||
1640 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 1, HID_QUIRK_IGNORE }, | ||
1641 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 2, HID_QUIRK_IGNORE }, | ||
1642 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 3, HID_QUIRK_IGNORE }, | ||
1643 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 4, HID_QUIRK_IGNORE }, | ||
1644 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 5, HID_QUIRK_IGNORE }, | ||
1645 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 7, HID_QUIRK_IGNORE }, | ||
1646 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO, HID_QUIRK_IGNORE }, | ||
1647 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 1, HID_QUIRK_IGNORE }, | ||
1648 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 2, HID_QUIRK_IGNORE }, | ||
1649 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 3, HID_QUIRK_IGNORE }, | ||
1650 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 4, HID_QUIRK_IGNORE }, | ||
1651 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 5, HID_QUIRK_IGNORE }, | ||
1652 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 6, HID_QUIRK_IGNORE }, | ||
1653 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PTU, HID_QUIRK_IGNORE }, | ||
1654 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3, HID_QUIRK_IGNORE }, | ||
1655 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 1, HID_QUIRK_IGNORE }, | ||
1656 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 2, HID_QUIRK_IGNORE }, | ||
1657 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 3, HID_QUIRK_IGNORE }, | ||
1658 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 4, HID_QUIRK_IGNORE }, | ||
1659 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 5, HID_QUIRK_IGNORE }, | ||
1660 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_CINTIQ, HID_QUIRK_IGNORE }, | ||
1661 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_DTF, HID_QUIRK_IGNORE }, | ||
1662 | { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_DTF + 3, HID_QUIRK_IGNORE }, | ||
1663 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_4_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, | 1702 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_4_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, |
1664 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_1_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, | 1703 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_1_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, |
1665 | { USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K, HID_QUIRK_IGNORE }, | 1704 | { USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K, HID_QUIRK_IGNORE }, |
@@ -1778,6 +1817,10 @@ static struct hid_device *usb_hid_configure(struct usb_interface *intf) | |||
1778 | char *rdesc; | 1817 | char *rdesc; |
1779 | int n, len, insize = 0; | 1818 | int n, len, insize = 0; |
1780 | 1819 | ||
1820 | /* Ignore all Wacom devices */ | ||
1821 | if (dev->descriptor.idVendor == USB_VENDOR_ID_WACOM) | ||
1822 | return NULL; | ||
1823 | |||
1781 | for (n = 0; hid_blacklist[n].idVendor; n++) | 1824 | for (n = 0; hid_blacklist[n].idVendor; n++) |
1782 | if ((hid_blacklist[n].idVendor == le16_to_cpu(dev->descriptor.idVendor)) && | 1825 | if ((hid_blacklist[n].idVendor == le16_to_cpu(dev->descriptor.idVendor)) && |
1783 | (hid_blacklist[n].idProduct == le16_to_cpu(dev->descriptor.idProduct))) | 1826 | (hid_blacklist[n].idProduct == le16_to_cpu(dev->descriptor.idProduct))) |
diff --git a/drivers/usb/input/usbtouchscreen.c b/drivers/usb/input/usbtouchscreen.c index 3b175aa482c..a338bf4c2d7 100644 --- a/drivers/usb/input/usbtouchscreen.c +++ b/drivers/usb/input/usbtouchscreen.c | |||
@@ -286,7 +286,7 @@ static int mtouch_init(struct usbtouch_usb *usbtouch) | |||
286 | static int itm_read_data(unsigned char *pkt, int *x, int *y, int *touch, int *press) | 286 | static int itm_read_data(unsigned char *pkt, int *x, int *y, int *touch, int *press) |
287 | { | 287 | { |
288 | *x = ((pkt[0] & 0x1F) << 7) | (pkt[3] & 0x7F); | 288 | *x = ((pkt[0] & 0x1F) << 7) | (pkt[3] & 0x7F); |
289 | *x = ((pkt[1] & 0x1F) << 7) | (pkt[4] & 0x7F); | 289 | *y = ((pkt[1] & 0x1F) << 7) | (pkt[4] & 0x7F); |
290 | *press = ((pkt[2] & 0x1F) << 7) | (pkt[5] & 0x7F); | 290 | *press = ((pkt[2] & 0x1F) << 7) | (pkt[5] & 0x7F); |
291 | *touch = ~pkt[7] & 0x20; | 291 | *touch = ~pkt[7] & 0x20; |
292 | 292 | ||
diff --git a/drivers/usb/input/yealink.c b/drivers/usb/input/yealink.c index 575a4e672e9..7b45fd3de91 100644 --- a/drivers/usb/input/yealink.c +++ b/drivers/usb/input/yealink.c | |||
@@ -810,12 +810,9 @@ static int usb_cleanup(struct yealink_dev *yld, int err) | |||
810 | if (yld == NULL) | 810 | if (yld == NULL) |
811 | return err; | 811 | return err; |
812 | 812 | ||
813 | if (yld->urb_irq) { | 813 | usb_kill_urb(yld->urb_irq); /* parameter validation in core/urb */ |
814 | usb_kill_urb(yld->urb_irq); | 814 | usb_kill_urb(yld->urb_ctl); /* parameter validation in core/urb */ |
815 | usb_free_urb(yld->urb_irq); | 815 | |
816 | } | ||
817 | if (yld->urb_ctl) | ||
818 | usb_free_urb(yld->urb_ctl); | ||
819 | if (yld->idev) { | 816 | if (yld->idev) { |
820 | if (err) | 817 | if (err) |
821 | input_free_device(yld->idev); | 818 | input_free_device(yld->idev); |
@@ -831,6 +828,9 @@ static int usb_cleanup(struct yealink_dev *yld, int err) | |||
831 | if (yld->irq_data) | 828 | if (yld->irq_data) |
832 | usb_buffer_free(yld->udev, USB_PKT_LEN, | 829 | usb_buffer_free(yld->udev, USB_PKT_LEN, |
833 | yld->irq_data, yld->irq_dma); | 830 | yld->irq_data, yld->irq_dma); |
831 | |||
832 | usb_free_urb(yld->urb_irq); /* parameter validation in core/urb */ | ||
833 | usb_free_urb(yld->urb_ctl); /* parameter validation in core/urb */ | ||
834 | kfree(yld); | 834 | kfree(yld); |
835 | return err; | 835 | return err; |
836 | } | 836 | } |
diff --git a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c index 738bd7c7451..e16582f3733 100644 --- a/drivers/usb/misc/sisusbvga/sisusb.c +++ b/drivers/usb/misc/sisusbvga/sisusb.c | |||
@@ -3435,6 +3435,8 @@ static void sisusb_disconnect(struct usb_interface *intf) | |||
3435 | 3435 | ||
3436 | static struct usb_device_id sisusb_table [] = { | 3436 | static struct usb_device_id sisusb_table [] = { |
3437 | { USB_DEVICE(0x0711, 0x0900) }, | 3437 | { USB_DEVICE(0x0711, 0x0900) }, |
3438 | { USB_DEVICE(0x0711, 0x0901) }, | ||
3439 | { USB_DEVICE(0x0711, 0x0902) }, | ||
3438 | { USB_DEVICE(0x182d, 0x021c) }, | 3440 | { USB_DEVICE(0x182d, 0x021c) }, |
3439 | { USB_DEVICE(0x182d, 0x0269) }, | 3441 | { USB_DEVICE(0x182d, 0x0269) }, |
3440 | { } | 3442 | { } |
diff --git a/drivers/usb/net/pegasus.h b/drivers/usb/net/pegasus.h index a54752ce149..006438069b6 100644 --- a/drivers/usb/net/pegasus.h +++ b/drivers/usb/net/pegasus.h | |||
@@ -131,6 +131,7 @@ struct usb_eth_dev { | |||
131 | #define VENDOR_COREGA 0x07aa | 131 | #define VENDOR_COREGA 0x07aa |
132 | #define VENDOR_DLINK 0x2001 | 132 | #define VENDOR_DLINK 0x2001 |
133 | #define VENDOR_ELCON 0x0db7 | 133 | #define VENDOR_ELCON 0x0db7 |
134 | #define VENDOR_ELECOM 0x056e | ||
134 | #define VENDOR_ELSA 0x05cc | 135 | #define VENDOR_ELSA 0x05cc |
135 | #define VENDOR_GIGABYTE 0x1044 | 136 | #define VENDOR_GIGABYTE 0x1044 |
136 | #define VENDOR_HAWKING 0x0e66 | 137 | #define VENDOR_HAWKING 0x0e66 |
@@ -233,6 +234,8 @@ PEGASUS_DEV( "D-Link DSB-650", VENDOR_DLINK, 0xabc1, | |||
233 | DEFAULT_GPIO_RESET ) | 234 | DEFAULT_GPIO_RESET ) |
234 | PEGASUS_DEV( "GOLDPFEIL USB Adapter", VENDOR_ELCON, 0x0002, | 235 | PEGASUS_DEV( "GOLDPFEIL USB Adapter", VENDOR_ELCON, 0x0002, |
235 | DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA ) | 236 | DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA ) |
237 | PEGASUS_DEV( "ELECOM USB Ethernet LD-USB20", VENDOR_ELECOM, 0x4010, | ||
238 | DEFAULT_GPIO_RESET | PEGASUS_II ) | ||
236 | PEGASUS_DEV( "EasiDock Ethernet", VENDOR_MOBILITY, 0x0304, | 239 | PEGASUS_DEV( "EasiDock Ethernet", VENDOR_MOBILITY, 0x0304, |
237 | DEFAULT_GPIO_RESET ) | 240 | DEFAULT_GPIO_RESET ) |
238 | PEGASUS_DEV( "Elsa Micolink USB2Ethernet", VENDOR_ELSA, 0x3000, | 241 | PEGASUS_DEV( "Elsa Micolink USB2Ethernet", VENDOR_ELSA, 0x3000, |
diff --git a/drivers/usb/net/rtl8150.c b/drivers/usb/net/rtl8150.c index bd09232ce13..a72685b9606 100644 --- a/drivers/usb/net/rtl8150.c +++ b/drivers/usb/net/rtl8150.c | |||
@@ -972,6 +972,7 @@ static void rtl8150_disconnect(struct usb_interface *intf) | |||
972 | if (dev) { | 972 | if (dev) { |
973 | set_bit(RTL8150_UNPLUG, &dev->flags); | 973 | set_bit(RTL8150_UNPLUG, &dev->flags); |
974 | tasklet_disable(&dev->tl); | 974 | tasklet_disable(&dev->tl); |
975 | tasklet_kill(&dev->tl); | ||
975 | unregister_netdev(dev->netdev); | 976 | unregister_netdev(dev->netdev); |
976 | unlink_all_urbs(dev); | 977 | unlink_all_urbs(dev); |
977 | free_all_urbs(dev); | 978 | free_all_urbs(dev); |
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index 15945e806f0..c6115aa1b44 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c | |||
@@ -506,6 +506,7 @@ static struct usb_device_id id_table_combined [] = { | |||
506 | { USB_DEVICE(FTDI_VID, FTDI_YEI_SERVOCENTER31_PID) }, | 506 | { USB_DEVICE(FTDI_VID, FTDI_YEI_SERVOCENTER31_PID) }, |
507 | { USB_DEVICE(FTDI_VID, FTDI_THORLABS_PID) }, | 507 | { USB_DEVICE(FTDI_VID, FTDI_THORLABS_PID) }, |
508 | { USB_DEVICE(TESTO_VID, TESTO_USB_INTERFACE_PID) }, | 508 | { USB_DEVICE(TESTO_VID, TESTO_USB_INTERFACE_PID) }, |
509 | { USB_DEVICE(FTDI_VID, FTDI_GAMMA_SCOUT_PID) }, | ||
509 | { }, /* Optional parameter entry */ | 510 | { }, /* Optional parameter entry */ |
510 | { } /* Terminating entry */ | 511 | { } /* Terminating entry */ |
511 | }; | 512 | }; |
diff --git a/drivers/usb/serial/ftdi_sio.h b/drivers/usb/serial/ftdi_sio.h index 8888cd80a49..77299996f7e 100644 --- a/drivers/usb/serial/ftdi_sio.h +++ b/drivers/usb/serial/ftdi_sio.h | |||
@@ -467,6 +467,11 @@ | |||
467 | #define TESTO_VID 0x128D | 467 | #define TESTO_VID 0x128D |
468 | #define TESTO_USB_INTERFACE_PID 0x0001 | 468 | #define TESTO_USB_INTERFACE_PID 0x0001 |
469 | 469 | ||
470 | /* | ||
471 | * Gamma Scout (http://gamma-scout.com/). Submitted by rsc@runtux.com. | ||
472 | */ | ||
473 | #define FTDI_GAMMA_SCOUT_PID 0xD678 /* Gamma Scout online */ | ||
474 | |||
470 | /* Commands */ | 475 | /* Commands */ |
471 | #define FTDI_SIO_RESET 0 /* Reset the port */ | 476 | #define FTDI_SIO_RESET 0 /* Reset the port */ |
472 | #define FTDI_SIO_MODEM_CTRL 1 /* Set the modem control register */ | 477 | #define FTDI_SIO_MODEM_CTRL 1 /* Set the modem control register */ |
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c index 12c1694d322..e06a41bd0f3 100644 --- a/drivers/usb/serial/usb-serial.c +++ b/drivers/usb/serial/usb-serial.c | |||
@@ -464,8 +464,10 @@ static int serial_read_proc (char *page, char **start, off_t off, int count, int | |||
464 | length += sprintf (page+length, " path:%s", tmp); | 464 | length += sprintf (page+length, " path:%s", tmp); |
465 | 465 | ||
466 | length += sprintf (page+length, "\n"); | 466 | length += sprintf (page+length, "\n"); |
467 | if ((length + begin) > (off + count)) | 467 | if ((length + begin) > (off + count)) { |
468 | usb_serial_put(serial); | ||
468 | goto done; | 469 | goto done; |
470 | } | ||
469 | if ((length + begin) < off) { | 471 | if ((length + begin) < off) { |
470 | begin += length; | 472 | begin += length; |
471 | length = 0; | 473 | length = 0; |
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index 4a803d69fa3..b130e170b4a 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h | |||
@@ -241,16 +241,6 @@ UNUSUAL_DEV( 0x0482, 0x0103, 0x0100, 0x0100, | |||
241 | "Finecam S5", | 241 | "Finecam S5", |
242 | US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), | 242 | US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), |
243 | 243 | ||
244 | /* Patch for Kyocera Finecam L3 | ||
245 | * Submitted by Michael Krauth <michael.krauth@web.de> | ||
246 | * and Alessandro Fracchetti <al.fracchetti@tin.it> | ||
247 | */ | ||
248 | UNUSUAL_DEV( 0x0482, 0x0105, 0x0100, 0x0100, | ||
249 | "Kyocera", | ||
250 | "Finecam L3", | ||
251 | US_SC_SCSI, US_PR_BULK, NULL, | ||
252 | US_FL_FIX_INQUIRY), | ||
253 | |||
254 | /* Reported by Paul Stewart <stewart@wetlogic.net> | 244 | /* Reported by Paul Stewart <stewart@wetlogic.net> |
255 | * This entry is needed because the device reports Sub=ff */ | 245 | * This entry is needed because the device reports Sub=ff */ |
256 | UNUSUAL_DEV( 0x04a4, 0x0004, 0x0001, 0x0001, | 246 | UNUSUAL_DEV( 0x04a4, 0x0004, 0x0001, 0x0001, |
@@ -599,6 +589,13 @@ UNUSUAL_DEV( 0x054c, 0x0099, 0x0000, 0x9999, | |||
599 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 589 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
600 | US_FL_FIX_INQUIRY ), | 590 | US_FL_FIX_INQUIRY ), |
601 | 591 | ||
592 | /* floppy reports multiple luns */ | ||
593 | UNUSUAL_DEV( 0x055d, 0x2020, 0x0000, 0x0210, | ||
594 | "SAMSUNG", | ||
595 | "SFD-321U [FW 0C]", | ||
596 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
597 | US_FL_SINGLE_LUN ), | ||
598 | |||
602 | 599 | ||
603 | UNUSUAL_DEV( 0x057b, 0x0000, 0x0000, 0x0299, | 600 | UNUSUAL_DEV( 0x057b, 0x0000, 0x0000, 0x0299, |
604 | "Y-E Data", | 601 | "Y-E Data", |
@@ -1257,6 +1254,13 @@ UNUSUAL_DEV( 0x0fce, 0xd008, 0x0000, 0x0000, | |||
1257 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 1254 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
1258 | US_FL_NO_WP_DETECT ), | 1255 | US_FL_NO_WP_DETECT ), |
1259 | 1256 | ||
1257 | /* Reported by Emmanuel Vasilakis <evas@forthnet.gr> */ | ||
1258 | UNUSUAL_DEV( 0x0fce, 0xe031, 0x0000, 0x0000, | ||
1259 | "Sony Ericsson", | ||
1260 | "M600i", | ||
1261 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
1262 | US_FL_FIX_CAPACITY ), | ||
1263 | |||
1260 | /* Reported by Kevin Cernekee <kpc-usbdev@gelato.uiuc.edu> | 1264 | /* Reported by Kevin Cernekee <kpc-usbdev@gelato.uiuc.edu> |
1261 | * Tested on hardware version 1.10. | 1265 | * Tested on hardware version 1.10. |
1262 | * Entry is needed only for the initializer function override. | 1266 | * Entry is needed only for the initializer function override. |
diff --git a/drivers/video/aty/aty128fb.c b/drivers/video/aty/aty128fb.c index 106d428b72c..276a21530b9 100644 --- a/drivers/video/aty/aty128fb.c +++ b/drivers/video/aty/aty128fb.c | |||
@@ -1800,14 +1800,15 @@ static struct backlight_properties aty128_bl_data = { | |||
1800 | 1800 | ||
1801 | static void aty128_bl_set_power(struct fb_info *info, int power) | 1801 | static void aty128_bl_set_power(struct fb_info *info, int power) |
1802 | { | 1802 | { |
1803 | if (info->bl_dev == NULL) | ||
1804 | return; | ||
1805 | |||
1806 | mutex_lock(&info->bl_mutex); | 1803 | mutex_lock(&info->bl_mutex); |
1807 | up(&info->bl_dev->sem); | 1804 | |
1808 | info->bl_dev->props->power = power; | 1805 | if (info->bl_dev) { |
1809 | __aty128_bl_update_status(info->bl_dev); | 1806 | down(&info->bl_dev->sem); |
1810 | down(&info->bl_dev->sem); | 1807 | info->bl_dev->props->power = power; |
1808 | __aty128_bl_update_status(info->bl_dev); | ||
1809 | up(&info->bl_dev->sem); | ||
1810 | } | ||
1811 | |||
1811 | mutex_unlock(&info->bl_mutex); | 1812 | mutex_unlock(&info->bl_mutex); |
1812 | } | 1813 | } |
1813 | 1814 | ||
@@ -1842,11 +1843,11 @@ static void aty128_bl_init(struct aty128fb_par *par) | |||
1842 | 219 * FB_BACKLIGHT_MAX / MAX_LEVEL); | 1843 | 219 * FB_BACKLIGHT_MAX / MAX_LEVEL); |
1843 | mutex_unlock(&info->bl_mutex); | 1844 | mutex_unlock(&info->bl_mutex); |
1844 | 1845 | ||
1845 | up(&bd->sem); | 1846 | down(&bd->sem); |
1846 | bd->props->brightness = aty128_bl_data.max_brightness; | 1847 | bd->props->brightness = aty128_bl_data.max_brightness; |
1847 | bd->props->power = FB_BLANK_UNBLANK; | 1848 | bd->props->power = FB_BLANK_UNBLANK; |
1848 | bd->props->update_status(bd); | 1849 | bd->props->update_status(bd); |
1849 | down(&bd->sem); | 1850 | up(&bd->sem); |
1850 | 1851 | ||
1851 | #ifdef CONFIG_PMAC_BACKLIGHT | 1852 | #ifdef CONFIG_PMAC_BACKLIGHT |
1852 | mutex_lock(&pmac_backlight_mutex); | 1853 | mutex_lock(&pmac_backlight_mutex); |
diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c index 510e4ea296e..19a71f04578 100644 --- a/drivers/video/aty/atyfb_base.c +++ b/drivers/video/aty/atyfb_base.c | |||
@@ -2199,14 +2199,15 @@ static struct backlight_properties aty_bl_data = { | |||
2199 | 2199 | ||
2200 | static void aty_bl_set_power(struct fb_info *info, int power) | 2200 | static void aty_bl_set_power(struct fb_info *info, int power) |
2201 | { | 2201 | { |
2202 | if (info->bl_dev == NULL) | ||
2203 | return; | ||
2204 | |||
2205 | mutex_lock(&info->bl_mutex); | 2202 | mutex_lock(&info->bl_mutex); |
2206 | up(&info->bl_dev->sem); | 2203 | |
2207 | info->bl_dev->props->power = power; | 2204 | if (info->bl_dev) { |
2208 | __aty_bl_update_status(info->bl_dev); | 2205 | down(&info->bl_dev->sem); |
2209 | down(&info->bl_dev->sem); | 2206 | info->bl_dev->props->power = power; |
2207 | __aty_bl_update_status(info->bl_dev); | ||
2208 | up(&info->bl_dev->sem); | ||
2209 | } | ||
2210 | |||
2210 | mutex_unlock(&info->bl_mutex); | 2211 | mutex_unlock(&info->bl_mutex); |
2211 | } | 2212 | } |
2212 | 2213 | ||
@@ -2237,11 +2238,11 @@ static void aty_bl_init(struct atyfb_par *par) | |||
2237 | 0xFF * FB_BACKLIGHT_MAX / MAX_LEVEL); | 2238 | 0xFF * FB_BACKLIGHT_MAX / MAX_LEVEL); |
2238 | mutex_unlock(&info->bl_mutex); | 2239 | mutex_unlock(&info->bl_mutex); |
2239 | 2240 | ||
2240 | up(&bd->sem); | 2241 | down(&bd->sem); |
2241 | bd->props->brightness = aty_bl_data.max_brightness; | 2242 | bd->props->brightness = aty_bl_data.max_brightness; |
2242 | bd->props->power = FB_BLANK_UNBLANK; | 2243 | bd->props->power = FB_BLANK_UNBLANK; |
2243 | bd->props->update_status(bd); | 2244 | bd->props->update_status(bd); |
2244 | down(&bd->sem); | 2245 | up(&bd->sem); |
2245 | 2246 | ||
2246 | #ifdef CONFIG_PMAC_BACKLIGHT | 2247 | #ifdef CONFIG_PMAC_BACKLIGHT |
2247 | mutex_lock(&pmac_backlight_mutex); | 2248 | mutex_lock(&pmac_backlight_mutex); |
diff --git a/drivers/video/aty/radeon_backlight.c b/drivers/video/aty/radeon_backlight.c index 1755dddf189..585eb7b9e63 100644 --- a/drivers/video/aty/radeon_backlight.c +++ b/drivers/video/aty/radeon_backlight.c | |||
@@ -195,11 +195,11 @@ void radeonfb_bl_init(struct radeonfb_info *rinfo) | |||
195 | 217 * FB_BACKLIGHT_MAX / MAX_RADEON_LEVEL); | 195 | 217 * FB_BACKLIGHT_MAX / MAX_RADEON_LEVEL); |
196 | mutex_unlock(&rinfo->info->bl_mutex); | 196 | mutex_unlock(&rinfo->info->bl_mutex); |
197 | 197 | ||
198 | up(&bd->sem); | 198 | down(&bd->sem); |
199 | bd->props->brightness = radeon_bl_data.max_brightness; | 199 | bd->props->brightness = radeon_bl_data.max_brightness; |
200 | bd->props->power = FB_BLANK_UNBLANK; | 200 | bd->props->power = FB_BLANK_UNBLANK; |
201 | bd->props->update_status(bd); | 201 | bd->props->update_status(bd); |
202 | down(&bd->sem); | 202 | up(&bd->sem); |
203 | 203 | ||
204 | #ifdef CONFIG_PMAC_BACKLIGHT | 204 | #ifdef CONFIG_PMAC_BACKLIGHT |
205 | mutex_lock(&pmac_backlight_mutex); | 205 | mutex_lock(&pmac_backlight_mutex); |
diff --git a/drivers/video/nvidia/nv_backlight.c b/drivers/video/nvidia/nv_backlight.c index 14c37c42191..5b75ae4e945 100644 --- a/drivers/video/nvidia/nv_backlight.c +++ b/drivers/video/nvidia/nv_backlight.c | |||
@@ -112,13 +112,15 @@ static struct backlight_properties nvidia_bl_data = { | |||
112 | 112 | ||
113 | void nvidia_bl_set_power(struct fb_info *info, int power) | 113 | void nvidia_bl_set_power(struct fb_info *info, int power) |
114 | { | 114 | { |
115 | if (info->bl_dev == NULL) | ||
116 | return; | ||
117 | mutex_lock(&info->bl_mutex); | 115 | mutex_lock(&info->bl_mutex); |
118 | up(&info->bl_dev->sem); | 116 | |
119 | info->bl_dev->props->power = power; | 117 | if (info->bl_dev) { |
120 | __nvidia_bl_update_status(info->bl_dev); | 118 | down(&info->bl_dev->sem); |
121 | down(&info->bl_dev->sem); | 119 | info->bl_dev->props->power = power; |
120 | __nvidia_bl_update_status(info->bl_dev); | ||
121 | up(&info->bl_dev->sem); | ||
122 | } | ||
123 | |||
122 | mutex_unlock(&info->bl_mutex); | 124 | mutex_unlock(&info->bl_mutex); |
123 | } | 125 | } |
124 | 126 | ||
@@ -153,11 +155,11 @@ void nvidia_bl_init(struct nvidia_par *par) | |||
153 | 0x534 * FB_BACKLIGHT_MAX / MAX_LEVEL); | 155 | 0x534 * FB_BACKLIGHT_MAX / MAX_LEVEL); |
154 | mutex_unlock(&info->bl_mutex); | 156 | mutex_unlock(&info->bl_mutex); |
155 | 157 | ||
156 | up(&bd->sem); | 158 | down(&bd->sem); |
157 | bd->props->brightness = nvidia_bl_data.max_brightness; | 159 | bd->props->brightness = nvidia_bl_data.max_brightness; |
158 | bd->props->power = FB_BLANK_UNBLANK; | 160 | bd->props->power = FB_BLANK_UNBLANK; |
159 | bd->props->update_status(bd); | 161 | bd->props->update_status(bd); |
160 | down(&bd->sem); | 162 | up(&bd->sem); |
161 | 163 | ||
162 | #ifdef CONFIG_PMAC_BACKLIGHT | 164 | #ifdef CONFIG_PMAC_BACKLIGHT |
163 | mutex_lock(&pmac_backlight_mutex); | 165 | mutex_lock(&pmac_backlight_mutex); |
diff --git a/drivers/video/riva/fbdev.c b/drivers/video/riva/fbdev.c index 511c362d3b0..67d1e1c8813 100644 --- a/drivers/video/riva/fbdev.c +++ b/drivers/video/riva/fbdev.c | |||
@@ -354,14 +354,15 @@ static struct backlight_properties riva_bl_data = { | |||
354 | 354 | ||
355 | static void riva_bl_set_power(struct fb_info *info, int power) | 355 | static void riva_bl_set_power(struct fb_info *info, int power) |
356 | { | 356 | { |
357 | if (info->bl_dev == NULL) | ||
358 | return; | ||
359 | |||
360 | mutex_lock(&info->bl_mutex); | 357 | mutex_lock(&info->bl_mutex); |
361 | up(&info->bl_dev->sem); | 358 | |
362 | info->bl_dev->props->power = power; | 359 | if (info->bl_dev) { |
363 | __riva_bl_update_status(info->bl_dev); | 360 | down(&info->bl_dev->sem); |
364 | down(&info->bl_dev->sem); | 361 | info->bl_dev->props->power = power; |
362 | __riva_bl_update_status(info->bl_dev); | ||
363 | up(&info->bl_dev->sem); | ||
364 | } | ||
365 | |||
365 | mutex_unlock(&info->bl_mutex); | 366 | mutex_unlock(&info->bl_mutex); |
366 | } | 367 | } |
367 | 368 | ||
@@ -396,11 +397,11 @@ static void riva_bl_init(struct riva_par *par) | |||
396 | 0x534 * FB_BACKLIGHT_MAX / MAX_LEVEL); | 397 | 0x534 * FB_BACKLIGHT_MAX / MAX_LEVEL); |
397 | mutex_unlock(&info->bl_mutex); | 398 | mutex_unlock(&info->bl_mutex); |
398 | 399 | ||
399 | up(&bd->sem); | 400 | down(&bd->sem); |
400 | bd->props->brightness = riva_bl_data.max_brightness; | 401 | bd->props->brightness = riva_bl_data.max_brightness; |
401 | bd->props->power = FB_BLANK_UNBLANK; | 402 | bd->props->power = FB_BLANK_UNBLANK; |
402 | bd->props->update_status(bd); | 403 | bd->props->update_status(bd); |
403 | down(&bd->sem); | 404 | up(&bd->sem); |
404 | 405 | ||
405 | #ifdef CONFIG_PMAC_BACKLIGHT | 406 | #ifdef CONFIG_PMAC_BACKLIGHT |
406 | mutex_lock(&pmac_backlight_mutex); | 407 | mutex_lock(&pmac_backlight_mutex); |
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c index 105761e3ba0..9aeb58a7d36 100644 --- a/fs/cifs/readdir.c +++ b/fs/cifs/readdir.c | |||
@@ -82,7 +82,6 @@ static int construct_dentry(struct qstr *qstring, struct file *file, | |||
82 | if(*ptmp_inode == NULL) | 82 | if(*ptmp_inode == NULL) |
83 | return rc; | 83 | return rc; |
84 | rc = 1; | 84 | rc = 1; |
85 | d_instantiate(tmp_dentry, *ptmp_inode); | ||
86 | } | 85 | } |
87 | } else { | 86 | } else { |
88 | tmp_dentry = d_alloc(file->f_dentry, qstring); | 87 | tmp_dentry = d_alloc(file->f_dentry, qstring); |
@@ -99,9 +98,7 @@ static int construct_dentry(struct qstr *qstring, struct file *file, | |||
99 | tmp_dentry->d_op = &cifs_dentry_ops; | 98 | tmp_dentry->d_op = &cifs_dentry_ops; |
100 | if(*ptmp_inode == NULL) | 99 | if(*ptmp_inode == NULL) |
101 | return rc; | 100 | return rc; |
102 | rc = 1; | 101 | rc = 2; |
103 | d_instantiate(tmp_dentry, *ptmp_inode); | ||
104 | d_rehash(tmp_dentry); | ||
105 | } | 102 | } |
106 | 103 | ||
107 | tmp_dentry->d_time = jiffies; | 104 | tmp_dentry->d_time = jiffies; |
@@ -870,6 +867,12 @@ static int cifs_filldir(char *pfindEntry, struct file *file, | |||
870 | pfindEntry, &obj_type, rc); | 867 | pfindEntry, &obj_type, rc); |
871 | else | 868 | else |
872 | fill_in_inode(tmp_inode, 1 /* NT */, pfindEntry, &obj_type, rc); | 869 | fill_in_inode(tmp_inode, 1 /* NT */, pfindEntry, &obj_type, rc); |
870 | |||
871 | if(rc) /* new inode - needs to be tied to dentry */ { | ||
872 | d_instantiate(tmp_dentry, tmp_inode); | ||
873 | if(rc == 2) | ||
874 | d_rehash(tmp_dentry); | ||
875 | } | ||
873 | 876 | ||
874 | 877 | ||
875 | rc = filldir(direntry,qstring.name,qstring.len,file->f_pos, | 878 | rc = filldir(direntry,qstring.name,qstring.len,file->f_pos, |
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c index c5ee9f0691e..0f0b1eadb98 100644 --- a/fs/ext3/inode.c +++ b/fs/ext3/inode.c | |||
@@ -1009,11 +1009,14 @@ struct buffer_head *ext3_getblk(handle_t *handle, struct inode *inode, | |||
1009 | buffer_trace_init(&dummy.b_history); | 1009 | buffer_trace_init(&dummy.b_history); |
1010 | err = ext3_get_blocks_handle(handle, inode, block, 1, | 1010 | err = ext3_get_blocks_handle(handle, inode, block, 1, |
1011 | &dummy, create, 1); | 1011 | &dummy, create, 1); |
1012 | if (err == 1) { | 1012 | /* |
1013 | * ext3_get_blocks_handle() returns number of blocks | ||
1014 | * mapped. 0 in case of a HOLE. | ||
1015 | */ | ||
1016 | if (err > 0) { | ||
1017 | if (err > 1) | ||
1018 | WARN_ON(1); | ||
1013 | err = 0; | 1019 | err = 0; |
1014 | } else if (err >= 0) { | ||
1015 | WARN_ON(1); | ||
1016 | err = -EIO; | ||
1017 | } | 1020 | } |
1018 | *errp = err; | 1021 | *errp = err; |
1019 | if (!err && buffer_mapped(&dummy)) { | 1022 | if (!err && buffer_mapped(&dummy)) { |
diff --git a/fs/jbd/transaction.c b/fs/jbd/transaction.c index de2e4cbbf79..f5169a96260 100644 --- a/fs/jbd/transaction.c +++ b/fs/jbd/transaction.c | |||
@@ -727,7 +727,7 @@ done: | |||
727 | 727 | ||
728 | out: | 728 | out: |
729 | if (unlikely(frozen_buffer)) /* It's usually NULL */ | 729 | if (unlikely(frozen_buffer)) /* It's usually NULL */ |
730 | kfree(frozen_buffer); | 730 | jbd_slab_free(frozen_buffer, bh->b_size); |
731 | 731 | ||
732 | JBUFFER_TRACE(jh, "exit"); | 732 | JBUFFER_TRACE(jh, "exit"); |
733 | return error; | 733 | return error; |
diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c index fecd3b095de..76ca1cbc38f 100644 --- a/fs/nfs/direct.c +++ b/fs/nfs/direct.c | |||
@@ -100,25 +100,6 @@ static inline int put_dreq(struct nfs_direct_req *dreq) | |||
100 | return atomic_dec_and_test(&dreq->io_count); | 100 | return atomic_dec_and_test(&dreq->io_count); |
101 | } | 101 | } |
102 | 102 | ||
103 | /* | ||
104 | * "size" is never larger than rsize or wsize. | ||
105 | */ | ||
106 | static inline int nfs_direct_count_pages(unsigned long user_addr, size_t size) | ||
107 | { | ||
108 | int page_count; | ||
109 | |||
110 | page_count = (user_addr + size + PAGE_SIZE - 1) >> PAGE_SHIFT; | ||
111 | page_count -= user_addr >> PAGE_SHIFT; | ||
112 | BUG_ON(page_count < 0); | ||
113 | |||
114 | return page_count; | ||
115 | } | ||
116 | |||
117 | static inline unsigned int nfs_max_pages(unsigned int size) | ||
118 | { | ||
119 | return (size + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; | ||
120 | } | ||
121 | |||
122 | /** | 103 | /** |
123 | * nfs_direct_IO - NFS address space operation for direct I/O | 104 | * nfs_direct_IO - NFS address space operation for direct I/O |
124 | * @rw: direction (read or write) | 105 | * @rw: direction (read or write) |
@@ -276,28 +257,24 @@ static ssize_t nfs_direct_read_schedule(struct nfs_direct_req *dreq, unsigned lo | |||
276 | struct nfs_open_context *ctx = dreq->ctx; | 257 | struct nfs_open_context *ctx = dreq->ctx; |
277 | struct inode *inode = ctx->dentry->d_inode; | 258 | struct inode *inode = ctx->dentry->d_inode; |
278 | size_t rsize = NFS_SERVER(inode)->rsize; | 259 | size_t rsize = NFS_SERVER(inode)->rsize; |
279 | unsigned int rpages = nfs_max_pages(rsize); | ||
280 | unsigned int pgbase; | 260 | unsigned int pgbase; |
281 | int result; | 261 | int result; |
282 | ssize_t started = 0; | 262 | ssize_t started = 0; |
283 | 263 | ||
284 | get_dreq(dreq); | 264 | get_dreq(dreq); |
285 | 265 | ||
286 | pgbase = user_addr & ~PAGE_MASK; | ||
287 | do { | 266 | do { |
288 | struct nfs_read_data *data; | 267 | struct nfs_read_data *data; |
289 | size_t bytes; | 268 | size_t bytes; |
290 | 269 | ||
270 | pgbase = user_addr & ~PAGE_MASK; | ||
271 | bytes = min(rsize,count); | ||
272 | |||
291 | result = -ENOMEM; | 273 | result = -ENOMEM; |
292 | data = nfs_readdata_alloc(rpages); | 274 | data = nfs_readdata_alloc(pgbase + bytes); |
293 | if (unlikely(!data)) | 275 | if (unlikely(!data)) |
294 | break; | 276 | break; |
295 | 277 | ||
296 | bytes = rsize; | ||
297 | if (count < rsize) | ||
298 | bytes = count; | ||
299 | |||
300 | data->npages = nfs_direct_count_pages(user_addr, bytes); | ||
301 | down_read(¤t->mm->mmap_sem); | 278 | down_read(¤t->mm->mmap_sem); |
302 | result = get_user_pages(current, current->mm, user_addr, | 279 | result = get_user_pages(current, current->mm, user_addr, |
303 | data->npages, 1, 0, data->pagevec, NULL); | 280 | data->npages, 1, 0, data->pagevec, NULL); |
@@ -344,8 +321,10 @@ static ssize_t nfs_direct_read_schedule(struct nfs_direct_req *dreq, unsigned lo | |||
344 | started += bytes; | 321 | started += bytes; |
345 | user_addr += bytes; | 322 | user_addr += bytes; |
346 | pos += bytes; | 323 | pos += bytes; |
324 | /* FIXME: Remove this unnecessary math from final patch */ | ||
347 | pgbase += bytes; | 325 | pgbase += bytes; |
348 | pgbase &= ~PAGE_MASK; | 326 | pgbase &= ~PAGE_MASK; |
327 | BUG_ON(pgbase != (user_addr & ~PAGE_MASK)); | ||
349 | 328 | ||
350 | count -= bytes; | 329 | count -= bytes; |
351 | } while (count != 0); | 330 | } while (count != 0); |
@@ -524,7 +503,7 @@ static void nfs_direct_write_complete(struct nfs_direct_req *dreq, struct inode | |||
524 | 503 | ||
525 | static void nfs_alloc_commit_data(struct nfs_direct_req *dreq) | 504 | static void nfs_alloc_commit_data(struct nfs_direct_req *dreq) |
526 | { | 505 | { |
527 | dreq->commit_data = nfs_commit_alloc(0); | 506 | dreq->commit_data = nfs_commit_alloc(); |
528 | if (dreq->commit_data != NULL) | 507 | if (dreq->commit_data != NULL) |
529 | dreq->commit_data->req = (struct nfs_page *) dreq; | 508 | dreq->commit_data->req = (struct nfs_page *) dreq; |
530 | } | 509 | } |
@@ -605,28 +584,24 @@ static ssize_t nfs_direct_write_schedule(struct nfs_direct_req *dreq, unsigned l | |||
605 | struct nfs_open_context *ctx = dreq->ctx; | 584 | struct nfs_open_context *ctx = dreq->ctx; |
606 | struct inode *inode = ctx->dentry->d_inode; | 585 | struct inode *inode = ctx->dentry->d_inode; |
607 | size_t wsize = NFS_SERVER(inode)->wsize; | 586 | size_t wsize = NFS_SERVER(inode)->wsize; |
608 | unsigned int wpages = nfs_max_pages(wsize); | ||
609 | unsigned int pgbase; | 587 | unsigned int pgbase; |
610 | int result; | 588 | int result; |
611 | ssize_t started = 0; | 589 | ssize_t started = 0; |
612 | 590 | ||
613 | get_dreq(dreq); | 591 | get_dreq(dreq); |
614 | 592 | ||
615 | pgbase = user_addr & ~PAGE_MASK; | ||
616 | do { | 593 | do { |
617 | struct nfs_write_data *data; | 594 | struct nfs_write_data *data; |
618 | size_t bytes; | 595 | size_t bytes; |
619 | 596 | ||
597 | pgbase = user_addr & ~PAGE_MASK; | ||
598 | bytes = min(wsize,count); | ||
599 | |||
620 | result = -ENOMEM; | 600 | result = -ENOMEM; |
621 | data = nfs_writedata_alloc(wpages); | 601 | data = nfs_writedata_alloc(pgbase + bytes); |
622 | if (unlikely(!data)) | 602 | if (unlikely(!data)) |
623 | break; | 603 | break; |
624 | 604 | ||
625 | bytes = wsize; | ||
626 | if (count < wsize) | ||
627 | bytes = count; | ||
628 | |||
629 | data->npages = nfs_direct_count_pages(user_addr, bytes); | ||
630 | down_read(¤t->mm->mmap_sem); | 605 | down_read(¤t->mm->mmap_sem); |
631 | result = get_user_pages(current, current->mm, user_addr, | 606 | result = get_user_pages(current, current->mm, user_addr, |
632 | data->npages, 0, 0, data->pagevec, NULL); | 607 | data->npages, 0, 0, data->pagevec, NULL); |
@@ -676,8 +651,11 @@ static ssize_t nfs_direct_write_schedule(struct nfs_direct_req *dreq, unsigned l | |||
676 | started += bytes; | 651 | started += bytes; |
677 | user_addr += bytes; | 652 | user_addr += bytes; |
678 | pos += bytes; | 653 | pos += bytes; |
654 | |||
655 | /* FIXME: Remove this useless math from the final patch */ | ||
679 | pgbase += bytes; | 656 | pgbase += bytes; |
680 | pgbase &= ~PAGE_MASK; | 657 | pgbase &= ~PAGE_MASK; |
658 | BUG_ON(pgbase != (user_addr & ~PAGE_MASK)); | ||
681 | 659 | ||
682 | count -= bytes; | 660 | count -= bytes; |
683 | } while (count != 0); | 661 | } while (count != 0); |
diff --git a/fs/nfs/read.c b/fs/nfs/read.c index da9cf11c326..7a9ee00e0c6 100644 --- a/fs/nfs/read.c +++ b/fs/nfs/read.c | |||
@@ -43,13 +43,15 @@ static mempool_t *nfs_rdata_mempool; | |||
43 | 43 | ||
44 | #define MIN_POOL_READ (32) | 44 | #define MIN_POOL_READ (32) |
45 | 45 | ||
46 | struct nfs_read_data *nfs_readdata_alloc(unsigned int pagecount) | 46 | struct nfs_read_data *nfs_readdata_alloc(size_t len) |
47 | { | 47 | { |
48 | unsigned int pagecount = (len + PAGE_SIZE - 1) >> PAGE_SHIFT; | ||
48 | struct nfs_read_data *p = mempool_alloc(nfs_rdata_mempool, SLAB_NOFS); | 49 | struct nfs_read_data *p = mempool_alloc(nfs_rdata_mempool, SLAB_NOFS); |
49 | 50 | ||
50 | if (p) { | 51 | if (p) { |
51 | memset(p, 0, sizeof(*p)); | 52 | memset(p, 0, sizeof(*p)); |
52 | INIT_LIST_HEAD(&p->pages); | 53 | INIT_LIST_HEAD(&p->pages); |
54 | p->npages = pagecount; | ||
53 | if (pagecount <= ARRAY_SIZE(p->page_array)) | 55 | if (pagecount <= ARRAY_SIZE(p->page_array)) |
54 | p->pagevec = p->page_array; | 56 | p->pagevec = p->page_array; |
55 | else { | 57 | else { |
@@ -140,7 +142,7 @@ static int nfs_readpage_sync(struct nfs_open_context *ctx, struct inode *inode, | |||
140 | int result; | 142 | int result; |
141 | struct nfs_read_data *rdata; | 143 | struct nfs_read_data *rdata; |
142 | 144 | ||
143 | rdata = nfs_readdata_alloc(1); | 145 | rdata = nfs_readdata_alloc(count); |
144 | if (!rdata) | 146 | if (!rdata) |
145 | return -ENOMEM; | 147 | return -ENOMEM; |
146 | 148 | ||
@@ -336,25 +338,25 @@ static int nfs_pagein_multi(struct list_head *head, struct inode *inode) | |||
336 | struct nfs_page *req = nfs_list_entry(head->next); | 338 | struct nfs_page *req = nfs_list_entry(head->next); |
337 | struct page *page = req->wb_page; | 339 | struct page *page = req->wb_page; |
338 | struct nfs_read_data *data; | 340 | struct nfs_read_data *data; |
339 | unsigned int rsize = NFS_SERVER(inode)->rsize; | 341 | size_t rsize = NFS_SERVER(inode)->rsize, nbytes; |
340 | unsigned int nbytes, offset; | 342 | unsigned int offset; |
341 | int requests = 0; | 343 | int requests = 0; |
342 | LIST_HEAD(list); | 344 | LIST_HEAD(list); |
343 | 345 | ||
344 | nfs_list_remove_request(req); | 346 | nfs_list_remove_request(req); |
345 | 347 | ||
346 | nbytes = req->wb_bytes; | 348 | nbytes = req->wb_bytes; |
347 | for(;;) { | 349 | do { |
348 | data = nfs_readdata_alloc(1); | 350 | size_t len = min(nbytes,rsize); |
351 | |||
352 | data = nfs_readdata_alloc(len); | ||
349 | if (!data) | 353 | if (!data) |
350 | goto out_bad; | 354 | goto out_bad; |
351 | INIT_LIST_HEAD(&data->pages); | 355 | INIT_LIST_HEAD(&data->pages); |
352 | list_add(&data->pages, &list); | 356 | list_add(&data->pages, &list); |
353 | requests++; | 357 | requests++; |
354 | if (nbytes <= rsize) | 358 | nbytes -= len; |
355 | break; | 359 | } while(nbytes != 0); |
356 | nbytes -= rsize; | ||
357 | } | ||
358 | atomic_set(&req->wb_complete, requests); | 360 | atomic_set(&req->wb_complete, requests); |
359 | 361 | ||
360 | ClearPageError(page); | 362 | ClearPageError(page); |
@@ -402,7 +404,7 @@ static int nfs_pagein_one(struct list_head *head, struct inode *inode) | |||
402 | if (NFS_SERVER(inode)->rsize < PAGE_CACHE_SIZE) | 404 | if (NFS_SERVER(inode)->rsize < PAGE_CACHE_SIZE) |
403 | return nfs_pagein_multi(head, inode); | 405 | return nfs_pagein_multi(head, inode); |
404 | 406 | ||
405 | data = nfs_readdata_alloc(NFS_SERVER(inode)->rpages); | 407 | data = nfs_readdata_alloc(NFS_SERVER(inode)->rsize); |
406 | if (!data) | 408 | if (!data) |
407 | goto out_bad; | 409 | goto out_bad; |
408 | 410 | ||
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index 50774991f8d..8ab3cf10d79 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c | |||
@@ -90,22 +90,13 @@ static mempool_t *nfs_commit_mempool; | |||
90 | 90 | ||
91 | static DECLARE_WAIT_QUEUE_HEAD(nfs_write_congestion); | 91 | static DECLARE_WAIT_QUEUE_HEAD(nfs_write_congestion); |
92 | 92 | ||
93 | struct nfs_write_data *nfs_commit_alloc(unsigned int pagecount) | 93 | struct nfs_write_data *nfs_commit_alloc(void) |
94 | { | 94 | { |
95 | struct nfs_write_data *p = mempool_alloc(nfs_commit_mempool, SLAB_NOFS); | 95 | struct nfs_write_data *p = mempool_alloc(nfs_commit_mempool, SLAB_NOFS); |
96 | 96 | ||
97 | if (p) { | 97 | if (p) { |
98 | memset(p, 0, sizeof(*p)); | 98 | memset(p, 0, sizeof(*p)); |
99 | INIT_LIST_HEAD(&p->pages); | 99 | INIT_LIST_HEAD(&p->pages); |
100 | if (pagecount <= ARRAY_SIZE(p->page_array)) | ||
101 | p->pagevec = p->page_array; | ||
102 | else { | ||
103 | p->pagevec = kcalloc(pagecount, sizeof(struct page *), GFP_NOFS); | ||
104 | if (!p->pagevec) { | ||
105 | mempool_free(p, nfs_commit_mempool); | ||
106 | p = NULL; | ||
107 | } | ||
108 | } | ||
109 | } | 100 | } |
110 | return p; | 101 | return p; |
111 | } | 102 | } |
@@ -117,13 +108,15 @@ void nfs_commit_free(struct nfs_write_data *p) | |||
117 | mempool_free(p, nfs_commit_mempool); | 108 | mempool_free(p, nfs_commit_mempool); |
118 | } | 109 | } |
119 | 110 | ||
120 | struct nfs_write_data *nfs_writedata_alloc(unsigned int pagecount) | 111 | struct nfs_write_data *nfs_writedata_alloc(size_t len) |
121 | { | 112 | { |
113 | unsigned int pagecount = (len + PAGE_SIZE - 1) >> PAGE_SHIFT; | ||
122 | struct nfs_write_data *p = mempool_alloc(nfs_wdata_mempool, SLAB_NOFS); | 114 | struct nfs_write_data *p = mempool_alloc(nfs_wdata_mempool, SLAB_NOFS); |
123 | 115 | ||
124 | if (p) { | 116 | if (p) { |
125 | memset(p, 0, sizeof(*p)); | 117 | memset(p, 0, sizeof(*p)); |
126 | INIT_LIST_HEAD(&p->pages); | 118 | INIT_LIST_HEAD(&p->pages); |
119 | p->npages = pagecount; | ||
127 | if (pagecount <= ARRAY_SIZE(p->page_array)) | 120 | if (pagecount <= ARRAY_SIZE(p->page_array)) |
128 | p->pagevec = p->page_array; | 121 | p->pagevec = p->page_array; |
129 | else { | 122 | else { |
@@ -208,7 +201,7 @@ static int nfs_writepage_sync(struct nfs_open_context *ctx, struct inode *inode, | |||
208 | int result, written = 0; | 201 | int result, written = 0; |
209 | struct nfs_write_data *wdata; | 202 | struct nfs_write_data *wdata; |
210 | 203 | ||
211 | wdata = nfs_writedata_alloc(1); | 204 | wdata = nfs_writedata_alloc(wsize); |
212 | if (!wdata) | 205 | if (!wdata) |
213 | return -ENOMEM; | 206 | return -ENOMEM; |
214 | 207 | ||
@@ -999,24 +992,24 @@ static int nfs_flush_multi(struct inode *inode, struct list_head *head, int how) | |||
999 | struct nfs_page *req = nfs_list_entry(head->next); | 992 | struct nfs_page *req = nfs_list_entry(head->next); |
1000 | struct page *page = req->wb_page; | 993 | struct page *page = req->wb_page; |
1001 | struct nfs_write_data *data; | 994 | struct nfs_write_data *data; |
1002 | unsigned int wsize = NFS_SERVER(inode)->wsize; | 995 | size_t wsize = NFS_SERVER(inode)->wsize, nbytes; |
1003 | unsigned int nbytes, offset; | 996 | unsigned int offset; |
1004 | int requests = 0; | 997 | int requests = 0; |
1005 | LIST_HEAD(list); | 998 | LIST_HEAD(list); |
1006 | 999 | ||
1007 | nfs_list_remove_request(req); | 1000 | nfs_list_remove_request(req); |
1008 | 1001 | ||
1009 | nbytes = req->wb_bytes; | 1002 | nbytes = req->wb_bytes; |
1010 | for (;;) { | 1003 | do { |
1011 | data = nfs_writedata_alloc(1); | 1004 | size_t len = min(nbytes, wsize); |
1005 | |||
1006 | data = nfs_writedata_alloc(len); | ||
1012 | if (!data) | 1007 | if (!data) |
1013 | goto out_bad; | 1008 | goto out_bad; |
1014 | list_add(&data->pages, &list); | 1009 | list_add(&data->pages, &list); |
1015 | requests++; | 1010 | requests++; |
1016 | if (nbytes <= wsize) | 1011 | nbytes -= len; |
1017 | break; | 1012 | } while (nbytes != 0); |
1018 | nbytes -= wsize; | ||
1019 | } | ||
1020 | atomic_set(&req->wb_complete, requests); | 1013 | atomic_set(&req->wb_complete, requests); |
1021 | 1014 | ||
1022 | ClearPageError(page); | 1015 | ClearPageError(page); |
@@ -1070,7 +1063,7 @@ static int nfs_flush_one(struct inode *inode, struct list_head *head, int how) | |||
1070 | struct nfs_write_data *data; | 1063 | struct nfs_write_data *data; |
1071 | unsigned int count; | 1064 | unsigned int count; |
1072 | 1065 | ||
1073 | data = nfs_writedata_alloc(NFS_SERVER(inode)->wpages); | 1066 | data = nfs_writedata_alloc(NFS_SERVER(inode)->wsize); |
1074 | if (!data) | 1067 | if (!data) |
1075 | goto out_bad; | 1068 | goto out_bad; |
1076 | 1069 | ||
@@ -1378,7 +1371,7 @@ nfs_commit_list(struct inode *inode, struct list_head *head, int how) | |||
1378 | struct nfs_write_data *data; | 1371 | struct nfs_write_data *data; |
1379 | struct nfs_page *req; | 1372 | struct nfs_page *req; |
1380 | 1373 | ||
1381 | data = nfs_commit_alloc(NFS_SERVER(inode)->wpages); | 1374 | data = nfs_commit_alloc(); |
1382 | 1375 | ||
1383 | if (!data) | 1376 | if (!data) |
1384 | goto out_bad; | 1377 | goto out_bad; |
diff --git a/fs/super.c b/fs/super.c index 6d4e8174b6d..5c4c94d5495 100644 --- a/fs/super.c +++ b/fs/super.c | |||
@@ -49,6 +49,7 @@ DEFINE_SPINLOCK(sb_lock); | |||
49 | 49 | ||
50 | /** | 50 | /** |
51 | * alloc_super - create new superblock | 51 | * alloc_super - create new superblock |
52 | * @type: filesystem type superblock should belong to | ||
52 | * | 53 | * |
53 | * Allocates and initializes a new &struct super_block. alloc_super() | 54 | * Allocates and initializes a new &struct super_block. alloc_super() |
54 | * returns a pointer new superblock or %NULL if allocation had failed. | 55 | * returns a pointer new superblock or %NULL if allocation had failed. |
diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c index c40f81ba9b1..34dcb43a783 100644 --- a/fs/xfs/linux-2.6/xfs_aops.c +++ b/fs/xfs/linux-2.6/xfs_aops.c | |||
@@ -1390,11 +1390,19 @@ xfs_vm_direct_IO( | |||
1390 | 1390 | ||
1391 | iocb->private = xfs_alloc_ioend(inode, IOMAP_UNWRITTEN); | 1391 | iocb->private = xfs_alloc_ioend(inode, IOMAP_UNWRITTEN); |
1392 | 1392 | ||
1393 | ret = blockdev_direct_IO_own_locking(rw, iocb, inode, | 1393 | if (rw == WRITE) { |
1394 | iomap.iomap_target->bt_bdev, | 1394 | ret = blockdev_direct_IO_own_locking(rw, iocb, inode, |
1395 | iov, offset, nr_segs, | 1395 | iomap.iomap_target->bt_bdev, |
1396 | xfs_get_blocks_direct, | 1396 | iov, offset, nr_segs, |
1397 | xfs_end_io_direct); | 1397 | xfs_get_blocks_direct, |
1398 | xfs_end_io_direct); | ||
1399 | } else { | ||
1400 | ret = blockdev_direct_IO_no_locking(rw, iocb, inode, | ||
1401 | iomap.iomap_target->bt_bdev, | ||
1402 | iov, offset, nr_segs, | ||
1403 | xfs_get_blocks_direct, | ||
1404 | xfs_end_io_direct); | ||
1405 | } | ||
1398 | 1406 | ||
1399 | if (unlikely(ret <= 0 && iocb->private)) | 1407 | if (unlikely(ret <= 0 && iocb->private)) |
1400 | xfs_destroy_ioend(iocb->private); | 1408 | xfs_destroy_ioend(iocb->private); |
diff --git a/fs/xfs/linux-2.6/xfs_lrw.c b/fs/xfs/linux-2.6/xfs_lrw.c index 5d9cfd91ad0..ee788b1cb36 100644 --- a/fs/xfs/linux-2.6/xfs_lrw.c +++ b/fs/xfs/linux-2.6/xfs_lrw.c | |||
@@ -264,7 +264,9 @@ xfs_read( | |||
264 | dmflags, &locktype); | 264 | dmflags, &locktype); |
265 | if (ret) { | 265 | if (ret) { |
266 | xfs_iunlock(ip, XFS_IOLOCK_SHARED); | 266 | xfs_iunlock(ip, XFS_IOLOCK_SHARED); |
267 | goto unlock_mutex; | 267 | if (unlikely(ioflags & IO_ISDIRECT)) |
268 | mutex_unlock(&inode->i_mutex); | ||
269 | return ret; | ||
268 | } | 270 | } |
269 | } | 271 | } |
270 | 272 | ||
@@ -272,6 +274,9 @@ xfs_read( | |||
272 | bhv_vop_flushinval_pages(vp, ctooff(offtoct(*offset)), | 274 | bhv_vop_flushinval_pages(vp, ctooff(offtoct(*offset)), |
273 | -1, FI_REMAPF_LOCKED); | 275 | -1, FI_REMAPF_LOCKED); |
274 | 276 | ||
277 | if (unlikely(ioflags & IO_ISDIRECT)) | ||
278 | mutex_unlock(&inode->i_mutex); | ||
279 | |||
275 | xfs_rw_enter_trace(XFS_READ_ENTER, &ip->i_iocore, | 280 | xfs_rw_enter_trace(XFS_READ_ENTER, &ip->i_iocore, |
276 | (void *)iovp, segs, *offset, ioflags); | 281 | (void *)iovp, segs, *offset, ioflags); |
277 | ret = __generic_file_aio_read(iocb, iovp, segs, offset); | 282 | ret = __generic_file_aio_read(iocb, iovp, segs, offset); |
@@ -281,10 +286,6 @@ xfs_read( | |||
281 | XFS_STATS_ADD(xs_read_bytes, ret); | 286 | XFS_STATS_ADD(xs_read_bytes, ret); |
282 | 287 | ||
283 | xfs_iunlock(ip, XFS_IOLOCK_SHARED); | 288 | xfs_iunlock(ip, XFS_IOLOCK_SHARED); |
284 | |||
285 | unlock_mutex: | ||
286 | if (unlikely(ioflags & IO_ISDIRECT)) | ||
287 | mutex_unlock(&inode->i_mutex); | ||
288 | return ret; | 289 | return ret; |
289 | } | 290 | } |
290 | 291 | ||
@@ -390,6 +391,8 @@ xfs_splice_write( | |||
390 | xfs_inode_t *ip = XFS_BHVTOI(bdp); | 391 | xfs_inode_t *ip = XFS_BHVTOI(bdp); |
391 | xfs_mount_t *mp = ip->i_mount; | 392 | xfs_mount_t *mp = ip->i_mount; |
392 | ssize_t ret; | 393 | ssize_t ret; |
394 | struct inode *inode = outfilp->f_mapping->host; | ||
395 | xfs_fsize_t isize; | ||
393 | 396 | ||
394 | XFS_STATS_INC(xs_write_calls); | 397 | XFS_STATS_INC(xs_write_calls); |
395 | if (XFS_FORCED_SHUTDOWN(ip->i_mount)) | 398 | if (XFS_FORCED_SHUTDOWN(ip->i_mount)) |
@@ -416,6 +419,20 @@ xfs_splice_write( | |||
416 | if (ret > 0) | 419 | if (ret > 0) |
417 | XFS_STATS_ADD(xs_write_bytes, ret); | 420 | XFS_STATS_ADD(xs_write_bytes, ret); |
418 | 421 | ||
422 | isize = i_size_read(inode); | ||
423 | if (unlikely(ret < 0 && ret != -EFAULT && *ppos > isize)) | ||
424 | *ppos = isize; | ||
425 | |||
426 | if (*ppos > ip->i_d.di_size) { | ||
427 | xfs_ilock(ip, XFS_ILOCK_EXCL); | ||
428 | if (*ppos > ip->i_d.di_size) { | ||
429 | ip->i_d.di_size = *ppos; | ||
430 | i_size_write(inode, *ppos); | ||
431 | ip->i_update_core = 1; | ||
432 | ip->i_update_size = 1; | ||
433 | } | ||
434 | xfs_iunlock(ip, XFS_ILOCK_EXCL); | ||
435 | } | ||
419 | xfs_iunlock(ip, XFS_IOLOCK_EXCL); | 436 | xfs_iunlock(ip, XFS_IOLOCK_EXCL); |
420 | return ret; | 437 | return ret; |
421 | } | 438 | } |
diff --git a/fs/xfs/quota/xfs_qm_bhv.c b/fs/xfs/quota/xfs_qm_bhv.c index f137856c326..db8872be8c8 100644 --- a/fs/xfs/quota/xfs_qm_bhv.c +++ b/fs/xfs/quota/xfs_qm_bhv.c | |||
@@ -203,7 +203,7 @@ xfs_qm_statvfs( | |||
203 | if (error || !vnode) | 203 | if (error || !vnode) |
204 | return error; | 204 | return error; |
205 | 205 | ||
206 | mp = XFS_BHVTOM(bhv); | 206 | mp = xfs_vfstom(bhvtovfs(bhv)); |
207 | ip = xfs_vtoi(vnode); | 207 | ip = xfs_vtoi(vnode); |
208 | 208 | ||
209 | if (!(ip->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)) | 209 | if (!(ip->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)) |
diff --git a/fs/xfs/xfs_alloc.h b/fs/xfs/xfs_alloc.h index 650591f999a..5a4256120cc 100644 --- a/fs/xfs/xfs_alloc.h +++ b/fs/xfs/xfs_alloc.h | |||
@@ -44,6 +44,26 @@ typedef enum xfs_alloctype | |||
44 | #define XFS_ALLOC_FLAG_FREEING 0x00000002 /* indicate caller is freeing extents*/ | 44 | #define XFS_ALLOC_FLAG_FREEING 0x00000002 /* indicate caller is freeing extents*/ |
45 | 45 | ||
46 | /* | 46 | /* |
47 | * In order to avoid ENOSPC-related deadlock caused by | ||
48 | * out-of-order locking of AGF buffer (PV 947395), we place | ||
49 | * constraints on the relationship among actual allocations for | ||
50 | * data blocks, freelist blocks, and potential file data bmap | ||
51 | * btree blocks. However, these restrictions may result in no | ||
52 | * actual space allocated for a delayed extent, for example, a data | ||
53 | * block in a certain AG is allocated but there is no additional | ||
54 | * block for the additional bmap btree block due to a split of the | ||
55 | * bmap btree of the file. The result of this may lead to an | ||
56 | * infinite loop in xfssyncd when the file gets flushed to disk and | ||
57 | * all delayed extents need to be actually allocated. To get around | ||
58 | * this, we explicitly set aside a few blocks which will not be | ||
59 | * reserved in delayed allocation. Considering the minimum number of | ||
60 | * needed freelist blocks is 4 fsbs _per AG_, a potential split of file's bmap | ||
61 | * btree requires 1 fsb, so we set the number of set-aside blocks | ||
62 | * to 4 + 4*agcount. | ||
63 | */ | ||
64 | #define XFS_ALLOC_SET_ASIDE(mp) (4 + ((mp)->m_sb.sb_agcount * 4)) | ||
65 | |||
66 | /* | ||
47 | * Argument structure for xfs_alloc routines. | 67 | * Argument structure for xfs_alloc routines. |
48 | * This is turned into a structure to avoid having 20 arguments passed | 68 | * This is turned into a structure to avoid having 20 arguments passed |
49 | * down several levels of the stack. | 69 | * down several levels of the stack. |
diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index 077629bab53..c064e72ada9 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c | |||
@@ -462,7 +462,7 @@ xfs_fs_counts( | |||
462 | 462 | ||
463 | xfs_icsb_sync_counters_lazy(mp); | 463 | xfs_icsb_sync_counters_lazy(mp); |
464 | s = XFS_SB_LOCK(mp); | 464 | s = XFS_SB_LOCK(mp); |
465 | cnt->freedata = mp->m_sb.sb_fdblocks; | 465 | cnt->freedata = mp->m_sb.sb_fdblocks - XFS_ALLOC_SET_ASIDE(mp); |
466 | cnt->freertx = mp->m_sb.sb_frextents; | 466 | cnt->freertx = mp->m_sb.sb_frextents; |
467 | cnt->freeino = mp->m_sb.sb_ifree; | 467 | cnt->freeino = mp->m_sb.sb_ifree; |
468 | cnt->allocino = mp->m_sb.sb_icount; | 468 | cnt->allocino = mp->m_sb.sb_icount; |
@@ -519,15 +519,19 @@ xfs_reserve_blocks( | |||
519 | } | 519 | } |
520 | mp->m_resblks = request; | 520 | mp->m_resblks = request; |
521 | } else { | 521 | } else { |
522 | __int64_t free; | ||
523 | |||
524 | free = mp->m_sb.sb_fdblocks - XFS_ALLOC_SET_ASIDE(mp); | ||
522 | delta = request - mp->m_resblks; | 525 | delta = request - mp->m_resblks; |
523 | lcounter = mp->m_sb.sb_fdblocks - delta; | 526 | lcounter = free - delta; |
524 | if (lcounter < 0) { | 527 | if (lcounter < 0) { |
525 | /* We can't satisfy the request, just get what we can */ | 528 | /* We can't satisfy the request, just get what we can */ |
526 | mp->m_resblks += mp->m_sb.sb_fdblocks; | 529 | mp->m_resblks += free; |
527 | mp->m_resblks_avail += mp->m_sb.sb_fdblocks; | 530 | mp->m_resblks_avail += free; |
528 | mp->m_sb.sb_fdblocks = 0; | 531 | mp->m_sb.sb_fdblocks = XFS_ALLOC_SET_ASIDE(mp); |
529 | } else { | 532 | } else { |
530 | mp->m_sb.sb_fdblocks = lcounter; | 533 | mp->m_sb.sb_fdblocks = |
534 | lcounter + XFS_ALLOC_SET_ASIDE(mp); | ||
531 | mp->m_resblks = request; | 535 | mp->m_resblks = request; |
532 | mp->m_resblks_avail += delta; | 536 | mp->m_resblks_avail += delta; |
533 | } | 537 | } |
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index 4be5c0b2d29..9dfae18d995 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c | |||
@@ -1243,24 +1243,6 @@ xfs_mod_sb(xfs_trans_t *tp, __int64_t fields) | |||
1243 | xfs_trans_log_buf(tp, bp, first, last); | 1243 | xfs_trans_log_buf(tp, bp, first, last); |
1244 | } | 1244 | } |
1245 | 1245 | ||
1246 | /* | ||
1247 | * In order to avoid ENOSPC-related deadlock caused by | ||
1248 | * out-of-order locking of AGF buffer (PV 947395), we place | ||
1249 | * constraints on the relationship among actual allocations for | ||
1250 | * data blocks, freelist blocks, and potential file data bmap | ||
1251 | * btree blocks. However, these restrictions may result in no | ||
1252 | * actual space allocated for a delayed extent, for example, a data | ||
1253 | * block in a certain AG is allocated but there is no additional | ||
1254 | * block for the additional bmap btree block due to a split of the | ||
1255 | * bmap btree of the file. The result of this may lead to an | ||
1256 | * infinite loop in xfssyncd when the file gets flushed to disk and | ||
1257 | * all delayed extents need to be actually allocated. To get around | ||
1258 | * this, we explicitly set aside a few blocks which will not be | ||
1259 | * reserved in delayed allocation. Considering the minimum number of | ||
1260 | * needed freelist blocks is 4 fsbs, a potential split of file's bmap | ||
1261 | * btree requires 1 fsb, so we set the number of set-aside blocks to 8. | ||
1262 | */ | ||
1263 | #define SET_ASIDE_BLOCKS 8 | ||
1264 | 1246 | ||
1265 | /* | 1247 | /* |
1266 | * xfs_mod_incore_sb_unlocked() is a utility routine common used to apply | 1248 | * xfs_mod_incore_sb_unlocked() is a utility routine common used to apply |
@@ -1306,7 +1288,8 @@ xfs_mod_incore_sb_unlocked(xfs_mount_t *mp, xfs_sb_field_t field, | |||
1306 | return 0; | 1288 | return 0; |
1307 | case XFS_SBS_FDBLOCKS: | 1289 | case XFS_SBS_FDBLOCKS: |
1308 | 1290 | ||
1309 | lcounter = (long long)mp->m_sb.sb_fdblocks - SET_ASIDE_BLOCKS; | 1291 | lcounter = (long long) |
1292 | mp->m_sb.sb_fdblocks - XFS_ALLOC_SET_ASIDE(mp); | ||
1310 | res_used = (long long)(mp->m_resblks - mp->m_resblks_avail); | 1293 | res_used = (long long)(mp->m_resblks - mp->m_resblks_avail); |
1311 | 1294 | ||
1312 | if (delta > 0) { /* Putting blocks back */ | 1295 | if (delta > 0) { /* Putting blocks back */ |
@@ -1340,7 +1323,7 @@ xfs_mod_incore_sb_unlocked(xfs_mount_t *mp, xfs_sb_field_t field, | |||
1340 | } | 1323 | } |
1341 | } | 1324 | } |
1342 | 1325 | ||
1343 | mp->m_sb.sb_fdblocks = lcounter + SET_ASIDE_BLOCKS; | 1326 | mp->m_sb.sb_fdblocks = lcounter + XFS_ALLOC_SET_ASIDE(mp); |
1344 | return 0; | 1327 | return 0; |
1345 | case XFS_SBS_FREXTENTS: | 1328 | case XFS_SBS_FREXTENTS: |
1346 | lcounter = (long long)mp->m_sb.sb_frextents; | 1329 | lcounter = (long long)mp->m_sb.sb_frextents; |
@@ -2021,7 +2004,8 @@ xfs_icsb_sync_counters_lazy( | |||
2021 | * when we get near ENOSPC. | 2004 | * when we get near ENOSPC. |
2022 | */ | 2005 | */ |
2023 | #define XFS_ICSB_INO_CNTR_REENABLE 64 | 2006 | #define XFS_ICSB_INO_CNTR_REENABLE 64 |
2024 | #define XFS_ICSB_FDBLK_CNTR_REENABLE 512 | 2007 | #define XFS_ICSB_FDBLK_CNTR_REENABLE(mp) \ |
2008 | (512 + XFS_ALLOC_SET_ASIDE(mp)) | ||
2025 | STATIC void | 2009 | STATIC void |
2026 | xfs_icsb_balance_counter( | 2010 | xfs_icsb_balance_counter( |
2027 | xfs_mount_t *mp, | 2011 | xfs_mount_t *mp, |
@@ -2055,7 +2039,7 @@ xfs_icsb_balance_counter( | |||
2055 | case XFS_SBS_FDBLOCKS: | 2039 | case XFS_SBS_FDBLOCKS: |
2056 | count = mp->m_sb.sb_fdblocks; | 2040 | count = mp->m_sb.sb_fdblocks; |
2057 | resid = do_div(count, weight); | 2041 | resid = do_div(count, weight); |
2058 | if (count < XFS_ICSB_FDBLK_CNTR_REENABLE) | 2042 | if (count < XFS_ICSB_FDBLK_CNTR_REENABLE(mp)) |
2059 | goto out; | 2043 | goto out; |
2060 | break; | 2044 | break; |
2061 | default: | 2045 | default: |
@@ -2110,11 +2094,11 @@ again: | |||
2110 | case XFS_SBS_FDBLOCKS: | 2094 | case XFS_SBS_FDBLOCKS: |
2111 | BUG_ON((mp->m_resblks - mp->m_resblks_avail) != 0); | 2095 | BUG_ON((mp->m_resblks - mp->m_resblks_avail) != 0); |
2112 | 2096 | ||
2113 | lcounter = icsbp->icsb_fdblocks; | 2097 | lcounter = icsbp->icsb_fdblocks - XFS_ALLOC_SET_ASIDE(mp); |
2114 | lcounter += delta; | 2098 | lcounter += delta; |
2115 | if (unlikely(lcounter < 0)) | 2099 | if (unlikely(lcounter < 0)) |
2116 | goto slow_path; | 2100 | goto slow_path; |
2117 | icsbp->icsb_fdblocks = lcounter; | 2101 | icsbp->icsb_fdblocks = lcounter + XFS_ALLOC_SET_ASIDE(mp); |
2118 | break; | 2102 | break; |
2119 | default: | 2103 | default: |
2120 | BUG(); | 2104 | BUG(); |
diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c index b427d220a16..a34796e57af 100644 --- a/fs/xfs/xfs_vfsops.c +++ b/fs/xfs/xfs_vfsops.c | |||
@@ -811,7 +811,8 @@ xfs_statvfs( | |||
811 | statp->f_bsize = sbp->sb_blocksize; | 811 | statp->f_bsize = sbp->sb_blocksize; |
812 | lsize = sbp->sb_logstart ? sbp->sb_logblocks : 0; | 812 | lsize = sbp->sb_logstart ? sbp->sb_logblocks : 0; |
813 | statp->f_blocks = sbp->sb_dblocks - lsize; | 813 | statp->f_blocks = sbp->sb_dblocks - lsize; |
814 | statp->f_bfree = statp->f_bavail = sbp->sb_fdblocks; | 814 | statp->f_bfree = statp->f_bavail = |
815 | sbp->sb_fdblocks - XFS_ALLOC_SET_ASIDE(mp); | ||
815 | fakeinos = statp->f_bfree << sbp->sb_inopblog; | 816 | fakeinos = statp->f_bfree << sbp->sb_inopblog; |
816 | #if XFS_BIG_INUMS | 817 | #if XFS_BIG_INUMS |
817 | fakeinos += mp->m_inoadd; | 818 | fakeinos += mp->m_inoadd; |
diff --git a/include/asm-arm/arch-s3c2410/anubis-cpld.h b/include/asm-arm/arch-s3c2410/anubis-cpld.h index 5675b1796b5..40e8e270d33 100644 --- a/include/asm-arm/arch-s3c2410/anubis-cpld.h +++ b/include/asm-arm/arch-s3c2410/anubis-cpld.h | |||
@@ -9,9 +9,6 @@ | |||
9 | * This program is free software; you can redistribute it and/or modify | 9 | * This program is free software; you can redistribute it and/or modify |
10 | * it under the terms of the GNU General Public License version 2 as | 10 | * it under the terms of the GNU General Public License version 2 as |
11 | * published by the Free Software Foundation. | 11 | * published by the Free Software Foundation. |
12 | * | ||
13 | * Changelog: | ||
14 | * | ||
15 | */ | 12 | */ |
16 | 13 | ||
17 | #ifndef __ASM_ARCH_ANUBISCPLD_H | 14 | #ifndef __ASM_ARCH_ANUBISCPLD_H |
diff --git a/include/asm-arm/arch-s3c2410/anubis-irq.h b/include/asm-arm/arch-s3c2410/anubis-irq.h index 82f15dbd97e..4b5f423779d 100644 --- a/include/asm-arm/arch-s3c2410/anubis-irq.h +++ b/include/asm-arm/arch-s3c2410/anubis-irq.h | |||
@@ -9,9 +9,7 @@ | |||
9 | * This program is free software; you can redistribute it and/or modify | 9 | * This program is free software; you can redistribute it and/or modify |
10 | * it under the terms of the GNU General Public License version 2 as | 10 | * it under the terms of the GNU General Public License version 2 as |
11 | * published by the Free Software Foundation. | 11 | * published by the Free Software Foundation. |
12 | * | 12 | */ |
13 | * Changelog: | ||
14 | */ | ||
15 | 13 | ||
16 | #ifndef __ASM_ARCH_ANUBISIRQ_H | 14 | #ifndef __ASM_ARCH_ANUBISIRQ_H |
17 | #define __ASM_ARCH_ANUBISIRQ_H | 15 | #define __ASM_ARCH_ANUBISIRQ_H |
diff --git a/include/asm-arm/arch-s3c2410/anubis-map.h b/include/asm-arm/arch-s3c2410/anubis-map.h index d529ffda859..058a2104b03 100644 --- a/include/asm-arm/arch-s3c2410/anubis-map.h +++ b/include/asm-arm/arch-s3c2410/anubis-map.h | |||
@@ -9,8 +9,6 @@ | |||
9 | * This program is free software; you can redistribute it and/or modify | 9 | * This program is free software; you can redistribute it and/or modify |
10 | * it under the terms of the GNU General Public License version 2 as | 10 | * it under the terms of the GNU General Public License version 2 as |
11 | * published by the Free Software Foundation. | 11 | * published by the Free Software Foundation. |
12 | * | ||
13 | * Changelog: | ||
14 | */ | 12 | */ |
15 | 13 | ||
16 | /* needs arch/map.h including with this */ | 14 | /* needs arch/map.h including with this */ |
diff --git a/include/asm-arm/arch-s3c2410/audio.h b/include/asm-arm/arch-s3c2410/audio.h index 0d276e67f2f..7e0222276c9 100644 --- a/include/asm-arm/arch-s3c2410/audio.h +++ b/include/asm-arm/arch-s3c2410/audio.h | |||
@@ -9,10 +9,6 @@ | |||
9 | * This program is free software; you can redistribute it and/or modify | 9 | * This program is free software; you can redistribute it and/or modify |
10 | * it under the terms of the GNU General Public License version 2 as | 10 | * it under the terms of the GNU General Public License version 2 as |
11 | * published by the Free Software Foundation. | 11 | * published by the Free Software Foundation. |
12 | * | ||
13 | * Changelog: | ||
14 | * 20-Nov-2004 BJD Created file | ||
15 | * 07-Mar-2005 BJD Added suspend/resume calls | ||
16 | */ | 12 | */ |
17 | 13 | ||
18 | #ifndef __ASM_ARCH_AUDIO_H | 14 | #ifndef __ASM_ARCH_AUDIO_H |
diff --git a/include/asm-arm/arch-s3c2410/bast-cpld.h b/include/asm-arm/arch-s3c2410/bast-cpld.h index e28ca51a497..8969cffe83f 100644 --- a/include/asm-arm/arch-s3c2410/bast-cpld.h +++ b/include/asm-arm/arch-s3c2410/bast-cpld.h | |||
@@ -8,11 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * 25-May-2003 BJD Created file, added CTRL1 registers | ||
14 | * 30-Aug-2004 BJD Updated definitions from 2.4.26 port | ||
15 | * 30-Aug-2004 BJD Added CTRL3 and CTRL4 definitions | ||
16 | */ | 11 | */ |
17 | 12 | ||
18 | #ifndef __ASM_ARCH_BASTCPLD_H | 13 | #ifndef __ASM_ARCH_BASTCPLD_H |
diff --git a/include/asm-arm/arch-s3c2410/bast-irq.h b/include/asm-arm/arch-s3c2410/bast-irq.h index b79b47f0d12..15ffa66f501 100644 --- a/include/asm-arm/arch-s3c2410/bast-irq.h +++ b/include/asm-arm/arch-s3c2410/bast-irq.h | |||
@@ -8,11 +8,7 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | 11 | */ |
12 | * Changelog: | ||
13 | * 14-Sep-2004 BJD Fixed IRQ_USBOC definition | ||
14 | * 06-Jan-2003 BJD Linux 2.6.0 version | ||
15 | */ | ||
16 | 12 | ||
17 | #ifndef __ASM_ARCH_BASTIRQ_H | 13 | #ifndef __ASM_ARCH_BASTIRQ_H |
18 | #define __ASM_ARCH_BASTIRQ_H | 14 | #define __ASM_ARCH_BASTIRQ_H |
diff --git a/include/asm-arm/arch-s3c2410/bast-map.h b/include/asm-arm/arch-s3c2410/bast-map.h index 29c07e302b0..727cef84c70 100644 --- a/include/asm-arm/arch-s3c2410/bast-map.h +++ b/include/asm-arm/arch-s3c2410/bast-map.h | |||
@@ -8,10 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * 06-Jan-2003 BJD Linux 2.6.0 version, moved bast specifics from arch/map.h | ||
14 | * 12-Mar-2004 BJD Fixed header include protection | ||
15 | */ | 11 | */ |
16 | 12 | ||
17 | /* needs arch/map.h including with this */ | 13 | /* needs arch/map.h including with this */ |
diff --git a/include/asm-arm/arch-s3c2410/bast-pmu.h b/include/asm-arm/arch-s3c2410/bast-pmu.h index 758c5c59d4b..82836027f00 100644 --- a/include/asm-arm/arch-s3c2410/bast-pmu.h +++ b/include/asm-arm/arch-s3c2410/bast-pmu.h | |||
@@ -9,9 +9,6 @@ | |||
9 | * This program is free software; you can redistribute it and/or modify | 9 | * This program is free software; you can redistribute it and/or modify |
10 | * it under the terms of the GNU General Public License version 2 as | 10 | * it under the terms of the GNU General Public License version 2 as |
11 | * published by the Free Software Foundation. | 11 | * published by the Free Software Foundation. |
12 | * | ||
13 | * Changelog: | ||
14 | * 08-Oct-2003 BJD Initial creation | ||
15 | */ | 12 | */ |
16 | 13 | ||
17 | #ifndef __ASM_ARCH_BASTPMU_H | 14 | #ifndef __ASM_ARCH_BASTPMU_H |
diff --git a/include/asm-arm/arch-s3c2410/debug-macro.S b/include/asm-arm/arch-s3c2410/debug-macro.S index b7d15d12545..93064860e0e 100644 --- a/include/asm-arm/arch-s3c2410/debug-macro.S +++ b/include/asm-arm/arch-s3c2410/debug-macro.S | |||
@@ -10,9 +10,6 @@ | |||
10 | * This program is free software; you can redistribute it and/or modify | 10 | * This program is free software; you can redistribute it and/or modify |
11 | * it under the terms of the GNU General Public License version 2 as | 11 | * it under the terms of the GNU General Public License version 2 as |
12 | * published by the Free Software Foundation. | 12 | * published by the Free Software Foundation. |
13 | * | ||
14 | * Modifications: | ||
15 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
16 | */ | 13 | */ |
17 | 14 | ||
18 | #include <asm/arch/map.h> | 15 | #include <asm/arch/map.h> |
diff --git a/include/asm-arm/arch-s3c2410/dma.h b/include/asm-arm/arch-s3c2410/dma.h index 7463fd5252c..3661e465b0a 100644 --- a/include/asm-arm/arch-s3c2410/dma.h +++ b/include/asm-arm/arch-s3c2410/dma.h | |||
@@ -1,18 +1,13 @@ | |||
1 | /* linux/include/asm-arm/arch-bast/dma.h | 1 | /* linux/include/asm-arm/arch-s3c2410/dma.h |
2 | * | 2 | * |
3 | * Copyright (C) 2003,2004 Simtec Electronics | 3 | * Copyright (C) 2003,2004,2006 Simtec Electronics |
4 | * Ben Dooks <ben@simtec.co.uk> | 4 | * Ben Dooks <ben@simtec.co.uk> |
5 | * | 5 | * |
6 | * Samsung S3C2410X DMA support | 6 | * Samsung S3C241XX DMA support |
7 | * | 7 | * |
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * ??-May-2003 BJD Created file | ||
14 | * ??-Jun-2003 BJD Added more dma functionality to go with arch | ||
15 | * 10-Nov-2004 BJD Added sys_device support | ||
16 | */ | 11 | */ |
17 | 12 | ||
18 | #ifndef __ASM_ARCH_DMA_H | 13 | #ifndef __ASM_ARCH_DMA_H |
@@ -21,28 +16,26 @@ | |||
21 | #include <linux/sysdev.h> | 16 | #include <linux/sysdev.h> |
22 | #include "hardware.h" | 17 | #include "hardware.h" |
23 | 18 | ||
24 | |||
25 | /* | 19 | /* |
26 | * This is the maximum DMA address(physical address) that can be DMAd to. | 20 | * This is the maximum DMA address(physical address) that can be DMAd to. |
27 | * | 21 | * |
28 | */ | 22 | */ |
29 | #define MAX_DMA_ADDRESS 0x20000000 | 23 | #define MAX_DMA_ADDRESS 0x40000000 |
30 | #define MAX_DMA_TRANSFER_SIZE 0x100000 /* Data Unit is half word */ | 24 | #define MAX_DMA_TRANSFER_SIZE 0x100000 /* Data Unit is half word */ |
31 | 25 | ||
32 | |||
33 | /* we have 4 dma channels */ | 26 | /* we have 4 dma channels */ |
34 | #define S3C2410_DMA_CHANNELS (4) | 27 | #define S3C2410_DMA_CHANNELS (4) |
35 | 28 | ||
36 | /* types */ | 29 | /* types */ |
37 | 30 | ||
38 | typedef enum { | 31 | enum s3c2410_dma_state { |
39 | S3C2410_DMA_IDLE, | 32 | S3C2410_DMA_IDLE, |
40 | S3C2410_DMA_RUNNING, | 33 | S3C2410_DMA_RUNNING, |
41 | S3C2410_DMA_PAUSED | 34 | S3C2410_DMA_PAUSED |
42 | } s3c2410_dma_state_t; | 35 | }; |
43 | 36 | ||
44 | 37 | ||
45 | /* s3c2410_dma_loadst_t | 38 | /* enum s3c2410_dma_loadst |
46 | * | 39 | * |
47 | * This represents the state of the DMA engine, wrt to the loaded / running | 40 | * This represents the state of the DMA engine, wrt to the loaded / running |
48 | * transfers. Since we don't have any way of knowing exactly the state of | 41 | * transfers. Since we don't have any way of knowing exactly the state of |
@@ -70,45 +63,40 @@ typedef enum { | |||
70 | * currently running. | 63 | * currently running. |
71 | */ | 64 | */ |
72 | 65 | ||
73 | typedef enum { | 66 | enum s3c2410_dma_loadst { |
74 | S3C2410_DMALOAD_NONE, | 67 | S3C2410_DMALOAD_NONE, |
75 | S3C2410_DMALOAD_1LOADED, | 68 | S3C2410_DMALOAD_1LOADED, |
76 | S3C2410_DMALOAD_1RUNNING, | 69 | S3C2410_DMALOAD_1RUNNING, |
77 | S3C2410_DMALOAD_1LOADED_1RUNNING, | 70 | S3C2410_DMALOAD_1LOADED_1RUNNING, |
78 | } s3c2410_dma_loadst_t; | 71 | }; |
79 | 72 | ||
80 | typedef enum { | 73 | enum s3c2410_dma_buffresult { |
81 | S3C2410_RES_OK, | 74 | S3C2410_RES_OK, |
82 | S3C2410_RES_ERR, | 75 | S3C2410_RES_ERR, |
83 | S3C2410_RES_ABORT | 76 | S3C2410_RES_ABORT |
84 | } s3c2410_dma_buffresult_t; | 77 | }; |
85 | |||
86 | |||
87 | typedef enum s3c2410_dmasrc_e s3c2410_dmasrc_t; | ||
88 | 78 | ||
89 | enum s3c2410_dmasrc_e { | 79 | enum s3c2410_dmasrc { |
90 | S3C2410_DMASRC_HW, /* source is memory */ | 80 | S3C2410_DMASRC_HW, /* source is memory */ |
91 | S3C2410_DMASRC_MEM /* source is hardware */ | 81 | S3C2410_DMASRC_MEM /* source is hardware */ |
92 | }; | 82 | }; |
93 | 83 | ||
94 | /* enum s3c2410_chan_op_e | 84 | /* enum s3c2410_chan_op |
95 | * | 85 | * |
96 | * operation codes passed to the DMA code by the user, and also used | 86 | * operation codes passed to the DMA code by the user, and also used |
97 | * to inform the current channel owner of any changes to the system state | 87 | * to inform the current channel owner of any changes to the system state |
98 | */ | 88 | */ |
99 | 89 | ||
100 | enum s3c2410_chan_op_e { | 90 | enum s3c2410_chan_op { |
101 | S3C2410_DMAOP_START, | 91 | S3C2410_DMAOP_START, |
102 | S3C2410_DMAOP_STOP, | 92 | S3C2410_DMAOP_STOP, |
103 | S3C2410_DMAOP_PAUSE, | 93 | S3C2410_DMAOP_PAUSE, |
104 | S3C2410_DMAOP_RESUME, | 94 | S3C2410_DMAOP_RESUME, |
105 | S3C2410_DMAOP_FLUSH, | 95 | S3C2410_DMAOP_FLUSH, |
106 | S3C2410_DMAOP_TIMEOUT, /* internal signal to handler */ | 96 | S3C2410_DMAOP_TIMEOUT, /* internal signal to handler */ |
107 | S3C2410_DMAOP_STARTED, /* indicate channel started */ | 97 | S3C2410_DMAOP_STARTED, /* indicate channel started */ |
108 | }; | 98 | }; |
109 | 99 | ||
110 | typedef enum s3c2410_chan_op_e s3c2410_chan_op_t; | ||
111 | |||
112 | /* flags */ | 100 | /* flags */ |
113 | 101 | ||
114 | #define S3C2410_DMAF_SLOW (1<<0) /* slow, so don't worry about | 102 | #define S3C2410_DMAF_SLOW (1<<0) /* slow, so don't worry about |
@@ -117,104 +105,100 @@ typedef enum s3c2410_chan_op_e s3c2410_chan_op_t; | |||
117 | 105 | ||
118 | /* dma buffer */ | 106 | /* dma buffer */ |
119 | 107 | ||
120 | typedef struct s3c2410_dma_buf_s s3c2410_dma_buf_t; | ||
121 | |||
122 | struct s3c2410_dma_client { | 108 | struct s3c2410_dma_client { |
123 | char *name; | 109 | char *name; |
124 | }; | 110 | }; |
125 | 111 | ||
126 | typedef struct s3c2410_dma_client s3c2410_dma_client_t; | ||
127 | |||
128 | /* s3c2410_dma_buf_s | 112 | /* s3c2410_dma_buf_s |
129 | * | 113 | * |
130 | * internally used buffer structure to describe a queued or running | 114 | * internally used buffer structure to describe a queued or running |
131 | * buffer. | 115 | * buffer. |
132 | */ | 116 | */ |
133 | 117 | ||
134 | struct s3c2410_dma_buf_s { | 118 | struct s3c2410_dma_buf; |
135 | s3c2410_dma_buf_t *next; | 119 | struct s3c2410_dma_buf { |
136 | int magic; /* magic */ | 120 | struct s3c2410_dma_buf *next; |
137 | int size; /* buffer size in bytes */ | 121 | int magic; /* magic */ |
138 | dma_addr_t data; /* start of DMA data */ | 122 | int size; /* buffer size in bytes */ |
139 | dma_addr_t ptr; /* where the DMA got to [1] */ | 123 | dma_addr_t data; /* start of DMA data */ |
140 | void *id; /* client's id */ | 124 | dma_addr_t ptr; /* where the DMA got to [1] */ |
125 | void *id; /* client's id */ | ||
141 | }; | 126 | }; |
142 | 127 | ||
143 | /* [1] is this updated for both recv/send modes? */ | 128 | /* [1] is this updated for both recv/send modes? */ |
144 | 129 | ||
145 | typedef struct s3c2410_dma_chan_s s3c2410_dma_chan_t; | 130 | struct s3c2410_dma_chan; |
146 | 131 | ||
147 | /* s3c2410_dma_cbfn_t | 132 | /* s3c2410_dma_cbfn_t |
148 | * | 133 | * |
149 | * buffer callback routine type | 134 | * buffer callback routine type |
150 | */ | 135 | */ |
151 | 136 | ||
152 | typedef void (*s3c2410_dma_cbfn_t)(s3c2410_dma_chan_t *, void *buf, int size, | 137 | typedef void (*s3c2410_dma_cbfn_t)(struct s3c2410_dma_chan *, |
153 | s3c2410_dma_buffresult_t result); | 138 | void *buf, int size, |
139 | enum s3c2410_dma_buffresult result); | ||
154 | 140 | ||
155 | typedef int (*s3c2410_dma_opfn_t)(s3c2410_dma_chan_t *, | 141 | typedef int (*s3c2410_dma_opfn_t)(struct s3c2410_dma_chan *, |
156 | s3c2410_chan_op_t ); | 142 | enum s3c2410_chan_op ); |
157 | 143 | ||
158 | struct s3c2410_dma_stats_s { | 144 | struct s3c2410_dma_stats { |
159 | unsigned long loads; | 145 | unsigned long loads; |
160 | unsigned long timeout_longest; | 146 | unsigned long timeout_longest; |
161 | unsigned long timeout_shortest; | 147 | unsigned long timeout_shortest; |
162 | unsigned long timeout_avg; | 148 | unsigned long timeout_avg; |
163 | unsigned long timeout_failed; | 149 | unsigned long timeout_failed; |
164 | }; | 150 | }; |
165 | 151 | ||
166 | typedef struct s3c2410_dma_stats_s s3c2410_dma_stats_t; | 152 | /* struct s3c2410_dma_chan |
167 | |||
168 | /* struct s3c2410_dma_chan_s | ||
169 | * | 153 | * |
170 | * full state information for each DMA channel | 154 | * full state information for each DMA channel |
171 | */ | 155 | */ |
172 | 156 | ||
173 | struct s3c2410_dma_chan_s { | 157 | struct s3c2410_dma_chan { |
174 | /* channel state flags and information */ | 158 | /* channel state flags and information */ |
175 | unsigned char number; /* number of this dma channel */ | 159 | unsigned char number; /* number of this dma channel */ |
176 | unsigned char in_use; /* channel allocated */ | 160 | unsigned char in_use; /* channel allocated */ |
177 | unsigned char irq_claimed; /* irq claimed for channel */ | 161 | unsigned char irq_claimed; /* irq claimed for channel */ |
178 | unsigned char irq_enabled; /* irq enabled for channel */ | 162 | unsigned char irq_enabled; /* irq enabled for channel */ |
179 | unsigned char xfer_unit; /* size of an transfer */ | 163 | unsigned char xfer_unit; /* size of an transfer */ |
180 | 164 | ||
181 | /* channel state */ | 165 | /* channel state */ |
182 | 166 | ||
183 | s3c2410_dma_state_t state; | 167 | enum s3c2410_dma_state state; |
184 | s3c2410_dma_loadst_t load_state; | 168 | enum s3c2410_dma_loadst load_state; |
185 | s3c2410_dma_client_t *client; | 169 | struct s3c2410_dma_client *client; |
186 | 170 | ||
187 | /* channel configuration */ | 171 | /* channel configuration */ |
188 | s3c2410_dmasrc_t source; | 172 | enum s3c2410_dmasrc source; |
189 | unsigned long dev_addr; | 173 | unsigned long dev_addr; |
190 | unsigned long load_timeout; | 174 | unsigned long load_timeout; |
191 | unsigned int flags; /* channel flags */ | 175 | unsigned int flags; /* channel flags */ |
192 | 176 | ||
193 | /* channel's hardware position and configuration */ | 177 | /* channel's hardware position and configuration */ |
194 | void __iomem *regs; /* channels registers */ | 178 | void __iomem *regs; /* channels registers */ |
195 | void __iomem *addr_reg; /* data address register */ | 179 | void __iomem *addr_reg; /* data address register */ |
196 | unsigned int irq; /* channel irq */ | 180 | unsigned int irq; /* channel irq */ |
197 | unsigned long dcon; /* default value of DCON */ | 181 | unsigned long dcon; /* default value of DCON */ |
198 | 182 | ||
199 | /* driver handles */ | 183 | /* driver handles */ |
200 | s3c2410_dma_cbfn_t callback_fn; /* buffer done callback */ | 184 | s3c2410_dma_cbfn_t callback_fn; /* buffer done callback */ |
201 | s3c2410_dma_opfn_t op_fn; /* channel operation callback */ | 185 | s3c2410_dma_opfn_t op_fn; /* channel op callback */ |
202 | 186 | ||
203 | /* stats gathering */ | 187 | /* stats gathering */ |
204 | s3c2410_dma_stats_t *stats; | 188 | struct s3c2410_dma_stats *stats; |
205 | s3c2410_dma_stats_t stats_store; | 189 | struct s3c2410_dma_stats stats_store; |
206 | 190 | ||
207 | /* buffer list and information */ | 191 | /* buffer list and information */ |
208 | s3c2410_dma_buf_t *curr; /* current dma buffer */ | 192 | struct s3c2410_dma_buf *curr; /* current dma buffer */ |
209 | s3c2410_dma_buf_t *next; /* next buffer to load */ | 193 | struct s3c2410_dma_buf *next; /* next buffer to load */ |
210 | s3c2410_dma_buf_t *end; /* end of queue */ | 194 | struct s3c2410_dma_buf *end; /* end of queue */ |
211 | 195 | ||
212 | /* system device */ | 196 | /* system device */ |
213 | struct sys_device dev; | 197 | struct sys_device dev; |
214 | }; | 198 | }; |
215 | 199 | ||
216 | /* the currently allocated channel information */ | 200 | /* the currently allocated channel information */ |
217 | extern s3c2410_dma_chan_t s3c2410_chans[]; | 201 | extern struct s3c2410_dma_chan s3c2410_chans[]; |
218 | 202 | ||
219 | /* note, we don't really use dma_device_t at the moment */ | 203 | /* note, we don't really use dma_device_t at the moment */ |
220 | typedef unsigned long dma_device_t; | 204 | typedef unsigned long dma_device_t; |
@@ -227,7 +211,7 @@ typedef unsigned long dma_device_t; | |||
227 | */ | 211 | */ |
228 | 212 | ||
229 | extern int s3c2410_dma_request(dmach_t channel, | 213 | extern int s3c2410_dma_request(dmach_t channel, |
230 | s3c2410_dma_client_t *, void *dev); | 214 | struct s3c2410_dma_client *, void *dev); |
231 | 215 | ||
232 | 216 | ||
233 | /* s3c2410_dma_ctrl | 217 | /* s3c2410_dma_ctrl |
@@ -235,7 +219,7 @@ extern int s3c2410_dma_request(dmach_t channel, | |||
235 | * change the state of the dma channel | 219 | * change the state of the dma channel |
236 | */ | 220 | */ |
237 | 221 | ||
238 | extern int s3c2410_dma_ctrl(dmach_t channel, s3c2410_chan_op_t op); | 222 | extern int s3c2410_dma_ctrl(dmach_t channel, enum s3c2410_chan_op op); |
239 | 223 | ||
240 | /* s3c2410_dma_setflags | 224 | /* s3c2410_dma_setflags |
241 | * | 225 | * |
@@ -250,7 +234,7 @@ extern int s3c2410_dma_setflags(dmach_t channel, | |||
250 | * free the dma channel (will also abort any outstanding operations) | 234 | * free the dma channel (will also abort any outstanding operations) |
251 | */ | 235 | */ |
252 | 236 | ||
253 | extern int s3c2410_dma_free(dmach_t channel, s3c2410_dma_client_t *); | 237 | extern int s3c2410_dma_free(dmach_t channel, struct s3c2410_dma_client *); |
254 | 238 | ||
255 | /* s3c2410_dma_enqueue | 239 | /* s3c2410_dma_enqueue |
256 | * | 240 | * |
@@ -274,7 +258,7 @@ extern int s3c2410_dma_config(dmach_t channel, int xferunit, int dcon); | |||
274 | * configure the device we're talking to | 258 | * configure the device we're talking to |
275 | */ | 259 | */ |
276 | 260 | ||
277 | extern int s3c2410_dma_devconfig(int channel, s3c2410_dmasrc_t source, | 261 | extern int s3c2410_dma_devconfig(int channel, enum s3c2410_dmasrc source, |
278 | int hwcfg, unsigned long devaddr); | 262 | int hwcfg, unsigned long devaddr); |
279 | 263 | ||
280 | /* s3c2410_dma_getposition | 264 | /* s3c2410_dma_getposition |
diff --git a/include/asm-arm/arch-s3c2410/fb.h b/include/asm-arm/arch-s3c2410/fb.h index 4790491ba9d..71161797bc8 100644 --- a/include/asm-arm/arch-s3c2410/fb.h +++ b/include/asm-arm/arch-s3c2410/fb.h | |||
@@ -7,13 +7,6 @@ | |||
7 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License version 2 as | 8 | * it under the terms of the GNU General Public License version 2 as |
9 | * published by the Free Software Foundation. | 9 | * published by the Free Software Foundation. |
10 | * | ||
11 | * | ||
12 | * Changelog: | ||
13 | * 07-Sep-2004 RTP Created file | ||
14 | * 03-Nov-2004 BJD Updated and minor cleanups | ||
15 | * 03-Aug-2005 RTP Renamed to fb.h | ||
16 | * 26-Oct-2005 BJD Changed name of platdata init | ||
17 | */ | 10 | */ |
18 | 11 | ||
19 | #ifndef __ASM_ARM_FB_H | 12 | #ifndef __ASM_ARM_FB_H |
diff --git a/include/asm-arm/arch-s3c2410/hardware.h b/include/asm-arm/arch-s3c2410/hardware.h index a2330bf8369..871f8af09b8 100644 --- a/include/asm-arm/arch-s3c2410/hardware.h +++ b/include/asm-arm/arch-s3c2410/hardware.h | |||
@@ -8,16 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * 21-May-2003 BJD Created file | ||
14 | * 06-Jun-2003 BJD Added CPU frequency settings | ||
15 | * 03-Sep-2003 BJD Linux v2.6 support | ||
16 | * 12-Mar-2004 BJD Fixed include protection, fixed type of clock vars | ||
17 | * 14-Sep-2004 BJD Added misccr and getpin to gpio | ||
18 | * 01-Oct-2004 BJD Added the new gpio functions | ||
19 | * 16-Oct-2004 BJD Removed the clock variables | ||
20 | * 15-Jan-2006 LCVR Added s3c2400_gpio_getirq() | ||
21 | */ | 11 | */ |
22 | 12 | ||
23 | #ifndef __ASM_ARCH_HARDWARE_H | 13 | #ifndef __ASM_ARCH_HARDWARE_H |
diff --git a/include/asm-arm/arch-s3c2410/idle.h b/include/asm-arm/arch-s3c2410/idle.h index 749227c0957..eed450608f9 100644 --- a/include/asm-arm/arch-s3c2410/idle.h +++ b/include/asm-arm/arch-s3c2410/idle.h | |||
@@ -8,10 +8,6 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | * S3C2410 CPU Idle controls | 10 | * S3C2410 CPU Idle controls |
11 | * | ||
12 | * Changelog: | ||
13 | * 28-Oct-2004 BJD Initial version | ||
14 | * | ||
15 | */ | 11 | */ |
16 | 12 | ||
17 | #ifndef __ASM_ARCH_IDLE_H | 13 | #ifndef __ASM_ARCH_IDLE_H |
diff --git a/include/asm-arm/arch-s3c2410/iic.h b/include/asm-arm/arch-s3c2410/iic.h index 518547f6d7a..ed3d6c7bf6d 100644 --- a/include/asm-arm/arch-s3c2410/iic.h +++ b/include/asm-arm/arch-s3c2410/iic.h | |||
@@ -8,10 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * 05-Oct-2004 BJD Created file | ||
14 | * 19-Oct-2004 BJD Updated for s3c2440 | ||
15 | */ | 11 | */ |
16 | 12 | ||
17 | #ifndef __ASM_ARCH_IIC_H | 13 | #ifndef __ASM_ARCH_IIC_H |
diff --git a/include/asm-arm/arch-s3c2410/io.h b/include/asm-arm/arch-s3c2410/io.h index 16fbc8afffd..6b35a4f2630 100644 --- a/include/asm-arm/arch-s3c2410/io.h +++ b/include/asm-arm/arch-s3c2410/io.h | |||
@@ -4,13 +4,7 @@ | |||
4 | * | 4 | * |
5 | * Copyright (C) 1997 Russell King | 5 | * Copyright (C) 1997 Russell King |
6 | * (C) 2003 Simtec Electronics | 6 | * (C) 2003 Simtec Electronics |
7 | * | 7 | */ |
8 | * Modifications: | ||
9 | * 06-Dec-1997 RMK Created. | ||
10 | * 02-Sep-2003 BJD Modified for S3C2410 | ||
11 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
12 | * 13-Oct-2005 BJD Fixed problems with LDRH/STRH offset range | ||
13 | */ | ||
14 | 8 | ||
15 | #ifndef __ASM_ARM_ARCH_IO_H | 9 | #ifndef __ASM_ARM_ARCH_IO_H |
16 | #define __ASM_ARM_ARCH_IO_H | 10 | #define __ASM_ARM_ARCH_IO_H |
diff --git a/include/asm-arm/arch-s3c2410/irqs.h b/include/asm-arm/arch-s3c2410/irqs.h index d9773d69726..39a69829d16 100644 --- a/include/asm-arm/arch-s3c2410/irqs.h +++ b/include/asm-arm/arch-s3c2410/irqs.h | |||
@@ -6,14 +6,7 @@ | |||
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License version 2 as | 7 | * it under the terms of the GNU General Public License version 2 as |
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | */ |
10 | * Changelog: | ||
11 | * 12-May-2003 BJD Created file | ||
12 | * 08-Jan-2003 BJD Linux 2.6.0 version, moved BAST bits out | ||
13 | * 12-Mar-2004 BJD Fixed bug in header protection | ||
14 | * 10-Feb-2005 BJD Added camera IRQ from guillaume.gourat@nexvision.tv | ||
15 | * 28-Feb-2005 BJD Updated s3c2440 IRQs | ||
16 | */ | ||
17 | 10 | ||
18 | 11 | ||
19 | #ifndef __ASM_ARCH_IRQS_H | 12 | #ifndef __ASM_ARCH_IRQS_H |
diff --git a/include/asm-arm/arch-s3c2410/map.h b/include/asm-arm/arch-s3c2410/map.h index fae2766ff32..27ba0ac3fdd 100644 --- a/include/asm-arm/arch-s3c2410/map.h +++ b/include/asm-arm/arch-s3c2410/map.h | |||
@@ -8,13 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * 12-May-2003 BJD Created file | ||
14 | * 06-Jan-2003 BJD Linux 2.6.0 version, moved bast specifics out | ||
15 | * 10-Feb-2005 BJD Added CAMIF definition from guillaume.gourat@nexvision.tv | ||
16 | * 10-Mar-2005 LCVR Added support to S3C2400, changed {VA,SZ} names | ||
17 | * 15-Jan-2006 LCVR Added S3C24XX_PA macros for common S3C24XX resources | ||
18 | */ | 11 | */ |
19 | 12 | ||
20 | #ifndef __ASM_ARCH_MAP_H | 13 | #ifndef __ASM_ARCH_MAP_H |
diff --git a/include/asm-arm/arch-s3c2410/memory.h b/include/asm-arm/arch-s3c2410/memory.h index 6ab834a14c8..4be6a74c430 100644 --- a/include/asm-arm/arch-s3c2410/memory.h +++ b/include/asm-arm/arch-s3c2410/memory.h | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* linux/include/asm-arm/arch-s3c2410/memory.h |
2 | * linux/include/asm-arm/arch-s3c2410/memory.h | ||
3 | * | ||
4 | * from linux/include/asm-arm/arch-rpc/memory.h | 2 | * from linux/include/asm-arm/arch-rpc/memory.h |
5 | * | 3 | * |
6 | * Copyright (C) 1996,1997,1998 Russell King. | 4 | * Copyright (C) 1996,1997,1998 Russell King. |
@@ -8,16 +6,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 7 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * 20-Oct-1996 RMK Created | ||
14 | * 31-Dec-1997 RMK Fixed definitions to reduce warnings | ||
15 | * 11-Jan-1998 RMK Uninlined to reduce hits on cache | ||
16 | * 08-Feb-1998 RMK Added __virt_to_bus and __bus_to_virt | ||
17 | * 21-Mar-1999 RMK Renamed to memory.h | ||
18 | * RMK Added TASK_SIZE and PAGE_OFFSET | ||
19 | * 05-Apr-2004 BJD Copied and altered for arch-s3c2410 | ||
20 | * 17-Mar-2005 LCVR Modified for S3C2400 | ||
21 | */ | 9 | */ |
22 | 10 | ||
23 | #ifndef __ASM_ARCH_MEMORY_H | 11 | #ifndef __ASM_ARCH_MEMORY_H |
diff --git a/include/asm-arm/arch-s3c2410/nand.h b/include/asm-arm/arch-s3c2410/nand.h index 9148ac045b0..e350ae2acfc 100644 --- a/include/asm-arm/arch-s3c2410/nand.h +++ b/include/asm-arm/arch-s3c2410/nand.h | |||
@@ -8,9 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * 23-Sep-2004 BJD Created file | ||
14 | */ | 11 | */ |
15 | 12 | ||
16 | /* struct s3c2410_nand_set | 13 | /* struct s3c2410_nand_set |
diff --git a/include/asm-arm/arch-s3c2410/osiris-map.h b/include/asm-arm/arch-s3c2410/osiris-map.h index 7c4b0cd2d14..e2d406218ae 100644 --- a/include/asm-arm/arch-s3c2410/osiris-map.h +++ b/include/asm-arm/arch-s3c2410/osiris-map.h | |||
@@ -9,8 +9,6 @@ | |||
9 | * This program is free software; you can redistribute it and/or modify | 9 | * This program is free software; you can redistribute it and/or modify |
10 | * it under the terms of the GNU General Public License version 2 as | 10 | * it under the terms of the GNU General Public License version 2 as |
11 | * published by the Free Software Foundation. | 11 | * published by the Free Software Foundation. |
12 | * | ||
13 | * Changelog: | ||
14 | */ | 12 | */ |
15 | 13 | ||
16 | /* needs arch/map.h including with this */ | 14 | /* needs arch/map.h including with this */ |
diff --git a/include/asm-arm/arch-s3c2410/regs-adc.h b/include/asm-arm/arch-s3c2410/regs-adc.h index 15bfc2f5754..c7b90b3ecc9 100644 --- a/include/asm-arm/arch-s3c2410/regs-adc.h +++ b/include/asm-arm/arch-s3c2410/regs-adc.h | |||
@@ -7,9 +7,6 @@ | |||
7 | * published by the Free Software Foundation. | 7 | * published by the Free Software Foundation. |
8 | * | 8 | * |
9 | * S3C2410 ADC registers | 9 | * S3C2410 ADC registers |
10 | * | ||
11 | * Changelog: | ||
12 | * 27-09-2004 SAH Created file | ||
13 | */ | 10 | */ |
14 | 11 | ||
15 | #ifndef __ASM_ARCH_REGS_ADC_H | 12 | #ifndef __ASM_ARCH_REGS_ADC_H |
diff --git a/include/asm-arm/arch-s3c2410/regs-clock.h b/include/asm-arm/arch-s3c2410/regs-clock.h index a7c61feb843..b2f4690c079 100644 --- a/include/asm-arm/arch-s3c2410/regs-clock.h +++ b/include/asm-arm/arch-s3c2410/regs-clock.h | |||
@@ -8,18 +8,6 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | * S3C2410 clock register definitions | 10 | * S3C2410 clock register definitions |
11 | * | ||
12 | * Changelog: | ||
13 | * 18-Aug-2004 Ben Dooks Added 2440 definitions | ||
14 | * 08-Aug-2004 Herbert Pötzl Added CLKCON definitions | ||
15 | * 19-06-2003 Ben Dooks Created file | ||
16 | * 12-03-2004 Ben Dooks Updated include protection | ||
17 | * 29-Sep-2004 Ben Dooks Fixed usage for assembly inclusion | ||
18 | * 10-Feb-2005 Ben Dooks Fixed CAMDIVN address (Guillaume Gourat) | ||
19 | * 10-Mar-2005 Lucas Villa Real Changed S3C2410_VA to S3C24XX_VA | ||
20 | * 27-Aug-2005 Ben Dooks Add clock-slow info | ||
21 | * 20-Oct-2005 Ben Dooks Fixed overflow in PLL (Guillaume Gourat) | ||
22 | * 20-Oct-2005 Ben Dooks Add masks for DCLK (Guillaume Gourat) | ||
23 | */ | 11 | */ |
24 | 12 | ||
25 | #ifndef __ASM_ARM_REGS_CLOCK | 13 | #ifndef __ASM_ARM_REGS_CLOCK |
diff --git a/include/asm-arm/arch-s3c2410/regs-gpio.h b/include/asm-arm/arch-s3c2410/regs-gpio.h index 6dd17f0f84e..93c49432db9 100644 --- a/include/asm-arm/arch-s3c2410/regs-gpio.h +++ b/include/asm-arm/arch-s3c2410/regs-gpio.h | |||
@@ -8,21 +8,6 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | * S3C2410 GPIO register definitions | 10 | * S3C2410 GPIO register definitions |
11 | * | ||
12 | * Changelog: | ||
13 | * 19-06-2003 BJD Created file | ||
14 | * 23-06-2003 BJD Updated GSTATUS registers | ||
15 | * 12-03-2004 BJD Updated include protection | ||
16 | * 20-07-2004 BJD Added GPIO pin numbers, added Port A definitions | ||
17 | * 04-10-2004 BJD Fixed number of bugs, added EXT IRQ filter defs | ||
18 | * 17-10-2004 BJD Added GSTATUS1 register definitions | ||
19 | * 18-11-2004 BJD Fixed definitions of GPE3, GPE4, GPE5 and GPE6 | ||
20 | * 18-11-2004 BJD Added S3C2440 AC97 controls | ||
21 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
22 | * 28-Mar-2005 LCVR Fixed definition of GPB10 | ||
23 | * 26-Oct-2005 BJD Added generic configuration types | ||
24 | * 27-Nov-2005 LCVR Added definitions to S3C2400 registers | ||
25 | * 15-Jan-2006 LCVR Written S3C24XX_GPIO_BASE() macro | ||
26 | */ | 11 | */ |
27 | 12 | ||
28 | 13 | ||
diff --git a/include/asm-arm/arch-s3c2410/regs-gpioj.h b/include/asm-arm/arch-s3c2410/regs-gpioj.h index 18edae50d0b..91cefa26049 100644 --- a/include/asm-arm/arch-s3c2410/regs-gpioj.h +++ b/include/asm-arm/arch-s3c2410/regs-gpioj.h | |||
@@ -8,10 +8,6 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | * S3C2440 GPIO J register definitions | 10 | * S3C2440 GPIO J register definitions |
11 | * | ||
12 | * Changelog: | ||
13 | * 11-Aug-2004 BJD Created file | ||
14 | * 10-Feb-2005 BJD Fix GPJ12 definition (Guillaume Gourat) | ||
15 | */ | 11 | */ |
16 | 12 | ||
17 | 13 | ||
diff --git a/include/asm-arm/arch-s3c2410/regs-iic.h b/include/asm-arm/arch-s3c2410/regs-iic.h index fed3288e204..2ae29522f25 100644 --- a/include/asm-arm/arch-s3c2410/regs-iic.h +++ b/include/asm-arm/arch-s3c2410/regs-iic.h | |||
@@ -8,10 +8,6 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | * S3C2410 I2C Controller | 10 | * S3C2410 I2C Controller |
11 | * | ||
12 | * Changelog: | ||
13 | * 03-Oct-2004 BJD Initial include for Linux | ||
14 | * 08-Nov-2004 BJD Added S3C2440 filter register | ||
15 | */ | 11 | */ |
16 | 12 | ||
17 | #ifndef __ASM_ARCH_REGS_IIC_H | 13 | #ifndef __ASM_ARCH_REGS_IIC_H |
diff --git a/include/asm-arm/arch-s3c2410/regs-iis.h b/include/asm-arm/arch-s3c2410/regs-iis.h index 7fdde9b91cb..72cd2509822 100644 --- a/include/asm-arm/arch-s3c2410/regs-iis.h +++ b/include/asm-arm/arch-s3c2410/regs-iis.h | |||
@@ -8,17 +8,7 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | * S3C2410 IIS register definition | 10 | * S3C2410 IIS register definition |
11 | * | 11 | */ |
12 | * Changelog: | ||
13 | * 19-06-2003 BJD Created file | ||
14 | * 26-06-2003 BJD Finished off definitions for register addresses | ||
15 | * 12-03-2004 BJD Updated include protection | ||
16 | * 07-03-2005 BJD Added FIFO size flags and S3C2440 MPLL | ||
17 | * 05-04-2005 LCVR Added IISFCON definitions for the S3C2400 | ||
18 | * 18-07-2005 DA Change IISCON_MPLL to IISMOD_MPLL | ||
19 | * Correct IISMOD_256FS and IISMOD_384FS | ||
20 | * Add IISCON_PSCEN | ||
21 | */ | ||
22 | 12 | ||
23 | #ifndef __ASM_ARCH_REGS_IIS_H | 13 | #ifndef __ASM_ARCH_REGS_IIS_H |
24 | #define __ASM_ARCH_REGS_IIS_H | 14 | #define __ASM_ARCH_REGS_IIS_H |
diff --git a/include/asm-arm/arch-s3c2410/regs-irq.h b/include/asm-arm/arch-s3c2410/regs-irq.h index 572fca5d9ac..29fb8ef670f 100644 --- a/include/asm-arm/arch-s3c2410/regs-irq.h +++ b/include/asm-arm/arch-s3c2410/regs-irq.h | |||
@@ -6,14 +6,7 @@ | |||
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License version 2 as | 7 | * it under the terms of the GNU General Public License version 2 as |
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | */ |
10 | * | ||
11 | * | ||
12 | * Changelog: | ||
13 | * 19-06-2003 BJD Created file | ||
14 | * 12-03-2004 BJD Updated include protection | ||
15 | * 10-03-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
16 | */ | ||
17 | 10 | ||
18 | 11 | ||
19 | #ifndef ___ASM_ARCH_REGS_IRQ_H | 12 | #ifndef ___ASM_ARCH_REGS_IRQ_H |
diff --git a/include/asm-arm/arch-s3c2410/regs-lcd.h b/include/asm-arm/arch-s3c2410/regs-lcd.h index b6b1b4e8bbe..b306d6e3135 100644 --- a/include/asm-arm/arch-s3c2410/regs-lcd.h +++ b/include/asm-arm/arch-s3c2410/regs-lcd.h | |||
@@ -6,14 +6,6 @@ | |||
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License version 2 as | 7 | * it under the terms of the GNU General Public License version 2 as |
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | ||
10 | * | ||
11 | * | ||
12 | * Changelog: | ||
13 | * 12-06-2003 BJD Created file | ||
14 | * 26-06-2003 BJD Updated LCDCON register definitions | ||
15 | * 12-03-2004 BJD Updated include protection | ||
16 | * 10-03-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
17 | */ | 9 | */ |
18 | 10 | ||
19 | 11 | ||
diff --git a/include/asm-arm/arch-s3c2410/regs-mem.h b/include/asm-arm/arch-s3c2410/regs-mem.h index a2d7d0cec04..375dca50364 100644 --- a/include/asm-arm/arch-s3c2410/regs-mem.h +++ b/include/asm-arm/arch-s3c2410/regs-mem.h | |||
@@ -8,12 +8,6 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | * S3C2410 Memory Control register definitions | 10 | * S3C2410 Memory Control register definitions |
11 | * | ||
12 | * Changelog: | ||
13 | * 29-Sep-2004 BJD Initial include for Linux | ||
14 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
15 | * 04-Apr-2005 LCVR Added S3C2400 DRAM/BANKSIZE_MASK definitions | ||
16 | * | ||
17 | */ | 11 | */ |
18 | 12 | ||
19 | #ifndef __ASM_ARM_MEMREGS_H | 13 | #ifndef __ASM_ARM_MEMREGS_H |
diff --git a/include/asm-arm/arch-s3c2410/regs-nand.h b/include/asm-arm/arch-s3c2410/regs-nand.h index c1470c695c3..b824d371ae0 100644 --- a/include/asm-arm/arch-s3c2410/regs-nand.h +++ b/include/asm-arm/arch-s3c2410/regs-nand.h | |||
@@ -8,10 +8,6 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | * S3C2410 NAND register definitions | 10 | * S3C2410 NAND register definitions |
11 | * | ||
12 | * Changelog: | ||
13 | * 18-Aug-2004 BJD Copied file from 2.4 and updated | ||
14 | * 01-May-2005 BJD Added definitions for s3c2440 controller | ||
15 | */ | 11 | */ |
16 | 12 | ||
17 | #ifndef __ASM_ARM_REGS_NAND | 13 | #ifndef __ASM_ARM_REGS_NAND |
diff --git a/include/asm-arm/arch-s3c2410/regs-rtc.h b/include/asm-arm/arch-s3c2410/regs-rtc.h index 0fbec07bb6b..cd88fd634d1 100644 --- a/include/asm-arm/arch-s3c2410/regs-rtc.h +++ b/include/asm-arm/arch-s3c2410/regs-rtc.h | |||
@@ -8,11 +8,6 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | * S3C2410 Internal RTC register definition | 10 | * S3C2410 Internal RTC register definition |
11 | * | ||
12 | * Changelog: | ||
13 | * 19-06-2003 BJD Created file | ||
14 | * 12-03-2004 BJD Updated include protection | ||
15 | * 15-01-2005 LCVR Changed S3C2410_VA to S3C24XX_VA (s3c2400 support) | ||
16 | */ | 11 | */ |
17 | 12 | ||
18 | #ifndef __ASM_ARCH_REGS_RTC_H | 13 | #ifndef __ASM_ARCH_REGS_RTC_H |
diff --git a/include/asm-arm/arch-s3c2410/regs-sdi.h b/include/asm-arm/arch-s3c2410/regs-sdi.h index ca9a26fbece..06e716e5b46 100644 --- a/include/asm-arm/arch-s3c2410/regs-sdi.h +++ b/include/asm-arm/arch-s3c2410/regs-sdi.h | |||
@@ -8,11 +8,6 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | * S3C2410 MMC/SDIO register definitions | 10 | * S3C2410 MMC/SDIO register definitions |
11 | * | ||
12 | * Changelog: | ||
13 | * 18-Aug-2004 Ben Dooks Created initial file | ||
14 | * 29-Nov-2004 Koen Martens Added some missing defines, fixed duplicates | ||
15 | * 29-Nov-2004 Ben Dooks Updated Koen's patch | ||
16 | */ | 11 | */ |
17 | 12 | ||
18 | #ifndef __ASM_ARM_REGS_SDI | 13 | #ifndef __ASM_ARM_REGS_SDI |
diff --git a/include/asm-arm/arch-s3c2410/regs-serial.h b/include/asm-arm/arch-s3c2410/regs-serial.h index 93f651ae296..19c77da9c3f 100644 --- a/include/asm-arm/arch-s3c2410/regs-serial.h +++ b/include/asm-arm/arch-s3c2410/regs-serial.h | |||
@@ -27,10 +27,7 @@ | |||
27 | * You should have received a copy of the GNU General Public License | 27 | * You should have received a copy of the GNU General Public License |
28 | * along with this program; if not, write to the Free Software | 28 | * along with this program; if not, write to the Free Software |
29 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 29 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
30 | * | 30 | */ |
31 | * Modifications: | ||
32 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA (s3c2400 support) | ||
33 | */ | ||
34 | 31 | ||
35 | #ifndef __ASM_ARM_REGS_SERIAL_H | 32 | #ifndef __ASM_ARM_REGS_SERIAL_H |
36 | #define __ASM_ARM_REGS_SERIAL_H | 33 | #define __ASM_ARM_REGS_SERIAL_H |
diff --git a/include/asm-arm/arch-s3c2410/regs-spi.h b/include/asm-arm/arch-s3c2410/regs-spi.h index 338217858c7..3552280d1e8 100644 --- a/include/asm-arm/arch-s3c2410/regs-spi.h +++ b/include/asm-arm/arch-s3c2410/regs-spi.h | |||
@@ -7,13 +7,7 @@ | |||
7 | * published by the Free Software Foundation. | 7 | * published by the Free Software Foundation. |
8 | * | 8 | * |
9 | * S3C2410 SPI register definition | 9 | * S3C2410 SPI register definition |
10 | * | 10 | */ |
11 | * Changelog: | ||
12 | * 20-04-2004 KF Created file | ||
13 | * 04-10-2004 BJD Removed VA address (no longer mapped) | ||
14 | * tidied file for submission | ||
15 | * 03-04-2005 LCVR Added S3C2400_SPPIN_nCS definition | ||
16 | */ | ||
17 | 11 | ||
18 | #ifndef __ASM_ARCH_REGS_SPI_H | 12 | #ifndef __ASM_ARCH_REGS_SPI_H |
19 | #define __ASM_ARCH_REGS_SPI_H | 13 | #define __ASM_ARCH_REGS_SPI_H |
diff --git a/include/asm-arm/arch-s3c2410/regs-timer.h b/include/asm-arm/arch-s3c2410/regs-timer.h index 169064e2752..731918e7783 100644 --- a/include/asm-arm/arch-s3c2410/regs-timer.h +++ b/include/asm-arm/arch-s3c2410/regs-timer.h | |||
@@ -8,13 +8,6 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | * S3C2410 Timer configuration | 10 | * S3C2410 Timer configuration |
11 | * | ||
12 | * Changelog: | ||
13 | * 05-06-2003 BJD Created file | ||
14 | * 26-06-2003 BJD Added more timer definitions to mux / control | ||
15 | * 12-03-2004 BJD Updated include protection | ||
16 | * 10-02-2005 BJD Added S3C2410_TCFG1_MUX4_SHIFT (Guillaume Gourat) | ||
17 | * 10-03-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
18 | */ | 11 | */ |
19 | 12 | ||
20 | 13 | ||
diff --git a/include/asm-arm/arch-s3c2410/regs-udc.h b/include/asm-arm/arch-s3c2410/regs-udc.h index bf315b76325..3aa31a27da1 100644 --- a/include/asm-arm/arch-s3c2410/regs-udc.h +++ b/include/asm-arm/arch-s3c2410/regs-udc.h | |||
@@ -6,13 +6,7 @@ | |||
6 | * modify it under the terms of the GNU General Public License as | 6 | * modify it under the terms of the GNU General Public License as |
7 | * published by the Free Software Foundation; either version 2 of | 7 | * published by the Free Software Foundation; either version 2 of |
8 | * the License, or (at your option) any later version. | 8 | * the License, or (at your option) any later version. |
9 | * | 9 | */ |
10 | * Changelog: | ||
11 | * 01-08-2004 Initial creation | ||
12 | * 12-09-2004 Cleanup for submission | ||
13 | * 24-10-2004 Fixed S3C2410_UDC_MAXP_REG definition | ||
14 | * 10-03-2005 Changed S3C2410_VA to S3C24XX_VA | ||
15 | */ | ||
16 | 10 | ||
17 | #ifndef __ASM_ARCH_REGS_UDC_H | 11 | #ifndef __ASM_ARCH_REGS_UDC_H |
18 | #define __ASM_ARCH_REGS_UDC_H | 12 | #define __ASM_ARCH_REGS_UDC_H |
diff --git a/include/asm-arm/arch-s3c2410/regs-watchdog.h b/include/asm-arm/arch-s3c2410/regs-watchdog.h index d199ca6aff2..f4fff448c7b 100644 --- a/include/asm-arm/arch-s3c2410/regs-watchdog.h +++ b/include/asm-arm/arch-s3c2410/regs-watchdog.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* linux/include/asm/arch-s3c2410/regs0watchdog.h | 1 | /* linux/include/asm/arch-s3c2410/regs-watchdog.h |
2 | * | 2 | * |
3 | * Copyright (c) 2003 Simtec Electronics <linux@simtec.co.uk> | 3 | * Copyright (c) 2003 Simtec Electronics <linux@simtec.co.uk> |
4 | * http://www.simtec.co.uk/products/SWLINUX/ | 4 | * http://www.simtec.co.uk/products/SWLINUX/ |
@@ -8,11 +8,6 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | * S3C2410 Watchdog timer control | 10 | * S3C2410 Watchdog timer control |
11 | * | ||
12 | * Changelog: | ||
13 | * 21-06-2003 BJD Created file | ||
14 | * 12-03-2004 BJD Updated include protection | ||
15 | * 10-03-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
16 | */ | 11 | */ |
17 | 12 | ||
18 | 13 | ||
diff --git a/include/asm-arm/arch-s3c2410/system.h b/include/asm-arm/arch-s3c2410/system.h index 9b0d85024cb..718246d8595 100644 --- a/include/asm-arm/arch-s3c2410/system.h +++ b/include/asm-arm/arch-s3c2410/system.h | |||
@@ -8,14 +8,7 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | 11 | */ |
12 | * Changelog: | ||
13 | * 12-May-2003 BJD Created file | ||
14 | * 14-May-2003 BJD Removed idle to aid debugging | ||
15 | * 12-Jun-2003 BJD Added reset via watchdog | ||
16 | * 04-Sep-2003 BJD Moved to v2.6 | ||
17 | * 28-Oct-2004 BJD Added over-ride for idle, and fixed reset panic() | ||
18 | */ | ||
19 | 12 | ||
20 | #include <asm/hardware.h> | 13 | #include <asm/hardware.h> |
21 | #include <asm/io.h> | 14 | #include <asm/io.h> |
diff --git a/include/asm-arm/arch-s3c2410/timex.h b/include/asm-arm/arch-s3c2410/timex.h index 3558a3a750b..703c337c561 100644 --- a/include/asm-arm/arch-s3c2410/timex.h +++ b/include/asm-arm/arch-s3c2410/timex.h | |||
@@ -8,12 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * 02-Sep-2003 BJD Created file | ||
14 | * 05-Jan-2004 BJD Updated for Linux 2.6.0 | ||
15 | * 22-Nov-2004 BJD Fixed CLOCK_TICK_RATE | ||
16 | * 10-Jan-2004 BJD Removed s3c2410_clock_tick_rate | ||
17 | */ | 11 | */ |
18 | 12 | ||
19 | #ifndef __ASM_ARCH_TIMEX_H | 13 | #ifndef __ASM_ARCH_TIMEX_H |
diff --git a/include/asm-arm/arch-s3c2410/uncompress.h b/include/asm-arm/arch-s3c2410/uncompress.h index 8e152a05e53..81b3e91c56a 100644 --- a/include/asm-arm/arch-s3c2410/uncompress.h +++ b/include/asm-arm/arch-s3c2410/uncompress.h | |||
@@ -8,15 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * 22-May-2003 BJD Created | ||
14 | * 08-Sep-2003 BJD Moved to linux v2.6 | ||
15 | * 12-Mar-2004 BJD Updated header protection | ||
16 | * 12-Oct-2004 BJD Take account of debug uart configuration | ||
17 | * 15-Nov-2004 BJD Fixed uart configuration | ||
18 | * 22-Feb-2005 BJD Added watchdog to uncompress | ||
19 | * 04-Apr-2005 LCVR Added support to S3C2400 (no cpuid at GSTATUS1) | ||
20 | */ | 11 | */ |
21 | 12 | ||
22 | #ifndef __ASM_ARCH_UNCOMPRESS_H | 13 | #ifndef __ASM_ARCH_UNCOMPRESS_H |
diff --git a/include/asm-arm/arch-s3c2410/usb-control.h b/include/asm-arm/arch-s3c2410/usb-control.h index bd43b566db3..35723569a17 100644 --- a/include/asm-arm/arch-s3c2410/usb-control.h +++ b/include/asm-arm/arch-s3c2410/usb-control.h | |||
@@ -8,11 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * 11-Sep-2004 BJD Created file | ||
14 | * 21-Sep-2004 BJD Updated port info | ||
15 | * 09-Aug-2005 BJD Renamed s3c2410_report_oc s3c2410_usb_report_oc | ||
16 | */ | 11 | */ |
17 | 12 | ||
18 | #ifndef __ASM_ARCH_USBCONTROL_H | 13 | #ifndef __ASM_ARCH_USBCONTROL_H |
diff --git a/include/asm-arm/arch-s3c2410/vmalloc.h b/include/asm-arm/arch-s3c2410/vmalloc.h index 33963cd5461..0ae3bdb7e03 100644 --- a/include/asm-arm/arch-s3c2410/vmalloc.h +++ b/include/asm-arm/arch-s3c2410/vmalloc.h | |||
@@ -10,11 +10,7 @@ | |||
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | 11 | * |
12 | * S3C2410 vmalloc definition | 12 | * S3C2410 vmalloc definition |
13 | * | 13 | */ |
14 | * Changelog: | ||
15 | * 12-Mar-2004 BJD Fixed header, added include protection | ||
16 | * 12=Mar-2004 BJD Fixed VMALLOC_END definitions | ||
17 | */ | ||
18 | 14 | ||
19 | #ifndef __ASM_ARCH_VMALLOC_H | 15 | #ifndef __ASM_ARCH_VMALLOC_H |
20 | #define __ASM_ARCH_VMALLOC_H | 16 | #define __ASM_ARCH_VMALLOC_H |
diff --git a/include/asm-arm/arch-s3c2410/vr1000-cpld.h b/include/asm-arm/arch-s3c2410/vr1000-cpld.h index 0ee373ac60d..a341b1e1bd9 100644 --- a/include/asm-arm/arch-s3c2410/vr1000-cpld.h +++ b/include/asm-arm/arch-s3c2410/vr1000-cpld.h | |||
@@ -8,10 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * 25-May-2003 BJD Created file, added CTRL1 registers | ||
14 | * 19-Mar-2004 BJD Added VR1000 CPLD definitions | ||
15 | */ | 11 | */ |
16 | 12 | ||
17 | #ifndef __ASM_ARCH_VR1000CPLD_H | 13 | #ifndef __ASM_ARCH_VR1000CPLD_H |
diff --git a/include/asm-arm/arch-s3c2410/vr1000-irq.h b/include/asm-arm/arch-s3c2410/vr1000-irq.h index 694f7715d2d..c39a0ffa670 100644 --- a/include/asm-arm/arch-s3c2410/vr1000-irq.h +++ b/include/asm-arm/arch-s3c2410/vr1000-irq.h | |||
@@ -8,11 +8,7 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | 11 | */ |
12 | * Changelog: | ||
13 | * 06-Jan-2003 BJD Linux 2.6.0 version | ||
14 | * 19-Mar-2004 BJD Updates for VR1000 | ||
15 | */ | ||
16 | 12 | ||
17 | #ifndef __ASM_ARCH_VR1000IRQ_H | 13 | #ifndef __ASM_ARCH_VR1000IRQ_H |
18 | #define __ASM_ARCH_VR1000IRQ_H | 14 | #define __ASM_ARCH_VR1000IRQ_H |
diff --git a/include/asm-arm/arch-s3c2410/vr1000-map.h b/include/asm-arm/arch-s3c2410/vr1000-map.h index 867c9355fd3..1fe4db36c83 100644 --- a/include/asm-arm/arch-s3c2410/vr1000-map.h +++ b/include/asm-arm/arch-s3c2410/vr1000-map.h | |||
@@ -8,12 +8,6 @@ | |||
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | * | ||
12 | * Changelog: | ||
13 | * 06-Jan-2003 BJD Linux 2.6.0 version, split specifics from arch/map.h | ||
14 | * 12-Mar-2004 BJD Fixed header include protection | ||
15 | * 19-Mar-2004 BJD Copied to VR1000 machine headers. | ||
16 | * 19-Jan-2005 BJD Updated map definitions | ||
17 | */ | 11 | */ |
18 | 12 | ||
19 | /* needs arch/map.h including with this */ | 13 | /* needs arch/map.h including with this */ |
diff --git a/include/asm-arm/cacheflush.h b/include/asm-arm/cacheflush.h index fe0c744e026..e4a2569c636 100644 --- a/include/asm-arm/cacheflush.h +++ b/include/asm-arm/cacheflush.h | |||
@@ -247,14 +247,12 @@ extern void dmac_flush_range(unsigned long, unsigned long); | |||
247 | */ | 247 | */ |
248 | #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ | 248 | #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ |
249 | do { \ | 249 | do { \ |
250 | flush_cache_page(vma, vaddr, page_to_pfn(page));\ | ||
251 | memcpy(dst, src, len); \ | 250 | memcpy(dst, src, len); \ |
252 | flush_dcache_page(page); \ | 251 | flush_ptrace_access(vma, page, vaddr, dst, len, 1);\ |
253 | } while (0) | 252 | } while (0) |
254 | 253 | ||
255 | #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ | 254 | #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ |
256 | do { \ | 255 | do { \ |
257 | flush_cache_page(vma, vaddr, page_to_pfn(page));\ | ||
258 | memcpy(dst, src, len); \ | 256 | memcpy(dst, src, len); \ |
259 | } while (0) | 257 | } while (0) |
260 | 258 | ||
@@ -285,10 +283,24 @@ flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr, unsigned l | |||
285 | __cpuc_flush_user_range(addr, addr + PAGE_SIZE, vma->vm_flags); | 283 | __cpuc_flush_user_range(addr, addr + PAGE_SIZE, vma->vm_flags); |
286 | } | 284 | } |
287 | } | 285 | } |
286 | |||
287 | static inline void | ||
288 | flush_ptrace_access(struct vm_area_struct *vma, struct page *page, | ||
289 | unsigned long uaddr, void *kaddr, | ||
290 | unsigned long len, int write) | ||
291 | { | ||
292 | if (cpu_isset(smp_processor_id(), vma->vm_mm->cpu_vm_mask)) { | ||
293 | unsigned long addr = (unsigned long)kaddr; | ||
294 | __cpuc_coherent_kern_range(addr, addr + len); | ||
295 | } | ||
296 | } | ||
288 | #else | 297 | #else |
289 | extern void flush_cache_mm(struct mm_struct *mm); | 298 | extern void flush_cache_mm(struct mm_struct *mm); |
290 | extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); | 299 | extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); |
291 | extern void flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr, unsigned long pfn); | 300 | extern void flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr, unsigned long pfn); |
301 | extern void flush_ptrace_access(struct vm_area_struct *vma, struct page *page, | ||
302 | unsigned long uaddr, void *kaddr, | ||
303 | unsigned long len, int write); | ||
292 | #endif | 304 | #endif |
293 | 305 | ||
294 | /* | 306 | /* |
diff --git a/include/asm-arm/spinlock.h b/include/asm-arm/spinlock.h index 406ca97a8ab..01b7c26a303 100644 --- a/include/asm-arm/spinlock.h +++ b/include/asm-arm/spinlock.h | |||
@@ -199,7 +199,21 @@ static inline void __raw_read_unlock(raw_rwlock_t *rw) | |||
199 | : "cc"); | 199 | : "cc"); |
200 | } | 200 | } |
201 | 201 | ||
202 | #define __raw_read_trylock(lock) generic__raw_read_trylock(lock) | 202 | static inline int __raw_read_trylock(raw_rwlock_t *rw) |
203 | { | ||
204 | unsigned long tmp, tmp2 = 1; | ||
205 | |||
206 | __asm__ __volatile__( | ||
207 | "1: ldrex %0, [%2]\n" | ||
208 | " adds %0, %0, #1\n" | ||
209 | " strexpl %1, %0, [%2]\n" | ||
210 | : "=&r" (tmp), "+r" (tmp2) | ||
211 | : "r" (&rw->lock) | ||
212 | : "cc"); | ||
213 | |||
214 | smp_mb(); | ||
215 | return tmp2 == 0; | ||
216 | } | ||
203 | 217 | ||
204 | /* read_can_lock - would read_trylock() succeed? */ | 218 | /* read_can_lock - would read_trylock() succeed? */ |
205 | #define __raw_read_can_lock(x) ((x)->lock < 0x80000000) | 219 | #define __raw_read_can_lock(x) ((x)->lock < 0x80000000) |
diff --git a/include/asm-generic/Kbuild.asm b/include/asm-generic/Kbuild.asm index 6b16dda1811..c00de6028fa 100644 --- a/include/asm-generic/Kbuild.asm +++ b/include/asm-generic/Kbuild.asm | |||
@@ -2,7 +2,7 @@ unifdef-y += a.out.h auxvec.h byteorder.h errno.h fcntl.h ioctl.h \ | |||
2 | ioctls.h ipcbuf.h mman.h msgbuf.h param.h poll.h \ | 2 | ioctls.h ipcbuf.h mman.h msgbuf.h param.h poll.h \ |
3 | posix_types.h ptrace.h resource.h sembuf.h shmbuf.h shmparam.h \ | 3 | posix_types.h ptrace.h resource.h sembuf.h shmbuf.h shmparam.h \ |
4 | sigcontext.h siginfo.h signal.h socket.h sockios.h stat.h \ | 4 | sigcontext.h siginfo.h signal.h socket.h sockios.h stat.h \ |
5 | statfs.h termbits.h termios.h timex.h types.h unistd.h user.h | 5 | statfs.h termbits.h termios.h types.h unistd.h user.h |
6 | 6 | ||
7 | # These probably shouldn't be exported | 7 | # These probably shouldn't be exported |
8 | unifdef-y += elf.h page.h | 8 | unifdef-y += elf.h page.h |
diff --git a/include/asm-generic/audit_read.h b/include/asm-generic/audit_read.h new file mode 100644 index 00000000000..0e87464d984 --- /dev/null +++ b/include/asm-generic/audit_read.h | |||
@@ -0,0 +1,8 @@ | |||
1 | __NR_readlink, | ||
2 | __NR_quotactl, | ||
3 | __NR_listxattr, | ||
4 | __NR_llistxattr, | ||
5 | __NR_flistxattr, | ||
6 | __NR_getxattr, | ||
7 | __NR_lgetxattr, | ||
8 | __NR_fgetxattr, | ||
diff --git a/include/asm-generic/audit_write.h b/include/asm-generic/audit_write.h new file mode 100644 index 00000000000..f10d367fb2a --- /dev/null +++ b/include/asm-generic/audit_write.h | |||
@@ -0,0 +1,11 @@ | |||
1 | #include <asm-generic/audit_dir_write.h> | ||
2 | __NR_acct, | ||
3 | __NR_swapon, | ||
4 | __NR_quotactl, | ||
5 | __NR_truncate, | ||
6 | #ifdef __NR_truncate64 | ||
7 | __NR_truncate64, | ||
8 | #endif | ||
9 | #ifdef __NR_bind | ||
10 | __NR_bind, /* bind can affect fs object only in one way... */ | ||
11 | #endif | ||
diff --git a/include/asm-i386/Kbuild b/include/asm-i386/Kbuild index c064a8e9170..2308190321d 100644 --- a/include/asm-i386/Kbuild +++ b/include/asm-i386/Kbuild | |||
@@ -1,5 +1,5 @@ | |||
1 | include include/asm-generic/Kbuild.asm | 1 | include include/asm-generic/Kbuild.asm |
2 | 2 | ||
3 | header-y += boot.h cpufeature.h debugreg.h ldt.h setup.h ucontext.h | 3 | header-y += boot.h debugreg.h ldt.h ucontext.h |
4 | 4 | ||
5 | unifdef-y += mtrr.h vm86.h | 5 | unifdef-y += mtrr.h setup.h vm86.h |
diff --git a/include/asm-i386/elf.h b/include/asm-i386/elf.h index 1eac92cb5b1..db4344d9f73 100644 --- a/include/asm-i386/elf.h +++ b/include/asm-i386/elf.h | |||
@@ -7,10 +7,7 @@ | |||
7 | 7 | ||
8 | #include <asm/ptrace.h> | 8 | #include <asm/ptrace.h> |
9 | #include <asm/user.h> | 9 | #include <asm/user.h> |
10 | #include <asm/processor.h> | ||
11 | #include <asm/system.h> /* for savesegment */ | ||
12 | #include <asm/auxvec.h> | 10 | #include <asm/auxvec.h> |
13 | #include <asm/desc.h> | ||
14 | 11 | ||
15 | #include <linux/utsname.h> | 12 | #include <linux/utsname.h> |
16 | 13 | ||
@@ -48,6 +45,12 @@ typedef struct user_fxsr_struct elf_fpxregset_t; | |||
48 | #define ELF_DATA ELFDATA2LSB | 45 | #define ELF_DATA ELFDATA2LSB |
49 | #define ELF_ARCH EM_386 | 46 | #define ELF_ARCH EM_386 |
50 | 47 | ||
48 | #ifdef __KERNEL__ | ||
49 | |||
50 | #include <asm/processor.h> | ||
51 | #include <asm/system.h> /* for savesegment */ | ||
52 | #include <asm/desc.h> | ||
53 | |||
51 | /* SVR4/i386 ABI (pages 3-31, 3-32) says that when the program starts %edx | 54 | /* SVR4/i386 ABI (pages 3-31, 3-32) says that when the program starts %edx |
52 | contains a pointer to a function which might be registered using `atexit'. | 55 | contains a pointer to a function which might be registered using `atexit'. |
53 | This provides a mean for the dynamic linker to call DT_FINI functions for | 56 | This provides a mean for the dynamic linker to call DT_FINI functions for |
@@ -111,7 +114,6 @@ typedef struct user_fxsr_struct elf_fpxregset_t; | |||
111 | 114 | ||
112 | #define ELF_PLATFORM (system_utsname.machine) | 115 | #define ELF_PLATFORM (system_utsname.machine) |
113 | 116 | ||
114 | #ifdef __KERNEL__ | ||
115 | #define SET_PERSONALITY(ex, ibcs2) do { } while (0) | 117 | #define SET_PERSONALITY(ex, ibcs2) do { } while (0) |
116 | 118 | ||
117 | /* | 119 | /* |
diff --git a/include/asm-i386/mach-default/mach_mpspec.h b/include/asm-i386/mach-default/mach_mpspec.h index 6b5dadcf1d0..51c9a977593 100644 --- a/include/asm-i386/mach-default/mach_mpspec.h +++ b/include/asm-i386/mach-default/mach_mpspec.h | |||
@@ -3,6 +3,10 @@ | |||
3 | 3 | ||
4 | #define MAX_IRQ_SOURCES 256 | 4 | #define MAX_IRQ_SOURCES 256 |
5 | 5 | ||
6 | #if CONFIG_BASE_SMALL == 0 | ||
7 | #define MAX_MP_BUSSES 256 | ||
8 | #else | ||
6 | #define MAX_MP_BUSSES 32 | 9 | #define MAX_MP_BUSSES 32 |
10 | #endif | ||
7 | 11 | ||
8 | #endif /* __ASM_MACH_MPSPEC_H */ | 12 | #endif /* __ASM_MACH_MPSPEC_H */ |
diff --git a/include/asm-i386/rwlock.h b/include/asm-i386/rwlock.h index 3ac1ba98b1b..87c069ccba0 100644 --- a/include/asm-i386/rwlock.h +++ b/include/asm-i386/rwlock.h | |||
@@ -21,21 +21,21 @@ | |||
21 | #define RW_LOCK_BIAS_STR "0x01000000" | 21 | #define RW_LOCK_BIAS_STR "0x01000000" |
22 | 22 | ||
23 | #define __build_read_lock_ptr(rw, helper) \ | 23 | #define __build_read_lock_ptr(rw, helper) \ |
24 | asm volatile(LOCK_PREFIX " ; subl $1,(%0)\n\t" \ | 24 | asm volatile(LOCK_PREFIX " subl $1,(%0)\n\t" \ |
25 | "jns 1f\n" \ | 25 | "jns 1f\n" \ |
26 | "call " helper "\n\t" \ | 26 | "call " helper "\n\t" \ |
27 | "1:\n" \ | 27 | "1:\n" \ |
28 | :"a" (rw) : "memory") | 28 | ::"a" (rw) : "memory") |
29 | 29 | ||
30 | #define __build_read_lock_const(rw, helper) \ | 30 | #define __build_read_lock_const(rw, helper) \ |
31 | asm volatile(LOCK_PREFIX " ; subl $1,%0\n\t" \ | 31 | asm volatile(LOCK_PREFIX " subl $1,%0\n\t" \ |
32 | "jns 1f\n" \ | 32 | "jns 1f\n" \ |
33 | "pushl %%eax\n\t" \ | 33 | "pushl %%eax\n\t" \ |
34 | "leal %0,%%eax\n\t" \ | 34 | "leal %0,%%eax\n\t" \ |
35 | "call " helper "\n\t" \ | 35 | "call " helper "\n\t" \ |
36 | "popl %%eax\n\t" \ | 36 | "popl %%eax\n\t" \ |
37 | "1:\n" : \ | 37 | "1:\n" \ |
38 | "+m" (*(volatile int *)rw) : : "memory") | 38 | :"+m" (*(volatile int *)rw) : : "memory") |
39 | 39 | ||
40 | #define __build_read_lock(rw, helper) do { \ | 40 | #define __build_read_lock(rw, helper) do { \ |
41 | if (__builtin_constant_p(rw)) \ | 41 | if (__builtin_constant_p(rw)) \ |
@@ -45,23 +45,21 @@ | |||
45 | } while (0) | 45 | } while (0) |
46 | 46 | ||
47 | #define __build_write_lock_ptr(rw, helper) \ | 47 | #define __build_write_lock_ptr(rw, helper) \ |
48 | asm volatile(LOCK_PREFIX " ; subl $" RW_LOCK_BIAS_STR ",(%0)\n\t" \ | 48 | asm volatile(LOCK_PREFIX " subl $" RW_LOCK_BIAS_STR ",(%0)\n\t" \ |
49 | "jz 1f\n" \ | 49 | "jz 1f\n" \ |
50 | "call " helper "\n\t" \ | 50 | "call " helper "\n\t" \ |
51 | "1:\n", \ | 51 | "1:\n" \ |
52 | "subl $" RW_LOCK_BIAS_STR ",(%0)\n\t", \ | 52 | ::"a" (rw) : "memory") |
53 | :"a" (rw) : "memory") | ||
54 | 53 | ||
55 | #define __build_write_lock_const(rw, helper) \ | 54 | #define __build_write_lock_const(rw, helper) \ |
56 | asm volatile(LOCK_PREFIX " ; subl $" RW_LOCK_BIAS_STR ",%0\n\t" \ | 55 | asm volatile(LOCK_PREFIX " subl $" RW_LOCK_BIAS_STR ",%0\n\t" \ |
57 | "jz 1f\n" \ | 56 | "jz 1f\n" \ |
58 | "pushl %%eax\n\t" \ | 57 | "pushl %%eax\n\t" \ |
59 | "leal %0,%%eax\n\t" \ | 58 | "leal %0,%%eax\n\t" \ |
60 | "call " helper "\n\t" \ | 59 | "call " helper "\n\t" \ |
61 | "popl %%eax\n\t" \ | 60 | "popl %%eax\n\t" \ |
62 | "1:\n", \ | 61 | "1:\n" \ |
63 | "subl $" RW_LOCK_BIAS_STR ",%0\n\t", \ | 62 | :"+m" (*(volatile int *)rw) : : "memory") |
64 | "+m" (*(volatile int *)rw) : : "memory") | ||
65 | 63 | ||
66 | #define __build_write_lock(rw, helper) do { \ | 64 | #define __build_write_lock(rw, helper) do { \ |
67 | if (__builtin_constant_p(rw)) \ | 65 | if (__builtin_constant_p(rw)) \ |
diff --git a/include/asm-i386/setup.h b/include/asm-i386/setup.h index f737e423029..2734909eff8 100644 --- a/include/asm-i386/setup.h +++ b/include/asm-i386/setup.h | |||
@@ -6,6 +6,7 @@ | |||
6 | #ifndef _i386_SETUP_H | 6 | #ifndef _i386_SETUP_H |
7 | #define _i386_SETUP_H | 7 | #define _i386_SETUP_H |
8 | 8 | ||
9 | #ifdef __KERNEL__ | ||
9 | #include <linux/pfn.h> | 10 | #include <linux/pfn.h> |
10 | 11 | ||
11 | /* | 12 | /* |
@@ -13,6 +14,7 @@ | |||
13 | */ | 14 | */ |
14 | #define MAXMEM_PFN PFN_DOWN(MAXMEM) | 15 | #define MAXMEM_PFN PFN_DOWN(MAXMEM) |
15 | #define MAX_NONPAE_PFN (1 << 20) | 16 | #define MAX_NONPAE_PFN (1 << 20) |
17 | #endif | ||
16 | 18 | ||
17 | #define PARAM_SIZE 4096 | 19 | #define PARAM_SIZE 4096 |
18 | #define COMMAND_LINE_SIZE 256 | 20 | #define COMMAND_LINE_SIZE 256 |
diff --git a/include/asm-i386/signal.h b/include/asm-i386/signal.h index 3824a502351..c3e8adec591 100644 --- a/include/asm-i386/signal.h +++ b/include/asm-i386/signal.h | |||
@@ -2,7 +2,6 @@ | |||
2 | #define _ASMi386_SIGNAL_H | 2 | #define _ASMi386_SIGNAL_H |
3 | 3 | ||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | #include <linux/linkage.h> | ||
6 | #include <linux/time.h> | 5 | #include <linux/time.h> |
7 | #include <linux/compiler.h> | 6 | #include <linux/compiler.h> |
8 | 7 | ||
@@ -10,6 +9,9 @@ | |||
10 | struct siginfo; | 9 | struct siginfo; |
11 | 10 | ||
12 | #ifdef __KERNEL__ | 11 | #ifdef __KERNEL__ |
12 | |||
13 | #include <linux/linkage.h> | ||
14 | |||
13 | /* Most things should be clean enough to redefine this at will, if care | 15 | /* Most things should be clean enough to redefine this at will, if care |
14 | is taken to make libc match. */ | 16 | is taken to make libc match. */ |
15 | 17 | ||
diff --git a/include/asm-ia64/mman.h b/include/asm-ia64/mman.h index 6ba179f1271..c73b87832a1 100644 --- a/include/asm-ia64/mman.h +++ b/include/asm-ia64/mman.h | |||
@@ -22,4 +22,12 @@ | |||
22 | #define MCL_CURRENT 1 /* lock all current mappings */ | 22 | #define MCL_CURRENT 1 /* lock all current mappings */ |
23 | #define MCL_FUTURE 2 /* lock all future mappings */ | 23 | #define MCL_FUTURE 2 /* lock all future mappings */ |
24 | 24 | ||
25 | #ifdef __KERNEL__ | ||
26 | #ifndef __ASSEMBLY__ | ||
27 | #define arch_mmap_check ia64_mmap_check | ||
28 | int ia64_mmap_check(unsigned long addr, unsigned long len, | ||
29 | unsigned long flags); | ||
30 | #endif | ||
31 | #endif | ||
32 | |||
25 | #endif /* _ASM_IA64_MMAN_H */ | 33 | #endif /* _ASM_IA64_MMAN_H */ |
diff --git a/include/asm-ia64/unistd.h b/include/asm-ia64/unistd.h index bb0eb727dcd..f581662c5ab 100644 --- a/include/asm-ia64/unistd.h +++ b/include/asm-ia64/unistd.h | |||
@@ -286,8 +286,7 @@ | |||
286 | /* 1294, 1295 reserved for pselect/ppoll */ | 286 | /* 1294, 1295 reserved for pselect/ppoll */ |
287 | #define __NR_unshare 1296 | 287 | #define __NR_unshare 1296 |
288 | #define __NR_splice 1297 | 288 | #define __NR_splice 1297 |
289 | #define __NR_set_robust_list 1298 | 289 | /* 1298, 1299 reserved for set_robust_list/get_robust_list */ |
290 | #define __NR_get_robust_list 1299 | ||
291 | #define __NR_sync_file_range 1300 | 290 | #define __NR_sync_file_range 1300 |
292 | #define __NR_tee 1301 | 291 | #define __NR_tee 1301 |
293 | #define __NR_vmsplice 1302 | 292 | #define __NR_vmsplice 1302 |
diff --git a/include/asm-mips/page.h b/include/asm-mips/page.h index 6ed1151a05a..219d359861f 100644 --- a/include/asm-mips/page.h +++ b/include/asm-mips/page.h | |||
@@ -14,8 +14,6 @@ | |||
14 | 14 | ||
15 | #include <spaces.h> | 15 | #include <spaces.h> |
16 | 16 | ||
17 | #endif | ||
18 | |||
19 | /* | 17 | /* |
20 | * PAGE_SHIFT determines the page size | 18 | * PAGE_SHIFT determines the page size |
21 | */ | 19 | */ |
@@ -34,8 +32,6 @@ | |||
34 | #define PAGE_SIZE (1UL << PAGE_SHIFT) | 32 | #define PAGE_SIZE (1UL << PAGE_SHIFT) |
35 | #define PAGE_MASK (~((1 << PAGE_SHIFT) - 1)) | 33 | #define PAGE_MASK (~((1 << PAGE_SHIFT) - 1)) |
36 | 34 | ||
37 | |||
38 | #ifdef __KERNEL__ | ||
39 | #ifndef __ASSEMBLY__ | 35 | #ifndef __ASSEMBLY__ |
40 | 36 | ||
41 | extern void clear_page(void * page); | 37 | extern void clear_page(void * page); |
@@ -168,8 +164,6 @@ typedef struct { unsigned long pgprot; } pgprot_t; | |||
168 | #define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE) | 164 | #define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE) |
169 | #define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET) | 165 | #define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET) |
170 | 166 | ||
171 | #endif /* defined (__KERNEL__) */ | ||
172 | |||
173 | #ifdef CONFIG_LIMITED_DMA | 167 | #ifdef CONFIG_LIMITED_DMA |
174 | #define WANT_PAGE_VIRTUAL | 168 | #define WANT_PAGE_VIRTUAL |
175 | #endif | 169 | #endif |
@@ -177,4 +171,6 @@ typedef struct { unsigned long pgprot; } pgprot_t; | |||
177 | #include <asm-generic/memory_model.h> | 171 | #include <asm-generic/memory_model.h> |
178 | #include <asm-generic/page.h> | 172 | #include <asm-generic/page.h> |
179 | 173 | ||
174 | #endif /* defined (__KERNEL__) */ | ||
175 | |||
180 | #endif /* _ASM_PAGE_H */ | 176 | #endif /* _ASM_PAGE_H */ |
diff --git a/include/asm-powerpc/eeh.h b/include/asm-powerpc/eeh.h index 4df3e80118f..6a784396660 100644 --- a/include/asm-powerpc/eeh.h +++ b/include/asm-powerpc/eeh.h | |||
@@ -205,6 +205,7 @@ static inline void eeh_memset_io(volatile void __iomem *addr, int c, | |||
205 | lc |= lc << 8; | 205 | lc |= lc << 8; |
206 | lc |= lc << 16; | 206 | lc |= lc << 16; |
207 | 207 | ||
208 | __asm__ __volatile__ ("sync" : : : "memory"); | ||
208 | while(n && !EEH_CHECK_ALIGN(p, 4)) { | 209 | while(n && !EEH_CHECK_ALIGN(p, 4)) { |
209 | *((volatile u8 *)p) = c; | 210 | *((volatile u8 *)p) = c; |
210 | p++; | 211 | p++; |
@@ -229,6 +230,7 @@ static inline void eeh_memcpy_fromio(void *dest, const volatile void __iomem *sr | |||
229 | void *destsave = dest; | 230 | void *destsave = dest; |
230 | unsigned long nsave = n; | 231 | unsigned long nsave = n; |
231 | 232 | ||
233 | __asm__ __volatile__ ("sync" : : : "memory"); | ||
232 | while(n && (!EEH_CHECK_ALIGN(vsrc, 4) || !EEH_CHECK_ALIGN(dest, 4))) { | 234 | while(n && (!EEH_CHECK_ALIGN(vsrc, 4) || !EEH_CHECK_ALIGN(dest, 4))) { |
233 | *((u8 *)dest) = *((volatile u8 *)vsrc); | 235 | *((u8 *)dest) = *((volatile u8 *)vsrc); |
234 | __asm__ __volatile__ ("eieio" : : : "memory"); | 236 | __asm__ __volatile__ ("eieio" : : : "memory"); |
@@ -266,6 +268,7 @@ static inline void eeh_memcpy_toio(volatile void __iomem *dest, const void *src, | |||
266 | { | 268 | { |
267 | void *vdest = (void __force *) dest; | 269 | void *vdest = (void __force *) dest; |
268 | 270 | ||
271 | __asm__ __volatile__ ("sync" : : : "memory"); | ||
269 | while(n && (!EEH_CHECK_ALIGN(vdest, 4) || !EEH_CHECK_ALIGN(src, 4))) { | 272 | while(n && (!EEH_CHECK_ALIGN(vdest, 4) || !EEH_CHECK_ALIGN(src, 4))) { |
270 | *((volatile u8 *)vdest) = *((u8 *)src); | 273 | *((volatile u8 *)vdest) = *((u8 *)src); |
271 | src++; | 274 | src++; |
diff --git a/include/asm-powerpc/futex.h b/include/asm-powerpc/futex.h index f1b3c00bc1c..936422e5489 100644 --- a/include/asm-powerpc/futex.h +++ b/include/asm-powerpc/futex.h | |||
@@ -84,7 +84,33 @@ static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr) | |||
84 | static inline int | 84 | static inline int |
85 | futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) | 85 | futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) |
86 | { | 86 | { |
87 | return -ENOSYS; | 87 | int prev; |
88 | |||
89 | if (!access_ok(VERIFY_WRITE, uaddr, sizeof(int))) | ||
90 | return -EFAULT; | ||
91 | |||
92 | __asm__ __volatile__ ( | ||
93 | LWSYNC_ON_SMP | ||
94 | "1: lwarx %0,0,%2 # futex_atomic_cmpxchg_inatomic\n\ | ||
95 | cmpw 0,%0,%3\n\ | ||
96 | bne- 3f\n" | ||
97 | PPC405_ERR77(0,%2) | ||
98 | "2: stwcx. %4,0,%2\n\ | ||
99 | bne- 1b\n" | ||
100 | ISYNC_ON_SMP | ||
101 | "3: .section .fixup,\"ax\"\n\ | ||
102 | 4: li %0,%5\n\ | ||
103 | b 3b\n\ | ||
104 | .previous\n\ | ||
105 | .section __ex_table,\"a\"\n\ | ||
106 | .align 3\n\ | ||
107 | " PPC_LONG "1b,4b,2b,4b\n\ | ||
108 | .previous" \ | ||
109 | : "=&r" (prev), "+m" (*uaddr) | ||
110 | : "r" (uaddr), "r" (oldval), "r" (newval), "i" (-EFAULT) | ||
111 | : "cc", "memory"); | ||
112 | |||
113 | return prev; | ||
88 | } | 114 | } |
89 | 115 | ||
90 | #endif /* __KERNEL__ */ | 116 | #endif /* __KERNEL__ */ |
diff --git a/include/asm-powerpc/io.h b/include/asm-powerpc/io.h index 36c4c34bf56..212428db0d8 100644 --- a/include/asm-powerpc/io.h +++ b/include/asm-powerpc/io.h | |||
@@ -19,6 +19,7 @@ extern int check_legacy_ioport(unsigned long base_port); | |||
19 | #include <linux/compiler.h> | 19 | #include <linux/compiler.h> |
20 | #include <asm/page.h> | 20 | #include <asm/page.h> |
21 | #include <asm/byteorder.h> | 21 | #include <asm/byteorder.h> |
22 | #include <asm/paca.h> | ||
22 | #ifdef CONFIG_PPC_ISERIES | 23 | #ifdef CONFIG_PPC_ISERIES |
23 | #include <asm/iseries/iseries_io.h> | 24 | #include <asm/iseries/iseries_io.h> |
24 | #endif | 25 | #endif |
@@ -162,7 +163,11 @@ extern void _outsw_ns(volatile u16 __iomem *port, const void *buf, int ns); | |||
162 | extern void _insl_ns(volatile u32 __iomem *port, void *buf, int nl); | 163 | extern void _insl_ns(volatile u32 __iomem *port, void *buf, int nl); |
163 | extern void _outsl_ns(volatile u32 __iomem *port, const void *buf, int nl); | 164 | extern void _outsl_ns(volatile u32 __iomem *port, const void *buf, int nl); |
164 | 165 | ||
165 | #define mmiowb() | 166 | static inline void mmiowb(void) |
167 | { | ||
168 | __asm__ __volatile__ ("sync" : : : "memory"); | ||
169 | get_paca()->io_sync = 0; | ||
170 | } | ||
166 | 171 | ||
167 | /* | 172 | /* |
168 | * output pause versions need a delay at least for the | 173 | * output pause versions need a delay at least for the |
@@ -278,22 +283,23 @@ static inline int in_8(const volatile unsigned char __iomem *addr) | |||
278 | { | 283 | { |
279 | int ret; | 284 | int ret; |
280 | 285 | ||
281 | __asm__ __volatile__("lbz%U1%X1 %0,%1; twi 0,%0,0; isync" | 286 | __asm__ __volatile__("sync; lbz%U1%X1 %0,%1; twi 0,%0,0; isync" |
282 | : "=r" (ret) : "m" (*addr)); | 287 | : "=r" (ret) : "m" (*addr)); |
283 | return ret; | 288 | return ret; |
284 | } | 289 | } |
285 | 290 | ||
286 | static inline void out_8(volatile unsigned char __iomem *addr, int val) | 291 | static inline void out_8(volatile unsigned char __iomem *addr, int val) |
287 | { | 292 | { |
288 | __asm__ __volatile__("stb%U0%X0 %1,%0; sync" | 293 | __asm__ __volatile__("sync; stb%U0%X0 %1,%0" |
289 | : "=m" (*addr) : "r" (val)); | 294 | : "=m" (*addr) : "r" (val)); |
295 | get_paca()->io_sync = 1; | ||
290 | } | 296 | } |
291 | 297 | ||
292 | static inline int in_le16(const volatile unsigned short __iomem *addr) | 298 | static inline int in_le16(const volatile unsigned short __iomem *addr) |
293 | { | 299 | { |
294 | int ret; | 300 | int ret; |
295 | 301 | ||
296 | __asm__ __volatile__("lhbrx %0,0,%1; twi 0,%0,0; isync" | 302 | __asm__ __volatile__("sync; lhbrx %0,0,%1; twi 0,%0,0; isync" |
297 | : "=r" (ret) : "r" (addr), "m" (*addr)); | 303 | : "=r" (ret) : "r" (addr), "m" (*addr)); |
298 | return ret; | 304 | return ret; |
299 | } | 305 | } |
@@ -302,28 +308,30 @@ static inline int in_be16(const volatile unsigned short __iomem *addr) | |||
302 | { | 308 | { |
303 | int ret; | 309 | int ret; |
304 | 310 | ||
305 | __asm__ __volatile__("lhz%U1%X1 %0,%1; twi 0,%0,0; isync" | 311 | __asm__ __volatile__("sync; lhz%U1%X1 %0,%1; twi 0,%0,0; isync" |
306 | : "=r" (ret) : "m" (*addr)); | 312 | : "=r" (ret) : "m" (*addr)); |
307 | return ret; | 313 | return ret; |
308 | } | 314 | } |
309 | 315 | ||
310 | static inline void out_le16(volatile unsigned short __iomem *addr, int val) | 316 | static inline void out_le16(volatile unsigned short __iomem *addr, int val) |
311 | { | 317 | { |
312 | __asm__ __volatile__("sthbrx %1,0,%2; sync" | 318 | __asm__ __volatile__("sync; sthbrx %1,0,%2" |
313 | : "=m" (*addr) : "r" (val), "r" (addr)); | 319 | : "=m" (*addr) : "r" (val), "r" (addr)); |
320 | get_paca()->io_sync = 1; | ||
314 | } | 321 | } |
315 | 322 | ||
316 | static inline void out_be16(volatile unsigned short __iomem *addr, int val) | 323 | static inline void out_be16(volatile unsigned short __iomem *addr, int val) |
317 | { | 324 | { |
318 | __asm__ __volatile__("sth%U0%X0 %1,%0; sync" | 325 | __asm__ __volatile__("sync; sth%U0%X0 %1,%0" |
319 | : "=m" (*addr) : "r" (val)); | 326 | : "=m" (*addr) : "r" (val)); |
327 | get_paca()->io_sync = 1; | ||
320 | } | 328 | } |
321 | 329 | ||
322 | static inline unsigned in_le32(const volatile unsigned __iomem *addr) | 330 | static inline unsigned in_le32(const volatile unsigned __iomem *addr) |
323 | { | 331 | { |
324 | unsigned ret; | 332 | unsigned ret; |
325 | 333 | ||
326 | __asm__ __volatile__("lwbrx %0,0,%1; twi 0,%0,0; isync" | 334 | __asm__ __volatile__("sync; lwbrx %0,0,%1; twi 0,%0,0; isync" |
327 | : "=r" (ret) : "r" (addr), "m" (*addr)); | 335 | : "=r" (ret) : "r" (addr), "m" (*addr)); |
328 | return ret; | 336 | return ret; |
329 | } | 337 | } |
@@ -332,21 +340,23 @@ static inline unsigned in_be32(const volatile unsigned __iomem *addr) | |||
332 | { | 340 | { |
333 | unsigned ret; | 341 | unsigned ret; |
334 | 342 | ||
335 | __asm__ __volatile__("lwz%U1%X1 %0,%1; twi 0,%0,0; isync" | 343 | __asm__ __volatile__("sync; lwz%U1%X1 %0,%1; twi 0,%0,0; isync" |
336 | : "=r" (ret) : "m" (*addr)); | 344 | : "=r" (ret) : "m" (*addr)); |
337 | return ret; | 345 | return ret; |
338 | } | 346 | } |
339 | 347 | ||
340 | static inline void out_le32(volatile unsigned __iomem *addr, int val) | 348 | static inline void out_le32(volatile unsigned __iomem *addr, int val) |
341 | { | 349 | { |
342 | __asm__ __volatile__("stwbrx %1,0,%2; sync" : "=m" (*addr) | 350 | __asm__ __volatile__("sync; stwbrx %1,0,%2" : "=m" (*addr) |
343 | : "r" (val), "r" (addr)); | 351 | : "r" (val), "r" (addr)); |
352 | get_paca()->io_sync = 1; | ||
344 | } | 353 | } |
345 | 354 | ||
346 | static inline void out_be32(volatile unsigned __iomem *addr, int val) | 355 | static inline void out_be32(volatile unsigned __iomem *addr, int val) |
347 | { | 356 | { |
348 | __asm__ __volatile__("stw%U0%X0 %1,%0; sync" | 357 | __asm__ __volatile__("sync; stw%U0%X0 %1,%0" |
349 | : "=m" (*addr) : "r" (val)); | 358 | : "=m" (*addr) : "r" (val)); |
359 | get_paca()->io_sync = 1; | ||
350 | } | 360 | } |
351 | 361 | ||
352 | static inline unsigned long in_le64(const volatile unsigned long __iomem *addr) | 362 | static inline unsigned long in_le64(const volatile unsigned long __iomem *addr) |
@@ -354,6 +364,7 @@ static inline unsigned long in_le64(const volatile unsigned long __iomem *addr) | |||
354 | unsigned long tmp, ret; | 364 | unsigned long tmp, ret; |
355 | 365 | ||
356 | __asm__ __volatile__( | 366 | __asm__ __volatile__( |
367 | "sync\n" | ||
357 | "ld %1,0(%2)\n" | 368 | "ld %1,0(%2)\n" |
358 | "twi 0,%1,0\n" | 369 | "twi 0,%1,0\n" |
359 | "isync\n" | 370 | "isync\n" |
@@ -372,7 +383,7 @@ static inline unsigned long in_be64(const volatile unsigned long __iomem *addr) | |||
372 | { | 383 | { |
373 | unsigned long ret; | 384 | unsigned long ret; |
374 | 385 | ||
375 | __asm__ __volatile__("ld%U1%X1 %0,%1; twi 0,%0,0; isync" | 386 | __asm__ __volatile__("sync; ld%U1%X1 %0,%1; twi 0,%0,0; isync" |
376 | : "=r" (ret) : "m" (*addr)); | 387 | : "=r" (ret) : "m" (*addr)); |
377 | return ret; | 388 | return ret; |
378 | } | 389 | } |
@@ -389,14 +400,16 @@ static inline void out_le64(volatile unsigned long __iomem *addr, unsigned long | |||
389 | "rldicl %1,%1,32,0\n" | 400 | "rldicl %1,%1,32,0\n" |
390 | "rlwimi %0,%1,8,8,31\n" | 401 | "rlwimi %0,%1,8,8,31\n" |
391 | "rlwimi %0,%1,24,16,23\n" | 402 | "rlwimi %0,%1,24,16,23\n" |
392 | "std %0,0(%3)\n" | 403 | "sync\n" |
393 | "sync" | 404 | "std %0,0(%3)" |
394 | : "=&r" (tmp) , "=&r" (val) : "1" (val) , "b" (addr) , "m" (*addr)); | 405 | : "=&r" (tmp) , "=&r" (val) : "1" (val) , "b" (addr) , "m" (*addr)); |
406 | get_paca()->io_sync = 1; | ||
395 | } | 407 | } |
396 | 408 | ||
397 | static inline void out_be64(volatile unsigned long __iomem *addr, unsigned long val) | 409 | static inline void out_be64(volatile unsigned long __iomem *addr, unsigned long val) |
398 | { | 410 | { |
399 | __asm__ __volatile__("std%U0%X0 %1,%0; sync" : "=m" (*addr) : "r" (val)); | 411 | __asm__ __volatile__("sync; std%U0%X0 %1,%0" : "=m" (*addr) : "r" (val)); |
412 | get_paca()->io_sync = 1; | ||
400 | } | 413 | } |
401 | 414 | ||
402 | #ifndef CONFIG_PPC_ISERIES | 415 | #ifndef CONFIG_PPC_ISERIES |
diff --git a/include/asm-powerpc/kdump.h b/include/asm-powerpc/kdump.h index dc1574c945f..10e8eb1e6f4 100644 --- a/include/asm-powerpc/kdump.h +++ b/include/asm-powerpc/kdump.h | |||
@@ -7,7 +7,7 @@ | |||
7 | /* How many bytes to reserve at zero for kdump. The reserve limit should | 7 | /* How many bytes to reserve at zero for kdump. The reserve limit should |
8 | * be greater or equal to the trampoline's end address. | 8 | * be greater or equal to the trampoline's end address. |
9 | * Reserve to the end of the FWNMI area, see head_64.S */ | 9 | * Reserve to the end of the FWNMI area, see head_64.S */ |
10 | #define KDUMP_RESERVE_LIMIT 0x8000 | 10 | #define KDUMP_RESERVE_LIMIT 0x10000 /* 64K */ |
11 | 11 | ||
12 | #ifdef CONFIG_CRASH_DUMP | 12 | #ifdef CONFIG_CRASH_DUMP |
13 | 13 | ||
diff --git a/include/asm-powerpc/paca.h b/include/asm-powerpc/paca.h index 7ffa2512524..0a4e5c93e8e 100644 --- a/include/asm-powerpc/paca.h +++ b/include/asm-powerpc/paca.h | |||
@@ -94,6 +94,7 @@ struct paca_struct { | |||
94 | u64 saved_r1; /* r1 save for RTAS calls */ | 94 | u64 saved_r1; /* r1 save for RTAS calls */ |
95 | u64 saved_msr; /* MSR saved here by enter_rtas */ | 95 | u64 saved_msr; /* MSR saved here by enter_rtas */ |
96 | u8 proc_enabled; /* irq soft-enable flag */ | 96 | u8 proc_enabled; /* irq soft-enable flag */ |
97 | u8 io_sync; /* writel() needs spin_unlock sync */ | ||
97 | 98 | ||
98 | /* Stuff for accurate time accounting */ | 99 | /* Stuff for accurate time accounting */ |
99 | u64 user_time; /* accumulated usermode TB ticks */ | 100 | u64 user_time; /* accumulated usermode TB ticks */ |
diff --git a/include/asm-powerpc/spinlock.h b/include/asm-powerpc/spinlock.h index 895cb6d3a42..c31e4382a77 100644 --- a/include/asm-powerpc/spinlock.h +++ b/include/asm-powerpc/spinlock.h | |||
@@ -36,6 +36,19 @@ | |||
36 | #define LOCK_TOKEN 1 | 36 | #define LOCK_TOKEN 1 |
37 | #endif | 37 | #endif |
38 | 38 | ||
39 | #if defined(CONFIG_PPC64) && defined(CONFIG_SMP) | ||
40 | #define CLEAR_IO_SYNC (get_paca()->io_sync = 0) | ||
41 | #define SYNC_IO do { \ | ||
42 | if (unlikely(get_paca()->io_sync)) { \ | ||
43 | mb(); \ | ||
44 | get_paca()->io_sync = 0; \ | ||
45 | } \ | ||
46 | } while (0) | ||
47 | #else | ||
48 | #define CLEAR_IO_SYNC | ||
49 | #define SYNC_IO | ||
50 | #endif | ||
51 | |||
39 | /* | 52 | /* |
40 | * This returns the old value in the lock, so we succeeded | 53 | * This returns the old value in the lock, so we succeeded |
41 | * in getting the lock if the return value is 0. | 54 | * in getting the lock if the return value is 0. |
@@ -61,6 +74,7 @@ static __inline__ unsigned long __spin_trylock(raw_spinlock_t *lock) | |||
61 | 74 | ||
62 | static int __inline__ __raw_spin_trylock(raw_spinlock_t *lock) | 75 | static int __inline__ __raw_spin_trylock(raw_spinlock_t *lock) |
63 | { | 76 | { |
77 | CLEAR_IO_SYNC; | ||
64 | return __spin_trylock(lock) == 0; | 78 | return __spin_trylock(lock) == 0; |
65 | } | 79 | } |
66 | 80 | ||
@@ -91,6 +105,7 @@ extern void __rw_yield(raw_rwlock_t *lock); | |||
91 | 105 | ||
92 | static void __inline__ __raw_spin_lock(raw_spinlock_t *lock) | 106 | static void __inline__ __raw_spin_lock(raw_spinlock_t *lock) |
93 | { | 107 | { |
108 | CLEAR_IO_SYNC; | ||
94 | while (1) { | 109 | while (1) { |
95 | if (likely(__spin_trylock(lock) == 0)) | 110 | if (likely(__spin_trylock(lock) == 0)) |
96 | break; | 111 | break; |
@@ -107,6 +122,7 @@ static void __inline__ __raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long | |||
107 | { | 122 | { |
108 | unsigned long flags_dis; | 123 | unsigned long flags_dis; |
109 | 124 | ||
125 | CLEAR_IO_SYNC; | ||
110 | while (1) { | 126 | while (1) { |
111 | if (likely(__spin_trylock(lock) == 0)) | 127 | if (likely(__spin_trylock(lock) == 0)) |
112 | break; | 128 | break; |
@@ -124,6 +140,7 @@ static void __inline__ __raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long | |||
124 | 140 | ||
125 | static __inline__ void __raw_spin_unlock(raw_spinlock_t *lock) | 141 | static __inline__ void __raw_spin_unlock(raw_spinlock_t *lock) |
126 | { | 142 | { |
143 | SYNC_IO; | ||
127 | __asm__ __volatile__("# __raw_spin_unlock\n\t" | 144 | __asm__ __volatile__("# __raw_spin_unlock\n\t" |
128 | LWSYNC_ON_SMP: : :"memory"); | 145 | LWSYNC_ON_SMP: : :"memory"); |
129 | lock->slock = 0; | 146 | lock->slock = 0; |
diff --git a/include/asm-ppc/io.h b/include/asm-ppc/io.h index 89c6f1bc3aa..680555be22e 100644 --- a/include/asm-ppc/io.h +++ b/include/asm-ppc/io.h | |||
@@ -63,7 +63,7 @@ extern inline int in_8(const volatile unsigned char __iomem *addr) | |||
63 | int ret; | 63 | int ret; |
64 | 64 | ||
65 | __asm__ __volatile__( | 65 | __asm__ __volatile__( |
66 | "lbz%U1%X1 %0,%1;\n" | 66 | "sync; lbz%U1%X1 %0,%1;\n" |
67 | "twi 0,%0,0;\n" | 67 | "twi 0,%0,0;\n" |
68 | "isync" : "=r" (ret) : "m" (*addr)); | 68 | "isync" : "=r" (ret) : "m" (*addr)); |
69 | return ret; | 69 | return ret; |
@@ -78,7 +78,7 @@ extern inline int in_le16(const volatile unsigned short __iomem *addr) | |||
78 | { | 78 | { |
79 | int ret; | 79 | int ret; |
80 | 80 | ||
81 | __asm__ __volatile__("lhbrx %0,0,%1;\n" | 81 | __asm__ __volatile__("sync; lhbrx %0,0,%1;\n" |
82 | "twi 0,%0,0;\n" | 82 | "twi 0,%0,0;\n" |
83 | "isync" : "=r" (ret) : | 83 | "isync" : "=r" (ret) : |
84 | "r" (addr), "m" (*addr)); | 84 | "r" (addr), "m" (*addr)); |
@@ -89,7 +89,7 @@ extern inline int in_be16(const volatile unsigned short __iomem *addr) | |||
89 | { | 89 | { |
90 | int ret; | 90 | int ret; |
91 | 91 | ||
92 | __asm__ __volatile__("lhz%U1%X1 %0,%1;\n" | 92 | __asm__ __volatile__("sync; lhz%U1%X1 %0,%1;\n" |
93 | "twi 0,%0,0;\n" | 93 | "twi 0,%0,0;\n" |
94 | "isync" : "=r" (ret) : "m" (*addr)); | 94 | "isync" : "=r" (ret) : "m" (*addr)); |
95 | return ret; | 95 | return ret; |
@@ -97,20 +97,20 @@ extern inline int in_be16(const volatile unsigned short __iomem *addr) | |||
97 | 97 | ||
98 | extern inline void out_le16(volatile unsigned short __iomem *addr, int val) | 98 | extern inline void out_le16(volatile unsigned short __iomem *addr, int val) |
99 | { | 99 | { |
100 | __asm__ __volatile__("sthbrx %1,0,%2; eieio" : "=m" (*addr) : | 100 | __asm__ __volatile__("sync; sthbrx %1,0,%2" : "=m" (*addr) : |
101 | "r" (val), "r" (addr)); | 101 | "r" (val), "r" (addr)); |
102 | } | 102 | } |
103 | 103 | ||
104 | extern inline void out_be16(volatile unsigned short __iomem *addr, int val) | 104 | extern inline void out_be16(volatile unsigned short __iomem *addr, int val) |
105 | { | 105 | { |
106 | __asm__ __volatile__("sth%U0%X0 %1,%0; eieio" : "=m" (*addr) : "r" (val)); | 106 | __asm__ __volatile__("sync; sth%U0%X0 %1,%0" : "=m" (*addr) : "r" (val)); |
107 | } | 107 | } |
108 | 108 | ||
109 | extern inline unsigned in_le32(const volatile unsigned __iomem *addr) | 109 | extern inline unsigned in_le32(const volatile unsigned __iomem *addr) |
110 | { | 110 | { |
111 | unsigned ret; | 111 | unsigned ret; |
112 | 112 | ||
113 | __asm__ __volatile__("lwbrx %0,0,%1;\n" | 113 | __asm__ __volatile__("sync; lwbrx %0,0,%1;\n" |
114 | "twi 0,%0,0;\n" | 114 | "twi 0,%0,0;\n" |
115 | "isync" : "=r" (ret) : | 115 | "isync" : "=r" (ret) : |
116 | "r" (addr), "m" (*addr)); | 116 | "r" (addr), "m" (*addr)); |
@@ -121,7 +121,7 @@ extern inline unsigned in_be32(const volatile unsigned __iomem *addr) | |||
121 | { | 121 | { |
122 | unsigned ret; | 122 | unsigned ret; |
123 | 123 | ||
124 | __asm__ __volatile__("lwz%U1%X1 %0,%1;\n" | 124 | __asm__ __volatile__("sync; lwz%U1%X1 %0,%1;\n" |
125 | "twi 0,%0,0;\n" | 125 | "twi 0,%0,0;\n" |
126 | "isync" : "=r" (ret) : "m" (*addr)); | 126 | "isync" : "=r" (ret) : "m" (*addr)); |
127 | return ret; | 127 | return ret; |
@@ -129,13 +129,13 @@ extern inline unsigned in_be32(const volatile unsigned __iomem *addr) | |||
129 | 129 | ||
130 | extern inline void out_le32(volatile unsigned __iomem *addr, int val) | 130 | extern inline void out_le32(volatile unsigned __iomem *addr, int val) |
131 | { | 131 | { |
132 | __asm__ __volatile__("stwbrx %1,0,%2; eieio" : "=m" (*addr) : | 132 | __asm__ __volatile__("sync; stwbrx %1,0,%2" : "=m" (*addr) : |
133 | "r" (val), "r" (addr)); | 133 | "r" (val), "r" (addr)); |
134 | } | 134 | } |
135 | 135 | ||
136 | extern inline void out_be32(volatile unsigned __iomem *addr, int val) | 136 | extern inline void out_be32(volatile unsigned __iomem *addr, int val) |
137 | { | 137 | { |
138 | __asm__ __volatile__("stw%U0%X0 %1,%0; eieio" : "=m" (*addr) : "r" (val)); | 138 | __asm__ __volatile__("sync; stw%U0%X0 %1,%0" : "=m" (*addr) : "r" (val)); |
139 | } | 139 | } |
140 | #if defined (CONFIG_8260_PCI9) | 140 | #if defined (CONFIG_8260_PCI9) |
141 | #define readb(addr) in_8((volatile u8 *)(addr)) | 141 | #define readb(addr) in_8((volatile u8 *)(addr)) |
@@ -259,6 +259,7 @@ extern __inline__ unsigned int name(unsigned int port) \ | |||
259 | { \ | 259 | { \ |
260 | unsigned int x; \ | 260 | unsigned int x; \ |
261 | __asm__ __volatile__( \ | 261 | __asm__ __volatile__( \ |
262 | "sync\n" \ | ||
262 | "0:" op " %0,0,%1\n" \ | 263 | "0:" op " %0,0,%1\n" \ |
263 | "1: twi 0,%0,0\n" \ | 264 | "1: twi 0,%0,0\n" \ |
264 | "2: isync\n" \ | 265 | "2: isync\n" \ |
@@ -284,6 +285,7 @@ extern __inline__ unsigned int name(unsigned int port) \ | |||
284 | extern __inline__ void name(unsigned int val, unsigned int port) \ | 285 | extern __inline__ void name(unsigned int val, unsigned int port) \ |
285 | { \ | 286 | { \ |
286 | __asm__ __volatile__( \ | 287 | __asm__ __volatile__( \ |
288 | "sync\n" \ | ||
287 | "0:" op " %0,0,%1\n" \ | 289 | "0:" op " %0,0,%1\n" \ |
288 | "1: sync\n" \ | 290 | "1: sync\n" \ |
289 | "2:\n" \ | 291 | "2:\n" \ |
diff --git a/include/asm-sh/page.h b/include/asm-sh/page.h index a5559e38744..5a057b00f19 100644 --- a/include/asm-sh/page.h +++ b/include/asm-sh/page.h | |||
@@ -104,7 +104,7 @@ typedef struct { unsigned long pgprot; } pgprot_t; | |||
104 | 104 | ||
105 | /* PFN start number, because of __MEMORY_START */ | 105 | /* PFN start number, because of __MEMORY_START */ |
106 | #define PFN_START (__MEMORY_START >> PAGE_SHIFT) | 106 | #define PFN_START (__MEMORY_START >> PAGE_SHIFT) |
107 | #define ARCH_PFN_OFFSET (FPN_START) | 107 | #define ARCH_PFN_OFFSET (PFN_START) |
108 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) | 108 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) |
109 | #define pfn_valid(pfn) (((pfn) - PFN_START) < max_mapnr) | 109 | #define pfn_valid(pfn) (((pfn) - PFN_START) < max_mapnr) |
110 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) | 110 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) |
diff --git a/include/asm-sh64/bug.h b/include/asm-sh64/bug.h index 81f722efeb6..f3a9c9248ef 100644 --- a/include/asm-sh64/bug.h +++ b/include/asm-sh64/bug.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef __ASM_SH64_BUG_H | 1 | #ifndef __ASM_SH64_BUG_H |
2 | #define __ASM_SH64_BUG_H | 2 | #define __ASM_SH64_BUG_H |
3 | 3 | ||
4 | 4 | #ifdef CONFIG_BUG | |
5 | /* | 5 | /* |
6 | * Tell the user there is some problem, then force a segfault (in process | 6 | * Tell the user there is some problem, then force a segfault (in process |
7 | * context) or a panic (interrupt context). | 7 | * context) or a panic (interrupt context). |
@@ -11,17 +11,9 @@ | |||
11 | *(volatile int *)0 = 0; \ | 11 | *(volatile int *)0 = 0; \ |
12 | } while (0) | 12 | } while (0) |
13 | 13 | ||
14 | #define BUG_ON(condition) do { \ | 14 | #define HAVE_ARCH_BUG |
15 | if (unlikely((condition)!=0)) \ | 15 | #endif |
16 | BUG(); \ | ||
17 | } while(0) | ||
18 | 16 | ||
19 | #define WARN_ON(condition) do { \ | 17 | #include <asm-generic/bug.h> |
20 | if (unlikely((condition)!=0)) { \ | ||
21 | printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \ | ||
22 | dump_stack(); \ | ||
23 | } \ | ||
24 | } while (0) | ||
25 | 18 | ||
26 | #endif /* __ASM_SH64_BUG_H */ | 19 | #endif /* __ASM_SH64_BUG_H */ |
27 | |||
diff --git a/include/asm-sh64/byteorder.h b/include/asm-sh64/byteorder.h index f602ebe334e..7419d78820e 100644 --- a/include/asm-sh64/byteorder.h +++ b/include/asm-sh64/byteorder.h | |||
@@ -14,7 +14,7 @@ | |||
14 | 14 | ||
15 | #include <asm/types.h> | 15 | #include <asm/types.h> |
16 | 16 | ||
17 | static __inline__ __const__ __u32 ___arch__swab32(__u32 x) | 17 | static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) |
18 | { | 18 | { |
19 | __asm__("byterev %0, %0\n\t" | 19 | __asm__("byterev %0, %0\n\t" |
20 | "shari %0, 32, %0" | 20 | "shari %0, 32, %0" |
@@ -23,7 +23,7 @@ static __inline__ __const__ __u32 ___arch__swab32(__u32 x) | |||
23 | return x; | 23 | return x; |
24 | } | 24 | } |
25 | 25 | ||
26 | static __inline__ __const__ __u16 ___arch__swab16(__u16 x) | 26 | static inline __attribute_const__ __u16 ___arch__swab16(__u16 x) |
27 | { | 27 | { |
28 | __asm__("byterev %0, %0\n\t" | 28 | __asm__("byterev %0, %0\n\t" |
29 | "shari %0, 48, %0" | 29 | "shari %0, 48, %0" |
diff --git a/include/asm-sh64/dma-mapping.h b/include/asm-sh64/dma-mapping.h index a74a49e4792..68e27a8fca3 100644 --- a/include/asm-sh64/dma-mapping.h +++ b/include/asm-sh64/dma-mapping.h | |||
@@ -126,22 +126,30 @@ static inline void dma_sync_sg(struct device *dev, struct scatterlist *sg, | |||
126 | static inline void dma_sync_single_for_cpu(struct device *dev, | 126 | static inline void dma_sync_single_for_cpu(struct device *dev, |
127 | dma_addr_t dma_handle, size_t size, | 127 | dma_addr_t dma_handle, size_t size, |
128 | enum dma_data_direction dir) | 128 | enum dma_data_direction dir) |
129 | __attribute__ ((alias("dma_sync_single"))); | 129 | { |
130 | dma_sync_single(dev, dma_handle, size, dir); | ||
131 | } | ||
130 | 132 | ||
131 | static inline void dma_sync_single_for_device(struct device *dev, | 133 | static inline void dma_sync_single_for_device(struct device *dev, |
132 | dma_addr_t dma_handle, size_t size, | 134 | dma_addr_t dma_handle, size_t size, |
133 | enum dma_data_direction dir) | 135 | enum dma_data_direction dir) |
134 | __attribute__ ((alias("dma_sync_single"))); | 136 | { |
137 | dma_sync_single(dev, dma_handle, size, dir); | ||
138 | } | ||
135 | 139 | ||
136 | static inline void dma_sync_sg_for_cpu(struct device *dev, | 140 | static inline void dma_sync_sg_for_cpu(struct device *dev, |
137 | struct scatterlist *sg, int nelems, | 141 | struct scatterlist *sg, int nelems, |
138 | enum dma_data_direction dir) | 142 | enum dma_data_direction dir) |
139 | __attribute__ ((alias("dma_sync_sg"))); | 143 | { |
144 | dma_sync_sg(dev, sg, nelems, dir); | ||
145 | } | ||
140 | 146 | ||
141 | static inline void dma_sync_sg_for_device(struct device *dev, | 147 | static inline void dma_sync_sg_for_device(struct device *dev, |
142 | struct scatterlist *sg, int nelems, | 148 | struct scatterlist *sg, int nelems, |
143 | enum dma_data_direction dir) | 149 | enum dma_data_direction dir) |
144 | __attribute__ ((alias("dma_sync_sg"))); | 150 | { |
151 | dma_sync_sg(dev, sg, nelems, dir); | ||
152 | } | ||
145 | 153 | ||
146 | static inline int dma_get_cache_alignment(void) | 154 | static inline int dma_get_cache_alignment(void) |
147 | { | 155 | { |
diff --git a/include/asm-sh64/io.h b/include/asm-sh64/io.h index dee4f77929a..252fedbb662 100644 --- a/include/asm-sh64/io.h +++ b/include/asm-sh64/io.h | |||
@@ -123,6 +123,13 @@ void insw(unsigned long port, void *addr, unsigned long count); | |||
123 | void outsl(unsigned long port, const void *addr, unsigned long count); | 123 | void outsl(unsigned long port, const void *addr, unsigned long count); |
124 | void insl(unsigned long port, void *addr, unsigned long count); | 124 | void insl(unsigned long port, void *addr, unsigned long count); |
125 | 125 | ||
126 | #define __raw_readb readb | ||
127 | #define __raw_readw readw | ||
128 | #define __raw_readl readl | ||
129 | #define __raw_writeb writeb | ||
130 | #define __raw_writew writew | ||
131 | #define __raw_writel writel | ||
132 | |||
126 | void memcpy_toio(void __iomem *to, const void *from, long count); | 133 | void memcpy_toio(void __iomem *to, const void *from, long count); |
127 | void memcpy_fromio(void *to, void __iomem *from, long count); | 134 | void memcpy_fromio(void *to, void __iomem *from, long count); |
128 | 135 | ||
diff --git a/include/asm-sh64/ptrace.h b/include/asm-sh64/ptrace.h index 56190f52158..a6d4da519db 100644 --- a/include/asm-sh64/ptrace.h +++ b/include/asm-sh64/ptrace.h | |||
@@ -28,7 +28,7 @@ struct pt_regs { | |||
28 | #ifdef __KERNEL__ | 28 | #ifdef __KERNEL__ |
29 | #define user_mode(regs) (((regs)->sr & 0x40000000)==0) | 29 | #define user_mode(regs) (((regs)->sr & 0x40000000)==0) |
30 | #define instruction_pointer(regs) ((regs)->pc) | 30 | #define instruction_pointer(regs) ((regs)->pc) |
31 | #define profile_pc(regs) instruction_pointer(regs) | 31 | #define profile_pc(regs) ((unsigned long)instruction_pointer(regs)) |
32 | extern void show_regs(struct pt_regs *); | 32 | extern void show_regs(struct pt_regs *); |
33 | #endif | 33 | #endif |
34 | 34 | ||
diff --git a/include/asm-sh64/system.h b/include/asm-sh64/system.h index 87ef6f1ad5a..b1598c26fcb 100644 --- a/include/asm-sh64/system.h +++ b/include/asm-sh64/system.h | |||
@@ -64,7 +64,7 @@ extern void __xchg_called_with_bad_pointer(void); | |||
64 | #define smp_read_barrier_depends() do { } while (0) | 64 | #define smp_read_barrier_depends() do { } while (0) |
65 | #endif /* CONFIG_SMP */ | 65 | #endif /* CONFIG_SMP */ |
66 | 66 | ||
67 | #define set_rmb(var, value) do { xchg(&var, value); } while (0) | 67 | #define set_rmb(var, value) do { (void)xchg(&var, value); } while (0) |
68 | #define set_mb(var, value) set_rmb(var, value) | 68 | #define set_mb(var, value) set_rmb(var, value) |
69 | 69 | ||
70 | /* Interrupt Control */ | 70 | /* Interrupt Control */ |
diff --git a/include/asm-sh64/uaccess.h b/include/asm-sh64/uaccess.h index f4936d8fa61..644c67b65f9 100644 --- a/include/asm-sh64/uaccess.h +++ b/include/asm-sh64/uaccess.h | |||
@@ -128,25 +128,20 @@ do { \ | |||
128 | 128 | ||
129 | #define __get_user_nocheck(x,ptr,size) \ | 129 | #define __get_user_nocheck(x,ptr,size) \ |
130 | ({ \ | 130 | ({ \ |
131 | long __gu_addr = (long)(ptr); \ | 131 | long __gu_err, __gu_val; \ |
132 | long __gu_err; \ | 132 | __get_user_size((void *)&__gu_val, (long)(ptr), \ |
133 | __typeof(*(ptr)) __gu_val; \ | 133 | (size), __gu_err); \ |
134 | __asm__ ("":"=r" (__gu_val)); \ | 134 | (x) = (__typeof__(*(ptr)))__gu_val; \ |
135 | __asm__ ("":"=r" (__gu_err)); \ | ||
136 | __get_user_size((void *)&__gu_val, __gu_addr, (size), __gu_err); \ | ||
137 | (x) = (__typeof__(*(ptr))) __gu_val; \ | ||
138 | __gu_err; \ | 135 | __gu_err; \ |
139 | }) | 136 | }) |
140 | 137 | ||
141 | #define __get_user_check(x,ptr,size) \ | 138 | #define __get_user_check(x,ptr,size) \ |
142 | ({ \ | 139 | ({ \ |
143 | long __gu_addr = (long)(ptr); \ | 140 | long __gu_addr = (long)(ptr); \ |
144 | long __gu_err = -EFAULT; \ | 141 | long __gu_err = -EFAULT, __gu_val; \ |
145 | __typeof(*(ptr)) __gu_val; \ | ||
146 | __asm__ ("":"=r" (__gu_val)); \ | ||
147 | __asm__ ("":"=r" (__gu_err)); \ | ||
148 | if (__access_ok(__gu_addr, (size))) \ | 142 | if (__access_ok(__gu_addr, (size))) \ |
149 | __get_user_size((void *)&__gu_val, __gu_addr, (size), __gu_err); \ | 143 | __get_user_size((void *)&__gu_val, __gu_addr, \ |
144 | (size), __gu_err); \ | ||
150 | (x) = (__typeof__(*(ptr))) __gu_val; \ | 145 | (x) = (__typeof__(*(ptr))) __gu_val; \ |
151 | __gu_err; \ | 146 | __gu_err; \ |
152 | }) | 147 | }) |
diff --git a/include/asm-sparc/mman.h b/include/asm-sparc/mman.h index 88d1886abf3..b7dc40bc68f 100644 --- a/include/asm-sparc/mman.h +++ b/include/asm-sparc/mman.h | |||
@@ -35,4 +35,12 @@ | |||
35 | 35 | ||
36 | #define MADV_FREE 0x5 /* (Solaris) contents can be freed */ | 36 | #define MADV_FREE 0x5 /* (Solaris) contents can be freed */ |
37 | 37 | ||
38 | #ifdef __KERNEL__ | ||
39 | #ifndef __ASSEMBLY__ | ||
40 | #define arch_mmap_check sparc_mmap_check | ||
41 | int sparc_mmap_check(unsigned long addr, unsigned long len, | ||
42 | unsigned long flags); | ||
43 | #endif | ||
44 | #endif | ||
45 | |||
38 | #endif /* __SPARC_MMAN_H__ */ | 46 | #endif /* __SPARC_MMAN_H__ */ |
diff --git a/include/asm-sparc64/mman.h b/include/asm-sparc64/mman.h index 6fd878e6143..8cc1860be63 100644 --- a/include/asm-sparc64/mman.h +++ b/include/asm-sparc64/mman.h | |||
@@ -35,4 +35,12 @@ | |||
35 | 35 | ||
36 | #define MADV_FREE 0x5 /* (Solaris) contents can be freed */ | 36 | #define MADV_FREE 0x5 /* (Solaris) contents can be freed */ |
37 | 37 | ||
38 | #ifdef __KERNEL__ | ||
39 | #ifndef __ASSEMBLY__ | ||
40 | #define arch_mmap_check sparc64_mmap_check | ||
41 | int sparc64_mmap_check(unsigned long addr, unsigned long len, | ||
42 | unsigned long flags); | ||
43 | #endif | ||
44 | #endif | ||
45 | |||
38 | #endif /* __SPARC64_MMAN_H__ */ | 46 | #endif /* __SPARC64_MMAN_H__ */ |
diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h index 41788a31c43..2096e5c7282 100644 --- a/include/linux/atmdev.h +++ b/include/linux/atmdev.h | |||
@@ -7,7 +7,6 @@ | |||
7 | #define LINUX_ATMDEV_H | 7 | #define LINUX_ATMDEV_H |
8 | 8 | ||
9 | 9 | ||
10 | #include <linux/device.h> | ||
11 | #include <linux/atmapi.h> | 10 | #include <linux/atmapi.h> |
12 | #include <linux/atm.h> | 11 | #include <linux/atm.h> |
13 | #include <linux/atmioc.h> | 12 | #include <linux/atmioc.h> |
@@ -210,6 +209,7 @@ struct atm_cirange { | |||
210 | 209 | ||
211 | #ifdef __KERNEL__ | 210 | #ifdef __KERNEL__ |
212 | 211 | ||
212 | #include <linux/device.h> | ||
213 | #include <linux/wait.h> /* wait_queue_head_t */ | 213 | #include <linux/wait.h> /* wait_queue_head_t */ |
214 | #include <linux/time.h> /* struct timeval */ | 214 | #include <linux/time.h> /* struct timeval */ |
215 | #include <linux/net.h> | 215 | #include <linux/net.h> |
diff --git a/include/linux/audit.h b/include/linux/audit.h index 64f9f9e56ac..40a6c26294a 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h | |||
@@ -132,6 +132,10 @@ | |||
132 | #define AUDIT_CLASS_DIR_WRITE_32 1 | 132 | #define AUDIT_CLASS_DIR_WRITE_32 1 |
133 | #define AUDIT_CLASS_CHATTR 2 | 133 | #define AUDIT_CLASS_CHATTR 2 |
134 | #define AUDIT_CLASS_CHATTR_32 3 | 134 | #define AUDIT_CLASS_CHATTR_32 3 |
135 | #define AUDIT_CLASS_READ 4 | ||
136 | #define AUDIT_CLASS_READ_32 5 | ||
137 | #define AUDIT_CLASS_WRITE 6 | ||
138 | #define AUDIT_CLASS_WRITE_32 7 | ||
135 | 139 | ||
136 | /* This bitmask is used to validate user input. It represents all bits that | 140 | /* This bitmask is used to validate user input. It represents all bits that |
137 | * are currently used in an audit field constant understood by the kernel. | 141 | * are currently used in an audit field constant understood by the kernel. |
@@ -177,6 +181,7 @@ | |||
177 | #define AUDIT_EXIT 103 | 181 | #define AUDIT_EXIT 103 |
178 | #define AUDIT_SUCCESS 104 /* exit >= 0; value ignored */ | 182 | #define AUDIT_SUCCESS 104 /* exit >= 0; value ignored */ |
179 | #define AUDIT_WATCH 105 | 183 | #define AUDIT_WATCH 105 |
184 | #define AUDIT_PERM 106 | ||
180 | 185 | ||
181 | #define AUDIT_ARG0 200 | 186 | #define AUDIT_ARG0 200 |
182 | #define AUDIT_ARG1 (AUDIT_ARG0+1) | 187 | #define AUDIT_ARG1 (AUDIT_ARG0+1) |
@@ -252,6 +257,11 @@ | |||
252 | #define AUDIT_ARCH_V850 (EM_V850|__AUDIT_ARCH_LE) | 257 | #define AUDIT_ARCH_V850 (EM_V850|__AUDIT_ARCH_LE) |
253 | #define AUDIT_ARCH_X86_64 (EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) | 258 | #define AUDIT_ARCH_X86_64 (EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) |
254 | 259 | ||
260 | #define AUDIT_PERM_EXEC 1 | ||
261 | #define AUDIT_PERM_WRITE 2 | ||
262 | #define AUDIT_PERM_READ 4 | ||
263 | #define AUDIT_PERM_ATTR 8 | ||
264 | |||
255 | struct audit_status { | 265 | struct audit_status { |
256 | __u32 mask; /* Bit mask for valid entries */ | 266 | __u32 mask; /* Bit mask for valid entries */ |
257 | __u32 enabled; /* 1 = enabled, 0 = disabled */ | 267 | __u32 enabled; /* 1 = enabled, 0 = disabled */ |
@@ -314,6 +324,7 @@ struct mqstat; | |||
314 | #define AUDITSC_FAILURE 2 | 324 | #define AUDITSC_FAILURE 2 |
315 | #define AUDITSC_RESULT(x) ( ((long)(x))<0?AUDITSC_FAILURE:AUDITSC_SUCCESS ) | 325 | #define AUDITSC_RESULT(x) ( ((long)(x))<0?AUDITSC_FAILURE:AUDITSC_SUCCESS ) |
316 | extern int __init audit_register_class(int class, unsigned *list); | 326 | extern int __init audit_register_class(int class, unsigned *list); |
327 | extern int audit_classify_syscall(int abi, unsigned syscall); | ||
317 | #ifdef CONFIG_AUDITSYSCALL | 328 | #ifdef CONFIG_AUDITSYSCALL |
318 | /* These are defined in auditsc.c */ | 329 | /* These are defined in auditsc.c */ |
319 | /* Public API */ | 330 | /* Public API */ |
diff --git a/include/linux/delayacct.h b/include/linux/delayacct.h index 11487b6e712..561e2a77805 100644 --- a/include/linux/delayacct.h +++ b/include/linux/delayacct.h | |||
@@ -59,10 +59,14 @@ static inline void delayacct_tsk_init(struct task_struct *tsk) | |||
59 | __delayacct_tsk_init(tsk); | 59 | __delayacct_tsk_init(tsk); |
60 | } | 60 | } |
61 | 61 | ||
62 | static inline void delayacct_tsk_exit(struct task_struct *tsk) | 62 | /* Free tsk->delays. Called from bad fork and __put_task_struct |
63 | * where there's no risk of tsk->delays being accessed elsewhere | ||
64 | */ | ||
65 | static inline void delayacct_tsk_free(struct task_struct *tsk) | ||
63 | { | 66 | { |
64 | if (tsk->delays) | 67 | if (tsk->delays) |
65 | __delayacct_tsk_exit(tsk); | 68 | kmem_cache_free(delayacct_cache, tsk->delays); |
69 | tsk->delays = NULL; | ||
66 | } | 70 | } |
67 | 71 | ||
68 | static inline void delayacct_blkio_start(void) | 72 | static inline void delayacct_blkio_start(void) |
@@ -101,7 +105,7 @@ static inline void delayacct_init(void) | |||
101 | {} | 105 | {} |
102 | static inline void delayacct_tsk_init(struct task_struct *tsk) | 106 | static inline void delayacct_tsk_init(struct task_struct *tsk) |
103 | {} | 107 | {} |
104 | static inline void delayacct_tsk_exit(struct task_struct *tsk) | 108 | static inline void delayacct_tsk_free(struct task_struct *tsk) |
105 | {} | 109 | {} |
106 | static inline void delayacct_blkio_start(void) | 110 | static inline void delayacct_blkio_start(void) |
107 | {} | 111 | {} |
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index e4bccbcc275..4fc379de6c2 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h | |||
@@ -80,6 +80,7 @@ struct hrtimer_sleeper { | |||
80 | * @get_softirq_time: function to retrieve the current time from the softirq | 80 | * @get_softirq_time: function to retrieve the current time from the softirq |
81 | * @curr_timer: the timer which is executing a callback right now | 81 | * @curr_timer: the timer which is executing a callback right now |
82 | * @softirq_time: the time when running the hrtimer queue in the softirq | 82 | * @softirq_time: the time when running the hrtimer queue in the softirq |
83 | * @lock_key: the lock_class_key for use with lockdep | ||
83 | */ | 84 | */ |
84 | struct hrtimer_base { | 85 | struct hrtimer_base { |
85 | clockid_t index; | 86 | clockid_t index; |
diff --git a/include/linux/ktime.h b/include/linux/ktime.h index ed3396dcc4f..84eeecd60a0 100644 --- a/include/linux/ktime.h +++ b/include/linux/ktime.h | |||
@@ -56,7 +56,8 @@ typedef union { | |||
56 | #endif | 56 | #endif |
57 | } ktime_t; | 57 | } ktime_t; |
58 | 58 | ||
59 | #define KTIME_MAX (~((u64)1 << 63)) | 59 | #define KTIME_MAX ((s64)~((u64)1 << 63)) |
60 | #define KTIME_SEC_MAX (KTIME_MAX / NSEC_PER_SEC) | ||
60 | 61 | ||
61 | /* | 62 | /* |
62 | * ktime_t definitions when using the 64-bit scalar representation: | 63 | * ktime_t definitions when using the 64-bit scalar representation: |
@@ -73,6 +74,10 @@ typedef union { | |||
73 | */ | 74 | */ |
74 | static inline ktime_t ktime_set(const long secs, const unsigned long nsecs) | 75 | static inline ktime_t ktime_set(const long secs, const unsigned long nsecs) |
75 | { | 76 | { |
77 | #if (BITS_PER_LONG == 64) | ||
78 | if (unlikely(secs >= KTIME_SEC_MAX)) | ||
79 | return (ktime_t){ .tv64 = KTIME_MAX }; | ||
80 | #endif | ||
76 | return (ktime_t) { .tv64 = (s64)secs * NSEC_PER_SEC + (s64)nsecs }; | 81 | return (ktime_t) { .tv64 = (s64)secs * NSEC_PER_SEC + (s64)nsecs }; |
77 | } | 82 | } |
78 | 83 | ||
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index c1f021eddff..ba095aebedf 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h | |||
@@ -77,7 +77,7 @@ struct mmc_host { | |||
77 | struct device *dev; | 77 | struct device *dev; |
78 | struct class_device class_dev; | 78 | struct class_device class_dev; |
79 | int index; | 79 | int index; |
80 | struct mmc_host_ops *ops; | 80 | const struct mmc_host_ops *ops; |
81 | unsigned int f_min; | 81 | unsigned int f_min; |
82 | unsigned int f_max; | 82 | unsigned int f_max; |
83 | u32 ocr_avail; | 83 | u32 ocr_avail; |
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h index 03a14a30c46..627e2c08ce4 100644 --- a/include/linux/mmc/mmc.h +++ b/include/linux/mmc/mmc.h | |||
@@ -105,6 +105,8 @@ extern int mmc_wait_for_cmd(struct mmc_host *, struct mmc_command *, int); | |||
105 | extern int mmc_wait_for_app_cmd(struct mmc_host *, unsigned int, | 105 | extern int mmc_wait_for_app_cmd(struct mmc_host *, unsigned int, |
106 | struct mmc_command *, int); | 106 | struct mmc_command *, int); |
107 | 107 | ||
108 | extern void mmc_set_data_timeout(struct mmc_data *, const struct mmc_card *, int); | ||
109 | |||
108 | extern int __mmc_claim_host(struct mmc_host *host, struct mmc_card *card); | 110 | extern int __mmc_claim_host(struct mmc_host *host, struct mmc_card *card); |
109 | 111 | ||
110 | static inline void mmc_claim_host(struct mmc_host *host) | 112 | static inline void mmc_claim_host(struct mmc_host *host) |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 656b588a9f9..f45163c528e 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
@@ -77,6 +77,7 @@ struct per_cpu_pages { | |||
77 | struct per_cpu_pageset { | 77 | struct per_cpu_pageset { |
78 | struct per_cpu_pages pcp[2]; /* 0: hot. 1: cold */ | 78 | struct per_cpu_pages pcp[2]; /* 0: hot. 1: cold */ |
79 | #ifdef CONFIG_SMP | 79 | #ifdef CONFIG_SMP |
80 | s8 stat_threshold; | ||
80 | s8 vm_stat_diff[NR_VM_ZONE_STAT_ITEMS]; | 81 | s8 vm_stat_diff[NR_VM_ZONE_STAT_ITEMS]; |
81 | #endif | 82 | #endif |
82 | } ____cacheline_aligned_in_smp; | 83 | } ____cacheline_aligned_in_smp; |
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 247434553ae..6c2066caeaa 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -9,27 +9,6 @@ | |||
9 | #ifndef _LINUX_NFS_FS_H | 9 | #ifndef _LINUX_NFS_FS_H |
10 | #define _LINUX_NFS_FS_H | 10 | #define _LINUX_NFS_FS_H |
11 | 11 | ||
12 | #include <linux/in.h> | ||
13 | #include <linux/mm.h> | ||
14 | #include <linux/pagemap.h> | ||
15 | #include <linux/rwsem.h> | ||
16 | #include <linux/wait.h> | ||
17 | |||
18 | #include <linux/sunrpc/debug.h> | ||
19 | #include <linux/sunrpc/auth.h> | ||
20 | #include <linux/sunrpc/clnt.h> | ||
21 | |||
22 | #include <linux/nfs.h> | ||
23 | #include <linux/nfs2.h> | ||
24 | #include <linux/nfs3.h> | ||
25 | #include <linux/nfs4.h> | ||
26 | #include <linux/nfs_xdr.h> | ||
27 | |||
28 | #include <linux/nfs_fs_sb.h> | ||
29 | |||
30 | #include <linux/rwsem.h> | ||
31 | #include <linux/mempool.h> | ||
32 | |||
33 | /* | 12 | /* |
34 | * Enable debugging support for nfs client. | 13 | * Enable debugging support for nfs client. |
35 | * Requires RPC_DEBUG. | 14 | * Requires RPC_DEBUG. |
@@ -48,11 +27,6 @@ | |||
48 | #define NFS_SUPER_MAGIC 0x6969 | 27 | #define NFS_SUPER_MAGIC 0x6969 |
49 | 28 | ||
50 | /* | 29 | /* |
51 | * These are the default flags for swap requests | ||
52 | */ | ||
53 | #define NFS_RPC_SWAPFLAGS (RPC_TASK_SWAPPER|RPC_TASK_ROOTCREDS) | ||
54 | |||
55 | /* | ||
56 | * When flushing a cluster of dirty pages, there can be different | 30 | * When flushing a cluster of dirty pages, there can be different |
57 | * strategies: | 31 | * strategies: |
58 | */ | 32 | */ |
@@ -65,6 +39,32 @@ | |||
65 | 39 | ||
66 | #ifdef __KERNEL__ | 40 | #ifdef __KERNEL__ |
67 | 41 | ||
42 | #include <linux/in.h> | ||
43 | #include <linux/mm.h> | ||
44 | #include <linux/pagemap.h> | ||
45 | #include <linux/rwsem.h> | ||
46 | #include <linux/wait.h> | ||
47 | |||
48 | #include <linux/sunrpc/debug.h> | ||
49 | #include <linux/sunrpc/auth.h> | ||
50 | #include <linux/sunrpc/clnt.h> | ||
51 | |||
52 | #include <linux/nfs.h> | ||
53 | #include <linux/nfs2.h> | ||
54 | #include <linux/nfs3.h> | ||
55 | #include <linux/nfs4.h> | ||
56 | #include <linux/nfs_xdr.h> | ||
57 | |||
58 | #include <linux/nfs_fs_sb.h> | ||
59 | |||
60 | #include <linux/rwsem.h> | ||
61 | #include <linux/mempool.h> | ||
62 | |||
63 | /* | ||
64 | * These are the default flags for swap requests | ||
65 | */ | ||
66 | #define NFS_RPC_SWAPFLAGS (RPC_TASK_SWAPPER|RPC_TASK_ROOTCREDS) | ||
67 | |||
68 | /* | 68 | /* |
69 | * NFSv3/v4 Access mode cache entry | 69 | * NFSv3/v4 Access mode cache entry |
70 | */ | 70 | */ |
@@ -427,7 +427,7 @@ extern int nfs_writeback_done(struct rpc_task *, struct nfs_write_data *); | |||
427 | extern void nfs_writedata_release(void *); | 427 | extern void nfs_writedata_release(void *); |
428 | 428 | ||
429 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) | 429 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) |
430 | struct nfs_write_data *nfs_commit_alloc(unsigned int pagecount); | 430 | struct nfs_write_data *nfs_commit_alloc(void); |
431 | void nfs_commit_free(struct nfs_write_data *p); | 431 | void nfs_commit_free(struct nfs_write_data *p); |
432 | #endif | 432 | #endif |
433 | 433 | ||
@@ -478,7 +478,7 @@ static inline int nfs_wb_page(struct inode *inode, struct page* page) | |||
478 | /* | 478 | /* |
479 | * Allocate nfs_write_data structures | 479 | * Allocate nfs_write_data structures |
480 | */ | 480 | */ |
481 | extern struct nfs_write_data *nfs_writedata_alloc(unsigned int pagecount); | 481 | extern struct nfs_write_data *nfs_writedata_alloc(size_t len); |
482 | 482 | ||
483 | /* | 483 | /* |
484 | * linux/fs/nfs/read.c | 484 | * linux/fs/nfs/read.c |
@@ -492,7 +492,7 @@ extern void nfs_readdata_release(void *data); | |||
492 | /* | 492 | /* |
493 | * Allocate nfs_read_data structures | 493 | * Allocate nfs_read_data structures |
494 | */ | 494 | */ |
495 | extern struct nfs_read_data *nfs_readdata_alloc(unsigned int pagecount); | 495 | extern struct nfs_read_data *nfs_readdata_alloc(size_t len); |
496 | 496 | ||
497 | /* | 497 | /* |
498 | * linux/fs/nfs3proc.c | 498 | * linux/fs/nfs3proc.c |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index db9cbf68e12..41e5a19199e 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -729,7 +729,7 @@ struct nfs_read_data { | |||
729 | struct list_head pages; /* Coalesced read requests */ | 729 | struct list_head pages; /* Coalesced read requests */ |
730 | struct nfs_page *req; /* multi ops per nfs_page */ | 730 | struct nfs_page *req; /* multi ops per nfs_page */ |
731 | struct page **pagevec; | 731 | struct page **pagevec; |
732 | unsigned int npages; /* active pages in pagevec */ | 732 | unsigned int npages; /* Max length of pagevec */ |
733 | struct nfs_readargs args; | 733 | struct nfs_readargs args; |
734 | struct nfs_readres res; | 734 | struct nfs_readres res; |
735 | #ifdef CONFIG_NFS_V4 | 735 | #ifdef CONFIG_NFS_V4 |
@@ -748,7 +748,7 @@ struct nfs_write_data { | |||
748 | struct list_head pages; /* Coalesced requests we wish to flush */ | 748 | struct list_head pages; /* Coalesced requests we wish to flush */ |
749 | struct nfs_page *req; /* multi ops per nfs_page */ | 749 | struct nfs_page *req; /* multi ops per nfs_page */ |
750 | struct page **pagevec; | 750 | struct page **pagevec; |
751 | unsigned int npages; /* active pages in pagevec */ | 751 | unsigned int npages; /* Max length of pagevec */ |
752 | struct nfs_writeargs args; /* argument struct */ | 752 | struct nfs_writeargs args; /* argument struct */ |
753 | struct nfs_writeres res; /* result struct */ | 753 | struct nfs_writeres res; /* result struct */ |
754 | #ifdef CONFIG_NFS_V4 | 754 | #ifdef CONFIG_NFS_V4 |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 4c2839eab7f..7a249155ee4 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -648,6 +648,8 @@ | |||
648 | #define PCI_DEVICE_ID_SI_962 0x0962 | 648 | #define PCI_DEVICE_ID_SI_962 0x0962 |
649 | #define PCI_DEVICE_ID_SI_963 0x0963 | 649 | #define PCI_DEVICE_ID_SI_963 0x0963 |
650 | #define PCI_DEVICE_ID_SI_965 0x0965 | 650 | #define PCI_DEVICE_ID_SI_965 0x0965 |
651 | #define PCI_DEVICE_ID_SI_966 0x0966 | ||
652 | #define PCI_DEVICE_ID_SI_968 0x0968 | ||
651 | #define PCI_DEVICE_ID_SI_5511 0x5511 | 653 | #define PCI_DEVICE_ID_SI_5511 0x5511 |
652 | #define PCI_DEVICE_ID_SI_5513 0x5513 | 654 | #define PCI_DEVICE_ID_SI_5513 0x5513 |
653 | #define PCI_DEVICE_ID_SI_5517 0x5517 | 655 | #define PCI_DEVICE_ID_SI_5517 0x5517 |
@@ -1292,6 +1294,7 @@ | |||
1292 | #define PCI_DEVICE_ID_VIA_8367_0 0x3099 | 1294 | #define PCI_DEVICE_ID_VIA_8367_0 0x3099 |
1293 | #define PCI_DEVICE_ID_VIA_8653_0 0x3101 | 1295 | #define PCI_DEVICE_ID_VIA_8653_0 0x3101 |
1294 | #define PCI_DEVICE_ID_VIA_8622 0x3102 | 1296 | #define PCI_DEVICE_ID_VIA_8622 0x3102 |
1297 | #define PCI_DEVICE_ID_VIA_8235_USB_2 0x3104 | ||
1295 | #define PCI_DEVICE_ID_VIA_8233C_0 0x3109 | 1298 | #define PCI_DEVICE_ID_VIA_8233C_0 0x3109 |
1296 | #define PCI_DEVICE_ID_VIA_8361 0x3112 | 1299 | #define PCI_DEVICE_ID_VIA_8361 0x3112 |
1297 | #define PCI_DEVICE_ID_VIA_XM266 0x3116 | 1300 | #define PCI_DEVICE_ID_VIA_XM266 0x3116 |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 6674fc1e51b..34ed0d99b1b 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -994,7 +994,6 @@ struct task_struct { | |||
994 | */ | 994 | */ |
995 | struct pipe_inode_info *splice_pipe; | 995 | struct pipe_inode_info *splice_pipe; |
996 | #ifdef CONFIG_TASK_DELAY_ACCT | 996 | #ifdef CONFIG_TASK_DELAY_ACCT |
997 | spinlock_t delays_lock; | ||
998 | struct task_delay_info *delays; | 997 | struct task_delay_info *delays; |
999 | #endif | 998 | #endif |
1000 | }; | 999 | }; |
diff --git a/include/linux/timex.h b/include/linux/timex.h index 19bb6538b49..d543d3871e3 100644 --- a/include/linux/timex.h +++ b/include/linux/timex.h | |||
@@ -57,7 +57,6 @@ | |||
57 | #include <linux/time.h> | 57 | #include <linux/time.h> |
58 | 58 | ||
59 | #include <asm/param.h> | 59 | #include <asm/param.h> |
60 | #include <asm/timex.h> | ||
61 | 60 | ||
62 | /* | 61 | /* |
63 | * SHIFT_KG and SHIFT_KF establish the damping of the PLL and are chosen | 62 | * SHIFT_KG and SHIFT_KF establish the damping of the PLL and are chosen |
@@ -191,6 +190,8 @@ struct timex { | |||
191 | #define TIME_BAD TIME_ERROR /* bw compat */ | 190 | #define TIME_BAD TIME_ERROR /* bw compat */ |
192 | 191 | ||
193 | #ifdef __KERNEL__ | 192 | #ifdef __KERNEL__ |
193 | #include <asm/timex.h> | ||
194 | |||
194 | /* | 195 | /* |
195 | * kernel variables | 196 | * kernel variables |
196 | * Note: maximum error = NTP synch distance = dispersion + delay / 2; | 197 | * Note: maximum error = NTP synch distance = dispersion + delay / 2; |
diff --git a/include/linux/videodev.h b/include/linux/videodev.h index 518c7a32175..8dba97a291f 100644 --- a/include/linux/videodev.h +++ b/include/linux/videodev.h | |||
@@ -14,8 +14,7 @@ | |||
14 | 14 | ||
15 | #include <linux/videodev2.h> | 15 | #include <linux/videodev2.h> |
16 | 16 | ||
17 | #ifdef CONFIG_VIDEO_V4L1_COMPAT | 17 | #if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__) |
18 | #define HAVE_V4L1 1 | ||
19 | 18 | ||
20 | struct video_capability | 19 | struct video_capability |
21 | { | 20 | { |
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index b7146956a92..e3715d77419 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
@@ -22,8 +22,6 @@ | |||
22 | #endif | 22 | #endif |
23 | #include <linux/types.h> | 23 | #include <linux/types.h> |
24 | 24 | ||
25 | #define HAVE_V4L2 1 | ||
26 | |||
27 | /* | 25 | /* |
28 | * Common stuff for both V4L1 and V4L2 | 26 | * Common stuff for both V4L1 and V4L2 |
29 | * Moved from videodev.h | 27 | * Moved from videodev.h |
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h index 600d61d7d2a..810462f8a37 100644 --- a/include/media/v4l2-dev.h +++ b/include/media/v4l2-dev.h | |||
@@ -194,7 +194,7 @@ struct video_device | |||
194 | 194 | ||
195 | 195 | ||
196 | int (*vidioc_overlay) (struct file *file, void *fh, unsigned int i); | 196 | int (*vidioc_overlay) (struct file *file, void *fh, unsigned int i); |
197 | #ifdef HAVE_V4L1 | 197 | #ifdef CONFIG_VIDEO_V4L1_COMPAT |
198 | /* buffer type is struct vidio_mbuf * */ | 198 | /* buffer type is struct vidio_mbuf * */ |
199 | int (*vidiocgmbuf) (struct file *file, void *fh, struct video_mbuf *p); | 199 | int (*vidiocgmbuf) (struct file *file, void *fh, struct video_mbuf *p); |
200 | #endif | 200 | #endif |
@@ -335,7 +335,7 @@ extern int video_usercopy(struct inode *inode, struct file *file, | |||
335 | unsigned int cmd, void *arg)); | 335 | unsigned int cmd, void *arg)); |
336 | 336 | ||
337 | 337 | ||
338 | #ifdef HAVE_V4L1 | 338 | #ifdef CONFIG_VIDEO_V4L1_COMPAT |
339 | #include <linux/mm.h> | 339 | #include <linux/mm.h> |
340 | 340 | ||
341 | extern struct video_device* video_devdata(struct file*); | 341 | extern struct video_device* video_devdata(struct file*); |
@@ -357,6 +357,8 @@ video_device_remove_file(struct video_device *vfd, | |||
357 | class_device_remove_file(&vfd->class_dev, attr); | 357 | class_device_remove_file(&vfd->class_dev, attr); |
358 | } | 358 | } |
359 | 359 | ||
360 | #endif /* CONFIG_VIDEO_V4L1_COMPAT */ | ||
361 | |||
360 | #ifdef OBSOLETE_OWNER /* to be removed soon */ | 362 | #ifdef OBSOLETE_OWNER /* to be removed soon */ |
361 | /* helper functions to access driver private data. */ | 363 | /* helper functions to access driver private data. */ |
362 | static inline void *video_get_drvdata(struct video_device *dev) | 364 | static inline void *video_get_drvdata(struct video_device *dev) |
@@ -372,6 +374,5 @@ static inline void video_set_drvdata(struct video_device *dev, void *data) | |||
372 | 374 | ||
373 | extern int video_exclusive_open(struct inode *inode, struct file *file); | 375 | extern int video_exclusive_open(struct inode *inode, struct file *file); |
374 | extern int video_exclusive_release(struct inode *inode, struct file *file); | 376 | extern int video_exclusive_release(struct inode *inode, struct file *file); |
375 | #endif /* HAVE_V4L1 */ | ||
376 | 377 | ||
377 | #endif /* _V4L2_DEV_H */ | 378 | #endif /* _V4L2_DEV_H */ |
diff --git a/kernel/audit.c b/kernel/audit.c index 0a36091ed71..963fd15c962 100644 --- a/kernel/audit.c +++ b/kernel/audit.c | |||
@@ -1028,6 +1028,9 @@ void audit_log_hex(struct audit_buffer *ab, const unsigned char *buf, | |||
1028 | struct sk_buff *skb; | 1028 | struct sk_buff *skb; |
1029 | static const unsigned char *hex = "0123456789ABCDEF"; | 1029 | static const unsigned char *hex = "0123456789ABCDEF"; |
1030 | 1030 | ||
1031 | if (!ab) | ||
1032 | return; | ||
1033 | |||
1031 | BUG_ON(!ab->skb); | 1034 | BUG_ON(!ab->skb); |
1032 | skb = ab->skb; | 1035 | skb = ab->skb; |
1033 | avail = skb_tailroom(skb); | 1036 | avail = skb_tailroom(skb); |
@@ -1060,6 +1063,9 @@ static void audit_log_n_string(struct audit_buffer *ab, size_t slen, | |||
1060 | unsigned char *ptr; | 1063 | unsigned char *ptr; |
1061 | struct sk_buff *skb; | 1064 | struct sk_buff *skb; |
1062 | 1065 | ||
1066 | if (!ab) | ||
1067 | return; | ||
1068 | |||
1063 | BUG_ON(!ab->skb); | 1069 | BUG_ON(!ab->skb); |
1064 | skb = ab->skb; | 1070 | skb = ab->skb; |
1065 | avail = skb_tailroom(skb); | 1071 | avail = skb_tailroom(skb); |
diff --git a/kernel/audit.h b/kernel/audit.h index 6aa33b848cf..a3370232a39 100644 --- a/kernel/audit.h +++ b/kernel/audit.h | |||
@@ -104,6 +104,7 @@ static inline int audit_hash_ino(u32 ino) | |||
104 | return (ino & (AUDIT_INODE_BUCKETS-1)); | 104 | return (ino & (AUDIT_INODE_BUCKETS-1)); |
105 | } | 105 | } |
106 | 106 | ||
107 | extern int audit_match_class(int class, unsigned syscall); | ||
107 | extern int audit_comparator(const u32 left, const u32 op, const u32 right); | 108 | extern int audit_comparator(const u32 left, const u32 op, const u32 right); |
108 | extern int audit_compare_dname_path(const char *dname, const char *path, | 109 | extern int audit_compare_dname_path(const char *dname, const char *path, |
109 | int *dirlen); | 110 | int *dirlen); |
diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c index 6a9a5c5a4e7..a44879b0c72 100644 --- a/kernel/auditfilter.c +++ b/kernel/auditfilter.c | |||
@@ -302,6 +302,15 @@ int __init audit_register_class(int class, unsigned *list) | |||
302 | return 0; | 302 | return 0; |
303 | } | 303 | } |
304 | 304 | ||
305 | int audit_match_class(int class, unsigned syscall) | ||
306 | { | ||
307 | if (unlikely(syscall >= AUDIT_BITMASK_SIZE * sizeof(__u32))) | ||
308 | return 0; | ||
309 | if (unlikely(class >= AUDIT_SYSCALL_CLASSES || !classes[class])) | ||
310 | return 0; | ||
311 | return classes[class][AUDIT_WORD(syscall)] & AUDIT_BIT(syscall); | ||
312 | } | ||
313 | |||
305 | /* Common user-space to kernel rule translation. */ | 314 | /* Common user-space to kernel rule translation. */ |
306 | static inline struct audit_entry *audit_to_entry_common(struct audit_rule *rule) | 315 | static inline struct audit_entry *audit_to_entry_common(struct audit_rule *rule) |
307 | { | 316 | { |
@@ -404,6 +413,7 @@ static struct audit_entry *audit_rule_to_entry(struct audit_rule *rule) | |||
404 | case AUDIT_PERS: | 413 | case AUDIT_PERS: |
405 | case AUDIT_ARCH: | 414 | case AUDIT_ARCH: |
406 | case AUDIT_MSGTYPE: | 415 | case AUDIT_MSGTYPE: |
416 | case AUDIT_PPID: | ||
407 | case AUDIT_DEVMAJOR: | 417 | case AUDIT_DEVMAJOR: |
408 | case AUDIT_DEVMINOR: | 418 | case AUDIT_DEVMINOR: |
409 | case AUDIT_EXIT: | 419 | case AUDIT_EXIT: |
@@ -413,6 +423,10 @@ static struct audit_entry *audit_rule_to_entry(struct audit_rule *rule) | |||
413 | case AUDIT_ARG2: | 423 | case AUDIT_ARG2: |
414 | case AUDIT_ARG3: | 424 | case AUDIT_ARG3: |
415 | break; | 425 | break; |
426 | case AUDIT_PERM: | ||
427 | if (f->val & ~15) | ||
428 | goto exit_free; | ||
429 | break; | ||
416 | case AUDIT_INODE: | 430 | case AUDIT_INODE: |
417 | err = audit_to_inode(&entry->rule, f); | 431 | err = audit_to_inode(&entry->rule, f); |
418 | if (err) | 432 | if (err) |
@@ -567,6 +581,10 @@ static struct audit_entry *audit_data_to_entry(struct audit_rule_data *data, | |||
567 | entry->rule.buflen += f->val; | 581 | entry->rule.buflen += f->val; |
568 | entry->rule.filterkey = str; | 582 | entry->rule.filterkey = str; |
569 | break; | 583 | break; |
584 | case AUDIT_PERM: | ||
585 | if (f->val & ~15) | ||
586 | goto exit_free; | ||
587 | break; | ||
570 | default: | 588 | default: |
571 | goto exit_free; | 589 | goto exit_free; |
572 | } | 590 | } |
@@ -913,7 +931,7 @@ static void audit_update_watch(struct audit_parent *parent, | |||
913 | } | 931 | } |
914 | 932 | ||
915 | ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE); | 933 | ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE); |
916 | audit_log_format(ab, "audit updated rules specifying watch="); | 934 | audit_log_format(ab, "audit updated rules specifying path="); |
917 | audit_log_untrustedstring(ab, owatch->path); | 935 | audit_log_untrustedstring(ab, owatch->path); |
918 | audit_log_format(ab, " with dev=%u ino=%lu\n", dev, ino); | 936 | audit_log_format(ab, " with dev=%u ino=%lu\n", dev, ino); |
919 | audit_log_end(ab); | 937 | audit_log_end(ab); |
@@ -936,19 +954,28 @@ static void audit_remove_parent_watches(struct audit_parent *parent) | |||
936 | struct audit_watch *w, *nextw; | 954 | struct audit_watch *w, *nextw; |
937 | struct audit_krule *r, *nextr; | 955 | struct audit_krule *r, *nextr; |
938 | struct audit_entry *e; | 956 | struct audit_entry *e; |
957 | struct audit_buffer *ab; | ||
939 | 958 | ||
940 | mutex_lock(&audit_filter_mutex); | 959 | mutex_lock(&audit_filter_mutex); |
941 | parent->flags |= AUDIT_PARENT_INVALID; | 960 | parent->flags |= AUDIT_PARENT_INVALID; |
942 | list_for_each_entry_safe(w, nextw, &parent->watches, wlist) { | 961 | list_for_each_entry_safe(w, nextw, &parent->watches, wlist) { |
943 | list_for_each_entry_safe(r, nextr, &w->rules, rlist) { | 962 | list_for_each_entry_safe(r, nextr, &w->rules, rlist) { |
944 | e = container_of(r, struct audit_entry, rule); | 963 | e = container_of(r, struct audit_entry, rule); |
964 | |||
965 | ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE); | ||
966 | audit_log_format(ab, "audit implicitly removed rule path="); | ||
967 | audit_log_untrustedstring(ab, w->path); | ||
968 | if (r->filterkey) { | ||
969 | audit_log_format(ab, " key="); | ||
970 | audit_log_untrustedstring(ab, r->filterkey); | ||
971 | } else | ||
972 | audit_log_format(ab, " key=(null)"); | ||
973 | audit_log_format(ab, " list=%d", r->listnr); | ||
974 | audit_log_end(ab); | ||
975 | |||
945 | list_del(&r->rlist); | 976 | list_del(&r->rlist); |
946 | list_del_rcu(&e->list); | 977 | list_del_rcu(&e->list); |
947 | call_rcu(&e->rcu, audit_free_rule_rcu); | 978 | call_rcu(&e->rcu, audit_free_rule_rcu); |
948 | |||
949 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
950 | "audit implicitly removed rule from list=%d\n", | ||
951 | AUDIT_FILTER_EXIT); | ||
952 | } | 979 | } |
953 | audit_remove_watch(w); | 980 | audit_remove_watch(w); |
954 | } | 981 | } |
diff --git a/kernel/auditsc.c b/kernel/auditsc.c index efc1b74bebf..1bd8827a010 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c | |||
@@ -209,6 +209,54 @@ struct audit_context { | |||
209 | #endif | 209 | #endif |
210 | }; | 210 | }; |
211 | 211 | ||
212 | #define ACC_MODE(x) ("\004\002\006\006"[(x)&O_ACCMODE]) | ||
213 | static inline int open_arg(int flags, int mask) | ||
214 | { | ||
215 | int n = ACC_MODE(flags); | ||
216 | if (flags & (O_TRUNC | O_CREAT)) | ||
217 | n |= AUDIT_PERM_WRITE; | ||
218 | return n & mask; | ||
219 | } | ||
220 | |||
221 | static int audit_match_perm(struct audit_context *ctx, int mask) | ||
222 | { | ||
223 | unsigned n = ctx->major; | ||
224 | switch (audit_classify_syscall(ctx->arch, n)) { | ||
225 | case 0: /* native */ | ||
226 | if ((mask & AUDIT_PERM_WRITE) && | ||
227 | audit_match_class(AUDIT_CLASS_WRITE, n)) | ||
228 | return 1; | ||
229 | if ((mask & AUDIT_PERM_READ) && | ||
230 | audit_match_class(AUDIT_CLASS_READ, n)) | ||
231 | return 1; | ||
232 | if ((mask & AUDIT_PERM_ATTR) && | ||
233 | audit_match_class(AUDIT_CLASS_CHATTR, n)) | ||
234 | return 1; | ||
235 | return 0; | ||
236 | case 1: /* 32bit on biarch */ | ||
237 | if ((mask & AUDIT_PERM_WRITE) && | ||
238 | audit_match_class(AUDIT_CLASS_WRITE_32, n)) | ||
239 | return 1; | ||
240 | if ((mask & AUDIT_PERM_READ) && | ||
241 | audit_match_class(AUDIT_CLASS_READ_32, n)) | ||
242 | return 1; | ||
243 | if ((mask & AUDIT_PERM_ATTR) && | ||
244 | audit_match_class(AUDIT_CLASS_CHATTR_32, n)) | ||
245 | return 1; | ||
246 | return 0; | ||
247 | case 2: /* open */ | ||
248 | return mask & ACC_MODE(ctx->argv[1]); | ||
249 | case 3: /* openat */ | ||
250 | return mask & ACC_MODE(ctx->argv[2]); | ||
251 | case 4: /* socketcall */ | ||
252 | return ((mask & AUDIT_PERM_WRITE) && ctx->argv[0] == SYS_BIND); | ||
253 | case 5: /* execve */ | ||
254 | return mask & AUDIT_PERM_EXEC; | ||
255 | default: | ||
256 | return 0; | ||
257 | } | ||
258 | } | ||
259 | |||
212 | /* Determine if any context name data matches a rule's watch data */ | 260 | /* Determine if any context name data matches a rule's watch data */ |
213 | /* Compare a task_struct with an audit_rule. Return 1 on match, 0 | 261 | /* Compare a task_struct with an audit_rule. Return 1 on match, 0 |
214 | * otherwise. */ | 262 | * otherwise. */ |
@@ -397,6 +445,9 @@ static int audit_filter_rules(struct task_struct *tsk, | |||
397 | /* ignore this field for filtering */ | 445 | /* ignore this field for filtering */ |
398 | result = 1; | 446 | result = 1; |
399 | break; | 447 | break; |
448 | case AUDIT_PERM: | ||
449 | result = audit_match_perm(ctx, f->val); | ||
450 | break; | ||
400 | } | 451 | } |
401 | 452 | ||
402 | if (!result) | 453 | if (!result) |
diff --git a/kernel/delayacct.c b/kernel/delayacct.c index 57ca3730205..36752f124c6 100644 --- a/kernel/delayacct.c +++ b/kernel/delayacct.c | |||
@@ -41,24 +41,11 @@ void delayacct_init(void) | |||
41 | 41 | ||
42 | void __delayacct_tsk_init(struct task_struct *tsk) | 42 | void __delayacct_tsk_init(struct task_struct *tsk) |
43 | { | 43 | { |
44 | spin_lock_init(&tsk->delays_lock); | ||
45 | /* No need to acquire tsk->delays_lock for allocation here unless | ||
46 | __delayacct_tsk_init called after tsk is attached to tasklist | ||
47 | */ | ||
48 | tsk->delays = kmem_cache_zalloc(delayacct_cache, SLAB_KERNEL); | 44 | tsk->delays = kmem_cache_zalloc(delayacct_cache, SLAB_KERNEL); |
49 | if (tsk->delays) | 45 | if (tsk->delays) |
50 | spin_lock_init(&tsk->delays->lock); | 46 | spin_lock_init(&tsk->delays->lock); |
51 | } | 47 | } |
52 | 48 | ||
53 | void __delayacct_tsk_exit(struct task_struct *tsk) | ||
54 | { | ||
55 | struct task_delay_info *delays = tsk->delays; | ||
56 | spin_lock(&tsk->delays_lock); | ||
57 | tsk->delays = NULL; | ||
58 | spin_unlock(&tsk->delays_lock); | ||
59 | kmem_cache_free(delayacct_cache, delays); | ||
60 | } | ||
61 | |||
62 | /* | 49 | /* |
63 | * Start accounting for a delay statistic using | 50 | * Start accounting for a delay statistic using |
64 | * its starting timestamp (@start) | 51 | * its starting timestamp (@start) |
@@ -118,8 +105,6 @@ int __delayacct_add_tsk(struct taskstats *d, struct task_struct *tsk) | |||
118 | struct timespec ts; | 105 | struct timespec ts; |
119 | unsigned long t1,t2,t3; | 106 | unsigned long t1,t2,t3; |
120 | 107 | ||
121 | spin_lock(&tsk->delays_lock); | ||
122 | |||
123 | /* Though tsk->delays accessed later, early exit avoids | 108 | /* Though tsk->delays accessed later, early exit avoids |
124 | * unnecessary returning of other data | 109 | * unnecessary returning of other data |
125 | */ | 110 | */ |
@@ -161,7 +146,6 @@ int __delayacct_add_tsk(struct taskstats *d, struct task_struct *tsk) | |||
161 | spin_unlock(&tsk->delays->lock); | 146 | spin_unlock(&tsk->delays->lock); |
162 | 147 | ||
163 | done: | 148 | done: |
164 | spin_unlock(&tsk->delays_lock); | ||
165 | return 0; | 149 | return 0; |
166 | } | 150 | } |
167 | 151 | ||
diff --git a/kernel/exit.c b/kernel/exit.c index dba194a8d41..d891883420f 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
@@ -908,7 +908,6 @@ fastcall NORET_TYPE void do_exit(long code) | |||
908 | audit_free(tsk); | 908 | audit_free(tsk); |
909 | taskstats_exit_send(tsk, tidstats, group_dead, mycpu); | 909 | taskstats_exit_send(tsk, tidstats, group_dead, mycpu); |
910 | taskstats_exit_free(tidstats); | 910 | taskstats_exit_free(tidstats); |
911 | delayacct_tsk_exit(tsk); | ||
912 | 911 | ||
913 | exit_mm(tsk); | 912 | exit_mm(tsk); |
914 | 913 | ||
@@ -1054,7 +1053,7 @@ static int eligible_child(pid_t pid, int options, struct task_struct *p) | |||
1054 | * Do not consider thread group leaders that are | 1053 | * Do not consider thread group leaders that are |
1055 | * in a non-empty thread group: | 1054 | * in a non-empty thread group: |
1056 | */ | 1055 | */ |
1057 | if (current->tgid != p->tgid && delay_group_leader(p)) | 1056 | if (delay_group_leader(p)) |
1058 | return 2; | 1057 | return 2; |
1059 | 1058 | ||
1060 | if (security_task_wait(p)) | 1059 | if (security_task_wait(p)) |
diff --git a/kernel/fork.c b/kernel/fork.c index aa36c43783c..f9b014e3e70 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -117,6 +117,7 @@ void __put_task_struct(struct task_struct *tsk) | |||
117 | security_task_free(tsk); | 117 | security_task_free(tsk); |
118 | free_uid(tsk->user); | 118 | free_uid(tsk->user); |
119 | put_group_info(tsk->group_info); | 119 | put_group_info(tsk->group_info); |
120 | delayacct_tsk_free(tsk); | ||
120 | 121 | ||
121 | if (!profile_handoff_task(tsk)) | 122 | if (!profile_handoff_task(tsk)) |
122 | free_task(tsk); | 123 | free_task(tsk); |
@@ -1011,7 +1012,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, | |||
1011 | retval = -EFAULT; | 1012 | retval = -EFAULT; |
1012 | if (clone_flags & CLONE_PARENT_SETTID) | 1013 | if (clone_flags & CLONE_PARENT_SETTID) |
1013 | if (put_user(p->pid, parent_tidptr)) | 1014 | if (put_user(p->pid, parent_tidptr)) |
1014 | goto bad_fork_cleanup; | 1015 | goto bad_fork_cleanup_delays_binfmt; |
1015 | 1016 | ||
1016 | INIT_LIST_HEAD(&p->children); | 1017 | INIT_LIST_HEAD(&p->children); |
1017 | INIT_LIST_HEAD(&p->sibling); | 1018 | INIT_LIST_HEAD(&p->sibling); |
@@ -1277,7 +1278,8 @@ bad_fork_cleanup_policy: | |||
1277 | bad_fork_cleanup_cpuset: | 1278 | bad_fork_cleanup_cpuset: |
1278 | #endif | 1279 | #endif |
1279 | cpuset_exit(p); | 1280 | cpuset_exit(p); |
1280 | bad_fork_cleanup: | 1281 | bad_fork_cleanup_delays_binfmt: |
1282 | delayacct_tsk_free(p); | ||
1281 | if (p->binfmt) | 1283 | if (p->binfmt) |
1282 | module_put(p->binfmt->module); | 1284 | module_put(p->binfmt->module); |
1283 | bad_fork_cleanup_put_domain: | 1285 | bad_fork_cleanup_put_domain: |
diff --git a/kernel/futex.c b/kernel/futex.c index b9b8aea5389..9d260e838cf 100644 --- a/kernel/futex.c +++ b/kernel/futex.c | |||
@@ -1120,9 +1120,10 @@ static int futex_wait(u32 __user *uaddr, u32 val, unsigned long time) | |||
1120 | * if there are waiters then it will block, it does PI, etc. (Due to | 1120 | * if there are waiters then it will block, it does PI, etc. (Due to |
1121 | * races the kernel might see a 0 value of the futex too.) | 1121 | * races the kernel might see a 0 value of the futex too.) |
1122 | */ | 1122 | */ |
1123 | static int do_futex_lock_pi(u32 __user *uaddr, int detect, int trylock, | 1123 | static int futex_lock_pi(u32 __user *uaddr, int detect, unsigned long sec, |
1124 | struct hrtimer_sleeper *to) | 1124 | long nsec, int trylock) |
1125 | { | 1125 | { |
1126 | struct hrtimer_sleeper timeout, *to = NULL; | ||
1126 | struct task_struct *curr = current; | 1127 | struct task_struct *curr = current; |
1127 | struct futex_hash_bucket *hb; | 1128 | struct futex_hash_bucket *hb; |
1128 | u32 uval, newval, curval; | 1129 | u32 uval, newval, curval; |
@@ -1132,6 +1133,13 @@ static int do_futex_lock_pi(u32 __user *uaddr, int detect, int trylock, | |||
1132 | if (refill_pi_state_cache()) | 1133 | if (refill_pi_state_cache()) |
1133 | return -ENOMEM; | 1134 | return -ENOMEM; |
1134 | 1135 | ||
1136 | if (sec != MAX_SCHEDULE_TIMEOUT) { | ||
1137 | to = &timeout; | ||
1138 | hrtimer_init(&to->timer, CLOCK_REALTIME, HRTIMER_ABS); | ||
1139 | hrtimer_init_sleeper(to, current); | ||
1140 | to->timer.expires = ktime_set(sec, nsec); | ||
1141 | } | ||
1142 | |||
1135 | q.pi_state = NULL; | 1143 | q.pi_state = NULL; |
1136 | retry: | 1144 | retry: |
1137 | down_read(&curr->mm->mmap_sem); | 1145 | down_read(&curr->mm->mmap_sem); |
@@ -1307,7 +1315,7 @@ static int do_futex_lock_pi(u32 __user *uaddr, int detect, int trylock, | |||
1307 | if (!detect && ret == -EDEADLK && 0) | 1315 | if (!detect && ret == -EDEADLK && 0) |
1308 | force_sig(SIGKILL, current); | 1316 | force_sig(SIGKILL, current); |
1309 | 1317 | ||
1310 | return ret; | 1318 | return ret != -EINTR ? ret : -ERESTARTNOINTR; |
1311 | 1319 | ||
1312 | out_unlock_release_sem: | 1320 | out_unlock_release_sem: |
1313 | queue_unlock(&q, hb); | 1321 | queue_unlock(&q, hb); |
@@ -1342,76 +1350,6 @@ static int do_futex_lock_pi(u32 __user *uaddr, int detect, int trylock, | |||
1342 | } | 1350 | } |
1343 | 1351 | ||
1344 | /* | 1352 | /* |
1345 | * Restart handler | ||
1346 | */ | ||
1347 | static long futex_lock_pi_restart(struct restart_block *restart) | ||
1348 | { | ||
1349 | struct hrtimer_sleeper timeout, *to = NULL; | ||
1350 | int ret; | ||
1351 | |||
1352 | restart->fn = do_no_restart_syscall; | ||
1353 | |||
1354 | if (restart->arg2 || restart->arg3) { | ||
1355 | to = &timeout; | ||
1356 | hrtimer_init(&to->timer, CLOCK_REALTIME, HRTIMER_ABS); | ||
1357 | hrtimer_init_sleeper(to, current); | ||
1358 | to->timer.expires.tv64 = ((u64)restart->arg1 << 32) | | ||
1359 | (u64) restart->arg0; | ||
1360 | } | ||
1361 | |||
1362 | pr_debug("lock_pi restart: %p, %d (%d)\n", | ||
1363 | (u32 __user *)restart->arg0, current->pid); | ||
1364 | |||
1365 | ret = do_futex_lock_pi((u32 __user *)restart->arg0, restart->arg1, | ||
1366 | 0, to); | ||
1367 | |||
1368 | if (ret != -EINTR) | ||
1369 | return ret; | ||
1370 | |||
1371 | restart->fn = futex_lock_pi_restart; | ||
1372 | |||
1373 | /* The other values are filled in */ | ||
1374 | return -ERESTART_RESTARTBLOCK; | ||
1375 | } | ||
1376 | |||
1377 | /* | ||
1378 | * Called from the syscall entry below. | ||
1379 | */ | ||
1380 | static int futex_lock_pi(u32 __user *uaddr, int detect, unsigned long sec, | ||
1381 | long nsec, int trylock) | ||
1382 | { | ||
1383 | struct hrtimer_sleeper timeout, *to = NULL; | ||
1384 | struct restart_block *restart; | ||
1385 | int ret; | ||
1386 | |||
1387 | if (sec != MAX_SCHEDULE_TIMEOUT) { | ||
1388 | to = &timeout; | ||
1389 | hrtimer_init(&to->timer, CLOCK_REALTIME, HRTIMER_ABS); | ||
1390 | hrtimer_init_sleeper(to, current); | ||
1391 | to->timer.expires = ktime_set(sec, nsec); | ||
1392 | } | ||
1393 | |||
1394 | ret = do_futex_lock_pi(uaddr, detect, trylock, to); | ||
1395 | |||
1396 | if (ret != -EINTR) | ||
1397 | return ret; | ||
1398 | |||
1399 | pr_debug("lock_pi interrupted: %p, %d (%d)\n", uaddr, current->pid); | ||
1400 | |||
1401 | restart = ¤t_thread_info()->restart_block; | ||
1402 | restart->fn = futex_lock_pi_restart; | ||
1403 | restart->arg0 = (unsigned long) uaddr; | ||
1404 | restart->arg1 = detect; | ||
1405 | if (to) { | ||
1406 | restart->arg2 = to->timer.expires.tv64 & 0xFFFFFFFF; | ||
1407 | restart->arg3 = to->timer.expires.tv64 >> 32; | ||
1408 | } else | ||
1409 | restart->arg2 = restart->arg3 = 0; | ||
1410 | |||
1411 | return -ERESTART_RESTARTBLOCK; | ||
1412 | } | ||
1413 | |||
1414 | /* | ||
1415 | * Userspace attempted a TID -> 0 atomic transition, and failed. | 1353 | * Userspace attempted a TID -> 0 atomic transition, and failed. |
1416 | * This is the in-kernel slowpath: we look up the PI state (if any), | 1354 | * This is the in-kernel slowpath: we look up the PI state (if any), |
1417 | * and do the rt-mutex unlock. | 1355 | * and do the rt-mutex unlock. |
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index fc4e906aedb..48a53f68af9 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
@@ -20,6 +20,11 @@ | |||
20 | 20 | ||
21 | /** | 21 | /** |
22 | * handle_bad_irq - handle spurious and unhandled irqs | 22 | * handle_bad_irq - handle spurious and unhandled irqs |
23 | * @irq: the interrupt number | ||
24 | * @desc: description of the interrupt | ||
25 | * @regs: pointer to a register structure | ||
26 | * | ||
27 | * Handles spurious and unhandled IRQ's. It also prints a debugmessage. | ||
23 | */ | 28 | */ |
24 | void fastcall | 29 | void fastcall |
25 | handle_bad_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs) | 30 | handle_bad_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs) |
diff --git a/kernel/lockdep_internals.h b/kernel/lockdep_internals.h index 0d355f24fe0..eab043c83bb 100644 --- a/kernel/lockdep_internals.h +++ b/kernel/lockdep_internals.h | |||
@@ -27,7 +27,7 @@ | |||
27 | * Stack-trace: tightly packed array of stack backtrace | 27 | * Stack-trace: tightly packed array of stack backtrace |
28 | * addresses. Protected by the hash_lock. | 28 | * addresses. Protected by the hash_lock. |
29 | */ | 29 | */ |
30 | #define MAX_STACK_TRACE_ENTRIES 131072UL | 30 | #define MAX_STACK_TRACE_ENTRIES 262144UL |
31 | 31 | ||
32 | extern struct list_head all_lock_classes; | 32 | extern struct list_head all_lock_classes; |
33 | 33 | ||
diff --git a/kernel/panic.c b/kernel/panic.c index 9b8dcfd1ca9..8010b9b17ac 100644 --- a/kernel/panic.c +++ b/kernel/panic.c | |||
@@ -173,7 +173,7 @@ const char *print_tainted(void) | |||
173 | 173 | ||
174 | void add_taint(unsigned flag) | 174 | void add_taint(unsigned flag) |
175 | { | 175 | { |
176 | debug_locks_off(); /* can't trust the integrity of the kernel anymore */ | 176 | debug_locks = 0; /* can't trust the integrity of the kernel anymore */ |
177 | tainted |= flag; | 177 | tainted |= flag; |
178 | } | 178 | } |
179 | EXPORT_SYMBOL(add_taint); | 179 | EXPORT_SYMBOL(add_taint); |
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig index ae44a70aae8..619ecabf7c5 100644 --- a/kernel/power/Kconfig +++ b/kernel/power/Kconfig | |||
@@ -56,7 +56,7 @@ config PM_TRACE | |||
56 | 56 | ||
57 | config SOFTWARE_SUSPEND | 57 | config SOFTWARE_SUSPEND |
58 | bool "Software Suspend" | 58 | bool "Software Suspend" |
59 | depends on PM && SWAP && (X86 && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP) | 59 | depends on PM && SWAP && ((X86 && (!SMP || SUSPEND_SMP) && !X86_PAE) || ((FRV || PPC32) && !SMP)) |
60 | ---help--- | 60 | ---help--- |
61 | Enable the possibility of suspending the machine. | 61 | Enable the possibility of suspending the machine. |
62 | It doesn't need ACPI or APM. | 62 | It doesn't need ACPI or APM. |
@@ -78,6 +78,10 @@ config SOFTWARE_SUSPEND | |||
78 | 78 | ||
79 | For more information take a look at <file:Documentation/power/swsusp.txt>. | 79 | For more information take a look at <file:Documentation/power/swsusp.txt>. |
80 | 80 | ||
81 | (For now, swsusp is incompatible with PAE aka HIGHMEM_64G on i386. | ||
82 | we need identity mapping for resume to work, and that is trivial | ||
83 | to get with 4MB pages, but less than trivial on PAE). | ||
84 | |||
81 | config PM_STD_PARTITION | 85 | config PM_STD_PARTITION |
82 | string "Default resume partition" | 86 | string "Default resume partition" |
83 | depends on SOFTWARE_SUSPEND | 87 | depends on SOFTWARE_SUSPEND |
diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c index 436ab35f6fa..523e46483b9 100644 --- a/kernel/rcupdate.c +++ b/kernel/rcupdate.c | |||
@@ -241,12 +241,16 @@ static void rcu_do_batch(struct rcu_data *rdp) | |||
241 | next = rdp->donelist = list->next; | 241 | next = rdp->donelist = list->next; |
242 | list->func(list); | 242 | list->func(list); |
243 | list = next; | 243 | list = next; |
244 | rdp->qlen--; | ||
245 | if (++count >= rdp->blimit) | 244 | if (++count >= rdp->blimit) |
246 | break; | 245 | break; |
247 | } | 246 | } |
247 | |||
248 | local_irq_disable(); | ||
249 | rdp->qlen -= count; | ||
250 | local_irq_enable(); | ||
248 | if (rdp->blimit == INT_MAX && rdp->qlen <= qlowmark) | 251 | if (rdp->blimit == INT_MAX && rdp->qlen <= qlowmark) |
249 | rdp->blimit = blimit; | 252 | rdp->blimit = blimit; |
253 | |||
250 | if (!rdp->donelist) | 254 | if (!rdp->donelist) |
251 | rdp->donetail = &rdp->donelist; | 255 | rdp->donetail = &rdp->donelist; |
252 | else | 256 | else |
diff --git a/kernel/spinlock.c b/kernel/spinlock.c index bfd6ad9c033..fb524b009ee 100644 --- a/kernel/spinlock.c +++ b/kernel/spinlock.c | |||
@@ -72,7 +72,7 @@ EXPORT_SYMBOL(_write_trylock); | |||
72 | * not re-enabled during lock-acquire (which the preempt-spin-ops do): | 72 | * not re-enabled during lock-acquire (which the preempt-spin-ops do): |
73 | */ | 73 | */ |
74 | #if !defined(CONFIG_PREEMPT) || !defined(CONFIG_SMP) || \ | 74 | #if !defined(CONFIG_PREEMPT) || !defined(CONFIG_SMP) || \ |
75 | defined(CONFIG_PROVE_LOCKING) | 75 | defined(CONFIG_DEBUG_LOCK_ALLOC) |
76 | 76 | ||
77 | void __lockfunc _read_lock(rwlock_t *lock) | 77 | void __lockfunc _read_lock(rwlock_t *lock) |
78 | { | 78 | { |
diff --git a/lib/Kconfig b/lib/Kconfig index f6299342b88..734ce95a93d 100644 --- a/lib/Kconfig +++ b/lib/Kconfig | |||
@@ -38,6 +38,11 @@ config LIBCRC32C | |||
38 | require M here. See Castagnoli93. | 38 | require M here. See Castagnoli93. |
39 | Module will be libcrc32c. | 39 | Module will be libcrc32c. |
40 | 40 | ||
41 | config AUDIT_GENERIC | ||
42 | bool | ||
43 | depends on AUDIT && !AUDIT_ARCH | ||
44 | default y | ||
45 | |||
41 | # | 46 | # |
42 | # compression support is select'ed if needed | 47 | # compression support is select'ed if needed |
43 | # | 48 | # |
diff --git a/lib/Makefile b/lib/Makefile index be9719ae82d..ef1d37afbbb 100644 --- a/lib/Makefile +++ b/lib/Makefile | |||
@@ -49,6 +49,7 @@ obj-$(CONFIG_TEXTSEARCH_KMP) += ts_kmp.o | |||
49 | obj-$(CONFIG_TEXTSEARCH_BM) += ts_bm.o | 49 | obj-$(CONFIG_TEXTSEARCH_BM) += ts_bm.o |
50 | obj-$(CONFIG_TEXTSEARCH_FSM) += ts_fsm.o | 50 | obj-$(CONFIG_TEXTSEARCH_FSM) += ts_fsm.o |
51 | obj-$(CONFIG_SMP) += percpu_counter.o | 51 | obj-$(CONFIG_SMP) += percpu_counter.o |
52 | obj-$(CONFIG_AUDIT_GENERIC) += audit.o | ||
52 | 53 | ||
53 | obj-$(CONFIG_SWIOTLB) += swiotlb.o | 54 | obj-$(CONFIG_SWIOTLB) += swiotlb.o |
54 | 55 | ||
diff --git a/lib/audit.c b/lib/audit.c new file mode 100644 index 00000000000..8c21625ef93 --- /dev/null +++ b/lib/audit.c | |||
@@ -0,0 +1,53 @@ | |||
1 | #include <linux/init.h> | ||
2 | #include <linux/types.h> | ||
3 | #include <linux/audit.h> | ||
4 | #include <asm/unistd.h> | ||
5 | |||
6 | static unsigned dir_class[] = { | ||
7 | #include <asm-generic/audit_dir_write.h> | ||
8 | ~0U | ||
9 | }; | ||
10 | |||
11 | static unsigned read_class[] = { | ||
12 | #include <asm-generic/audit_read.h> | ||
13 | ~0U | ||
14 | }; | ||
15 | |||
16 | static unsigned write_class[] = { | ||
17 | #include <asm-generic/audit_write.h> | ||
18 | ~0U | ||
19 | }; | ||
20 | |||
21 | static unsigned chattr_class[] = { | ||
22 | #include <asm-generic/audit_change_attr.h> | ||
23 | ~0U | ||
24 | }; | ||
25 | |||
26 | int audit_classify_syscall(int abi, unsigned syscall) | ||
27 | { | ||
28 | switch(syscall) { | ||
29 | case __NR_open: | ||
30 | return 2; | ||
31 | case __NR_openat: | ||
32 | return 3; | ||
33 | #ifdef __NR_socketcall | ||
34 | case __NR_socketcall: | ||
35 | return 4; | ||
36 | #endif | ||
37 | case __NR_execve: | ||
38 | return 5; | ||
39 | default: | ||
40 | return 0; | ||
41 | } | ||
42 | } | ||
43 | |||
44 | static int __init audit_classes_init(void) | ||
45 | { | ||
46 | audit_register_class(AUDIT_CLASS_WRITE, write_class); | ||
47 | audit_register_class(AUDIT_CLASS_READ, read_class); | ||
48 | audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); | ||
49 | audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); | ||
50 | return 0; | ||
51 | } | ||
52 | |||
53 | __initcall(audit_classes_init); | ||
diff --git a/mm/mempolicy.c b/mm/mempolicy.c index e07e27e846a..a9963ceddd6 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c | |||
@@ -1176,7 +1176,15 @@ static inline unsigned interleave_nid(struct mempolicy *pol, | |||
1176 | if (vma) { | 1176 | if (vma) { |
1177 | unsigned long off; | 1177 | unsigned long off; |
1178 | 1178 | ||
1179 | off = vma->vm_pgoff; | 1179 | /* |
1180 | * for small pages, there is no difference between | ||
1181 | * shift and PAGE_SHIFT, so the bit-shift is safe. | ||
1182 | * for huge pages, since vm_pgoff is in units of small | ||
1183 | * pages, we need to shift off the always 0 bits to get | ||
1184 | * a useful offset. | ||
1185 | */ | ||
1186 | BUG_ON(shift < PAGE_SHIFT); | ||
1187 | off = vma->vm_pgoff >> (shift - PAGE_SHIFT); | ||
1180 | off += (addr - vma->vm_start) >> shift; | 1188 | off += (addr - vma->vm_start) >> shift; |
1181 | return offset_il_node(pol, vma, off); | 1189 | return offset_il_node(pol, vma, off); |
1182 | } else | 1190 | } else |
diff --git a/mm/mempool.c b/mm/mempool.c index fe6e05289cc..ccd8cb8cd41 100644 --- a/mm/mempool.c +++ b/mm/mempool.c | |||
@@ -238,8 +238,13 @@ repeat_alloc: | |||
238 | init_wait(&wait); | 238 | init_wait(&wait); |
239 | prepare_to_wait(&pool->wait, &wait, TASK_UNINTERRUPTIBLE); | 239 | prepare_to_wait(&pool->wait, &wait, TASK_UNINTERRUPTIBLE); |
240 | smp_mb(); | 240 | smp_mb(); |
241 | if (!pool->curr_nr) | 241 | if (!pool->curr_nr) { |
242 | io_schedule(); | 242 | /* |
243 | * FIXME: this should be io_schedule(). The timeout is there | ||
244 | * as a workaround for some DM problems in 2.6.18. | ||
245 | */ | ||
246 | io_schedule_timeout(5*HZ); | ||
247 | } | ||
243 | finish_wait(&pool->wait, &wait); | 248 | finish_wait(&pool->wait, &wait); |
244 | 249 | ||
245 | goto repeat_alloc; | 250 | goto repeat_alloc; |
@@ -30,6 +30,10 @@ | |||
30 | #include <asm/cacheflush.h> | 30 | #include <asm/cacheflush.h> |
31 | #include <asm/tlb.h> | 31 | #include <asm/tlb.h> |
32 | 32 | ||
33 | #ifndef arch_mmap_check | ||
34 | #define arch_mmap_check(addr, len, flags) (0) | ||
35 | #endif | ||
36 | |||
33 | static void unmap_region(struct mm_struct *mm, | 37 | static void unmap_region(struct mm_struct *mm, |
34 | struct vm_area_struct *vma, struct vm_area_struct *prev, | 38 | struct vm_area_struct *vma, struct vm_area_struct *prev, |
35 | unsigned long start, unsigned long end); | 39 | unsigned long start, unsigned long end); |
@@ -913,6 +917,10 @@ unsigned long do_mmap_pgoff(struct file * file, unsigned long addr, | |||
913 | if (!len) | 917 | if (!len) |
914 | return -EINVAL; | 918 | return -EINVAL; |
915 | 919 | ||
920 | error = arch_mmap_check(addr, len, flags); | ||
921 | if (error) | ||
922 | return error; | ||
923 | |||
916 | /* Careful about overflows.. */ | 924 | /* Careful about overflows.. */ |
917 | len = PAGE_ALIGN(len); | 925 | len = PAGE_ALIGN(len); |
918 | if (!len || len > TASK_SIZE) | 926 | if (!len || len > TASK_SIZE) |
@@ -1859,6 +1867,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len) | |||
1859 | unsigned long flags; | 1867 | unsigned long flags; |
1860 | struct rb_node ** rb_link, * rb_parent; | 1868 | struct rb_node ** rb_link, * rb_parent; |
1861 | pgoff_t pgoff = addr >> PAGE_SHIFT; | 1869 | pgoff_t pgoff = addr >> PAGE_SHIFT; |
1870 | int error; | ||
1862 | 1871 | ||
1863 | len = PAGE_ALIGN(len); | 1872 | len = PAGE_ALIGN(len); |
1864 | if (!len) | 1873 | if (!len) |
@@ -1867,6 +1876,12 @@ unsigned long do_brk(unsigned long addr, unsigned long len) | |||
1867 | if ((addr + len) > TASK_SIZE || (addr + len) < addr) | 1876 | if ((addr + len) > TASK_SIZE || (addr + len) < addr) |
1868 | return -EINVAL; | 1877 | return -EINVAL; |
1869 | 1878 | ||
1879 | flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; | ||
1880 | |||
1881 | error = arch_mmap_check(addr, len, flags); | ||
1882 | if (error) | ||
1883 | return error; | ||
1884 | |||
1870 | /* | 1885 | /* |
1871 | * mlock MCL_FUTURE? | 1886 | * mlock MCL_FUTURE? |
1872 | */ | 1887 | */ |
@@ -1907,8 +1922,6 @@ unsigned long do_brk(unsigned long addr, unsigned long len) | |||
1907 | if (security_vm_enough_memory(len >> PAGE_SHIFT)) | 1922 | if (security_vm_enough_memory(len >> PAGE_SHIFT)) |
1908 | return -ENOMEM; | 1923 | return -ENOMEM; |
1909 | 1924 | ||
1910 | flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; | ||
1911 | |||
1912 | /* Can we just expand an old private anonymous mapping? */ | 1925 | /* Can we just expand an old private anonymous mapping? */ |
1913 | if (vma_merge(mm, prev, addr, addr + len, flags, | 1926 | if (vma_merge(mm, prev, addr, addr + len, flags, |
1914 | NULL, NULL, pgoff, NULL)) | 1927 | NULL, NULL, pgoff, NULL)) |
diff --git a/mm/truncate.c b/mm/truncate.c index cf1b015df4a..c6ab55ec688 100644 --- a/mm/truncate.c +++ b/mm/truncate.c | |||
@@ -68,10 +68,10 @@ invalidate_complete_page(struct address_space *mapping, struct page *page) | |||
68 | return 0; | 68 | return 0; |
69 | 69 | ||
70 | write_lock_irq(&mapping->tree_lock); | 70 | write_lock_irq(&mapping->tree_lock); |
71 | if (PageDirty(page)) { | 71 | if (PageDirty(page)) |
72 | write_unlock_irq(&mapping->tree_lock); | 72 | goto failed; |
73 | return 0; | 73 | if (page_count(page) != 2) /* caller's ref + pagecache ref */ |
74 | } | 74 | goto failed; |
75 | 75 | ||
76 | BUG_ON(PagePrivate(page)); | 76 | BUG_ON(PagePrivate(page)); |
77 | __remove_from_page_cache(page); | 77 | __remove_from_page_cache(page); |
@@ -79,6 +79,9 @@ invalidate_complete_page(struct address_space *mapping, struct page *page) | |||
79 | ClearPageUptodate(page); | 79 | ClearPageUptodate(page); |
80 | page_cache_release(page); /* pagecache ref */ | 80 | page_cache_release(page); /* pagecache ref */ |
81 | return 1; | 81 | return 1; |
82 | failed: | ||
83 | write_unlock_irq(&mapping->tree_lock); | ||
84 | return 0; | ||
82 | } | 85 | } |
83 | 86 | ||
84 | /** | 87 | /** |
diff --git a/mm/vmstat.c b/mm/vmstat.c index dfdf2413390..c1b5f4106b3 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/config.h> | 12 | #include <linux/config.h> |
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
15 | #include <linux/cpu.h> | ||
15 | 16 | ||
16 | void __get_zone_counts(unsigned long *active, unsigned long *inactive, | 17 | void __get_zone_counts(unsigned long *active, unsigned long *inactive, |
17 | unsigned long *free, struct pglist_data *pgdat) | 18 | unsigned long *free, struct pglist_data *pgdat) |
@@ -114,17 +115,72 @@ EXPORT_SYMBOL(vm_stat); | |||
114 | 115 | ||
115 | #ifdef CONFIG_SMP | 116 | #ifdef CONFIG_SMP |
116 | 117 | ||
117 | #define STAT_THRESHOLD 32 | 118 | static int calculate_threshold(struct zone *zone) |
119 | { | ||
120 | int threshold; | ||
121 | int mem; /* memory in 128 MB units */ | ||
122 | |||
123 | /* | ||
124 | * The threshold scales with the number of processors and the amount | ||
125 | * of memory per zone. More memory means that we can defer updates for | ||
126 | * longer, more processors could lead to more contention. | ||
127 | * fls() is used to have a cheap way of logarithmic scaling. | ||
128 | * | ||
129 | * Some sample thresholds: | ||
130 | * | ||
131 | * Threshold Processors (fls) Zonesize fls(mem+1) | ||
132 | * ------------------------------------------------------------------ | ||
133 | * 8 1 1 0.9-1 GB 4 | ||
134 | * 16 2 2 0.9-1 GB 4 | ||
135 | * 20 2 2 1-2 GB 5 | ||
136 | * 24 2 2 2-4 GB 6 | ||
137 | * 28 2 2 4-8 GB 7 | ||
138 | * 32 2 2 8-16 GB 8 | ||
139 | * 4 2 2 <128M 1 | ||
140 | * 30 4 3 2-4 GB 5 | ||
141 | * 48 4 3 8-16 GB 8 | ||
142 | * 32 8 4 1-2 GB 4 | ||
143 | * 32 8 4 0.9-1GB 4 | ||
144 | * 10 16 5 <128M 1 | ||
145 | * 40 16 5 900M 4 | ||
146 | * 70 64 7 2-4 GB 5 | ||
147 | * 84 64 7 4-8 GB 6 | ||
148 | * 108 512 9 4-8 GB 6 | ||
149 | * 125 1024 10 8-16 GB 8 | ||
150 | * 125 1024 10 16-32 GB 9 | ||
151 | */ | ||
152 | |||
153 | mem = zone->present_pages >> (27 - PAGE_SHIFT); | ||
154 | |||
155 | threshold = 2 * fls(num_online_cpus()) * (1 + fls(mem)); | ||
156 | |||
157 | /* | ||
158 | * Maximum threshold is 125 | ||
159 | */ | ||
160 | threshold = min(125, threshold); | ||
161 | |||
162 | return threshold; | ||
163 | } | ||
118 | 164 | ||
119 | /* | 165 | /* |
120 | * Determine pointer to currently valid differential byte given a zone and | 166 | * Refresh the thresholds for each zone. |
121 | * the item number. | ||
122 | * | ||
123 | * Preemption must be off | ||
124 | */ | 167 | */ |
125 | static inline s8 *diff_pointer(struct zone *zone, enum zone_stat_item item) | 168 | static void refresh_zone_stat_thresholds(void) |
126 | { | 169 | { |
127 | return &zone_pcp(zone, smp_processor_id())->vm_stat_diff[item]; | 170 | struct zone *zone; |
171 | int cpu; | ||
172 | int threshold; | ||
173 | |||
174 | for_each_zone(zone) { | ||
175 | |||
176 | if (!zone->present_pages) | ||
177 | continue; | ||
178 | |||
179 | threshold = calculate_threshold(zone); | ||
180 | |||
181 | for_each_online_cpu(cpu) | ||
182 | zone_pcp(zone, cpu)->stat_threshold = threshold; | ||
183 | } | ||
128 | } | 184 | } |
129 | 185 | ||
130 | /* | 186 | /* |
@@ -133,17 +189,16 @@ static inline s8 *diff_pointer(struct zone *zone, enum zone_stat_item item) | |||
133 | void __mod_zone_page_state(struct zone *zone, enum zone_stat_item item, | 189 | void __mod_zone_page_state(struct zone *zone, enum zone_stat_item item, |
134 | int delta) | 190 | int delta) |
135 | { | 191 | { |
136 | s8 *p; | 192 | struct per_cpu_pageset *pcp = zone_pcp(zone, smp_processor_id()); |
193 | s8 *p = pcp->vm_stat_diff + item; | ||
137 | long x; | 194 | long x; |
138 | 195 | ||
139 | p = diff_pointer(zone, item); | ||
140 | x = delta + *p; | 196 | x = delta + *p; |
141 | 197 | ||
142 | if (unlikely(x > STAT_THRESHOLD || x < -STAT_THRESHOLD)) { | 198 | if (unlikely(x > pcp->stat_threshold || x < -pcp->stat_threshold)) { |
143 | zone_page_state_add(x, zone, item); | 199 | zone_page_state_add(x, zone, item); |
144 | x = 0; | 200 | x = 0; |
145 | } | 201 | } |
146 | |||
147 | *p = x; | 202 | *p = x; |
148 | } | 203 | } |
149 | EXPORT_SYMBOL(__mod_zone_page_state); | 204 | EXPORT_SYMBOL(__mod_zone_page_state); |
@@ -172,10 +227,12 @@ EXPORT_SYMBOL(mod_zone_page_state); | |||
172 | * No overflow check is necessary and therefore the differential can be | 227 | * No overflow check is necessary and therefore the differential can be |
173 | * incremented or decremented in place which may allow the compilers to | 228 | * incremented or decremented in place which may allow the compilers to |
174 | * generate better code. | 229 | * generate better code. |
175 | * | ||
176 | * The increment or decrement is known and therefore one boundary check can | 230 | * The increment or decrement is known and therefore one boundary check can |
177 | * be omitted. | 231 | * be omitted. |
178 | * | 232 | * |
233 | * NOTE: These functions are very performance sensitive. Change only | ||
234 | * with care. | ||
235 | * | ||
179 | * Some processors have inc/dec instructions that are atomic vs an interrupt. | 236 | * Some processors have inc/dec instructions that are atomic vs an interrupt. |
180 | * However, the code must first determine the differential location in a zone | 237 | * However, the code must first determine the differential location in a zone |
181 | * based on the processor number and then inc/dec the counter. There is no | 238 | * based on the processor number and then inc/dec the counter. There is no |
@@ -185,13 +242,16 @@ EXPORT_SYMBOL(mod_zone_page_state); | |||
185 | */ | 242 | */ |
186 | static void __inc_zone_state(struct zone *zone, enum zone_stat_item item) | 243 | static void __inc_zone_state(struct zone *zone, enum zone_stat_item item) |
187 | { | 244 | { |
188 | s8 *p = diff_pointer(zone, item); | 245 | struct per_cpu_pageset *pcp = zone_pcp(zone, smp_processor_id()); |
246 | s8 *p = pcp->vm_stat_diff + item; | ||
189 | 247 | ||
190 | (*p)++; | 248 | (*p)++; |
191 | 249 | ||
192 | if (unlikely(*p > STAT_THRESHOLD)) { | 250 | if (unlikely(*p > pcp->stat_threshold)) { |
193 | zone_page_state_add(*p, zone, item); | 251 | int overstep = pcp->stat_threshold / 2; |
194 | *p = 0; | 252 | |
253 | zone_page_state_add(*p + overstep, zone, item); | ||
254 | *p = -overstep; | ||
195 | } | 255 | } |
196 | } | 256 | } |
197 | 257 | ||
@@ -204,13 +264,16 @@ EXPORT_SYMBOL(__inc_zone_page_state); | |||
204 | void __dec_zone_page_state(struct page *page, enum zone_stat_item item) | 264 | void __dec_zone_page_state(struct page *page, enum zone_stat_item item) |
205 | { | 265 | { |
206 | struct zone *zone = page_zone(page); | 266 | struct zone *zone = page_zone(page); |
207 | s8 *p = diff_pointer(zone, item); | 267 | struct per_cpu_pageset *pcp = zone_pcp(zone, smp_processor_id()); |
268 | s8 *p = pcp->vm_stat_diff + item; | ||
208 | 269 | ||
209 | (*p)--; | 270 | (*p)--; |
210 | 271 | ||
211 | if (unlikely(*p < -STAT_THRESHOLD)) { | 272 | if (unlikely(*p < - pcp->stat_threshold)) { |
212 | zone_page_state_add(*p, zone, item); | 273 | int overstep = pcp->stat_threshold / 2; |
213 | *p = 0; | 274 | |
275 | zone_page_state_add(*p - overstep, zone, item); | ||
276 | *p = overstep; | ||
214 | } | 277 | } |
215 | } | 278 | } |
216 | EXPORT_SYMBOL(__dec_zone_page_state); | 279 | EXPORT_SYMBOL(__dec_zone_page_state); |
@@ -239,19 +302,9 @@ EXPORT_SYMBOL(inc_zone_page_state); | |||
239 | void dec_zone_page_state(struct page *page, enum zone_stat_item item) | 302 | void dec_zone_page_state(struct page *page, enum zone_stat_item item) |
240 | { | 303 | { |
241 | unsigned long flags; | 304 | unsigned long flags; |
242 | struct zone *zone; | ||
243 | s8 *p; | ||
244 | 305 | ||
245 | zone = page_zone(page); | ||
246 | local_irq_save(flags); | 306 | local_irq_save(flags); |
247 | p = diff_pointer(zone, item); | 307 | __dec_zone_page_state(page, item); |
248 | |||
249 | (*p)--; | ||
250 | |||
251 | if (unlikely(*p < -STAT_THRESHOLD)) { | ||
252 | zone_page_state_add(*p, zone, item); | ||
253 | *p = 0; | ||
254 | } | ||
255 | local_irq_restore(flags); | 308 | local_irq_restore(flags); |
256 | } | 309 | } |
257 | EXPORT_SYMBOL(dec_zone_page_state); | 310 | EXPORT_SYMBOL(dec_zone_page_state); |
@@ -525,6 +578,10 @@ static int zoneinfo_show(struct seq_file *m, void *arg) | |||
525 | pageset->pcp[j].high, | 578 | pageset->pcp[j].high, |
526 | pageset->pcp[j].batch); | 579 | pageset->pcp[j].batch); |
527 | } | 580 | } |
581 | #ifdef CONFIG_SMP | ||
582 | seq_printf(m, "\n vm stats threshold: %d", | ||
583 | pageset->stat_threshold); | ||
584 | #endif | ||
528 | } | 585 | } |
529 | seq_printf(m, | 586 | seq_printf(m, |
530 | "\n all_unreclaimable: %u" | 587 | "\n all_unreclaimable: %u" |
@@ -613,3 +670,35 @@ struct seq_operations vmstat_op = { | |||
613 | 670 | ||
614 | #endif /* CONFIG_PROC_FS */ | 671 | #endif /* CONFIG_PROC_FS */ |
615 | 672 | ||
673 | #ifdef CONFIG_SMP | ||
674 | /* | ||
675 | * Use the cpu notifier to insure that the thresholds are recalculated | ||
676 | * when necessary. | ||
677 | */ | ||
678 | static int __cpuinit vmstat_cpuup_callback(struct notifier_block *nfb, | ||
679 | unsigned long action, | ||
680 | void *hcpu) | ||
681 | { | ||
682 | switch (action) { | ||
683 | case CPU_UP_PREPARE: | ||
684 | case CPU_UP_CANCELED: | ||
685 | case CPU_DEAD: | ||
686 | refresh_zone_stat_thresholds(); | ||
687 | break; | ||
688 | default: | ||
689 | break; | ||
690 | } | ||
691 | return NOTIFY_OK; | ||
692 | } | ||
693 | |||
694 | static struct notifier_block __cpuinitdata vmstat_notifier = | ||
695 | { &vmstat_cpuup_callback, NULL, 0 }; | ||
696 | |||
697 | int __init setup_vmstat(void) | ||
698 | { | ||
699 | refresh_zone_stat_thresholds(); | ||
700 | register_cpu_notifier(&vmstat_notifier); | ||
701 | return 0; | ||
702 | } | ||
703 | module_init(setup_vmstat) | ||
704 | #endif | ||
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 4c20f554689..a2ede167e04 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c | |||
@@ -440,6 +440,7 @@ int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*)) | |||
440 | iph = skb->nh.iph; | 440 | iph = skb->nh.iph; |
441 | 441 | ||
442 | if (unlikely((iph->frag_off & htons(IP_DF)) && !skb->local_df)) { | 442 | if (unlikely((iph->frag_off & htons(IP_DF)) && !skb->local_df)) { |
443 | IP_INC_STATS(IPSTATS_MIB_FRAGFAILS); | ||
443 | icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, | 444 | icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, |
444 | htonl(dst_mtu(&rt->u.dst))); | 445 | htonl(dst_mtu(&rt->u.dst))); |
445 | kfree_skb(skb); | 446 | kfree_skb(skb); |
diff --git a/net/ipv6/exthdrs.c b/net/ipv6/exthdrs.c index 9d0ee7f0eeb..86dac106873 100644 --- a/net/ipv6/exthdrs.c +++ b/net/ipv6/exthdrs.c | |||
@@ -635,14 +635,17 @@ ipv6_renew_options(struct sock *sk, struct ipv6_txoptions *opt, | |||
635 | struct ipv6_txoptions *opt2; | 635 | struct ipv6_txoptions *opt2; |
636 | int err; | 636 | int err; |
637 | 637 | ||
638 | if (newtype != IPV6_HOPOPTS && opt->hopopt) | 638 | if (opt) { |
639 | tot_len += CMSG_ALIGN(ipv6_optlen(opt->hopopt)); | 639 | if (newtype != IPV6_HOPOPTS && opt->hopopt) |
640 | if (newtype != IPV6_RTHDRDSTOPTS && opt->dst0opt) | 640 | tot_len += CMSG_ALIGN(ipv6_optlen(opt->hopopt)); |
641 | tot_len += CMSG_ALIGN(ipv6_optlen(opt->dst0opt)); | 641 | if (newtype != IPV6_RTHDRDSTOPTS && opt->dst0opt) |
642 | if (newtype != IPV6_RTHDR && opt->srcrt) | 642 | tot_len += CMSG_ALIGN(ipv6_optlen(opt->dst0opt)); |
643 | tot_len += CMSG_ALIGN(ipv6_optlen(opt->srcrt)); | 643 | if (newtype != IPV6_RTHDR && opt->srcrt) |
644 | if (newtype != IPV6_DSTOPTS && opt->dst1opt) | 644 | tot_len += CMSG_ALIGN(ipv6_optlen(opt->srcrt)); |
645 | tot_len += CMSG_ALIGN(ipv6_optlen(opt->dst1opt)); | 645 | if (newtype != IPV6_DSTOPTS && opt->dst1opt) |
646 | tot_len += CMSG_ALIGN(ipv6_optlen(opt->dst1opt)); | ||
647 | } | ||
648 | |||
646 | if (newopt && newoptlen) | 649 | if (newopt && newoptlen) |
647 | tot_len += CMSG_ALIGN(newoptlen); | 650 | tot_len += CMSG_ALIGN(newoptlen); |
648 | 651 | ||
@@ -659,25 +662,25 @@ ipv6_renew_options(struct sock *sk, struct ipv6_txoptions *opt, | |||
659 | opt2->tot_len = tot_len; | 662 | opt2->tot_len = tot_len; |
660 | p = (char *)(opt2 + 1); | 663 | p = (char *)(opt2 + 1); |
661 | 664 | ||
662 | err = ipv6_renew_option(opt->hopopt, newopt, newoptlen, | 665 | err = ipv6_renew_option(opt ? opt->hopopt : NULL, newopt, newoptlen, |
663 | newtype != IPV6_HOPOPTS, | 666 | newtype != IPV6_HOPOPTS, |
664 | &opt2->hopopt, &p); | 667 | &opt2->hopopt, &p); |
665 | if (err) | 668 | if (err) |
666 | goto out; | 669 | goto out; |
667 | 670 | ||
668 | err = ipv6_renew_option(opt->dst0opt, newopt, newoptlen, | 671 | err = ipv6_renew_option(opt ? opt->dst0opt : NULL, newopt, newoptlen, |
669 | newtype != IPV6_RTHDRDSTOPTS, | 672 | newtype != IPV6_RTHDRDSTOPTS, |
670 | &opt2->dst0opt, &p); | 673 | &opt2->dst0opt, &p); |
671 | if (err) | 674 | if (err) |
672 | goto out; | 675 | goto out; |
673 | 676 | ||
674 | err = ipv6_renew_option(opt->srcrt, newopt, newoptlen, | 677 | err = ipv6_renew_option(opt ? opt->srcrt : NULL, newopt, newoptlen, |
675 | newtype != IPV6_RTHDR, | 678 | newtype != IPV6_RTHDR, |
676 | (struct ipv6_opt_hdr **)opt2->srcrt, &p); | 679 | (struct ipv6_opt_hdr **)&opt2->srcrt, &p); |
677 | if (err) | 680 | if (err) |
678 | goto out; | 681 | goto out; |
679 | 682 | ||
680 | err = ipv6_renew_option(opt->dst1opt, newopt, newoptlen, | 683 | err = ipv6_renew_option(opt ? opt->dst1opt : NULL, newopt, newoptlen, |
681 | newtype != IPV6_DSTOPTS, | 684 | newtype != IPV6_DSTOPTS, |
682 | &opt2->dst1opt, &p); | 685 | &opt2->dst1opt, &p); |
683 | if (err) | 686 | if (err) |
diff --git a/net/socket.c b/net/socket.c index b4848ce0d6a..6d261bf206f 100644 --- a/net/socket.c +++ b/net/socket.c | |||
@@ -1178,7 +1178,8 @@ static int __sock_create(int family, int type, int protocol, struct socket **res | |||
1178 | */ | 1178 | */ |
1179 | 1179 | ||
1180 | if (!(sock = sock_alloc())) { | 1180 | if (!(sock = sock_alloc())) { |
1181 | printk(KERN_WARNING "socket: no more sockets\n"); | 1181 | if (net_ratelimit()) |
1182 | printk(KERN_WARNING "socket: no more sockets\n"); | ||
1182 | err = -ENFILE; /* Not exactly a match, but its the | 1183 | err = -ENFILE; /* Not exactly a match, but its the |
1183 | closest posix thing */ | 1184 | closest posix thing */ |
1184 | goto out; | 1185 | goto out; |
diff --git a/scripts/hdrcheck.sh b/scripts/hdrcheck.sh index b3bb683b56b..b5ca35aa174 100755 --- a/scripts/hdrcheck.sh +++ b/scripts/hdrcheck.sh | |||
@@ -1,8 +1,8 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | for FILE in `grep '^#include <' $2 | cut -f2 -d\< | cut -f1 -d\> | egrep ^linux\|^asm` ; do | 3 | for FILE in `grep '^[ \t]*#[ \t]*include[ \t]*<' $2 | cut -f2 -d\< | cut -f1 -d\> | egrep ^linux\|^asm` ; do |
4 | if [ ! -r $1/$FILE ]; then | 4 | if [ ! -r $1/$FILE ]; then |
5 | echo $2 requires $FILE, which does not exist | 5 | echo $2 requires $FILE, which does not exist in exported headers |
6 | exit 1 | 6 | exit 1 |
7 | fi | 7 | fi |
8 | done | 8 | done |
diff --git a/sound/oss/Kconfig b/sound/oss/Kconfig index 1b7c3dfc2b4..97e38b66558 100644 --- a/sound/oss/Kconfig +++ b/sound/oss/Kconfig | |||
@@ -5,6 +5,20 @@ | |||
5 | # | 5 | # |
6 | # Prompt user for primary drivers. | 6 | # Prompt user for primary drivers. |
7 | 7 | ||
8 | config OSS_OBSOLETE_DRIVER | ||
9 | bool "Obsolete OSS drivers" | ||
10 | depends on SOUND_PRIME | ||
11 | help | ||
12 | This option enables support for obsolete OSS drivers that | ||
13 | are scheduled for removal in the near future since there | ||
14 | are ALSA drivers for the same hardware. | ||
15 | |||
16 | Please contact Adrian Bunk <bunk@stusta.de> if you had to | ||
17 | say Y here because your soundcard is not properly supported | ||
18 | by ALSA. | ||
19 | |||
20 | If unsure, say N. | ||
21 | |||
8 | config SOUND_BT878 | 22 | config SOUND_BT878 |
9 | tristate "BT878 audio dma" | 23 | tristate "BT878 audio dma" |
10 | depends on SOUND_PRIME && PCI | 24 | depends on SOUND_PRIME && PCI |
@@ -23,7 +37,7 @@ config SOUND_BT878 | |||
23 | 37 | ||
24 | config SOUND_EMU10K1 | 38 | config SOUND_EMU10K1 |
25 | tristate "Creative SBLive! (EMU10K1)" | 39 | tristate "Creative SBLive! (EMU10K1)" |
26 | depends on SOUND_PRIME && PCI | 40 | depends on SOUND_PRIME && PCI && OSS_OBSOLETE_DRIVER |
27 | ---help--- | 41 | ---help--- |
28 | Say Y or M if you have a PCI sound card using the EMU10K1 chipset, | 42 | Say Y or M if you have a PCI sound card using the EMU10K1 chipset, |
29 | such as the Creative SBLive!, SB PCI512 or Emu-APS. | 43 | such as the Creative SBLive!, SB PCI512 or Emu-APS. |
@@ -49,7 +63,7 @@ config MIDI_EMU10K1 | |||
49 | 63 | ||
50 | config SOUND_FUSION | 64 | config SOUND_FUSION |
51 | tristate "Crystal SoundFusion (CS4280/461x)" | 65 | tristate "Crystal SoundFusion (CS4280/461x)" |
52 | depends on SOUND_PRIME && PCI | 66 | depends on SOUND_PRIME && PCI && OSS_OBSOLETE_DRIVER |
53 | help | 67 | help |
54 | This module drives the Crystal SoundFusion devices (CS4280/46xx | 68 | This module drives the Crystal SoundFusion devices (CS4280/46xx |
55 | series) when wired as native sound drivers with AC97 codecs. If | 69 | series) when wired as native sound drivers with AC97 codecs. If |
@@ -440,7 +454,7 @@ config SOUND_DMAP | |||
440 | 454 | ||
441 | config SOUND_AD1816 | 455 | config SOUND_AD1816 |
442 | tristate "AD1816(A) based cards (EXPERIMENTAL)" | 456 | tristate "AD1816(A) based cards (EXPERIMENTAL)" |
443 | depends on EXPERIMENTAL && SOUND_OSS | 457 | depends on EXPERIMENTAL && SOUND_OSS && OSS_OBSOLETE_DRIVER |
444 | help | 458 | help |
445 | Say M here if you have a sound card based on the Analog Devices | 459 | Say M here if you have a sound card based on the Analog Devices |
446 | AD1816(A) chip. | 460 | AD1816(A) chip. |
@@ -450,21 +464,21 @@ config SOUND_AD1816 | |||
450 | 464 | ||
451 | config SOUND_AD1889 | 465 | config SOUND_AD1889 |
452 | tristate "AD1889 based cards (AD1819 codec) (EXPERIMENTAL)" | 466 | tristate "AD1889 based cards (AD1819 codec) (EXPERIMENTAL)" |
453 | depends on EXPERIMENTAL && SOUND_OSS && PCI | 467 | depends on EXPERIMENTAL && SOUND_OSS && PCI && OSS_OBSOLETE_DRIVER |
454 | help | 468 | help |
455 | Say M here if you have a sound card based on the Analog Devices | 469 | Say M here if you have a sound card based on the Analog Devices |
456 | AD1889 chip. | 470 | AD1889 chip. |
457 | 471 | ||
458 | config SOUND_ADLIB | 472 | config SOUND_ADLIB |
459 | tristate "Adlib Cards" | 473 | tristate "Adlib Cards" |
460 | depends on SOUND_OSS | 474 | depends on SOUND_OSS && OSS_OBSOLETE_DRIVER |
461 | help | 475 | help |
462 | Includes ASB 64 4D. Information on programming AdLib cards is | 476 | Includes ASB 64 4D. Information on programming AdLib cards is |
463 | available at <http://www.itsnet.com/home/ldragon/Specs/adlib.html>. | 477 | available at <http://www.itsnet.com/home/ldragon/Specs/adlib.html>. |
464 | 478 | ||
465 | config SOUND_ACI_MIXER | 479 | config SOUND_ACI_MIXER |
466 | tristate "ACI mixer (miroSOUND PCM1-pro/PCM12/PCM20)" | 480 | tristate "ACI mixer (miroSOUND PCM1-pro/PCM12/PCM20)" |
467 | depends on SOUND_OSS | 481 | depends on SOUND_OSS && OSS_OBSOLETE_DRIVER |
468 | ---help--- | 482 | ---help--- |
469 | ACI (Audio Command Interface) is a protocol used to communicate with | 483 | ACI (Audio Command Interface) is a protocol used to communicate with |
470 | the microcontroller on some sound cards produced by miro and | 484 | the microcontroller on some sound cards produced by miro and |
@@ -586,7 +600,7 @@ config SOUND_MPU401 | |||
586 | 600 | ||
587 | config SOUND_NM256 | 601 | config SOUND_NM256 |
588 | tristate "NM256AV/NM256ZX audio support" | 602 | tristate "NM256AV/NM256ZX audio support" |
589 | depends on SOUND_OSS | 603 | depends on SOUND_OSS && OSS_OBSOLETE_DRIVER |
590 | help | 604 | help |
591 | Say M here to include audio support for the NeoMagic 256AV/256ZX | 605 | Say M here to include audio support for the NeoMagic 256AV/256ZX |
592 | chipsets. These are the audio chipsets found in the Sony | 606 | chipsets. These are the audio chipsets found in the Sony |
@@ -706,7 +720,7 @@ config SOUND_YM3812 | |||
706 | 720 | ||
707 | config SOUND_OPL3SA2 | 721 | config SOUND_OPL3SA2 |
708 | tristate "Yamaha OPL3-SA2 and SA3 based PnP cards" | 722 | tristate "Yamaha OPL3-SA2 and SA3 based PnP cards" |
709 | depends on SOUND_OSS | 723 | depends on SOUND_OSS && OSS_OBSOLETE_DRIVER |
710 | help | 724 | help |
711 | Say Y or M if you have a card based on one of these Yamaha sound | 725 | Say Y or M if you have a card based on one of these Yamaha sound |
712 | chipsets or the "SAx", which is actually a SA3. Read | 726 | chipsets or the "SAx", which is actually a SA3. Read |
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c index 0abf2808d59..51e83d7a839 100644 --- a/sound/pci/ac97/ac97_codec.c +++ b/sound/pci/ac97/ac97_codec.c | |||
@@ -573,7 +573,7 @@ AC97_SINGLE("PC Speaker Playback Volume", AC97_PC_BEEP, 1, 15, 1) | |||
573 | }; | 573 | }; |
574 | 574 | ||
575 | static const struct snd_kcontrol_new snd_ac97_controls_mic_boost = | 575 | static const struct snd_kcontrol_new snd_ac97_controls_mic_boost = |
576 | AC97_SINGLE("Mic Boost (+20dB) Switch", AC97_MIC, 6, 1, 0); | 576 | AC97_SINGLE("Mic Boost (+20dB)", AC97_MIC, 6, 1, 0); |
577 | 577 | ||
578 | 578 | ||
579 | static const char* std_rec_sel[] = {"Mic", "CD", "Video", "Aux", "Line", "Mix", "Mix Mono", "Phone"}; | 579 | static const char* std_rec_sel[] = {"Mic", "CD", "Video", "Aux", "Line", "Mix", "Mix Mono", "Phone"}; |
@@ -615,7 +615,7 @@ AC97_SINGLE("Simulated Stereo Enhancement", AC97_GENERAL_PURPOSE, 14, 1, 0), | |||
615 | AC97_SINGLE("3D Control - Switch", AC97_GENERAL_PURPOSE, 13, 1, 0), | 615 | AC97_SINGLE("3D Control - Switch", AC97_GENERAL_PURPOSE, 13, 1, 0), |
616 | AC97_SINGLE("Loudness (bass boost)", AC97_GENERAL_PURPOSE, 12, 1, 0), | 616 | AC97_SINGLE("Loudness (bass boost)", AC97_GENERAL_PURPOSE, 12, 1, 0), |
617 | AC97_ENUM("Mono Output Select", std_enum[2]), | 617 | AC97_ENUM("Mono Output Select", std_enum[2]), |
618 | AC97_ENUM("Mic Select Capture Switch", std_enum[3]), | 618 | AC97_ENUM("Mic Select", std_enum[3]), |
619 | AC97_SINGLE("ADC/DAC Loopback", AC97_GENERAL_PURPOSE, 7, 1, 0) | 619 | AC97_SINGLE("ADC/DAC Loopback", AC97_GENERAL_PURPOSE, 7, 1, 0) |
620 | }; | 620 | }; |
621 | 621 | ||