diff options
author | David S. Miller <davem@davemloft.net> | 2012-03-18 23:29:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-03-18 23:29:41 -0400 |
commit | 4da0bd736552e6377b407b3c3d3ae518ebbdd269 (patch) | |
tree | f0da9f843b8033565c3ca4103fccb17a60688326 | |
parent | 81a430ac1b88b0702c57d2513e247317e810e04d (diff) | |
parent | c16fa4f2ad19908a47c63d8fa436a1178438c7e7 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
111 files changed, 2158 insertions, 2916 deletions
diff --git a/Documentation/hwmon/w83627ehf b/Documentation/hwmon/w83627ehf index 3f44dbdfda70..ceaf6f652b00 100644 --- a/Documentation/hwmon/w83627ehf +++ b/Documentation/hwmon/w83627ehf | |||
@@ -50,7 +50,7 @@ W83627DHG, W83627DHG-P, W83627UHG, W83667HG, W83667HG-B, W83667HG-I | |||
50 | (NCT6775F), and NCT6776F super I/O chips. We will refer to them collectively | 50 | (NCT6775F), and NCT6776F super I/O chips. We will refer to them collectively |
51 | as Winbond chips. | 51 | as Winbond chips. |
52 | 52 | ||
53 | The chips implement 2 to 4 temperature sensors (9 for NCT6775F and NCT6776F), | 53 | The chips implement 3 to 4 temperature sensors (9 for NCT6775F and NCT6776F), |
54 | 2 to 5 fan rotation speed sensors, 8 to 10 analog voltage sensors, one VID | 54 | 2 to 5 fan rotation speed sensors, 8 to 10 analog voltage sensors, one VID |
55 | (except for 627UHG), alarms with beep warnings (control unimplemented), | 55 | (except for 627UHG), alarms with beep warnings (control unimplemented), |
56 | and some automatic fan regulation strategies (plus manual fan control mode). | 56 | and some automatic fan regulation strategies (plus manual fan control mode). |
@@ -143,8 +143,13 @@ pwm[1-4]_min_output - minimum fan speed (range 1 - 255), when the temperature | |||
143 | pwm[1-4]_stop_time - how many milliseconds [ms] must elapse to switch | 143 | pwm[1-4]_stop_time - how many milliseconds [ms] must elapse to switch |
144 | corresponding fan off. (when the temperature was below | 144 | corresponding fan off. (when the temperature was below |
145 | defined range). | 145 | defined range). |
146 | pwm[1-4]_start_output-minimum fan speed (range 1 - 255) when spinning up | ||
147 | pwm[1-4]_step_output- rate of fan speed change (1 - 255) | ||
148 | pwm[1-4]_stop_output- minimum fan speed (range 1 - 255) when spinning down | ||
149 | pwm[1-4]_max_output - maximum fan speed (range 1 - 255), when the temperature | ||
150 | is above defined range. | ||
146 | 151 | ||
147 | Note: last two functions are influenced by other control bits, not yet exported | 152 | Note: last six functions are influenced by other control bits, not yet exported |
148 | by the driver, so a change might not have any effect. | 153 | by the driver, so a change might not have any effect. |
149 | 154 | ||
150 | Implementation Details | 155 | Implementation Details |
diff --git a/Documentation/hwmon/zl6100 b/Documentation/hwmon/zl6100 index 51f76a189fee..a4e8d90f59f6 100644 --- a/Documentation/hwmon/zl6100 +++ b/Documentation/hwmon/zl6100 | |||
@@ -88,14 +88,12 @@ Module parameters | |||
88 | delay | 88 | delay |
89 | ----- | 89 | ----- |
90 | 90 | ||
91 | Some Intersil/Zilker Labs DC-DC controllers require a minimum interval between | 91 | Intersil/Zilker Labs DC-DC controllers require a minimum interval between I2C |
92 | I2C bus accesses. According to Intersil, the minimum interval is 2 ms, though | 92 | bus accesses. According to Intersil, the minimum interval is 2 ms, though 1 ms |
93 | 1 ms appears to be sufficient and has not caused any problems in testing. | 93 | appears to be sufficient and has not caused any problems in testing. The problem |
94 | The problem is known to affect ZL6100, ZL2105, and ZL2008. It is known not to | 94 | is known to affect all currently supported chips. For manual override, the |
95 | affect ZL2004 and ZL6105. The driver automatically sets the interval to 1 ms | 95 | driver provides a writeable module parameter, 'delay', which can be used to set |
96 | except for ZL2004 and ZL6105. To enable manual override, the driver provides a | 96 | the interval to a value between 0 and 65,535 microseconds. |
97 | writeable module parameter, 'delay', which can be used to set the interval to | ||
98 | a value between 0 and 65,535 microseconds. | ||
99 | 97 | ||
100 | 98 | ||
101 | Sysfs entries | 99 | Sysfs entries |
diff --git a/MAINTAINERS b/MAINTAINERS index 209a386214c2..9be34c42b677 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -1514,19 +1514,23 @@ F: drivers/mtd/devices/block2mtd.c | |||
1514 | 1514 | ||
1515 | BLUETOOTH DRIVERS | 1515 | BLUETOOTH DRIVERS |
1516 | M: Marcel Holtmann <marcel@holtmann.org> | 1516 | M: Marcel Holtmann <marcel@holtmann.org> |
1517 | M: "Gustavo F. Padovan" <padovan@profusion.mobi> | 1517 | M: Gustavo Padovan <gustavo@padovan.org> |
1518 | M: Johan Hedberg <johan.hedberg@gmail.com> | ||
1518 | L: linux-bluetooth@vger.kernel.org | 1519 | L: linux-bluetooth@vger.kernel.org |
1519 | W: http://www.bluez.org/ | 1520 | W: http://www.bluez.org/ |
1520 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6.git | 1521 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth.git |
1522 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/jh/bluetooth.git | ||
1521 | S: Maintained | 1523 | S: Maintained |
1522 | F: drivers/bluetooth/ | 1524 | F: drivers/bluetooth/ |
1523 | 1525 | ||
1524 | BLUETOOTH SUBSYSTEM | 1526 | BLUETOOTH SUBSYSTEM |
1525 | M: Marcel Holtmann <marcel@holtmann.org> | 1527 | M: Marcel Holtmann <marcel@holtmann.org> |
1526 | M: "Gustavo F. Padovan" <padovan@profusion.mobi> | 1528 | M: Gustavo Padovan <gustavo@padovan.org> |
1529 | M: Johan Hedberg <johan.hedberg@gmail.com> | ||
1527 | L: linux-bluetooth@vger.kernel.org | 1530 | L: linux-bluetooth@vger.kernel.org |
1528 | W: http://www.bluez.org/ | 1531 | W: http://www.bluez.org/ |
1529 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6.git | 1532 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth.git |
1533 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/jh/bluetooth.git | ||
1530 | S: Maintained | 1534 | S: Maintained |
1531 | F: net/bluetooth/ | 1535 | F: net/bluetooth/ |
1532 | F: include/net/bluetooth/ | 1536 | F: include/net/bluetooth/ |
@@ -1717,6 +1721,14 @@ F: include/linux/can/error.h | |||
1717 | F: include/linux/can/netlink.h | 1721 | F: include/linux/can/netlink.h |
1718 | F: include/linux/can/platform/ | 1722 | F: include/linux/can/platform/ |
1719 | 1723 | ||
1724 | CAPABILITIES | ||
1725 | M: Serge Hallyn <serge.hallyn@canonical.com> | ||
1726 | L: linux-security-module@vger.kernel.org | ||
1727 | S: Supported | ||
1728 | F: include/linux/capability.h | ||
1729 | F: security/capability.c | ||
1730 | F: security/commoncap.c | ||
1731 | |||
1720 | CELL BROADBAND ENGINE ARCHITECTURE | 1732 | CELL BROADBAND ENGINE ARCHITECTURE |
1721 | M: Arnd Bergmann <arnd@arndb.de> | 1733 | M: Arnd Bergmann <arnd@arndb.de> |
1722 | L: linuxppc-dev@lists.ozlabs.org | 1734 | L: linuxppc-dev@lists.ozlabs.org |
@@ -2352,6 +2364,15 @@ S: Supported | |||
2352 | F: drivers/gpu/drm/exynos | 2364 | F: drivers/gpu/drm/exynos |
2353 | F: include/drm/exynos* | 2365 | F: include/drm/exynos* |
2354 | 2366 | ||
2367 | EXYNOS MIPI DISPLAY DRIVERS | ||
2368 | M: Inki Dae <inki.dae@samsung.com> | ||
2369 | M: Donghwa Lee <dh09.lee@samsung.com> | ||
2370 | M: Kyungmin Park <kyungmin.park@samsung.com> | ||
2371 | L: linux-fbdev@vger.kernel.org | ||
2372 | S: Maintained | ||
2373 | F: drivers/video/exynos/exynos_mipi* | ||
2374 | F: include/video/exynos_mipi* | ||
2375 | |||
2355 | DSCC4 DRIVER | 2376 | DSCC4 DRIVER |
2356 | M: Francois Romieu <romieu@fr.zoreil.com> | 2377 | M: Francois Romieu <romieu@fr.zoreil.com> |
2357 | L: netdev@vger.kernel.org | 2378 | L: netdev@vger.kernel.org |
@@ -2846,6 +2867,12 @@ S: Maintained | |||
2846 | F: drivers/media/video/m5mols/ | 2867 | F: drivers/media/video/m5mols/ |
2847 | F: include/media/m5mols.h | 2868 | F: include/media/m5mols.h |
2848 | 2869 | ||
2870 | FUJITSU TABLET EXTRAS | ||
2871 | M: Robert Gerlach <khnz@gmx.de> | ||
2872 | L: platform-driver-x86@vger.kernel.org | ||
2873 | S: Maintained | ||
2874 | F: drivers/platform/x86/fujitsu-tablet.c | ||
2875 | |||
2849 | FUSE: FILESYSTEM IN USERSPACE | 2876 | FUSE: FILESYSTEM IN USERSPACE |
2850 | M: Miklos Szeredi <miklos@szeredi.hu> | 2877 | M: Miklos Szeredi <miklos@szeredi.hu> |
2851 | L: fuse-devel@lists.sourceforge.net | 2878 | L: fuse-devel@lists.sourceforge.net |
@@ -5863,6 +5890,7 @@ F: drivers/mmc/host/sdhci-s3c.c | |||
5863 | 5890 | ||
5864 | SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER | 5891 | SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER |
5865 | M: Viresh Kumar <viresh.kumar@st.com> | 5892 | M: Viresh Kumar <viresh.kumar@st.com> |
5893 | L: spear-devel@list.st.com | ||
5866 | L: linux-mmc@vger.kernel.org | 5894 | L: linux-mmc@vger.kernel.org |
5867 | S: Maintained | 5895 | S: Maintained |
5868 | F: drivers/mmc/host/sdhci-spear.c | 5896 | F: drivers/mmc/host/sdhci-spear.c |
@@ -6205,24 +6233,32 @@ F: drivers/tty/serial/sunzilog.h | |||
6205 | 6233 | ||
6206 | SPEAR PLATFORM SUPPORT | 6234 | SPEAR PLATFORM SUPPORT |
6207 | M: Viresh Kumar <viresh.kumar@st.com> | 6235 | M: Viresh Kumar <viresh.kumar@st.com> |
6236 | L: spear-devel@list.st.com | ||
6237 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | ||
6208 | W: http://www.st.com/spear | 6238 | W: http://www.st.com/spear |
6209 | S: Maintained | 6239 | S: Maintained |
6210 | F: arch/arm/plat-spear/ | 6240 | F: arch/arm/plat-spear/ |
6211 | 6241 | ||
6212 | SPEAR3XX MACHINE SUPPORT | 6242 | SPEAR3XX MACHINE SUPPORT |
6213 | M: Viresh Kumar <viresh.kumar@st.com> | 6243 | M: Viresh Kumar <viresh.kumar@st.com> |
6244 | L: spear-devel@list.st.com | ||
6245 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | ||
6214 | W: http://www.st.com/spear | 6246 | W: http://www.st.com/spear |
6215 | S: Maintained | 6247 | S: Maintained |
6216 | F: arch/arm/mach-spear3xx/ | 6248 | F: arch/arm/mach-spear3xx/ |
6217 | 6249 | ||
6218 | SPEAR6XX MACHINE SUPPORT | 6250 | SPEAR6XX MACHINE SUPPORT |
6219 | M: Rajeev Kumar <rajeev-dlh.kumar@st.com> | 6251 | M: Rajeev Kumar <rajeev-dlh.kumar@st.com> |
6252 | L: spear-devel@list.st.com | ||
6253 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | ||
6220 | W: http://www.st.com/spear | 6254 | W: http://www.st.com/spear |
6221 | S: Maintained | 6255 | S: Maintained |
6222 | F: arch/arm/mach-spear6xx/ | 6256 | F: arch/arm/mach-spear6xx/ |
6223 | 6257 | ||
6224 | SPEAR CLOCK FRAMEWORK SUPPORT | 6258 | SPEAR CLOCK FRAMEWORK SUPPORT |
6225 | M: Viresh Kumar <viresh.kumar@st.com> | 6259 | M: Viresh Kumar <viresh.kumar@st.com> |
6260 | L: spear-devel@list.st.com | ||
6261 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | ||
6226 | W: http://www.st.com/spear | 6262 | W: http://www.st.com/spear |
6227 | S: Maintained | 6263 | S: Maintained |
6228 | F: arch/arm/mach-spear*/clock.c | 6264 | F: arch/arm/mach-spear*/clock.c |
@@ -6231,6 +6267,8 @@ F: arch/arm/plat-spear/include/plat/clock.h | |||
6231 | 6267 | ||
6232 | SPEAR PAD MULTIPLEXING SUPPORT | 6268 | SPEAR PAD MULTIPLEXING SUPPORT |
6233 | M: Viresh Kumar <viresh.kumar@st.com> | 6269 | M: Viresh Kumar <viresh.kumar@st.com> |
6270 | L: spear-devel@list.st.com | ||
6271 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | ||
6234 | W: http://www.st.com/spear | 6272 | W: http://www.st.com/spear |
6235 | S: Maintained | 6273 | S: Maintained |
6236 | F: arch/arm/plat-spear/include/plat/padmux.h | 6274 | F: arch/arm/plat-spear/include/plat/padmux.h |
@@ -1,7 +1,7 @@ | |||
1 | VERSION = 3 | 1 | VERSION = 3 |
2 | PATCHLEVEL = 3 | 2 | PATCHLEVEL = 3 |
3 | SUBLEVEL = 0 | 3 | SUBLEVEL = 0 |
4 | EXTRAVERSION = -rc6 | 4 | EXTRAVERSION = |
5 | NAME = Saber-toothed Squirrel | 5 | NAME = Saber-toothed Squirrel |
6 | 6 | ||
7 | # *DOCUMENTATION* | 7 | # *DOCUMENTATION* |
diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c index 068b754bc348..8aea3a2dd889 100644 --- a/arch/arm/mach-shmobile/board-ag5evm.c +++ b/arch/arm/mach-shmobile/board-ag5evm.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <linux/mmc/sh_mobile_sdhi.h> | 38 | #include <linux/mmc/sh_mobile_sdhi.h> |
39 | #include <linux/mfd/tmio.h> | 39 | #include <linux/mfd/tmio.h> |
40 | #include <linux/sh_clk.h> | 40 | #include <linux/sh_clk.h> |
41 | #include <linux/videodev2.h> | ||
41 | #include <video/sh_mobile_lcdc.h> | 42 | #include <video/sh_mobile_lcdc.h> |
42 | #include <video/sh_mipi_dsi.h> | 43 | #include <video/sh_mipi_dsi.h> |
43 | #include <sound/sh_fsi.h> | 44 | #include <sound/sh_fsi.h> |
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c index eeb4d9664584..b4718b00e827 100644 --- a/arch/arm/mach-shmobile/board-ap4evb.c +++ b/arch/arm/mach-shmobile/board-ap4evb.c | |||
@@ -794,7 +794,7 @@ static struct fsi_ak4642_info fsi2_ak4643_info = { | |||
794 | static struct platform_device fsi_ak4643_device = { | 794 | static struct platform_device fsi_ak4643_device = { |
795 | .name = "fsi-ak4642-audio", | 795 | .name = "fsi-ak4642-audio", |
796 | .dev = { | 796 | .dev = { |
797 | .platform_data = &fsi_info, | 797 | .platform_data = &fsi2_ak4643_info, |
798 | }, | 798 | }, |
799 | }; | 799 | }; |
800 | 800 | ||
diff --git a/arch/arm/mach-shmobile/board-bonito.c b/arch/arm/mach-shmobile/board-bonito.c index 4d2201622323..4bd1162ce0df 100644 --- a/arch/arm/mach-shmobile/board-bonito.c +++ b/arch/arm/mach-shmobile/board-bonito.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/platform_device.h> | 27 | #include <linux/platform_device.h> |
28 | #include <linux/gpio.h> | 28 | #include <linux/gpio.h> |
29 | #include <linux/smsc911x.h> | 29 | #include <linux/smsc911x.h> |
30 | #include <linux/videodev2.h> | ||
30 | #include <mach/common.h> | 31 | #include <mach/common.h> |
31 | #include <asm/mach-types.h> | 32 | #include <asm/mach-types.h> |
32 | #include <asm/mach/arch.h> | 33 | #include <asm/mach/arch.h> |
@@ -241,7 +242,7 @@ static struct sh_mobile_lcdc_info lcdc0_info = { | |||
241 | .clock_source = LCDC_CLK_BUS, | 242 | .clock_source = LCDC_CLK_BUS, |
242 | .ch[0] = { | 243 | .ch[0] = { |
243 | .chan = LCDC_CHAN_MAINLCD, | 244 | .chan = LCDC_CHAN_MAINLCD, |
244 | .bpp = 16, | 245 | .fourcc = V4L2_PIX_FMT_RGB565, |
245 | .interface_type = RGB24, | 246 | .interface_type = RGB24, |
246 | .clock_divider = 5, | 247 | .clock_divider = 5, |
247 | .flags = 0, | 248 | .flags = 0, |
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c index a2813247b455..7b53cda41851 100644 --- a/arch/arm/mach-shmobile/board-mackerel.c +++ b/arch/arm/mach-shmobile/board-mackerel.c | |||
@@ -1352,6 +1352,10 @@ static struct map_desc mackerel_io_desc[] __initdata = { | |||
1352 | static void __init mackerel_map_io(void) | 1352 | static void __init mackerel_map_io(void) |
1353 | { | 1353 | { |
1354 | iotable_init(mackerel_io_desc, ARRAY_SIZE(mackerel_io_desc)); | 1354 | iotable_init(mackerel_io_desc, ARRAY_SIZE(mackerel_io_desc)); |
1355 | /* DMA memory at 0xff200000 - 0xffdfffff. The default 2MB size isn't | ||
1356 | * enough to allocate the frame buffer memory. | ||
1357 | */ | ||
1358 | init_consistent_dma_size(12 << 20); | ||
1355 | 1359 | ||
1356 | /* setup early devices and console here as well */ | 1360 | /* setup early devices and console here as well */ |
1357 | sh7372_add_early_devices(); | 1361 | sh7372_add_early_devices(); |
diff --git a/arch/c6x/kernel/entry.S b/arch/c6x/kernel/entry.S index 3e977ccda827..30b37e5f4a61 100644 --- a/arch/c6x/kernel/entry.S +++ b/arch/c6x/kernel/entry.S | |||
@@ -717,33 +717,6 @@ ENTRY(sys_ftruncate64_c6x) | |||
717 | #endif | 717 | #endif |
718 | ENDPROC(sys_ftruncate64_c6x) | 718 | ENDPROC(sys_ftruncate64_c6x) |
719 | 719 | ||
720 | #ifdef __ARCH_WANT_SYSCALL_OFF_T | ||
721 | ;; On Entry | ||
722 | ;; A4 - fd | ||
723 | ;; B4 - offset_lo (LE), offset_hi (BE) | ||
724 | ;; A6 - offset_lo (BE), offset_hi (LE) | ||
725 | ;; B6 - len | ||
726 | ;; A8 - advice | ||
727 | ENTRY(sys_fadvise64_c6x) | ||
728 | #ifdef CONFIG_C6X_BIG_KERNEL | ||
729 | MVKL .S1 sys_fadvise64,A0 | ||
730 | MVKH .S1 sys_fadvise64,A0 | ||
731 | BNOP .S2X A0,2 | ||
732 | #else | ||
733 | B .S2 sys_fadvise64 | ||
734 | NOP 2 | ||
735 | #endif | ||
736 | #ifdef CONFIG_CPU_BIG_ENDIAN | ||
737 | MV .L2 B4,B5 | ||
738 | || MV .D2X A6,B4 | ||
739 | #else | ||
740 | MV .D2X A6,B5 | ||
741 | #endif | ||
742 | MV .D1X B6,A6 | ||
743 | MV .D2X A8,B6 | ||
744 | #endif | ||
745 | ENDPROC(sys_fadvise64_c6x) | ||
746 | |||
747 | ;; On Entry | 720 | ;; On Entry |
748 | ;; A4 - fd | 721 | ;; A4 - fd |
749 | ;; B4 - offset_lo (LE), offset_hi (BE) | 722 | ;; B4 - offset_lo (LE), offset_hi (BE) |
diff --git a/arch/sh/kernel/cpu/sh2a/ex.S b/arch/sh/kernel/cpu/sh2a/ex.S index 3ead9e63965a..4568066700cf 100644 --- a/arch/sh/kernel/cpu/sh2a/ex.S +++ b/arch/sh/kernel/cpu/sh2a/ex.S | |||
@@ -66,6 +66,7 @@ vector = 0 | |||
66 | .long exception_entry0 + vector * 6 | 66 | .long exception_entry0 + vector * 6 |
67 | vector = vector + 1 | 67 | vector = vector + 1 |
68 | .endr | 68 | .endr |
69 | vector = 0 | ||
69 | .rept 256 | 70 | .rept 256 |
70 | .long exception_entry1 + vector * 6 | 71 | .long exception_entry1 + vector * 6 |
71 | vector = vector + 1 | 72 | vector = vector + 1 |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7757.c b/arch/sh/kernel/cpu/sh4a/clock-sh7757.c index 0fbff1422f54..0bd21c82151b 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7757.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7757.c | |||
@@ -79,7 +79,7 @@ struct clk div4_clks[DIV4_NR] = { | |||
79 | #define MSTPCR1 0xffc80034 | 79 | #define MSTPCR1 0xffc80034 |
80 | #define MSTPCR2 0xffc10028 | 80 | #define MSTPCR2 0xffc10028 |
81 | 81 | ||
82 | enum { MSTP004, MSTP000, MSTP114, MSTP113, MSTP112, | 82 | enum { MSTP004, MSTP000, MSTP127, MSTP114, MSTP113, MSTP112, |
83 | MSTP111, MSTP110, MSTP103, MSTP102, MSTP220, | 83 | MSTP111, MSTP110, MSTP103, MSTP102, MSTP220, |
84 | MSTP_NR }; | 84 | MSTP_NR }; |
85 | 85 | ||
@@ -89,6 +89,7 @@ static struct clk mstp_clks[MSTP_NR] = { | |||
89 | [MSTP000] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 0, 0), | 89 | [MSTP000] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 0, 0), |
90 | 90 | ||
91 | /* MSTPCR1 */ | 91 | /* MSTPCR1 */ |
92 | [MSTP127] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR1, 27, 0), | ||
92 | [MSTP114] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR1, 14, 0), | 93 | [MSTP114] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR1, 14, 0), |
93 | [MSTP113] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR1, 13, 0), | 94 | [MSTP113] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR1, 13, 0), |
94 | [MSTP112] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR1, 12, 0), | 95 | [MSTP112] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR1, 12, 0), |
@@ -131,6 +132,7 @@ static struct clk_lookup lookups[] = { | |||
131 | CLKDEV_CON_ID("usb_fck", &mstp_clks[MSTP103]), | 132 | CLKDEV_CON_ID("usb_fck", &mstp_clks[MSTP103]), |
132 | CLKDEV_DEV_ID("renesas_usbhs.0", &mstp_clks[MSTP102]), | 133 | CLKDEV_DEV_ID("renesas_usbhs.0", &mstp_clks[MSTP102]), |
133 | CLKDEV_CON_ID("mmc0", &mstp_clks[MSTP220]), | 134 | CLKDEV_CON_ID("mmc0", &mstp_clks[MSTP220]), |
135 | CLKDEV_CON_ID("rspi2", &mstp_clks[MSTP127]), | ||
134 | }; | 136 | }; |
135 | 137 | ||
136 | int __init arch_clk_init(void) | 138 | int __init arch_clk_init(void) |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7785.c b/arch/sh/kernel/cpu/sh4a/clock-sh7785.c index e5b420cc1265..2b314439d359 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7785.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7785.c | |||
@@ -156,7 +156,7 @@ static struct clk_lookup lookups[] = { | |||
156 | CLKDEV_CON_ID("siof_fck", &mstp_clks[MSTP003]), | 156 | CLKDEV_CON_ID("siof_fck", &mstp_clks[MSTP003]), |
157 | CLKDEV_CON_ID("hspi_fck", &mstp_clks[MSTP002]), | 157 | CLKDEV_CON_ID("hspi_fck", &mstp_clks[MSTP002]), |
158 | CLKDEV_CON_ID("hudi_fck", &mstp_clks[MSTP119]), | 158 | CLKDEV_CON_ID("hudi_fck", &mstp_clks[MSTP119]), |
159 | CLKDEV_CON_ID("ubc_fck", &mstp_clks[MSTP117]), | 159 | CLKDEV_CON_ID("ubc0", &mstp_clks[MSTP117]), |
160 | CLKDEV_CON_ID("dmac_11_6_fck", &mstp_clks[MSTP105]), | 160 | CLKDEV_CON_ID("dmac_11_6_fck", &mstp_clks[MSTP105]), |
161 | CLKDEV_CON_ID("dmac_5_0_fck", &mstp_clks[MSTP104]), | 161 | CLKDEV_CON_ID("dmac_5_0_fck", &mstp_clks[MSTP104]), |
162 | CLKDEV_CON_ID("gdta_fck", &mstp_clks[MSTP100]), | 162 | CLKDEV_CON_ID("gdta_fck", &mstp_clks[MSTP100]), |
diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile index ad1fb5d969f3..eddcfb36aafb 100644 --- a/arch/sparc/Makefile +++ b/arch/sparc/Makefile | |||
@@ -31,7 +31,7 @@ UTS_MACHINE := sparc | |||
31 | 31 | ||
32 | #KBUILD_CFLAGS += -g -pipe -fcall-used-g5 -fcall-used-g7 | 32 | #KBUILD_CFLAGS += -g -pipe -fcall-used-g5 -fcall-used-g7 |
33 | KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 | 33 | KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 |
34 | KBUILD_AFLAGS += -m32 | 34 | KBUILD_AFLAGS += -m32 -Wa,-Av8 |
35 | 35 | ||
36 | #LDFLAGS_vmlinux = -N -Ttext 0xf0004000 | 36 | #LDFLAGS_vmlinux = -N -Ttext 0xf0004000 |
37 | # Since 2.5.40, the first stage is left not btfix-ed. | 37 | # Since 2.5.40, the first stage is left not btfix-ed. |
diff --git a/arch/tile/configs/tilegx_defconfig b/arch/tile/configs/tilegx_defconfig index dafdbbae1124..b8d99aca5431 100644 --- a/arch/tile/configs/tilegx_defconfig +++ b/arch/tile/configs/tilegx_defconfig | |||
@@ -1,337 +1,93 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux/tilegx 2.6.39-rc5 Kernel Configuration | ||
4 | # Wed May 4 11:08:04 2011 | ||
5 | # | ||
6 | CONFIG_TILE=y | ||
7 | CONFIG_MMU=y | ||
8 | CONFIG_GENERIC_CSUM=y | ||
9 | CONFIG_SEMAPHORE_SLEEPERS=y | ||
10 | CONFIG_HAVE_ARCH_ALLOC_REMAP=y | ||
11 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y | ||
12 | CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y | ||
13 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
14 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
15 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
16 | CONFIG_DEFAULT_MIGRATION_COST=10000000 | ||
17 | CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y | ||
18 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y | ||
19 | CONFIG_ARCH_DMA_ADDR_T_64BIT=y | ||
20 | CONFIG_LOCKDEP_SUPPORT=y | ||
21 | CONFIG_STACKTRACE_SUPPORT=y | ||
22 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | ||
23 | CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y | ||
24 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
25 | CONFIG_STRICT_DEVMEM=y | ||
26 | CONFIG_SMP=y | ||
27 | # CONFIG_DEBUG_COPY_FROM_USER is not set | ||
28 | CONFIG_HVC_TILE=y | ||
29 | CONFIG_TILEGX=y | 1 | CONFIG_TILEGX=y |
30 | CONFIG_64BIT=y | ||
31 | CONFIG_ARCH_DEFCONFIG="arch/tile/configs/tilegx_defconfig" | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
33 | CONFIG_CONSTRUCTORS=y | ||
34 | |||
35 | # | ||
36 | # General setup | ||
37 | # | ||
38 | CONFIG_EXPERIMENTAL=y | 2 | CONFIG_EXPERIMENTAL=y |
39 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
40 | CONFIG_CROSS_COMPILE="" | ||
41 | CONFIG_LOCALVERSION="" | ||
42 | # CONFIG_LOCALVERSION_AUTO is not set | 3 | # CONFIG_LOCALVERSION_AUTO is not set |
43 | CONFIG_SWAP=y | ||
44 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
45 | CONFIG_SYSVIPC_SYSCTL=y | ||
46 | CONFIG_POSIX_MQUEUE=y | 5 | CONFIG_POSIX_MQUEUE=y |
47 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
48 | CONFIG_BSD_PROCESS_ACCT=y | 6 | CONFIG_BSD_PROCESS_ACCT=y |
49 | CONFIG_BSD_PROCESS_ACCT_V3=y | 7 | CONFIG_BSD_PROCESS_ACCT_V3=y |
50 | # CONFIG_FHANDLE is not set | 8 | CONFIG_FHANDLE=y |
51 | CONFIG_TASKSTATS=y | 9 | CONFIG_TASKSTATS=y |
52 | CONFIG_TASK_DELAY_ACCT=y | 10 | CONFIG_TASK_DELAY_ACCT=y |
53 | CONFIG_TASK_XACCT=y | 11 | CONFIG_TASK_XACCT=y |
54 | CONFIG_TASK_IO_ACCOUNTING=y | 12 | CONFIG_TASK_IO_ACCOUNTING=y |
55 | CONFIG_AUDIT=y | 13 | CONFIG_AUDIT=y |
56 | CONFIG_HAVE_GENERIC_HARDIRQS=y | ||
57 | |||
58 | # | ||
59 | # IRQ subsystem | ||
60 | # | ||
61 | CONFIG_GENERIC_HARDIRQS=y | ||
62 | CONFIG_GENERIC_IRQ_PROBE=y | ||
63 | CONFIG_GENERIC_IRQ_SHOW=y | ||
64 | CONFIG_GENERIC_PENDING_IRQ=y | ||
65 | |||
66 | # | ||
67 | # RCU Subsystem | ||
68 | # | ||
69 | CONFIG_TREE_RCU=y | ||
70 | # CONFIG_PREEMPT_RCU is not set | ||
71 | # CONFIG_RCU_TRACE is not set | ||
72 | CONFIG_RCU_FANOUT=64 | ||
73 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
74 | # CONFIG_RCU_FAST_NO_HZ is not set | ||
75 | # CONFIG_TREE_RCU_TRACE is not set | ||
76 | # CONFIG_IKCONFIG is not set | ||
77 | CONFIG_LOG_BUF_SHIFT=19 | 14 | CONFIG_LOG_BUF_SHIFT=19 |
78 | CONFIG_CGROUPS=y | 15 | CONFIG_CGROUPS=y |
79 | CONFIG_CGROUP_DEBUG=y | 16 | CONFIG_CGROUP_DEBUG=y |
80 | CONFIG_CGROUP_NS=y | ||
81 | # CONFIG_CGROUP_FREEZER is not set | ||
82 | CONFIG_CGROUP_DEVICE=y | 17 | CONFIG_CGROUP_DEVICE=y |
83 | CONFIG_CPUSETS=y | 18 | CONFIG_CPUSETS=y |
84 | CONFIG_PROC_PID_CPUSET=y | ||
85 | CONFIG_CGROUP_CPUACCT=y | 19 | CONFIG_CGROUP_CPUACCT=y |
86 | CONFIG_RESOURCE_COUNTERS=y | 20 | CONFIG_RESOURCE_COUNTERS=y |
87 | CONFIG_CGROUP_MEM_RES_CTLR=y | 21 | CONFIG_CGROUP_MEM_RES_CTLR=y |
88 | CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y | 22 | CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y |
89 | CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y | ||
90 | CONFIG_CGROUP_SCHED=y | 23 | CONFIG_CGROUP_SCHED=y |
91 | CONFIG_FAIR_GROUP_SCHED=y | ||
92 | CONFIG_RT_GROUP_SCHED=y | 24 | CONFIG_RT_GROUP_SCHED=y |
93 | CONFIG_BLK_CGROUP=y | 25 | CONFIG_BLK_CGROUP=y |
94 | # CONFIG_DEBUG_BLK_CGROUP is not set | ||
95 | CONFIG_NAMESPACES=y | 26 | CONFIG_NAMESPACES=y |
96 | CONFIG_UTS_NS=y | ||
97 | CONFIG_IPC_NS=y | ||
98 | CONFIG_USER_NS=y | ||
99 | CONFIG_PID_NS=y | ||
100 | CONFIG_NET_NS=y | ||
101 | # CONFIG_SCHED_AUTOGROUP is not set | ||
102 | CONFIG_MM_OWNER=y | ||
103 | # CONFIG_SYSFS_DEPRECATED is not set | ||
104 | CONFIG_RELAY=y | 27 | CONFIG_RELAY=y |
105 | CONFIG_BLK_DEV_INITRD=y | 28 | CONFIG_BLK_DEV_INITRD=y |
106 | CONFIG_INITRAMFS_SOURCE="usr/contents.txt" | ||
107 | CONFIG_INITRAMFS_ROOT_UID=0 | ||
108 | CONFIG_INITRAMFS_ROOT_GID=0 | ||
109 | CONFIG_RD_GZIP=y | ||
110 | # CONFIG_RD_BZIP2 is not set | ||
111 | # CONFIG_RD_LZMA is not set | ||
112 | # CONFIG_RD_XZ is not set | ||
113 | # CONFIG_RD_LZO is not set | ||
114 | CONFIG_INITRAMFS_COMPRESSION_NONE=y | ||
115 | # CONFIG_INITRAMFS_COMPRESSION_GZIP is not set | ||
116 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
117 | CONFIG_SYSCTL=y | ||
118 | CONFIG_ANON_INODES=y | ||
119 | CONFIG_EXPERT=y | ||
120 | CONFIG_SYSCTL_SYSCALL=y | 29 | CONFIG_SYSCTL_SYSCALL=y |
121 | CONFIG_KALLSYMS=y | ||
122 | # CONFIG_KALLSYMS_ALL is not set | ||
123 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
124 | CONFIG_HOTPLUG=y | ||
125 | CONFIG_PRINTK=y | ||
126 | CONFIG_BUG=y | ||
127 | CONFIG_ELF_CORE=y | ||
128 | CONFIG_BASE_FULL=y | ||
129 | CONFIG_FUTEX=y | ||
130 | CONFIG_EPOLL=y | ||
131 | CONFIG_SIGNALFD=y | ||
132 | CONFIG_TIMERFD=y | ||
133 | CONFIG_EVENTFD=y | ||
134 | CONFIG_SHMEM=y | ||
135 | CONFIG_AIO=y | ||
136 | CONFIG_EMBEDDED=y | 30 | CONFIG_EMBEDDED=y |
137 | |||
138 | # | ||
139 | # Kernel Performance Events And Counters | ||
140 | # | ||
141 | CONFIG_VM_EVENT_COUNTERS=y | ||
142 | CONFIG_PCI_QUIRKS=y | ||
143 | CONFIG_SLUB_DEBUG=y | ||
144 | # CONFIG_COMPAT_BRK is not set | 31 | # CONFIG_COMPAT_BRK is not set |
145 | # CONFIG_SLAB is not set | ||
146 | CONFIG_SLUB=y | ||
147 | # CONFIG_SLOB is not set | ||
148 | CONFIG_PROFILING=y | 32 | CONFIG_PROFILING=y |
149 | CONFIG_USE_GENERIC_SMP_HELPERS=y | ||
150 | |||
151 | # | ||
152 | # GCOV-based kernel profiling | ||
153 | # | ||
154 | # CONFIG_GCOV_KERNEL is not set | ||
155 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
156 | CONFIG_SLABINFO=y | ||
157 | CONFIG_RT_MUTEXES=y | ||
158 | CONFIG_BASE_SMALL=0 | ||
159 | CONFIG_MODULES=y | 33 | CONFIG_MODULES=y |
160 | CONFIG_MODULE_FORCE_LOAD=y | 34 | CONFIG_MODULE_FORCE_LOAD=y |
161 | CONFIG_MODULE_UNLOAD=y | 35 | CONFIG_MODULE_UNLOAD=y |
162 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
163 | # CONFIG_MODVERSIONS is not set | ||
164 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
165 | CONFIG_STOP_MACHINE=y | ||
166 | CONFIG_BLOCK=y | ||
167 | CONFIG_BLK_DEV_BSG=y | ||
168 | CONFIG_BLK_DEV_INTEGRITY=y | 36 | CONFIG_BLK_DEV_INTEGRITY=y |
169 | # CONFIG_BLK_DEV_THROTTLING is not set | 37 | CONFIG_PARTITION_ADVANCED=y |
170 | CONFIG_BLOCK_COMPAT=y | 38 | CONFIG_OSF_PARTITION=y |
171 | 39 | CONFIG_AMIGA_PARTITION=y | |
172 | # | 40 | CONFIG_MAC_PARTITION=y |
173 | # IO Schedulers | 41 | CONFIG_BSD_DISKLABEL=y |
174 | # | 42 | CONFIG_MINIX_SUBPARTITION=y |
175 | CONFIG_IOSCHED_NOOP=y | 43 | CONFIG_SOLARIS_X86_PARTITION=y |
176 | CONFIG_IOSCHED_DEADLINE=y | 44 | CONFIG_UNIXWARE_DISKLABEL=y |
177 | CONFIG_IOSCHED_CFQ=y | 45 | CONFIG_SGI_PARTITION=y |
46 | CONFIG_SUN_PARTITION=y | ||
47 | CONFIG_KARMA_PARTITION=y | ||
48 | CONFIG_EFI_PARTITION=y | ||
178 | CONFIG_CFQ_GROUP_IOSCHED=y | 49 | CONFIG_CFQ_GROUP_IOSCHED=y |
179 | # CONFIG_DEFAULT_DEADLINE is not set | ||
180 | CONFIG_DEFAULT_CFQ=y | ||
181 | # CONFIG_DEFAULT_NOOP is not set | ||
182 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
183 | CONFIG_PADATA=y | ||
184 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
185 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
186 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
187 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
188 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
189 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
190 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
191 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
192 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
193 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
194 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
195 | # CONFIG_INLINE_READ_LOCK is not set | ||
196 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
197 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
198 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
199 | CONFIG_INLINE_READ_UNLOCK=y | ||
200 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
201 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
202 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
203 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
204 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
205 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
206 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
207 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
208 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
209 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
210 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
211 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
212 | CONFIG_MUTEX_SPIN_ON_OWNER=y | ||
213 | |||
214 | # | ||
215 | # Tilera-specific configuration | ||
216 | # | ||
217 | CONFIG_NR_CPUS=100 | 50 | CONFIG_NR_CPUS=100 |
218 | CONFIG_TICK_ONESHOT=y | ||
219 | CONFIG_NO_HZ=y | 51 | CONFIG_NO_HZ=y |
220 | CONFIG_HIGH_RES_TIMERS=y | 52 | CONFIG_HIGH_RES_TIMERS=y |
221 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
222 | CONFIG_HZ_100=y | 53 | CONFIG_HZ_100=y |
223 | # CONFIG_HZ_250 is not set | ||
224 | # CONFIG_HZ_300 is not set | ||
225 | # CONFIG_HZ_1000 is not set | ||
226 | CONFIG_HZ=100 | ||
227 | CONFIG_SCHED_HRTICK=y | ||
228 | # CONFIG_KEXEC is not set | ||
229 | CONFIG_COMPAT=y | ||
230 | CONFIG_SYSVIPC_COMPAT=y | ||
231 | # CONFIG_HIGHMEM is not set | ||
232 | CONFIG_NUMA=y | ||
233 | CONFIG_NODES_SHIFT=2 | ||
234 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
235 | CONFIG_SELECT_MEMORY_MODEL=y | ||
236 | CONFIG_DISCONTIGMEM_MANUAL=y | ||
237 | CONFIG_DISCONTIGMEM=y | ||
238 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
239 | CONFIG_NEED_MULTIPLE_NODES=y | ||
240 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
241 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
242 | # CONFIG_COMPACTION is not set | ||
243 | CONFIG_MIGRATION=y | ||
244 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
245 | CONFIG_ZONE_DMA_FLAG=0 | ||
246 | CONFIG_VIRT_TO_BUS=y | ||
247 | # CONFIG_KSM is not set | ||
248 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
249 | # CONFIG_CMDLINE_BOOL is not set | ||
250 | CONFIG_VMALLOC_RESERVE=0x1000000 | ||
251 | CONFIG_HARDWALL=y | ||
252 | CONFIG_KERNEL_PL=1 | ||
253 | |||
254 | # | ||
255 | # Bus options | ||
256 | # | ||
257 | CONFIG_PCI=y | ||
258 | CONFIG_PCI_DOMAINS=y | ||
259 | # CONFIG_NO_IOMEM is not set | ||
260 | # CONFIG_NO_IOPORT is not set | ||
261 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
262 | CONFIG_PCI_DEBUG=y | 54 | CONFIG_PCI_DEBUG=y |
263 | # CONFIG_PCI_STUB is not set | ||
264 | # CONFIG_PCI_IOV is not set | ||
265 | # CONFIG_HOTPLUG_PCI is not set | ||
266 | |||
267 | # | ||
268 | # Executable file formats | ||
269 | # | ||
270 | CONFIG_KCORE_ELF=y | ||
271 | CONFIG_BINFMT_ELF=y | ||
272 | CONFIG_COMPAT_BINFMT_ELF=y | ||
273 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | 55 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set |
274 | # CONFIG_HAVE_AOUT is not set | ||
275 | CONFIG_BINFMT_MISC=y | 56 | CONFIG_BINFMT_MISC=y |
276 | CONFIG_NET=y | 57 | CONFIG_NET=y |
277 | |||
278 | # | ||
279 | # Networking options | ||
280 | # | ||
281 | CONFIG_PACKET=y | 58 | CONFIG_PACKET=y |
282 | CONFIG_UNIX=y | 59 | CONFIG_UNIX=y |
283 | CONFIG_XFRM=y | ||
284 | CONFIG_XFRM_USER=y | 60 | CONFIG_XFRM_USER=y |
285 | CONFIG_XFRM_SUB_POLICY=y | 61 | CONFIG_XFRM_SUB_POLICY=y |
286 | CONFIG_XFRM_MIGRATE=y | ||
287 | CONFIG_XFRM_STATISTICS=y | 62 | CONFIG_XFRM_STATISTICS=y |
288 | CONFIG_XFRM_IPCOMP=m | ||
289 | CONFIG_NET_KEY=m | 63 | CONFIG_NET_KEY=m |
290 | CONFIG_NET_KEY_MIGRATE=y | 64 | CONFIG_NET_KEY_MIGRATE=y |
291 | CONFIG_INET=y | 65 | CONFIG_INET=y |
292 | CONFIG_IP_MULTICAST=y | 66 | CONFIG_IP_MULTICAST=y |
293 | CONFIG_IP_ADVANCED_ROUTER=y | 67 | CONFIG_IP_ADVANCED_ROUTER=y |
294 | # CONFIG_IP_FIB_TRIE_STATS is not set | ||
295 | CONFIG_IP_MULTIPLE_TABLES=y | 68 | CONFIG_IP_MULTIPLE_TABLES=y |
296 | CONFIG_IP_ROUTE_MULTIPATH=y | 69 | CONFIG_IP_ROUTE_MULTIPATH=y |
297 | CONFIG_IP_ROUTE_VERBOSE=y | 70 | CONFIG_IP_ROUTE_VERBOSE=y |
298 | CONFIG_IP_ROUTE_CLASSID=y | ||
299 | # CONFIG_IP_PNP is not set | ||
300 | CONFIG_NET_IPIP=m | 71 | CONFIG_NET_IPIP=m |
301 | # CONFIG_NET_IPGRE_DEMUX is not set | ||
302 | CONFIG_IP_MROUTE=y | 72 | CONFIG_IP_MROUTE=y |
303 | # CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set | ||
304 | CONFIG_IP_PIMSM_V1=y | 73 | CONFIG_IP_PIMSM_V1=y |
305 | CONFIG_IP_PIMSM_V2=y | 74 | CONFIG_IP_PIMSM_V2=y |
306 | # CONFIG_ARPD is not set | ||
307 | CONFIG_SYN_COOKIES=y | 75 | CONFIG_SYN_COOKIES=y |
308 | CONFIG_INET_AH=m | 76 | CONFIG_INET_AH=m |
309 | CONFIG_INET_ESP=m | 77 | CONFIG_INET_ESP=m |
310 | CONFIG_INET_IPCOMP=m | 78 | CONFIG_INET_IPCOMP=m |
311 | CONFIG_INET_XFRM_TUNNEL=m | ||
312 | CONFIG_INET_TUNNEL=m | ||
313 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | 79 | CONFIG_INET_XFRM_MODE_TRANSPORT=m |
314 | CONFIG_INET_XFRM_MODE_TUNNEL=m | 80 | CONFIG_INET_XFRM_MODE_TUNNEL=m |
315 | CONFIG_INET_XFRM_MODE_BEET=m | 81 | CONFIG_INET_XFRM_MODE_BEET=m |
316 | CONFIG_INET_LRO=y | ||
317 | CONFIG_INET_DIAG=m | 82 | CONFIG_INET_DIAG=m |
318 | CONFIG_INET_TCP_DIAG=m | ||
319 | CONFIG_TCP_CONG_ADVANCED=y | 83 | CONFIG_TCP_CONG_ADVANCED=y |
320 | CONFIG_TCP_CONG_BIC=m | ||
321 | CONFIG_TCP_CONG_CUBIC=y | ||
322 | CONFIG_TCP_CONG_WESTWOOD=m | ||
323 | CONFIG_TCP_CONG_HTCP=m | ||
324 | CONFIG_TCP_CONG_HSTCP=m | 84 | CONFIG_TCP_CONG_HSTCP=m |
325 | CONFIG_TCP_CONG_HYBLA=m | 85 | CONFIG_TCP_CONG_HYBLA=m |
326 | CONFIG_TCP_CONG_VEGAS=m | ||
327 | CONFIG_TCP_CONG_SCALABLE=m | 86 | CONFIG_TCP_CONG_SCALABLE=m |
328 | CONFIG_TCP_CONG_LP=m | 87 | CONFIG_TCP_CONG_LP=m |
329 | CONFIG_TCP_CONG_VENO=m | 88 | CONFIG_TCP_CONG_VENO=m |
330 | CONFIG_TCP_CONG_YEAH=m | 89 | CONFIG_TCP_CONG_YEAH=m |
331 | CONFIG_TCP_CONG_ILLINOIS=m | 90 | CONFIG_TCP_CONG_ILLINOIS=m |
332 | CONFIG_DEFAULT_CUBIC=y | ||
333 | # CONFIG_DEFAULT_RENO is not set | ||
334 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
335 | CONFIG_TCP_MD5SIG=y | 91 | CONFIG_TCP_MD5SIG=y |
336 | CONFIG_IPV6=y | 92 | CONFIG_IPV6=y |
337 | CONFIG_IPV6_PRIVACY=y | 93 | CONFIG_IPV6_PRIVACY=y |
@@ -342,108 +98,60 @@ CONFIG_INET6_AH=m | |||
342 | CONFIG_INET6_ESP=m | 98 | CONFIG_INET6_ESP=m |
343 | CONFIG_INET6_IPCOMP=m | 99 | CONFIG_INET6_IPCOMP=m |
344 | CONFIG_IPV6_MIP6=m | 100 | CONFIG_IPV6_MIP6=m |
345 | CONFIG_INET6_XFRM_TUNNEL=m | ||
346 | CONFIG_INET6_TUNNEL=m | ||
347 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | 101 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m |
348 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | 102 | CONFIG_INET6_XFRM_MODE_TUNNEL=m |
349 | CONFIG_INET6_XFRM_MODE_BEET=m | 103 | CONFIG_INET6_XFRM_MODE_BEET=m |
350 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | 104 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
351 | CONFIG_IPV6_SIT=m | 105 | CONFIG_IPV6_SIT=m |
352 | # CONFIG_IPV6_SIT_6RD is not set | ||
353 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
354 | CONFIG_IPV6_TUNNEL=m | 106 | CONFIG_IPV6_TUNNEL=m |
355 | CONFIG_IPV6_MULTIPLE_TABLES=y | 107 | CONFIG_IPV6_MULTIPLE_TABLES=y |
356 | # CONFIG_IPV6_SUBTREES is not set | ||
357 | CONFIG_IPV6_MROUTE=y | 108 | CONFIG_IPV6_MROUTE=y |
358 | # CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set | ||
359 | CONFIG_IPV6_PIMSM_V2=y | 109 | CONFIG_IPV6_PIMSM_V2=y |
360 | CONFIG_NETLABEL=y | 110 | CONFIG_NETLABEL=y |
361 | CONFIG_NETWORK_SECMARK=y | ||
362 | # CONFIG_NETWORK_PHY_TIMESTAMPING is not set | ||
363 | CONFIG_NETFILTER=y | 111 | CONFIG_NETFILTER=y |
364 | # CONFIG_NETFILTER_DEBUG is not set | 112 | CONFIG_NF_CONNTRACK=m |
365 | CONFIG_NETFILTER_ADVANCED=y | ||
366 | CONFIG_BRIDGE_NETFILTER=y | ||
367 | |||
368 | # | ||
369 | # Core Netfilter Configuration | ||
370 | # | ||
371 | CONFIG_NETFILTER_NETLINK=m | ||
372 | CONFIG_NETFILTER_NETLINK_QUEUE=m | ||
373 | CONFIG_NETFILTER_NETLINK_LOG=m | ||
374 | CONFIG_NF_CONNTRACK=y | ||
375 | CONFIG_NF_CONNTRACK_MARK=y | ||
376 | CONFIG_NF_CONNTRACK_SECMARK=y | 113 | CONFIG_NF_CONNTRACK_SECMARK=y |
377 | CONFIG_NF_CONNTRACK_ZONES=y | 114 | CONFIG_NF_CONNTRACK_ZONES=y |
378 | CONFIG_NF_CONNTRACK_EVENTS=y | 115 | CONFIG_NF_CONNTRACK_EVENTS=y |
379 | # CONFIG_NF_CONNTRACK_TIMESTAMP is not set | ||
380 | CONFIG_NF_CT_PROTO_DCCP=m | 116 | CONFIG_NF_CT_PROTO_DCCP=m |
381 | CONFIG_NF_CT_PROTO_GRE=m | ||
382 | CONFIG_NF_CT_PROTO_SCTP=m | ||
383 | CONFIG_NF_CT_PROTO_UDPLITE=m | 117 | CONFIG_NF_CT_PROTO_UDPLITE=m |
384 | CONFIG_NF_CONNTRACK_AMANDA=m | 118 | CONFIG_NF_CONNTRACK_AMANDA=m |
385 | CONFIG_NF_CONNTRACK_FTP=m | 119 | CONFIG_NF_CONNTRACK_FTP=m |
386 | CONFIG_NF_CONNTRACK_H323=m | 120 | CONFIG_NF_CONNTRACK_H323=m |
387 | CONFIG_NF_CONNTRACK_IRC=m | 121 | CONFIG_NF_CONNTRACK_IRC=m |
388 | CONFIG_NF_CONNTRACK_BROADCAST=m | ||
389 | CONFIG_NF_CONNTRACK_NETBIOS_NS=m | 122 | CONFIG_NF_CONNTRACK_NETBIOS_NS=m |
390 | # CONFIG_NF_CONNTRACK_SNMP is not set | ||
391 | CONFIG_NF_CONNTRACK_PPTP=m | 123 | CONFIG_NF_CONNTRACK_PPTP=m |
392 | CONFIG_NF_CONNTRACK_SANE=m | 124 | CONFIG_NF_CONNTRACK_SANE=m |
393 | CONFIG_NF_CONNTRACK_SIP=m | 125 | CONFIG_NF_CONNTRACK_SIP=m |
394 | CONFIG_NF_CONNTRACK_TFTP=m | 126 | CONFIG_NF_CONNTRACK_TFTP=m |
395 | # CONFIG_NF_CT_NETLINK is not set | ||
396 | CONFIG_NETFILTER_TPROXY=m | 127 | CONFIG_NETFILTER_TPROXY=m |
397 | CONFIG_NETFILTER_XTABLES=y | ||
398 | |||
399 | # | ||
400 | # Xtables combined modules | ||
401 | # | ||
402 | CONFIG_NETFILTER_XT_MARK=m | ||
403 | CONFIG_NETFILTER_XT_CONNMARK=m | ||
404 | |||
405 | # | ||
406 | # Xtables targets | ||
407 | # | ||
408 | # CONFIG_NETFILTER_XT_TARGET_AUDIT is not set | ||
409 | # CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set | ||
410 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 128 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
411 | CONFIG_NETFILTER_XT_TARGET_CONNMARK=m | 129 | CONFIG_NETFILTER_XT_TARGET_CONNMARK=m |
412 | CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m | 130 | CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m |
413 | CONFIG_NETFILTER_XT_TARGET_CT=m | 131 | CONFIG_NETFILTER_XT_TARGET_CT=m |
414 | CONFIG_NETFILTER_XT_TARGET_DSCP=m | 132 | CONFIG_NETFILTER_XT_TARGET_DSCP=m |
415 | CONFIG_NETFILTER_XT_TARGET_HL=m | ||
416 | CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m | 133 | CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m |
417 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 134 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
418 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | 135 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m |
419 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 136 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
420 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | 137 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m |
421 | CONFIG_NETFILTER_XT_TARGET_RATEEST=m | ||
422 | CONFIG_NETFILTER_XT_TARGET_TEE=m | 138 | CONFIG_NETFILTER_XT_TARGET_TEE=m |
423 | CONFIG_NETFILTER_XT_TARGET_TPROXY=m | 139 | CONFIG_NETFILTER_XT_TARGET_TPROXY=m |
424 | CONFIG_NETFILTER_XT_TARGET_TRACE=m | 140 | CONFIG_NETFILTER_XT_TARGET_TRACE=m |
425 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | 141 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m |
426 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m | 142 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m |
427 | CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m | 143 | CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m |
428 | |||
429 | # | ||
430 | # Xtables matches | ||
431 | # | ||
432 | # CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set | ||
433 | CONFIG_NETFILTER_XT_MATCH_CLUSTER=m | 144 | CONFIG_NETFILTER_XT_MATCH_CLUSTER=m |
434 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 145 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
435 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | 146 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m |
436 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m | 147 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m |
437 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 148 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
438 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y | 149 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
439 | # CONFIG_NETFILTER_XT_MATCH_CPU is not set | ||
440 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 150 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
441 | # CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set | ||
442 | CONFIG_NETFILTER_XT_MATCH_DSCP=m | 151 | CONFIG_NETFILTER_XT_MATCH_DSCP=m |
443 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 152 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
444 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m | 153 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m |
445 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 154 | CONFIG_NETFILTER_XT_MATCH_HELPER=m |
446 | CONFIG_NETFILTER_XT_MATCH_HL=m | ||
447 | CONFIG_NETFILTER_XT_MATCH_IPRANGE=m | 155 | CONFIG_NETFILTER_XT_MATCH_IPRANGE=m |
448 | CONFIG_NETFILTER_XT_MATCH_IPVS=m | 156 | CONFIG_NETFILTER_XT_MATCH_IPVS=m |
449 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 157 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
@@ -460,55 +168,29 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m | |||
460 | CONFIG_NETFILTER_XT_MATCH_RATEEST=m | 168 | CONFIG_NETFILTER_XT_MATCH_RATEEST=m |
461 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 169 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
462 | CONFIG_NETFILTER_XT_MATCH_RECENT=m | 170 | CONFIG_NETFILTER_XT_MATCH_RECENT=m |
463 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | ||
464 | CONFIG_NETFILTER_XT_MATCH_SOCKET=m | 171 | CONFIG_NETFILTER_XT_MATCH_SOCKET=m |
465 | CONFIG_NETFILTER_XT_MATCH_STATE=y | 172 | CONFIG_NETFILTER_XT_MATCH_STATE=m |
466 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | 173 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m |
467 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 174 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
468 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 175 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
469 | CONFIG_NETFILTER_XT_MATCH_TIME=m | 176 | CONFIG_NETFILTER_XT_MATCH_TIME=m |
470 | CONFIG_NETFILTER_XT_MATCH_U32=m | 177 | CONFIG_NETFILTER_XT_MATCH_U32=m |
471 | # CONFIG_IP_SET is not set | ||
472 | CONFIG_IP_VS=m | 178 | CONFIG_IP_VS=m |
473 | CONFIG_IP_VS_IPV6=y | 179 | CONFIG_IP_VS_IPV6=y |
474 | # CONFIG_IP_VS_DEBUG is not set | ||
475 | CONFIG_IP_VS_TAB_BITS=12 | ||
476 | |||
477 | # | ||
478 | # IPVS transport protocol load balancing support | ||
479 | # | ||
480 | CONFIG_IP_VS_PROTO_TCP=y | 180 | CONFIG_IP_VS_PROTO_TCP=y |
481 | CONFIG_IP_VS_PROTO_UDP=y | 181 | CONFIG_IP_VS_PROTO_UDP=y |
482 | CONFIG_IP_VS_PROTO_AH_ESP=y | ||
483 | CONFIG_IP_VS_PROTO_ESP=y | 182 | CONFIG_IP_VS_PROTO_ESP=y |
484 | CONFIG_IP_VS_PROTO_AH=y | 183 | CONFIG_IP_VS_PROTO_AH=y |
485 | CONFIG_IP_VS_PROTO_SCTP=y | 184 | CONFIG_IP_VS_PROTO_SCTP=y |
486 | |||
487 | # | ||
488 | # IPVS scheduler | ||
489 | # | ||
490 | CONFIG_IP_VS_RR=m | 185 | CONFIG_IP_VS_RR=m |
491 | CONFIG_IP_VS_WRR=m | 186 | CONFIG_IP_VS_WRR=m |
492 | CONFIG_IP_VS_LC=m | 187 | CONFIG_IP_VS_LC=m |
493 | CONFIG_IP_VS_WLC=m | 188 | CONFIG_IP_VS_WLC=m |
494 | CONFIG_IP_VS_LBLC=m | 189 | CONFIG_IP_VS_LBLC=m |
495 | CONFIG_IP_VS_LBLCR=m | 190 | CONFIG_IP_VS_LBLCR=m |
496 | # CONFIG_IP_VS_DH is not set | ||
497 | # CONFIG_IP_VS_SH is not set | ||
498 | CONFIG_IP_VS_SED=m | 191 | CONFIG_IP_VS_SED=m |
499 | CONFIG_IP_VS_NQ=m | 192 | CONFIG_IP_VS_NQ=m |
500 | 193 | CONFIG_NF_CONNTRACK_IPV4=m | |
501 | # | ||
502 | # IPVS application helper | ||
503 | # | ||
504 | # CONFIG_IP_VS_NFCT is not set | ||
505 | # CONFIG_IP_VS_PE_SIP is not set | ||
506 | |||
507 | # | ||
508 | # IP: Netfilter Configuration | ||
509 | # | ||
510 | CONFIG_NF_DEFRAG_IPV4=y | ||
511 | CONFIG_NF_CONNTRACK_IPV4=y | ||
512 | # CONFIG_NF_CONNTRACK_PROC_COMPAT is not set | 194 | # CONFIG_NF_CONNTRACK_PROC_COMPAT is not set |
513 | CONFIG_IP_NF_QUEUE=m | 195 | CONFIG_IP_NF_QUEUE=m |
514 | CONFIG_IP_NF_IPTABLES=y | 196 | CONFIG_IP_NF_IPTABLES=y |
@@ -519,9 +201,7 @@ CONFIG_IP_NF_FILTER=y | |||
519 | CONFIG_IP_NF_TARGET_REJECT=y | 201 | CONFIG_IP_NF_TARGET_REJECT=y |
520 | CONFIG_IP_NF_TARGET_LOG=m | 202 | CONFIG_IP_NF_TARGET_LOG=m |
521 | CONFIG_IP_NF_TARGET_ULOG=m | 203 | CONFIG_IP_NF_TARGET_ULOG=m |
522 | # CONFIG_NF_NAT is not set | ||
523 | CONFIG_IP_NF_MANGLE=m | 204 | CONFIG_IP_NF_MANGLE=m |
524 | # CONFIG_IP_NF_TARGET_CLUSTERIP is not set | ||
525 | CONFIG_IP_NF_TARGET_ECN=m | 205 | CONFIG_IP_NF_TARGET_ECN=m |
526 | CONFIG_IP_NF_TARGET_TTL=m | 206 | CONFIG_IP_NF_TARGET_TTL=m |
527 | CONFIG_IP_NF_RAW=m | 207 | CONFIG_IP_NF_RAW=m |
@@ -529,11 +209,6 @@ CONFIG_IP_NF_SECURITY=m | |||
529 | CONFIG_IP_NF_ARPTABLES=m | 209 | CONFIG_IP_NF_ARPTABLES=m |
530 | CONFIG_IP_NF_ARPFILTER=m | 210 | CONFIG_IP_NF_ARPFILTER=m |
531 | CONFIG_IP_NF_ARP_MANGLE=m | 211 | CONFIG_IP_NF_ARP_MANGLE=m |
532 | |||
533 | # | ||
534 | # IPv6: Netfilter Configuration | ||
535 | # | ||
536 | CONFIG_NF_DEFRAG_IPV6=m | ||
537 | CONFIG_NF_CONNTRACK_IPV6=m | 212 | CONFIG_NF_CONNTRACK_IPV6=m |
538 | CONFIG_IP6_NF_QUEUE=m | 213 | CONFIG_IP6_NF_QUEUE=m |
539 | CONFIG_IP6_NF_IPTABLES=m | 214 | CONFIG_IP6_NF_IPTABLES=m |
@@ -574,57 +249,20 @@ CONFIG_BRIDGE_EBT_SNAT=m | |||
574 | CONFIG_BRIDGE_EBT_LOG=m | 249 | CONFIG_BRIDGE_EBT_LOG=m |
575 | CONFIG_BRIDGE_EBT_ULOG=m | 250 | CONFIG_BRIDGE_EBT_ULOG=m |
576 | CONFIG_BRIDGE_EBT_NFLOG=m | 251 | CONFIG_BRIDGE_EBT_NFLOG=m |
577 | # CONFIG_IP_DCCP is not set | ||
578 | CONFIG_IP_SCTP=m | ||
579 | # CONFIG_SCTP_DBG_MSG is not set | ||
580 | # CONFIG_SCTP_DBG_OBJCNT is not set | ||
581 | # CONFIG_SCTP_HMAC_NONE is not set | ||
582 | # CONFIG_SCTP_HMAC_SHA1 is not set | ||
583 | CONFIG_SCTP_HMAC_MD5=y | ||
584 | CONFIG_RDS=m | 252 | CONFIG_RDS=m |
585 | CONFIG_RDS_TCP=m | 253 | CONFIG_RDS_TCP=m |
586 | # CONFIG_RDS_DEBUG is not set | ||
587 | # CONFIG_TIPC is not set | ||
588 | # CONFIG_ATM is not set | ||
589 | # CONFIG_L2TP is not set | ||
590 | CONFIG_STP=m | ||
591 | CONFIG_GARP=m | ||
592 | CONFIG_BRIDGE=m | 254 | CONFIG_BRIDGE=m |
593 | CONFIG_BRIDGE_IGMP_SNOOPING=y | ||
594 | CONFIG_NET_DSA=y | 255 | CONFIG_NET_DSA=y |
595 | CONFIG_NET_DSA_TAG_DSA=y | ||
596 | CONFIG_NET_DSA_TAG_EDSA=y | ||
597 | CONFIG_NET_DSA_TAG_TRAILER=y | ||
598 | CONFIG_NET_DSA_MV88E6XXX=y | ||
599 | CONFIG_NET_DSA_MV88E6060=y | ||
600 | CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y | ||
601 | CONFIG_NET_DSA_MV88E6131=y | ||
602 | CONFIG_NET_DSA_MV88E6123_61_65=y | ||
603 | CONFIG_VLAN_8021Q=m | 256 | CONFIG_VLAN_8021Q=m |
604 | CONFIG_VLAN_8021Q_GVRP=y | 257 | CONFIG_VLAN_8021Q_GVRP=y |
605 | # CONFIG_DECNET is not set | ||
606 | CONFIG_LLC=m | ||
607 | # CONFIG_LLC2 is not set | ||
608 | # CONFIG_IPX is not set | ||
609 | # CONFIG_ATALK is not set | ||
610 | # CONFIG_X25 is not set | ||
611 | # CONFIG_LAPB is not set | ||
612 | # CONFIG_ECONET is not set | ||
613 | # CONFIG_WAN_ROUTER is not set | ||
614 | CONFIG_PHONET=m | 258 | CONFIG_PHONET=m |
615 | # CONFIG_IEEE802154 is not set | ||
616 | CONFIG_NET_SCHED=y | 259 | CONFIG_NET_SCHED=y |
617 | |||
618 | # | ||
619 | # Queueing/Scheduling | ||
620 | # | ||
621 | CONFIG_NET_SCH_CBQ=m | 260 | CONFIG_NET_SCH_CBQ=m |
622 | CONFIG_NET_SCH_HTB=m | 261 | CONFIG_NET_SCH_HTB=m |
623 | CONFIG_NET_SCH_HFSC=m | 262 | CONFIG_NET_SCH_HFSC=m |
624 | CONFIG_NET_SCH_PRIO=m | 263 | CONFIG_NET_SCH_PRIO=m |
625 | CONFIG_NET_SCH_MULTIQ=m | 264 | CONFIG_NET_SCH_MULTIQ=m |
626 | CONFIG_NET_SCH_RED=m | 265 | CONFIG_NET_SCH_RED=m |
627 | # CONFIG_NET_SCH_SFB is not set | ||
628 | CONFIG_NET_SCH_SFQ=m | 266 | CONFIG_NET_SCH_SFQ=m |
629 | CONFIG_NET_SCH_TEQL=m | 267 | CONFIG_NET_SCH_TEQL=m |
630 | CONFIG_NET_SCH_TBF=m | 268 | CONFIG_NET_SCH_TBF=m |
@@ -632,14 +270,7 @@ CONFIG_NET_SCH_GRED=m | |||
632 | CONFIG_NET_SCH_DSMARK=m | 270 | CONFIG_NET_SCH_DSMARK=m |
633 | CONFIG_NET_SCH_NETEM=m | 271 | CONFIG_NET_SCH_NETEM=m |
634 | CONFIG_NET_SCH_DRR=m | 272 | CONFIG_NET_SCH_DRR=m |
635 | # CONFIG_NET_SCH_MQPRIO is not set | ||
636 | # CONFIG_NET_SCH_CHOKE is not set | ||
637 | CONFIG_NET_SCH_INGRESS=m | 273 | CONFIG_NET_SCH_INGRESS=m |
638 | |||
639 | # | ||
640 | # Classification | ||
641 | # | ||
642 | CONFIG_NET_CLS=y | ||
643 | CONFIG_NET_CLS_BASIC=m | 274 | CONFIG_NET_CLS_BASIC=m |
644 | CONFIG_NET_CLS_TCINDEX=m | 275 | CONFIG_NET_CLS_TCINDEX=m |
645 | CONFIG_NET_CLS_ROUTE4=m | 276 | CONFIG_NET_CLS_ROUTE4=m |
@@ -652,7 +283,6 @@ CONFIG_NET_CLS_RSVP6=m | |||
652 | CONFIG_NET_CLS_FLOW=m | 283 | CONFIG_NET_CLS_FLOW=m |
653 | CONFIG_NET_CLS_CGROUP=y | 284 | CONFIG_NET_CLS_CGROUP=y |
654 | CONFIG_NET_EMATCH=y | 285 | CONFIG_NET_EMATCH=y |
655 | CONFIG_NET_EMATCH_STACK=32 | ||
656 | CONFIG_NET_EMATCH_CMP=m | 286 | CONFIG_NET_EMATCH_CMP=m |
657 | CONFIG_NET_EMATCH_NBYTE=m | 287 | CONFIG_NET_EMATCH_NBYTE=m |
658 | CONFIG_NET_EMATCH_U32=m | 288 | CONFIG_NET_EMATCH_U32=m |
@@ -668,307 +298,46 @@ CONFIG_NET_ACT_NAT=m | |||
668 | CONFIG_NET_ACT_PEDIT=m | 298 | CONFIG_NET_ACT_PEDIT=m |
669 | CONFIG_NET_ACT_SIMP=m | 299 | CONFIG_NET_ACT_SIMP=m |
670 | CONFIG_NET_ACT_SKBEDIT=m | 300 | CONFIG_NET_ACT_SKBEDIT=m |
671 | # CONFIG_NET_ACT_CSUM is not set | ||
672 | CONFIG_NET_CLS_IND=y | 301 | CONFIG_NET_CLS_IND=y |
673 | CONFIG_NET_SCH_FIFO=y | ||
674 | CONFIG_DCB=y | 302 | CONFIG_DCB=y |
675 | CONFIG_DNS_RESOLVER=y | ||
676 | # CONFIG_BATMAN_ADV is not set | ||
677 | CONFIG_RPS=y | ||
678 | CONFIG_RFS_ACCEL=y | ||
679 | CONFIG_XPS=y | ||
680 | |||
681 | # | ||
682 | # Network testing | ||
683 | # | ||
684 | # CONFIG_NET_PKTGEN is not set | ||
685 | # CONFIG_HAMRADIO is not set | ||
686 | # CONFIG_CAN is not set | ||
687 | # CONFIG_IRDA is not set | ||
688 | # CONFIG_BT is not set | ||
689 | # CONFIG_AF_RXRPC is not set | ||
690 | CONFIG_FIB_RULES=y | ||
691 | # CONFIG_WIRELESS is not set | 303 | # CONFIG_WIRELESS is not set |
692 | # CONFIG_WIMAX is not set | ||
693 | # CONFIG_RFKILL is not set | ||
694 | # CONFIG_NET_9P is not set | ||
695 | # CONFIG_CAIF is not set | ||
696 | # CONFIG_CEPH_LIB is not set | ||
697 | |||
698 | # | ||
699 | # Device Drivers | ||
700 | # | ||
701 | |||
702 | # | ||
703 | # Generic Driver Options | ||
704 | # | ||
705 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 304 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
706 | CONFIG_DEVTMPFS=y | 305 | CONFIG_DEVTMPFS=y |
707 | CONFIG_DEVTMPFS_MOUNT=y | 306 | CONFIG_DEVTMPFS_MOUNT=y |
708 | CONFIG_STANDALONE=y | ||
709 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
710 | CONFIG_FW_LOADER=y | ||
711 | # CONFIG_FIRMWARE_IN_KERNEL is not set | 307 | # CONFIG_FIRMWARE_IN_KERNEL is not set |
712 | CONFIG_EXTRA_FIRMWARE="" | ||
713 | # CONFIG_DEBUG_DRIVER is not set | ||
714 | # CONFIG_DEBUG_DEVRES is not set | ||
715 | # CONFIG_SYS_HYPERVISOR is not set | ||
716 | CONFIG_CONNECTOR=y | 308 | CONFIG_CONNECTOR=y |
717 | CONFIG_PROC_EVENTS=y | ||
718 | # CONFIG_MTD is not set | ||
719 | # CONFIG_PARPORT is not set | ||
720 | CONFIG_BLK_DEV=y | ||
721 | # CONFIG_BLK_CPQ_DA is not set | ||
722 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
723 | # CONFIG_BLK_DEV_DAC960 is not set | ||
724 | # CONFIG_BLK_DEV_UMEM is not set | ||
725 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
726 | CONFIG_BLK_DEV_LOOP=y | 309 | CONFIG_BLK_DEV_LOOP=y |
727 | CONFIG_BLK_DEV_CRYPTOLOOP=m | 310 | CONFIG_BLK_DEV_CRYPTOLOOP=m |
728 | # CONFIG_BLK_DEV_DRBD is not set | ||
729 | # CONFIG_BLK_DEV_NBD is not set | ||
730 | CONFIG_BLK_DEV_SX8=m | 311 | CONFIG_BLK_DEV_SX8=m |
731 | CONFIG_BLK_DEV_RAM=y | 312 | CONFIG_BLK_DEV_RAM=y |
732 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
733 | CONFIG_BLK_DEV_RAM_SIZE=16384 | 313 | CONFIG_BLK_DEV_RAM_SIZE=16384 |
734 | # CONFIG_BLK_DEV_XIP is not set | 314 | CONFIG_ATA_OVER_ETH=m |
735 | # CONFIG_CDROM_PKTCDVD is not set | ||
736 | CONFIG_ATA_OVER_ETH=y | ||
737 | # CONFIG_BLK_DEV_RBD is not set | ||
738 | # CONFIG_SENSORS_LIS3LV02D is not set | ||
739 | CONFIG_MISC_DEVICES=y | ||
740 | # CONFIG_AD525X_DPOT is not set | ||
741 | # CONFIG_PHANTOM is not set | ||
742 | # CONFIG_SGI_IOC4 is not set | ||
743 | # CONFIG_TIFM_CORE is not set | ||
744 | # CONFIG_ICS932S401 is not set | ||
745 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
746 | # CONFIG_HP_ILO is not set | ||
747 | # CONFIG_APDS9802ALS is not set | ||
748 | # CONFIG_ISL29003 is not set | ||
749 | # CONFIG_ISL29020 is not set | ||
750 | # CONFIG_SENSORS_TSL2550 is not set | ||
751 | # CONFIG_SENSORS_BH1780 is not set | ||
752 | # CONFIG_SENSORS_BH1770 is not set | ||
753 | # CONFIG_SENSORS_APDS990X is not set | ||
754 | # CONFIG_HMC6352 is not set | ||
755 | # CONFIG_DS1682 is not set | ||
756 | # CONFIG_BMP085 is not set | ||
757 | # CONFIG_PCH_PHUB is not set | ||
758 | # CONFIG_C2PORT is not set | ||
759 | |||
760 | # | ||
761 | # EEPROM support | ||
762 | # | ||
763 | # CONFIG_EEPROM_AT24 is not set | ||
764 | # CONFIG_EEPROM_LEGACY is not set | ||
765 | # CONFIG_EEPROM_MAX6875 is not set | ||
766 | # CONFIG_EEPROM_93CX6 is not set | ||
767 | # CONFIG_CB710_CORE is not set | ||
768 | |||
769 | # | ||
770 | # Texas Instruments shared transport line discipline | ||
771 | # | ||
772 | # CONFIG_SENSORS_LIS3_I2C is not set | ||
773 | |||
774 | # | ||
775 | # SCSI device support | ||
776 | # | ||
777 | CONFIG_SCSI_MOD=m | ||
778 | CONFIG_RAID_ATTRS=m | 315 | CONFIG_RAID_ATTRS=m |
779 | CONFIG_SCSI=m | ||
780 | CONFIG_SCSI_DMA=y | ||
781 | CONFIG_SCSI_TGT=m | 316 | CONFIG_SCSI_TGT=m |
782 | # CONFIG_SCSI_NETLINK is not set | 317 | CONFIG_BLK_DEV_SD=y |
783 | CONFIG_SCSI_PROC_FS=y | ||
784 | |||
785 | # | ||
786 | # SCSI support type (disk, tape, CD-ROM) | ||
787 | # | ||
788 | CONFIG_BLK_DEV_SD=m | ||
789 | # CONFIG_CHR_DEV_ST is not set | ||
790 | # CONFIG_CHR_DEV_OSST is not set | ||
791 | # CONFIG_BLK_DEV_SR is not set | ||
792 | # CONFIG_CHR_DEV_SG is not set | ||
793 | # CONFIG_CHR_DEV_SCH is not set | ||
794 | # CONFIG_SCSI_MULTI_LUN is not set | ||
795 | CONFIG_SCSI_CONSTANTS=y | 318 | CONFIG_SCSI_CONSTANTS=y |
796 | CONFIG_SCSI_LOGGING=y | 319 | CONFIG_SCSI_LOGGING=y |
797 | # CONFIG_SCSI_SCAN_ASYNC is not set | 320 | CONFIG_SCSI_SAS_ATA=y |
798 | CONFIG_SCSI_WAIT_SCAN=m | 321 | CONFIG_SCSI_MVSAS=y |
799 | 322 | # CONFIG_SCSI_MVSAS_DEBUG is not set | |
800 | # | 323 | CONFIG_SCSI_MVSAS_TASKLET=y |
801 | # SCSI Transports | 324 | CONFIG_ATA=y |
802 | # | 325 | CONFIG_SATA_SIL24=y |
803 | # CONFIG_SCSI_SPI_ATTRS is not set | 326 | # CONFIG_ATA_SFF is not set |
804 | # CONFIG_SCSI_FC_ATTRS is not set | ||
805 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
806 | CONFIG_SCSI_SAS_ATTRS=m | ||
807 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
808 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
809 | CONFIG_SCSI_LOWLEVEL=y | ||
810 | # CONFIG_ISCSI_TCP is not set | ||
811 | # CONFIG_ISCSI_BOOT_SYSFS is not set | ||
812 | # CONFIG_SCSI_CXGB3_ISCSI is not set | ||
813 | # CONFIG_SCSI_CXGB4_ISCSI is not set | ||
814 | # CONFIG_SCSI_BNX2_ISCSI is not set | ||
815 | # CONFIG_SCSI_BNX2X_FCOE is not set | ||
816 | # CONFIG_BE2ISCSI is not set | ||
817 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | ||
818 | # CONFIG_SCSI_HPSA is not set | ||
819 | # CONFIG_SCSI_3W_9XXX is not set | ||
820 | # CONFIG_SCSI_3W_SAS is not set | ||
821 | # CONFIG_SCSI_ACARD is not set | ||
822 | # CONFIG_SCSI_AACRAID is not set | ||
823 | # CONFIG_SCSI_AIC7XXX is not set | ||
824 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
825 | # CONFIG_SCSI_AIC79XX is not set | ||
826 | # CONFIG_SCSI_AIC94XX is not set | ||
827 | # CONFIG_SCSI_MVSAS is not set | ||
828 | # CONFIG_SCSI_DPT_I2O is not set | ||
829 | # CONFIG_SCSI_ADVANSYS is not set | ||
830 | # CONFIG_SCSI_ARCMSR is not set | ||
831 | # CONFIG_MEGARAID_NEWGEN is not set | ||
832 | # CONFIG_MEGARAID_LEGACY is not set | ||
833 | # CONFIG_MEGARAID_SAS is not set | ||
834 | # CONFIG_SCSI_MPT2SAS is not set | ||
835 | # CONFIG_SCSI_HPTIOP is not set | ||
836 | # CONFIG_LIBFC is not set | ||
837 | # CONFIG_LIBFCOE is not set | ||
838 | # CONFIG_FCOE is not set | ||
839 | # CONFIG_SCSI_DMX3191D is not set | ||
840 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
841 | # CONFIG_SCSI_IPS is not set | ||
842 | # CONFIG_SCSI_INITIO is not set | ||
843 | # CONFIG_SCSI_INIA100 is not set | ||
844 | # CONFIG_SCSI_STEX is not set | ||
845 | # CONFIG_SCSI_SYM53C8XX_2 is not set | ||
846 | # CONFIG_SCSI_IPR is not set | ||
847 | # CONFIG_SCSI_QLOGIC_1280 is not set | ||
848 | # CONFIG_SCSI_QLA_FC is not set | ||
849 | # CONFIG_SCSI_QLA_ISCSI is not set | ||
850 | # CONFIG_SCSI_LPFC is not set | ||
851 | # CONFIG_SCSI_DC395x is not set | ||
852 | # CONFIG_SCSI_DC390T is not set | ||
853 | # CONFIG_SCSI_DEBUG is not set | ||
854 | # CONFIG_SCSI_PMCRAID is not set | ||
855 | # CONFIG_SCSI_PM8001 is not set | ||
856 | # CONFIG_SCSI_SRP is not set | ||
857 | # CONFIG_SCSI_BFA_FC is not set | ||
858 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set | ||
859 | # CONFIG_SCSI_DH is not set | ||
860 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
861 | CONFIG_ATA=m | ||
862 | # CONFIG_ATA_NONSTANDARD is not set | ||
863 | CONFIG_ATA_VERBOSE_ERROR=y | ||
864 | CONFIG_SATA_PMP=y | ||
865 | |||
866 | # | ||
867 | # Controllers with non-SFF native interface | ||
868 | # | ||
869 | # CONFIG_SATA_AHCI is not set | ||
870 | # CONFIG_SATA_AHCI_PLATFORM is not set | ||
871 | # CONFIG_SATA_INIC162X is not set | ||
872 | # CONFIG_SATA_ACARD_AHCI is not set | ||
873 | CONFIG_SATA_SIL24=m | ||
874 | CONFIG_ATA_SFF=y | ||
875 | |||
876 | # | ||
877 | # SFF controllers with custom DMA interface | ||
878 | # | ||
879 | # CONFIG_PDC_ADMA is not set | ||
880 | # CONFIG_SATA_QSTOR is not set | ||
881 | # CONFIG_SATA_SX4 is not set | ||
882 | CONFIG_ATA_BMDMA=y | ||
883 | |||
884 | # | ||
885 | # SATA SFF controllers with BMDMA | ||
886 | # | ||
887 | # CONFIG_ATA_PIIX is not set | ||
888 | # CONFIG_SATA_MV is not set | ||
889 | # CONFIG_SATA_NV is not set | ||
890 | # CONFIG_SATA_PROMISE is not set | ||
891 | # CONFIG_SATA_SIL is not set | ||
892 | # CONFIG_SATA_SIS is not set | ||
893 | # CONFIG_SATA_SVW is not set | ||
894 | # CONFIG_SATA_ULI is not set | ||
895 | # CONFIG_SATA_VIA is not set | ||
896 | # CONFIG_SATA_VITESSE is not set | ||
897 | |||
898 | # | ||
899 | # PATA SFF controllers with BMDMA | ||
900 | # | ||
901 | # CONFIG_PATA_ALI is not set | ||
902 | # CONFIG_PATA_AMD is not set | ||
903 | # CONFIG_PATA_ARASAN_CF is not set | ||
904 | # CONFIG_PATA_ARTOP is not set | ||
905 | # CONFIG_PATA_ATIIXP is not set | ||
906 | # CONFIG_PATA_ATP867X is not set | ||
907 | # CONFIG_PATA_CMD64X is not set | ||
908 | # CONFIG_PATA_CS5520 is not set | ||
909 | # CONFIG_PATA_CS5530 is not set | ||
910 | # CONFIG_PATA_CS5536 is not set | ||
911 | # CONFIG_PATA_CYPRESS is not set | ||
912 | # CONFIG_PATA_EFAR is not set | ||
913 | # CONFIG_PATA_HPT366 is not set | ||
914 | # CONFIG_PATA_HPT37X is not set | ||
915 | # CONFIG_PATA_HPT3X2N is not set | ||
916 | # CONFIG_PATA_HPT3X3 is not set | ||
917 | # CONFIG_PATA_IT8213 is not set | ||
918 | # CONFIG_PATA_IT821X is not set | ||
919 | # CONFIG_PATA_JMICRON is not set | ||
920 | # CONFIG_PATA_MARVELL is not set | ||
921 | # CONFIG_PATA_NETCELL is not set | ||
922 | # CONFIG_PATA_NINJA32 is not set | ||
923 | # CONFIG_PATA_NS87415 is not set | ||
924 | # CONFIG_PATA_OLDPIIX is not set | ||
925 | # CONFIG_PATA_OPTIDMA is not set | ||
926 | # CONFIG_PATA_PDC2027X is not set | ||
927 | # CONFIG_PATA_PDC_OLD is not set | ||
928 | # CONFIG_PATA_RADISYS is not set | ||
929 | # CONFIG_PATA_RDC is not set | ||
930 | # CONFIG_PATA_SC1200 is not set | ||
931 | # CONFIG_PATA_SCH is not set | ||
932 | # CONFIG_PATA_SERVERWORKS is not set | ||
933 | # CONFIG_PATA_SIL680 is not set | ||
934 | # CONFIG_PATA_SIS is not set | ||
935 | # CONFIG_PATA_TOSHIBA is not set | ||
936 | # CONFIG_PATA_TRIFLEX is not set | ||
937 | # CONFIG_PATA_VIA is not set | ||
938 | # CONFIG_PATA_WINBOND is not set | ||
939 | |||
940 | # | ||
941 | # PIO-only SFF controllers | ||
942 | # | ||
943 | # CONFIG_PATA_CMD640_PCI is not set | ||
944 | # CONFIG_PATA_MPIIX is not set | ||
945 | # CONFIG_PATA_NS87410 is not set | ||
946 | # CONFIG_PATA_OPTI is not set | ||
947 | # CONFIG_PATA_PLATFORM is not set | ||
948 | # CONFIG_PATA_RZ1000 is not set | ||
949 | |||
950 | # | ||
951 | # Generic fallback / legacy drivers | ||
952 | # | ||
953 | # CONFIG_ATA_GENERIC is not set | ||
954 | # CONFIG_PATA_LEGACY is not set | ||
955 | CONFIG_MD=y | 327 | CONFIG_MD=y |
956 | CONFIG_BLK_DEV_MD=y | 328 | CONFIG_BLK_DEV_MD=y |
957 | CONFIG_MD_AUTODETECT=y | ||
958 | CONFIG_MD_LINEAR=m | 329 | CONFIG_MD_LINEAR=m |
959 | CONFIG_MD_RAID0=m | 330 | CONFIG_MD_RAID0=m |
960 | CONFIG_MD_RAID1=m | 331 | CONFIG_MD_RAID1=m |
961 | CONFIG_MD_RAID10=m | 332 | CONFIG_MD_RAID10=m |
962 | CONFIG_MD_RAID456=m | 333 | CONFIG_MD_RAID456=m |
963 | CONFIG_MULTICORE_RAID456=y | 334 | CONFIG_MULTICORE_RAID456=y |
964 | # CONFIG_MD_MULTIPATH is not set | ||
965 | CONFIG_MD_FAULTY=m | 335 | CONFIG_MD_FAULTY=m |
966 | CONFIG_BLK_DEV_DM=m | 336 | CONFIG_BLK_DEV_DM=m |
967 | CONFIG_DM_DEBUG=y | 337 | CONFIG_DM_DEBUG=y |
968 | CONFIG_DM_CRYPT=m | 338 | CONFIG_DM_CRYPT=m |
969 | CONFIG_DM_SNAPSHOT=m | 339 | CONFIG_DM_SNAPSHOT=m |
970 | CONFIG_DM_MIRROR=m | 340 | CONFIG_DM_MIRROR=m |
971 | # CONFIG_DM_RAID is not set | ||
972 | CONFIG_DM_LOG_USERSPACE=m | 341 | CONFIG_DM_LOG_USERSPACE=m |
973 | CONFIG_DM_ZERO=m | 342 | CONFIG_DM_ZERO=m |
974 | CONFIG_DM_MULTIPATH=m | 343 | CONFIG_DM_MULTIPATH=m |
@@ -976,558 +345,143 @@ CONFIG_DM_MULTIPATH_QL=m | |||
976 | CONFIG_DM_MULTIPATH_ST=m | 345 | CONFIG_DM_MULTIPATH_ST=m |
977 | CONFIG_DM_DELAY=m | 346 | CONFIG_DM_DELAY=m |
978 | CONFIG_DM_UEVENT=y | 347 | CONFIG_DM_UEVENT=y |
979 | # CONFIG_DM_FLAKEY is not set | 348 | CONFIG_FUSION=y |
980 | # CONFIG_TARGET_CORE is not set | 349 | CONFIG_FUSION_SAS=y |
981 | # CONFIG_FUSION is not set | ||
982 | |||
983 | # | ||
984 | # IEEE 1394 (FireWire) support | ||
985 | # | ||
986 | # CONFIG_FIREWIRE is not set | ||
987 | # CONFIG_FIREWIRE_NOSY is not set | ||
988 | # CONFIG_I2O is not set | ||
989 | CONFIG_NETDEVICES=y | 350 | CONFIG_NETDEVICES=y |
990 | CONFIG_IFB=m | ||
991 | CONFIG_DUMMY=m | ||
992 | CONFIG_BONDING=m | 351 | CONFIG_BONDING=m |
352 | CONFIG_DUMMY=m | ||
353 | CONFIG_IFB=m | ||
993 | CONFIG_MACVLAN=m | 354 | CONFIG_MACVLAN=m |
994 | CONFIG_MACVTAP=m | 355 | CONFIG_MACVTAP=m |
995 | # CONFIG_EQUALIZER is not set | 356 | CONFIG_NETCONSOLE=m |
357 | CONFIG_NETCONSOLE_DYNAMIC=y | ||
358 | CONFIG_NETPOLL_TRAP=y | ||
996 | CONFIG_TUN=y | 359 | CONFIG_TUN=y |
997 | CONFIG_VETH=m | 360 | CONFIG_VETH=m |
998 | # CONFIG_ARCNET is not set | 361 | CONFIG_NET_DSA_MV88E6060=y |
999 | # CONFIG_MII is not set | 362 | CONFIG_NET_DSA_MV88E6131=y |
1000 | CONFIG_PHYLIB=y | 363 | CONFIG_NET_DSA_MV88E6123_61_65=y |
1001 | 364 | # CONFIG_NET_VENDOR_3COM is not set | |
1002 | # | 365 | # CONFIG_NET_VENDOR_ADAPTEC is not set |
1003 | # MII PHY device drivers | 366 | # CONFIG_NET_VENDOR_ALTEON is not set |
1004 | # | 367 | # CONFIG_NET_VENDOR_AMD is not set |
1005 | # CONFIG_MARVELL_PHY is not set | 368 | # CONFIG_NET_VENDOR_ATHEROS is not set |
1006 | # CONFIG_DAVICOM_PHY is not set | 369 | # CONFIG_NET_VENDOR_BROADCOM is not set |
1007 | # CONFIG_QSEMI_PHY is not set | 370 | # CONFIG_NET_VENDOR_BROCADE is not set |
1008 | # CONFIG_LXT_PHY is not set | 371 | # CONFIG_NET_VENDOR_CHELSIO is not set |
1009 | # CONFIG_CICADA_PHY is not set | 372 | # CONFIG_NET_VENDOR_CISCO is not set |
1010 | # CONFIG_VITESSE_PHY is not set | 373 | # CONFIG_NET_VENDOR_DEC is not set |
1011 | # CONFIG_SMSC_PHY is not set | 374 | # CONFIG_NET_VENDOR_DLINK is not set |
1012 | # CONFIG_BROADCOM_PHY is not set | 375 | # CONFIG_NET_VENDOR_EMULEX is not set |
1013 | # CONFIG_BCM63XX_PHY is not set | 376 | # CONFIG_NET_VENDOR_EXAR is not set |
1014 | # CONFIG_ICPLUS_PHY is not set | 377 | # CONFIG_NET_VENDOR_HP is not set |
1015 | # CONFIG_REALTEK_PHY is not set | 378 | # CONFIG_NET_VENDOR_INTEL is not set |
1016 | # CONFIG_NATIONAL_PHY is not set | 379 | # CONFIG_NET_VENDOR_MARVELL is not set |
1017 | # CONFIG_STE10XP is not set | 380 | # CONFIG_NET_VENDOR_MELLANOX is not set |
1018 | # CONFIG_LSI_ET1011C_PHY is not set | 381 | # CONFIG_NET_VENDOR_MICREL is not set |
1019 | # CONFIG_MICREL_PHY is not set | 382 | # CONFIG_NET_VENDOR_MYRI is not set |
1020 | # CONFIG_FIXED_PHY is not set | 383 | # CONFIG_NET_VENDOR_NATSEMI is not set |
1021 | # CONFIG_MDIO_BITBANG is not set | 384 | # CONFIG_NET_VENDOR_NVIDIA is not set |
1022 | # CONFIG_NET_ETHERNET is not set | 385 | # CONFIG_NET_VENDOR_OKI is not set |
1023 | CONFIG_NETDEV_1000=y | 386 | # CONFIG_NET_PACKET_ENGINE is not set |
1024 | # CONFIG_ACENIC is not set | 387 | # CONFIG_NET_VENDOR_QLOGIC is not set |
1025 | # CONFIG_DL2K is not set | 388 | # CONFIG_NET_VENDOR_REALTEK is not set |
1026 | # CONFIG_E1000 is not set | 389 | # CONFIG_NET_VENDOR_RDC is not set |
1027 | CONFIG_E1000E=m | 390 | # CONFIG_NET_VENDOR_SEEQ is not set |
1028 | # CONFIG_IP1000 is not set | 391 | # CONFIG_NET_VENDOR_SILAN is not set |
1029 | # CONFIG_IGB is not set | 392 | # CONFIG_NET_VENDOR_SIS is not set |
1030 | # CONFIG_IGBVF is not set | 393 | # CONFIG_NET_VENDOR_SMSC is not set |
1031 | # CONFIG_NS83820 is not set | 394 | # CONFIG_NET_VENDOR_STMICRO is not set |
1032 | # CONFIG_HAMACHI is not set | 395 | # CONFIG_NET_VENDOR_SUN is not set |
1033 | # CONFIG_YELLOWFIN is not set | 396 | # CONFIG_NET_VENDOR_TEHUTI is not set |
1034 | # CONFIG_R8169 is not set | 397 | # CONFIG_NET_VENDOR_TI is not set |
1035 | # CONFIG_SIS190 is not set | ||
1036 | # CONFIG_SKGE is not set | ||
1037 | # CONFIG_SKY2 is not set | ||
1038 | # CONFIG_VIA_VELOCITY is not set | ||
1039 | # CONFIG_TIGON3 is not set | ||
1040 | # CONFIG_BNX2 is not set | ||
1041 | # CONFIG_CNIC is not set | ||
1042 | # CONFIG_QLA3XXX is not set | ||
1043 | # CONFIG_ATL1 is not set | ||
1044 | # CONFIG_ATL1E is not set | ||
1045 | # CONFIG_ATL1C is not set | ||
1046 | # CONFIG_JME is not set | ||
1047 | # CONFIG_STMMAC_ETH is not set | ||
1048 | # CONFIG_PCH_GBE is not set | ||
1049 | # CONFIG_NETDEV_10000 is not set | ||
1050 | # CONFIG_TR is not set | ||
1051 | # CONFIG_WLAN is not set | ||
1052 | |||
1053 | # | ||
1054 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
1055 | # | ||
1056 | # CONFIG_WAN is not set | ||
1057 | |||
1058 | # | ||
1059 | # CAIF transport drivers | ||
1060 | # | ||
1061 | # CONFIG_TILE_NET is not set | 398 | # CONFIG_TILE_NET is not set |
1062 | # CONFIG_FDDI is not set | 399 | # CONFIG_NET_VENDOR_VIA is not set |
1063 | # CONFIG_HIPPI is not set | 400 | # CONFIG_WLAN is not set |
1064 | # CONFIG_PPP is not set | ||
1065 | # CONFIG_SLIP is not set | ||
1066 | # CONFIG_NET_FC is not set | ||
1067 | # CONFIG_NETCONSOLE is not set | ||
1068 | # CONFIG_NETPOLL is not set | ||
1069 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
1070 | # CONFIG_VMXNET3 is not set | ||
1071 | # CONFIG_ISDN is not set | ||
1072 | # CONFIG_PHONE is not set | ||
1073 | |||
1074 | # | ||
1075 | # Input device support | ||
1076 | # | ||
1077 | CONFIG_INPUT=y | ||
1078 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
1079 | # CONFIG_INPUT_POLLDEV is not set | ||
1080 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
1081 | |||
1082 | # | ||
1083 | # Userland interfaces | ||
1084 | # | ||
1085 | # CONFIG_INPUT_MOUSEDEV is not set | 401 | # CONFIG_INPUT_MOUSEDEV is not set |
1086 | # CONFIG_INPUT_JOYDEV is not set | ||
1087 | # CONFIG_INPUT_EVDEV is not set | ||
1088 | # CONFIG_INPUT_EVBUG is not set | ||
1089 | |||
1090 | # | ||
1091 | # Input Device Drivers | ||
1092 | # | ||
1093 | # CONFIG_INPUT_KEYBOARD is not set | 402 | # CONFIG_INPUT_KEYBOARD is not set |
1094 | # CONFIG_INPUT_MOUSE is not set | 403 | # CONFIG_INPUT_MOUSE is not set |
1095 | # CONFIG_INPUT_JOYSTICK is not set | ||
1096 | # CONFIG_INPUT_TABLET is not set | ||
1097 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
1098 | # CONFIG_INPUT_MISC is not set | ||
1099 | |||
1100 | # | ||
1101 | # Hardware I/O ports | ||
1102 | # | ||
1103 | # CONFIG_SERIO is not set | 404 | # CONFIG_SERIO is not set |
1104 | # CONFIG_GAMEPORT is not set | ||
1105 | |||
1106 | # | ||
1107 | # Character devices | ||
1108 | # | ||
1109 | # CONFIG_VT is not set | 405 | # CONFIG_VT is not set |
1110 | CONFIG_UNIX98_PTYS=y | ||
1111 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
1112 | # CONFIG_LEGACY_PTYS is not set | 406 | # CONFIG_LEGACY_PTYS is not set |
1113 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
1114 | # CONFIG_NOZOMI is not set | ||
1115 | # CONFIG_N_GSM is not set | ||
1116 | CONFIG_DEVKMEM=y | ||
1117 | |||
1118 | # | ||
1119 | # Serial drivers | ||
1120 | # | ||
1121 | # CONFIG_SERIAL_8250 is not set | ||
1122 | |||
1123 | # | ||
1124 | # Non-8250 serial port support | ||
1125 | # | ||
1126 | # CONFIG_SERIAL_MFD_HSU is not set | ||
1127 | # CONFIG_SERIAL_JSM is not set | ||
1128 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
1129 | # CONFIG_SERIAL_ALTERA_JTAGUART is not set | ||
1130 | # CONFIG_SERIAL_ALTERA_UART is not set | ||
1131 | # CONFIG_SERIAL_PCH_UART is not set | ||
1132 | # CONFIG_TTY_PRINTK is not set | ||
1133 | CONFIG_HVC_DRIVER=y | ||
1134 | # CONFIG_IPMI_HANDLER is not set | ||
1135 | CONFIG_HW_RANDOM=y | 407 | CONFIG_HW_RANDOM=y |
1136 | CONFIG_HW_RANDOM_TIMERIOMEM=m | 408 | CONFIG_HW_RANDOM_TIMERIOMEM=m |
1137 | # CONFIG_R3964 is not set | ||
1138 | # CONFIG_APPLICOM is not set | ||
1139 | |||
1140 | # | ||
1141 | # PCMCIA character devices | ||
1142 | # | ||
1143 | # CONFIG_RAW_DRIVER is not set | ||
1144 | # CONFIG_TCG_TPM is not set | ||
1145 | CONFIG_DEVPORT=y | ||
1146 | # CONFIG_RAMOOPS is not set | ||
1147 | CONFIG_I2C=y | 409 | CONFIG_I2C=y |
1148 | CONFIG_I2C_BOARDINFO=y | ||
1149 | CONFIG_I2C_COMPAT=y | ||
1150 | CONFIG_I2C_CHARDEV=y | 410 | CONFIG_I2C_CHARDEV=y |
1151 | # CONFIG_I2C_MUX is not set | ||
1152 | CONFIG_I2C_HELPER_AUTO=y | ||
1153 | |||
1154 | # | ||
1155 | # I2C Hardware Bus support | ||
1156 | # | ||
1157 | |||
1158 | # | ||
1159 | # PC SMBus host controller drivers | ||
1160 | # | ||
1161 | # CONFIG_I2C_ALI1535 is not set | ||
1162 | # CONFIG_I2C_ALI1563 is not set | ||
1163 | # CONFIG_I2C_ALI15X3 is not set | ||
1164 | # CONFIG_I2C_AMD756 is not set | ||
1165 | # CONFIG_I2C_AMD8111 is not set | ||
1166 | # CONFIG_I2C_I801 is not set | ||
1167 | # CONFIG_I2C_ISCH is not set | ||
1168 | # CONFIG_I2C_PIIX4 is not set | ||
1169 | # CONFIG_I2C_NFORCE2 is not set | ||
1170 | # CONFIG_I2C_SIS5595 is not set | ||
1171 | # CONFIG_I2C_SIS630 is not set | ||
1172 | # CONFIG_I2C_SIS96X is not set | ||
1173 | # CONFIG_I2C_VIA is not set | ||
1174 | # CONFIG_I2C_VIAPRO is not set | ||
1175 | |||
1176 | # | ||
1177 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
1178 | # | ||
1179 | # CONFIG_I2C_INTEL_MID is not set | ||
1180 | # CONFIG_I2C_OCORES is not set | ||
1181 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
1182 | # CONFIG_I2C_PXA_PCI is not set | ||
1183 | # CONFIG_I2C_SIMTEC is not set | ||
1184 | # CONFIG_I2C_XILINX is not set | ||
1185 | # CONFIG_I2C_EG20T is not set | ||
1186 | |||
1187 | # | ||
1188 | # External I2C/SMBus adapter drivers | ||
1189 | # | ||
1190 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
1191 | # CONFIG_I2C_TAOS_EVM is not set | ||
1192 | |||
1193 | # | ||
1194 | # Other I2C/SMBus bus drivers | ||
1195 | # | ||
1196 | # CONFIG_I2C_STUB is not set | ||
1197 | # CONFIG_I2C_DEBUG_CORE is not set | ||
1198 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
1199 | # CONFIG_I2C_DEBUG_BUS is not set | ||
1200 | # CONFIG_SPI is not set | ||
1201 | |||
1202 | # | ||
1203 | # PPS support | ||
1204 | # | ||
1205 | # CONFIG_PPS is not set | ||
1206 | |||
1207 | # | ||
1208 | # PPS generators support | ||
1209 | # | ||
1210 | # CONFIG_W1 is not set | ||
1211 | # CONFIG_POWER_SUPPLY is not set | ||
1212 | # CONFIG_HWMON is not set | 411 | # CONFIG_HWMON is not set |
1213 | # CONFIG_THERMAL is not set | 412 | CONFIG_WATCHDOG=y |
1214 | # CONFIG_WATCHDOG is not set | 413 | CONFIG_WATCHDOG_NOWAYOUT=y |
1215 | CONFIG_SSB_POSSIBLE=y | ||
1216 | |||
1217 | # | ||
1218 | # Sonics Silicon Backplane | ||
1219 | # | ||
1220 | # CONFIG_SSB is not set | ||
1221 | CONFIG_MFD_SUPPORT=y | ||
1222 | # CONFIG_MFD_CORE is not set | ||
1223 | # CONFIG_MFD_88PM860X is not set | ||
1224 | # CONFIG_MFD_SM501 is not set | ||
1225 | # CONFIG_HTC_PASIC3 is not set | ||
1226 | # CONFIG_TPS6105X is not set | ||
1227 | # CONFIG_TPS6507X is not set | ||
1228 | # CONFIG_TWL4030_CORE is not set | ||
1229 | # CONFIG_MFD_STMPE is not set | ||
1230 | # CONFIG_MFD_TC3589X is not set | ||
1231 | # CONFIG_MFD_TMIO is not set | ||
1232 | # CONFIG_PMIC_DA903X is not set | ||
1233 | # CONFIG_PMIC_ADP5520 is not set | ||
1234 | # CONFIG_MFD_MAX8925 is not set | ||
1235 | # CONFIG_MFD_MAX8997 is not set | ||
1236 | # CONFIG_MFD_MAX8998 is not set | ||
1237 | # CONFIG_MFD_WM8400 is not set | ||
1238 | # CONFIG_MFD_WM831X_I2C is not set | ||
1239 | # CONFIG_MFD_WM8350_I2C is not set | ||
1240 | # CONFIG_MFD_WM8994 is not set | ||
1241 | # CONFIG_MFD_PCF50633 is not set | ||
1242 | # CONFIG_ABX500_CORE is not set | ||
1243 | # CONFIG_LPC_SCH is not set | ||
1244 | # CONFIG_MFD_RDC321X is not set | ||
1245 | # CONFIG_MFD_JANZ_CMODIO is not set | ||
1246 | # CONFIG_MFD_VX855 is not set | ||
1247 | # CONFIG_MFD_WL1273_CORE is not set | ||
1248 | # CONFIG_REGULATOR is not set | ||
1249 | # CONFIG_MEDIA_SUPPORT is not set | ||
1250 | |||
1251 | # | ||
1252 | # Graphics support | ||
1253 | # | ||
1254 | # CONFIG_VGA_ARB is not set | 414 | # CONFIG_VGA_ARB is not set |
1255 | # CONFIG_DRM is not set | ||
1256 | # CONFIG_STUB_POULSBO is not set | ||
1257 | # CONFIG_VGASTATE is not set | ||
1258 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
1259 | # CONFIG_FB is not set | ||
1260 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
1261 | |||
1262 | # | ||
1263 | # Display device support | ||
1264 | # | ||
1265 | # CONFIG_DISPLAY_SUPPORT is not set | ||
1266 | # CONFIG_SOUND is not set | ||
1267 | # CONFIG_HID_SUPPORT is not set | 415 | # CONFIG_HID_SUPPORT is not set |
1268 | # CONFIG_USB_SUPPORT is not set | 416 | CONFIG_USB=y |
1269 | # CONFIG_UWB is not set | 417 | # CONFIG_USB_DEVICE_CLASS is not set |
1270 | # CONFIG_MMC is not set | 418 | CONFIG_USB_EHCI_HCD=y |
1271 | # CONFIG_MEMSTICK is not set | 419 | CONFIG_USB_OHCI_HCD=y |
1272 | # CONFIG_NEW_LEDS is not set | 420 | CONFIG_USB_STORAGE=y |
1273 | # CONFIG_NFC_DEVICES is not set | 421 | CONFIG_USB_LIBUSUAL=y |
1274 | # CONFIG_ACCESSIBILITY is not set | 422 | CONFIG_EDAC=y |
1275 | # CONFIG_INFINIBAND is not set | 423 | CONFIG_EDAC_MM_EDAC=y |
1276 | # CONFIG_EDAC is not set | ||
1277 | CONFIG_RTC_LIB=y | ||
1278 | CONFIG_RTC_CLASS=y | 424 | CONFIG_RTC_CLASS=y |
1279 | CONFIG_RTC_HCTOSYS=y | ||
1280 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
1281 | # CONFIG_RTC_DEBUG is not set | ||
1282 | |||
1283 | # | ||
1284 | # RTC interfaces | ||
1285 | # | ||
1286 | CONFIG_RTC_INTF_SYSFS=y | ||
1287 | CONFIG_RTC_INTF_PROC=y | ||
1288 | CONFIG_RTC_INTF_DEV=y | ||
1289 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1290 | # CONFIG_RTC_DRV_TEST is not set | ||
1291 | |||
1292 | # | ||
1293 | # I2C RTC drivers | ||
1294 | # | ||
1295 | # CONFIG_RTC_DRV_DS1307 is not set | ||
1296 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1297 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1298 | # CONFIG_RTC_DRV_DS3232 is not set | ||
1299 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1300 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1301 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1302 | # CONFIG_RTC_DRV_ISL12022 is not set | ||
1303 | # CONFIG_RTC_DRV_X1205 is not set | ||
1304 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1305 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1306 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1307 | # CONFIG_RTC_DRV_BQ32K is not set | ||
1308 | # CONFIG_RTC_DRV_S35390A is not set | ||
1309 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1310 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1311 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1312 | |||
1313 | # | ||
1314 | # SPI RTC drivers | ||
1315 | # | ||
1316 | |||
1317 | # | ||
1318 | # Platform RTC drivers | ||
1319 | # | ||
1320 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1321 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1322 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1323 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1324 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1325 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1326 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1327 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1328 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1329 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1330 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1331 | # CONFIG_RTC_DRV_V3020 is not set | ||
1332 | |||
1333 | # | ||
1334 | # on-CPU RTC drivers | ||
1335 | # | ||
1336 | CONFIG_RTC_DRV_TILE=y | 425 | CONFIG_RTC_DRV_TILE=y |
1337 | # CONFIG_DMADEVICES is not set | ||
1338 | # CONFIG_AUXDISPLAY is not set | ||
1339 | # CONFIG_UIO is not set | ||
1340 | # CONFIG_STAGING is not set | ||
1341 | |||
1342 | # | ||
1343 | # File systems | ||
1344 | # | ||
1345 | CONFIG_EXT2_FS=y | 426 | CONFIG_EXT2_FS=y |
1346 | CONFIG_EXT2_FS_XATTR=y | 427 | CONFIG_EXT2_FS_XATTR=y |
1347 | CONFIG_EXT2_FS_POSIX_ACL=y | 428 | CONFIG_EXT2_FS_POSIX_ACL=y |
1348 | CONFIG_EXT2_FS_SECURITY=y | 429 | CONFIG_EXT2_FS_SECURITY=y |
1349 | CONFIG_EXT2_FS_XIP=y | 430 | CONFIG_EXT2_FS_XIP=y |
1350 | CONFIG_EXT3_FS=y | 431 | CONFIG_EXT3_FS=y |
1351 | CONFIG_EXT3_DEFAULTS_TO_ORDERED=y | ||
1352 | CONFIG_EXT3_FS_XATTR=y | ||
1353 | CONFIG_EXT3_FS_POSIX_ACL=y | 432 | CONFIG_EXT3_FS_POSIX_ACL=y |
1354 | CONFIG_EXT3_FS_SECURITY=y | 433 | CONFIG_EXT3_FS_SECURITY=y |
1355 | CONFIG_EXT4_FS=y | 434 | CONFIG_EXT4_FS=y |
1356 | CONFIG_EXT4_FS_XATTR=y | ||
1357 | CONFIG_EXT4_FS_POSIX_ACL=y | 435 | CONFIG_EXT4_FS_POSIX_ACL=y |
1358 | CONFIG_EXT4_FS_SECURITY=y | 436 | CONFIG_EXT4_FS_SECURITY=y |
1359 | # CONFIG_EXT4_DEBUG is not set | 437 | CONFIG_XFS_FS=y |
1360 | CONFIG_FS_XIP=y | ||
1361 | CONFIG_JBD=y | ||
1362 | # CONFIG_JBD_DEBUG is not set | ||
1363 | CONFIG_JBD2=y | ||
1364 | CONFIG_JBD2_DEBUG=y | ||
1365 | CONFIG_FS_MBCACHE=y | ||
1366 | # CONFIG_REISERFS_FS is not set | ||
1367 | # CONFIG_JFS_FS is not set | ||
1368 | CONFIG_XFS_FS=m | ||
1369 | CONFIG_XFS_QUOTA=y | 438 | CONFIG_XFS_QUOTA=y |
1370 | CONFIG_XFS_POSIX_ACL=y | 439 | CONFIG_XFS_POSIX_ACL=y |
1371 | # CONFIG_XFS_RT is not set | ||
1372 | # CONFIG_XFS_DEBUG is not set | ||
1373 | CONFIG_GFS2_FS=m | 440 | CONFIG_GFS2_FS=m |
1374 | CONFIG_GFS2_FS_LOCKING_DLM=y | 441 | CONFIG_GFS2_FS_LOCKING_DLM=y |
1375 | # CONFIG_OCFS2_FS is not set | ||
1376 | CONFIG_BTRFS_FS=m | 442 | CONFIG_BTRFS_FS=m |
1377 | CONFIG_BTRFS_FS_POSIX_ACL=y | 443 | CONFIG_BTRFS_FS_POSIX_ACL=y |
1378 | # CONFIG_NILFS2_FS is not set | ||
1379 | CONFIG_FS_POSIX_ACL=y | ||
1380 | CONFIG_EXPORTFS=y | ||
1381 | CONFIG_FILE_LOCKING=y | ||
1382 | CONFIG_FSNOTIFY=y | ||
1383 | CONFIG_DNOTIFY=y | ||
1384 | CONFIG_INOTIFY_USER=y | ||
1385 | # CONFIG_FANOTIFY is not set | ||
1386 | CONFIG_QUOTA=y | 444 | CONFIG_QUOTA=y |
1387 | CONFIG_QUOTA_NETLINK_INTERFACE=y | 445 | CONFIG_QUOTA_NETLINK_INTERFACE=y |
1388 | # CONFIG_PRINT_QUOTA_WARNING is not set | 446 | # CONFIG_PRINT_QUOTA_WARNING is not set |
1389 | # CONFIG_QUOTA_DEBUG is not set | ||
1390 | CONFIG_QUOTA_TREE=y | ||
1391 | # CONFIG_QFMT_V1 is not set | ||
1392 | CONFIG_QFMT_V2=y | 447 | CONFIG_QFMT_V2=y |
1393 | CONFIG_QUOTACTL=y | 448 | CONFIG_AUTOFS4_FS=m |
1394 | # CONFIG_AUTOFS4_FS is not set | ||
1395 | CONFIG_FUSE_FS=y | 449 | CONFIG_FUSE_FS=y |
1396 | CONFIG_CUSE=m | 450 | CONFIG_CUSE=m |
1397 | CONFIG_GENERIC_ACL=y | ||
1398 | |||
1399 | # | ||
1400 | # Caches | ||
1401 | # | ||
1402 | CONFIG_FSCACHE=m | 451 | CONFIG_FSCACHE=m |
1403 | CONFIG_FSCACHE_STATS=y | 452 | CONFIG_FSCACHE_STATS=y |
1404 | # CONFIG_FSCACHE_HISTOGRAM is not set | ||
1405 | # CONFIG_FSCACHE_DEBUG is not set | ||
1406 | # CONFIG_FSCACHE_OBJECT_LIST is not set | ||
1407 | CONFIG_CACHEFILES=m | 453 | CONFIG_CACHEFILES=m |
1408 | # CONFIG_CACHEFILES_DEBUG is not set | ||
1409 | # CONFIG_CACHEFILES_HISTOGRAM is not set | ||
1410 | |||
1411 | # | ||
1412 | # CD-ROM/DVD Filesystems | ||
1413 | # | ||
1414 | CONFIG_ISO9660_FS=m | 454 | CONFIG_ISO9660_FS=m |
1415 | CONFIG_JOLIET=y | 455 | CONFIG_JOLIET=y |
1416 | CONFIG_ZISOFS=y | 456 | CONFIG_ZISOFS=y |
1417 | CONFIG_UDF_FS=m | 457 | CONFIG_UDF_FS=m |
1418 | CONFIG_UDF_NLS=y | ||
1419 | |||
1420 | # | ||
1421 | # DOS/FAT/NT Filesystems | ||
1422 | # | ||
1423 | CONFIG_FAT_FS=m | ||
1424 | CONFIG_MSDOS_FS=m | 458 | CONFIG_MSDOS_FS=m |
1425 | CONFIG_VFAT_FS=m | 459 | CONFIG_VFAT_FS=m |
1426 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1427 | CONFIG_FAT_DEFAULT_IOCHARSET="ascii" | 460 | CONFIG_FAT_DEFAULT_IOCHARSET="ascii" |
1428 | # CONFIG_NTFS_FS is not set | ||
1429 | |||
1430 | # | ||
1431 | # Pseudo filesystems | ||
1432 | # | ||
1433 | CONFIG_PROC_FS=y | ||
1434 | CONFIG_PROC_KCORE=y | 461 | CONFIG_PROC_KCORE=y |
1435 | CONFIG_PROC_SYSCTL=y | ||
1436 | CONFIG_PROC_PAGE_MONITOR=y | ||
1437 | CONFIG_SYSFS=y | ||
1438 | CONFIG_TMPFS=y | 462 | CONFIG_TMPFS=y |
1439 | CONFIG_TMPFS_POSIX_ACL=y | 463 | CONFIG_TMPFS_POSIX_ACL=y |
1440 | CONFIG_HUGETLBFS=y | 464 | CONFIG_HUGETLBFS=y |
1441 | CONFIG_HUGETLB_PAGE=y | ||
1442 | CONFIG_CONFIGFS_FS=m | ||
1443 | CONFIG_MISC_FILESYSTEMS=y | ||
1444 | # CONFIG_ADFS_FS is not set | ||
1445 | # CONFIG_AFFS_FS is not set | ||
1446 | CONFIG_ECRYPT_FS=m | 465 | CONFIG_ECRYPT_FS=m |
1447 | # CONFIG_HFS_FS is not set | ||
1448 | # CONFIG_HFSPLUS_FS is not set | ||
1449 | # CONFIG_BEFS_FS is not set | ||
1450 | # CONFIG_BFS_FS is not set | ||
1451 | # CONFIG_EFS_FS is not set | ||
1452 | # CONFIG_LOGFS is not set | ||
1453 | CONFIG_CRAMFS=m | 466 | CONFIG_CRAMFS=m |
1454 | CONFIG_SQUASHFS=m | 467 | CONFIG_SQUASHFS=m |
1455 | # CONFIG_SQUASHFS_XATTR is not set | ||
1456 | # CONFIG_SQUASHFS_LZO is not set | ||
1457 | # CONFIG_SQUASHFS_XZ is not set | ||
1458 | # CONFIG_SQUASHFS_EMBEDDED is not set | ||
1459 | CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 | ||
1460 | # CONFIG_VXFS_FS is not set | ||
1461 | # CONFIG_MINIX_FS is not set | ||
1462 | # CONFIG_OMFS_FS is not set | ||
1463 | # CONFIG_HPFS_FS is not set | ||
1464 | # CONFIG_QNX4FS_FS is not set | ||
1465 | # CONFIG_ROMFS_FS is not set | ||
1466 | # CONFIG_PSTORE is not set | ||
1467 | # CONFIG_SYSV_FS is not set | ||
1468 | # CONFIG_UFS_FS is not set | ||
1469 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1470 | CONFIG_NFS_FS=m | 468 | CONFIG_NFS_FS=m |
1471 | CONFIG_NFS_V3=y | 469 | CONFIG_NFS_V3=y |
1472 | CONFIG_NFS_V3_ACL=y | 470 | CONFIG_NFS_V3_ACL=y |
1473 | CONFIG_NFS_V4=y | 471 | CONFIG_NFS_V4=y |
1474 | CONFIG_NFS_V4_1=y | 472 | CONFIG_NFS_V4_1=y |
1475 | CONFIG_PNFS_FILE_LAYOUT=m | ||
1476 | CONFIG_NFS_FSCACHE=y | 473 | CONFIG_NFS_FSCACHE=y |
1477 | # CONFIG_NFS_USE_LEGACY_DNS is not set | ||
1478 | CONFIG_NFS_USE_KERNEL_DNS=y | ||
1479 | # CONFIG_NFS_USE_NEW_IDMAPPER is not set | ||
1480 | CONFIG_NFSD=m | 474 | CONFIG_NFSD=m |
1481 | CONFIG_NFSD_V2_ACL=y | ||
1482 | CONFIG_NFSD_V3=y | ||
1483 | CONFIG_NFSD_V3_ACL=y | 475 | CONFIG_NFSD_V3_ACL=y |
1484 | CONFIG_NFSD_V4=y | 476 | CONFIG_NFSD_V4=y |
1485 | CONFIG_LOCKD=m | ||
1486 | CONFIG_LOCKD_V4=y | ||
1487 | CONFIG_NFS_ACL_SUPPORT=m | ||
1488 | CONFIG_NFS_COMMON=y | ||
1489 | CONFIG_SUNRPC=m | ||
1490 | CONFIG_SUNRPC_GSS=m | ||
1491 | CONFIG_RPCSEC_GSS_KRB5=m | ||
1492 | # CONFIG_CEPH_FS is not set | ||
1493 | CONFIG_CIFS=m | 477 | CONFIG_CIFS=m |
1494 | CONFIG_CIFS_STATS=y | 478 | CONFIG_CIFS_STATS=y |
1495 | # CONFIG_CIFS_STATS2 is not set | ||
1496 | CONFIG_CIFS_WEAK_PW_HASH=y | 479 | CONFIG_CIFS_WEAK_PW_HASH=y |
1497 | CONFIG_CIFS_UPCALL=y | 480 | CONFIG_CIFS_UPCALL=y |
1498 | CONFIG_CIFS_XATTR=y | 481 | CONFIG_CIFS_XATTR=y |
1499 | CONFIG_CIFS_POSIX=y | 482 | CONFIG_CIFS_POSIX=y |
1500 | # CONFIG_CIFS_DEBUG2 is not set | ||
1501 | CONFIG_CIFS_DFS_UPCALL=y | 483 | CONFIG_CIFS_DFS_UPCALL=y |
1502 | CONFIG_CIFS_FSCACHE=y | 484 | CONFIG_CIFS_FSCACHE=y |
1503 | # CONFIG_CIFS_ACL is not set | ||
1504 | CONFIG_CIFS_EXPERIMENTAL=y | ||
1505 | # CONFIG_NCP_FS is not set | ||
1506 | # CONFIG_CODA_FS is not set | ||
1507 | # CONFIG_AFS_FS is not set | ||
1508 | |||
1509 | # | ||
1510 | # Partition Types | ||
1511 | # | ||
1512 | CONFIG_PARTITION_ADVANCED=y | ||
1513 | # CONFIG_ACORN_PARTITION is not set | ||
1514 | CONFIG_OSF_PARTITION=y | ||
1515 | CONFIG_AMIGA_PARTITION=y | ||
1516 | # CONFIG_ATARI_PARTITION is not set | ||
1517 | CONFIG_MAC_PARTITION=y | ||
1518 | CONFIG_MSDOS_PARTITION=y | ||
1519 | CONFIG_BSD_DISKLABEL=y | ||
1520 | CONFIG_MINIX_SUBPARTITION=y | ||
1521 | CONFIG_SOLARIS_X86_PARTITION=y | ||
1522 | CONFIG_UNIXWARE_DISKLABEL=y | ||
1523 | # CONFIG_LDM_PARTITION is not set | ||
1524 | CONFIG_SGI_PARTITION=y | ||
1525 | # CONFIG_ULTRIX_PARTITION is not set | ||
1526 | CONFIG_SUN_PARTITION=y | ||
1527 | CONFIG_KARMA_PARTITION=y | ||
1528 | CONFIG_EFI_PARTITION=y | ||
1529 | # CONFIG_SYSV68_PARTITION is not set | ||
1530 | CONFIG_NLS=y | ||
1531 | CONFIG_NLS_DEFAULT="utf8" | 485 | CONFIG_NLS_DEFAULT="utf8" |
1532 | CONFIG_NLS_CODEPAGE_437=y | 486 | CONFIG_NLS_CODEPAGE_437=y |
1533 | CONFIG_NLS_CODEPAGE_737=m | 487 | CONFIG_NLS_CODEPAGE_737=m |
@@ -1567,185 +521,47 @@ CONFIG_NLS_ISO8859_15=m | |||
1567 | CONFIG_NLS_KOI8_R=m | 521 | CONFIG_NLS_KOI8_R=m |
1568 | CONFIG_NLS_KOI8_U=m | 522 | CONFIG_NLS_KOI8_U=m |
1569 | CONFIG_NLS_UTF8=m | 523 | CONFIG_NLS_UTF8=m |
1570 | CONFIG_DLM=m | ||
1571 | CONFIG_DLM_DEBUG=y | 524 | CONFIG_DLM_DEBUG=y |
1572 | |||
1573 | # | ||
1574 | # Kernel hacking | ||
1575 | # | ||
1576 | # CONFIG_PRINTK_TIME is not set | ||
1577 | CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 | ||
1578 | # CONFIG_ENABLE_WARN_DEPRECATED is not set | 525 | # CONFIG_ENABLE_WARN_DEPRECATED is not set |
1579 | CONFIG_ENABLE_MUST_CHECK=y | ||
1580 | CONFIG_FRAME_WARN=2048 | ||
1581 | CONFIG_MAGIC_SYSRQ=y | 526 | CONFIG_MAGIC_SYSRQ=y |
1582 | CONFIG_STRIP_ASM_SYMS=y | 527 | CONFIG_STRIP_ASM_SYMS=y |
1583 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1584 | CONFIG_DEBUG_FS=y | 528 | CONFIG_DEBUG_FS=y |
1585 | CONFIG_HEADERS_CHECK=y | 529 | CONFIG_HEADERS_CHECK=y |
1586 | # CONFIG_DEBUG_SECTION_MISMATCH is not set | ||
1587 | CONFIG_DEBUG_KERNEL=y | ||
1588 | CONFIG_DEBUG_SHIRQ=y | ||
1589 | CONFIG_LOCKUP_DETECTOR=y | 530 | CONFIG_LOCKUP_DETECTOR=y |
1590 | # CONFIG_HARDLOCKUP_DETECTOR is not set | ||
1591 | # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set | ||
1592 | CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 | ||
1593 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1594 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1595 | CONFIG_DETECT_HUNG_TASK=y | ||
1596 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1597 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1598 | CONFIG_SCHED_DEBUG=y | ||
1599 | CONFIG_SCHEDSTATS=y | 531 | CONFIG_SCHEDSTATS=y |
1600 | CONFIG_TIMER_STATS=y | 532 | CONFIG_TIMER_STATS=y |
1601 | # CONFIG_DEBUG_OBJECTS is not set | ||
1602 | # CONFIG_SLUB_DEBUG_ON is not set | ||
1603 | # CONFIG_SLUB_STATS is not set | ||
1604 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
1605 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1606 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1607 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1608 | # CONFIG_DEBUG_MUTEXES is not set | ||
1609 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1610 | # CONFIG_PROVE_LOCKING is not set | ||
1611 | # CONFIG_SPARSE_RCU_POINTER is not set | ||
1612 | # CONFIG_LOCK_STAT is not set | ||
1613 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | ||
1614 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1615 | CONFIG_STACKTRACE=y | ||
1616 | # CONFIG_DEBUG_KOBJECT is not set | ||
1617 | CONFIG_DEBUG_INFO=y | 533 | CONFIG_DEBUG_INFO=y |
1618 | CONFIG_DEBUG_INFO_REDUCED=y | 534 | CONFIG_DEBUG_INFO_REDUCED=y |
1619 | CONFIG_DEBUG_VM=y | 535 | CONFIG_DEBUG_VM=y |
1620 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1621 | CONFIG_DEBUG_MEMORY_INIT=y | 536 | CONFIG_DEBUG_MEMORY_INIT=y |
1622 | CONFIG_DEBUG_LIST=y | 537 | CONFIG_DEBUG_LIST=y |
1623 | # CONFIG_TEST_LIST_SORT is not set | ||
1624 | # CONFIG_DEBUG_SG is not set | ||
1625 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1626 | CONFIG_DEBUG_CREDENTIALS=y | 538 | CONFIG_DEBUG_CREDENTIALS=y |
1627 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1628 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1629 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1630 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1631 | CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y | 539 | CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y |
1632 | # CONFIG_LKDTM is not set | ||
1633 | # CONFIG_FAULT_INJECTION is not set | ||
1634 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1635 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1636 | CONFIG_TRACING_SUPPORT=y | ||
1637 | CONFIG_FTRACE=y | ||
1638 | # CONFIG_IRQSOFF_TRACER is not set | ||
1639 | # CONFIG_SCHED_TRACER is not set | ||
1640 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1641 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1642 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1643 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1644 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1645 | # CONFIG_BUILD_DOCSRC is not set | ||
1646 | CONFIG_DYNAMIC_DEBUG=y | 540 | CONFIG_DYNAMIC_DEBUG=y |
1647 | # CONFIG_ATOMIC64_SELFTEST is not set | ||
1648 | CONFIG_ASYNC_RAID6_TEST=m | 541 | CONFIG_ASYNC_RAID6_TEST=m |
1649 | # CONFIG_SAMPLES is not set | ||
1650 | # CONFIG_TEST_KSTRTOX is not set | ||
1651 | CONFIG_EARLY_PRINTK=y | ||
1652 | CONFIG_DEBUG_STACKOVERFLOW=y | 542 | CONFIG_DEBUG_STACKOVERFLOW=y |
1653 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1654 | CONFIG_DEBUG_EXTRA_FLAGS="" | ||
1655 | |||
1656 | # | ||
1657 | # Security options | ||
1658 | # | ||
1659 | CONFIG_KEYS=y | ||
1660 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | 543 | CONFIG_KEYS_DEBUG_PROC_KEYS=y |
1661 | # CONFIG_SECURITY_DMESG_RESTRICT is not set | ||
1662 | CONFIG_SECURITY=y | 544 | CONFIG_SECURITY=y |
1663 | CONFIG_SECURITYFS=y | 545 | CONFIG_SECURITYFS=y |
1664 | CONFIG_SECURITY_NETWORK=y | 546 | CONFIG_SECURITY_NETWORK=y |
1665 | CONFIG_SECURITY_NETWORK_XFRM=y | 547 | CONFIG_SECURITY_NETWORK_XFRM=y |
1666 | # CONFIG_SECURITY_PATH is not set | ||
1667 | CONFIG_LSM_MMAP_MIN_ADDR=65536 | ||
1668 | CONFIG_SECURITY_SELINUX=y | 548 | CONFIG_SECURITY_SELINUX=y |
1669 | CONFIG_SECURITY_SELINUX_BOOTPARAM=y | 549 | CONFIG_SECURITY_SELINUX_BOOTPARAM=y |
1670 | CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 | ||
1671 | CONFIG_SECURITY_SELINUX_DISABLE=y | 550 | CONFIG_SECURITY_SELINUX_DISABLE=y |
1672 | CONFIG_SECURITY_SELINUX_DEVELOP=y | ||
1673 | CONFIG_SECURITY_SELINUX_AVC_STATS=y | ||
1674 | CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 | ||
1675 | # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set | ||
1676 | # CONFIG_SECURITY_SMACK is not set | ||
1677 | # CONFIG_SECURITY_TOMOYO is not set | ||
1678 | # CONFIG_SECURITY_APPARMOR is not set | ||
1679 | # CONFIG_IMA is not set | ||
1680 | CONFIG_DEFAULT_SECURITY_SELINUX=y | ||
1681 | # CONFIG_DEFAULT_SECURITY_DAC is not set | ||
1682 | CONFIG_DEFAULT_SECURITY="selinux" | ||
1683 | CONFIG_XOR_BLOCKS=m | ||
1684 | CONFIG_ASYNC_CORE=m | ||
1685 | CONFIG_ASYNC_MEMCPY=m | ||
1686 | CONFIG_ASYNC_XOR=m | ||
1687 | CONFIG_ASYNC_PQ=m | ||
1688 | CONFIG_ASYNC_RAID6_RECOV=m | ||
1689 | CONFIG_CRYPTO=y | ||
1690 | |||
1691 | # | ||
1692 | # Crypto core or helper | ||
1693 | # | ||
1694 | CONFIG_CRYPTO_ALGAPI=y | ||
1695 | CONFIG_CRYPTO_ALGAPI2=y | ||
1696 | CONFIG_CRYPTO_AEAD=m | ||
1697 | CONFIG_CRYPTO_AEAD2=y | ||
1698 | CONFIG_CRYPTO_BLKCIPHER=m | ||
1699 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
1700 | CONFIG_CRYPTO_HASH=y | ||
1701 | CONFIG_CRYPTO_HASH2=y | ||
1702 | CONFIG_CRYPTO_RNG=m | ||
1703 | CONFIG_CRYPTO_RNG2=y | ||
1704 | CONFIG_CRYPTO_PCOMP=m | ||
1705 | CONFIG_CRYPTO_PCOMP2=y | ||
1706 | CONFIG_CRYPTO_MANAGER=y | ||
1707 | CONFIG_CRYPTO_MANAGER2=y | ||
1708 | CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y | ||
1709 | CONFIG_CRYPTO_GF128MUL=m | ||
1710 | CONFIG_CRYPTO_NULL=m | 551 | CONFIG_CRYPTO_NULL=m |
1711 | CONFIG_CRYPTO_PCRYPT=m | 552 | CONFIG_CRYPTO_PCRYPT=m |
1712 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1713 | CONFIG_CRYPTO_CRYPTD=m | 553 | CONFIG_CRYPTO_CRYPTD=m |
1714 | CONFIG_CRYPTO_AUTHENC=m | ||
1715 | CONFIG_CRYPTO_TEST=m | 554 | CONFIG_CRYPTO_TEST=m |
1716 | |||
1717 | # | ||
1718 | # Authenticated Encryption with Associated Data | ||
1719 | # | ||
1720 | CONFIG_CRYPTO_CCM=m | 555 | CONFIG_CRYPTO_CCM=m |
1721 | CONFIG_CRYPTO_GCM=m | 556 | CONFIG_CRYPTO_GCM=m |
1722 | CONFIG_CRYPTO_SEQIV=m | ||
1723 | |||
1724 | # | ||
1725 | # Block modes | ||
1726 | # | ||
1727 | CONFIG_CRYPTO_CBC=m | ||
1728 | CONFIG_CRYPTO_CTR=m | ||
1729 | CONFIG_CRYPTO_CTS=m | 557 | CONFIG_CRYPTO_CTS=m |
1730 | CONFIG_CRYPTO_ECB=m | ||
1731 | CONFIG_CRYPTO_LRW=m | 558 | CONFIG_CRYPTO_LRW=m |
1732 | CONFIG_CRYPTO_PCBC=m | 559 | CONFIG_CRYPTO_PCBC=m |
1733 | CONFIG_CRYPTO_XTS=m | 560 | CONFIG_CRYPTO_XTS=m |
1734 | |||
1735 | # | ||
1736 | # Hash modes | ||
1737 | # | ||
1738 | CONFIG_CRYPTO_HMAC=y | 561 | CONFIG_CRYPTO_HMAC=y |
1739 | CONFIG_CRYPTO_XCBC=m | 562 | CONFIG_CRYPTO_XCBC=m |
1740 | CONFIG_CRYPTO_VMAC=m | 563 | CONFIG_CRYPTO_VMAC=m |
1741 | |||
1742 | # | ||
1743 | # Digest | ||
1744 | # | ||
1745 | CONFIG_CRYPTO_CRC32C=y | 564 | CONFIG_CRYPTO_CRC32C=y |
1746 | CONFIG_CRYPTO_GHASH=m | ||
1747 | CONFIG_CRYPTO_MD4=m | ||
1748 | CONFIG_CRYPTO_MD5=y | ||
1749 | CONFIG_CRYPTO_MICHAEL_MIC=m | 565 | CONFIG_CRYPTO_MICHAEL_MIC=m |
1750 | CONFIG_CRYPTO_RMD128=m | 566 | CONFIG_CRYPTO_RMD128=m |
1751 | CONFIG_CRYPTO_RMD160=m | 567 | CONFIG_CRYPTO_RMD160=m |
@@ -1756,76 +572,16 @@ CONFIG_CRYPTO_SHA256=m | |||
1756 | CONFIG_CRYPTO_SHA512=m | 572 | CONFIG_CRYPTO_SHA512=m |
1757 | CONFIG_CRYPTO_TGR192=m | 573 | CONFIG_CRYPTO_TGR192=m |
1758 | CONFIG_CRYPTO_WP512=m | 574 | CONFIG_CRYPTO_WP512=m |
1759 | |||
1760 | # | ||
1761 | # Ciphers | ||
1762 | # | ||
1763 | CONFIG_CRYPTO_AES=m | ||
1764 | CONFIG_CRYPTO_ANUBIS=m | 575 | CONFIG_CRYPTO_ANUBIS=m |
1765 | CONFIG_CRYPTO_ARC4=m | ||
1766 | CONFIG_CRYPTO_BLOWFISH=m | 576 | CONFIG_CRYPTO_BLOWFISH=m |
1767 | CONFIG_CRYPTO_CAMELLIA=m | 577 | CONFIG_CRYPTO_CAMELLIA=m |
1768 | CONFIG_CRYPTO_CAST5=m | 578 | CONFIG_CRYPTO_CAST5=m |
1769 | CONFIG_CRYPTO_CAST6=m | 579 | CONFIG_CRYPTO_CAST6=m |
1770 | CONFIG_CRYPTO_DES=m | ||
1771 | CONFIG_CRYPTO_FCRYPT=m | 580 | CONFIG_CRYPTO_FCRYPT=m |
1772 | CONFIG_CRYPTO_KHAZAD=m | 581 | CONFIG_CRYPTO_KHAZAD=m |
1773 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1774 | CONFIG_CRYPTO_SEED=m | 582 | CONFIG_CRYPTO_SEED=m |
1775 | CONFIG_CRYPTO_SERPENT=m | 583 | CONFIG_CRYPTO_SERPENT=m |
1776 | CONFIG_CRYPTO_TEA=m | 584 | CONFIG_CRYPTO_TEA=m |
1777 | CONFIG_CRYPTO_TWOFISH=m | 585 | CONFIG_CRYPTO_TWOFISH=m |
1778 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1779 | |||
1780 | # | ||
1781 | # Compression | ||
1782 | # | ||
1783 | CONFIG_CRYPTO_DEFLATE=m | ||
1784 | CONFIG_CRYPTO_ZLIB=m | 586 | CONFIG_CRYPTO_ZLIB=m |
1785 | CONFIG_CRYPTO_LZO=m | 587 | CONFIG_CRYPTO_LZO=m |
1786 | |||
1787 | # | ||
1788 | # Random Number Generation | ||
1789 | # | ||
1790 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
1791 | # CONFIG_CRYPTO_USER_API_HASH is not set | ||
1792 | # CONFIG_CRYPTO_USER_API_SKCIPHER is not set | ||
1793 | CONFIG_CRYPTO_HW=y | ||
1794 | CONFIG_CRYPTO_DEV_HIFN_795X=m | ||
1795 | CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y | ||
1796 | # CONFIG_BINARY_PRINTF is not set | ||
1797 | |||
1798 | # | ||
1799 | # Library routines | ||
1800 | # | ||
1801 | CONFIG_RAID6_PQ=m | ||
1802 | CONFIG_BITREVERSE=y | ||
1803 | CONFIG_GENERIC_FIND_FIRST_BIT=y | ||
1804 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
1805 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1806 | # CONFIG_CRC_CCITT is not set | ||
1807 | CONFIG_CRC16=y | ||
1808 | CONFIG_CRC_T10DIF=y | ||
1809 | CONFIG_CRC_ITU_T=m | ||
1810 | CONFIG_CRC32=y | ||
1811 | # CONFIG_CRC7 is not set | ||
1812 | CONFIG_LIBCRC32C=m | ||
1813 | CONFIG_AUDIT_GENERIC=y | ||
1814 | CONFIG_ZLIB_INFLATE=y | ||
1815 | CONFIG_ZLIB_DEFLATE=m | ||
1816 | CONFIG_LZO_COMPRESS=m | ||
1817 | CONFIG_LZO_DECOMPRESS=m | ||
1818 | # CONFIG_XZ_DEC is not set | ||
1819 | # CONFIG_XZ_DEC_BCJ is not set | ||
1820 | CONFIG_DECOMPRESS_GZIP=y | ||
1821 | CONFIG_TEXTSEARCH=y | ||
1822 | CONFIG_TEXTSEARCH_KMP=m | ||
1823 | CONFIG_TEXTSEARCH_BM=m | ||
1824 | CONFIG_TEXTSEARCH_FSM=m | ||
1825 | CONFIG_HAS_IOMEM=y | ||
1826 | CONFIG_HAS_IOPORT=y | ||
1827 | CONFIG_HAS_DMA=y | ||
1828 | CONFIG_CPU_RMAP=y | ||
1829 | CONFIG_NLATTR=y | ||
1830 | # CONFIG_AVERAGE is not set | ||
1831 | # CONFIG_VIRTUALIZATION is not set | ||
diff --git a/arch/tile/configs/tilepro_defconfig b/arch/tile/configs/tilepro_defconfig index 6f05f969b564..2b1fd31894f1 100644 --- a/arch/tile/configs/tilepro_defconfig +++ b/arch/tile/configs/tilepro_defconfig | |||
@@ -1,1162 +1,579 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux/tile 2.6.39-rc5 Kernel Configuration | ||
4 | # Tue May 3 09:15:02 2011 | ||
5 | # | ||
6 | CONFIG_TILE=y | ||
7 | CONFIG_MMU=y | ||
8 | CONFIG_GENERIC_CSUM=y | ||
9 | CONFIG_SEMAPHORE_SLEEPERS=y | ||
10 | CONFIG_HAVE_ARCH_ALLOC_REMAP=y | ||
11 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y | ||
12 | CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y | ||
13 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
14 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
15 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
16 | CONFIG_DEFAULT_MIGRATION_COST=10000000 | ||
17 | CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y | ||
18 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y | ||
19 | CONFIG_ARCH_DMA_ADDR_T_64BIT=y | ||
20 | CONFIG_LOCKDEP_SUPPORT=y | ||
21 | CONFIG_STACKTRACE_SUPPORT=y | ||
22 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | ||
23 | CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y | ||
24 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
25 | CONFIG_STRICT_DEVMEM=y | ||
26 | CONFIG_SMP=y | ||
27 | # CONFIG_DEBUG_COPY_FROM_USER is not set | ||
28 | CONFIG_HVC_TILE=y | ||
29 | # CONFIG_TILEGX is not set | ||
30 | CONFIG_ARCH_DEFCONFIG="arch/tile/configs/tile_defconfig" | ||
31 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
32 | CONFIG_CONSTRUCTORS=y | ||
33 | |||
34 | # | ||
35 | # General setup | ||
36 | # | ||
37 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
38 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 2 | # CONFIG_LOCALVERSION_AUTO is not set |
39 | CONFIG_CROSS_COMPILE="" | ||
40 | CONFIG_LOCALVERSION="" | ||
41 | CONFIG_LOCALVERSION_AUTO=y | ||
42 | # CONFIG_SWAP is not set | ||
43 | CONFIG_SYSVIPC=y | 3 | CONFIG_SYSVIPC=y |
44 | CONFIG_SYSVIPC_SYSCTL=y | 4 | CONFIG_POSIX_MQUEUE=y |
45 | # CONFIG_POSIX_MQUEUE is not set | 5 | CONFIG_BSD_PROCESS_ACCT=y |
46 | # CONFIG_BSD_PROCESS_ACCT is not set | 6 | CONFIG_BSD_PROCESS_ACCT_V3=y |
47 | CONFIG_FHANDLE=y | 7 | CONFIG_FHANDLE=y |
48 | # CONFIG_TASKSTATS is not set | 8 | CONFIG_TASKSTATS=y |
49 | # CONFIG_AUDIT is not set | 9 | CONFIG_TASK_DELAY_ACCT=y |
50 | CONFIG_HAVE_GENERIC_HARDIRQS=y | 10 | CONFIG_TASK_XACCT=y |
51 | 11 | CONFIG_TASK_IO_ACCOUNTING=y | |
52 | # | 12 | CONFIG_AUDIT=y |
53 | # IRQ subsystem | 13 | CONFIG_LOG_BUF_SHIFT=19 |
54 | # | 14 | CONFIG_CGROUPS=y |
55 | CONFIG_GENERIC_HARDIRQS=y | 15 | CONFIG_CGROUP_DEBUG=y |
56 | CONFIG_GENERIC_IRQ_PROBE=y | 16 | CONFIG_CGROUP_DEVICE=y |
57 | CONFIG_GENERIC_IRQ_SHOW=y | 17 | CONFIG_CPUSETS=y |
58 | CONFIG_GENERIC_PENDING_IRQ=y | 18 | CONFIG_CGROUP_CPUACCT=y |
59 | 19 | CONFIG_RESOURCE_COUNTERS=y | |
60 | # | 20 | CONFIG_CGROUP_MEM_RES_CTLR=y |
61 | # RCU Subsystem | 21 | CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y |
62 | # | 22 | CONFIG_CGROUP_SCHED=y |
63 | CONFIG_TREE_RCU=y | 23 | CONFIG_RT_GROUP_SCHED=y |
64 | # CONFIG_PREEMPT_RCU is not set | 24 | CONFIG_BLK_CGROUP=y |
65 | # CONFIG_RCU_TRACE is not set | 25 | CONFIG_NAMESPACES=y |
66 | CONFIG_RCU_FANOUT=32 | 26 | CONFIG_RELAY=y |
67 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
68 | # CONFIG_RCU_FAST_NO_HZ is not set | ||
69 | # CONFIG_TREE_RCU_TRACE is not set | ||
70 | # CONFIG_IKCONFIG is not set | ||
71 | CONFIG_LOG_BUF_SHIFT=17 | ||
72 | # CONFIG_CGROUPS is not set | ||
73 | # CONFIG_NAMESPACES is not set | ||
74 | # CONFIG_SCHED_AUTOGROUP is not set | ||
75 | # CONFIG_SYSFS_DEPRECATED is not set | ||
76 | # CONFIG_RELAY is not set | ||
77 | CONFIG_BLK_DEV_INITRD=y | 27 | CONFIG_BLK_DEV_INITRD=y |
78 | CONFIG_INITRAMFS_SOURCE="usr/contents.txt" | ||
79 | CONFIG_INITRAMFS_ROOT_UID=0 | ||
80 | CONFIG_INITRAMFS_ROOT_GID=0 | ||
81 | CONFIG_RD_GZIP=y | ||
82 | # CONFIG_RD_BZIP2 is not set | ||
83 | # CONFIG_RD_LZMA is not set | ||
84 | # CONFIG_RD_XZ is not set | ||
85 | # CONFIG_RD_LZO is not set | ||
86 | CONFIG_INITRAMFS_COMPRESSION_NONE=y | ||
87 | # CONFIG_INITRAMFS_COMPRESSION_GZIP is not set | ||
88 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
89 | CONFIG_SYSCTL=y | ||
90 | CONFIG_ANON_INODES=y | ||
91 | CONFIG_EXPERT=y | ||
92 | CONFIG_SYSCTL_SYSCALL=y | 28 | CONFIG_SYSCTL_SYSCALL=y |
93 | CONFIG_KALLSYMS=y | ||
94 | # CONFIG_KALLSYMS_ALL is not set | ||
95 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
96 | CONFIG_HOTPLUG=y | ||
97 | CONFIG_PRINTK=y | ||
98 | CONFIG_BUG=y | ||
99 | CONFIG_ELF_CORE=y | ||
100 | CONFIG_BASE_FULL=y | ||
101 | CONFIG_FUTEX=y | ||
102 | CONFIG_EPOLL=y | ||
103 | CONFIG_SIGNALFD=y | ||
104 | CONFIG_TIMERFD=y | ||
105 | CONFIG_EVENTFD=y | ||
106 | CONFIG_SHMEM=y | ||
107 | CONFIG_AIO=y | ||
108 | CONFIG_EMBEDDED=y | 29 | CONFIG_EMBEDDED=y |
109 | |||
110 | # | ||
111 | # Kernel Performance Events And Counters | ||
112 | # | ||
113 | CONFIG_VM_EVENT_COUNTERS=y | ||
114 | CONFIG_PCI_QUIRKS=y | ||
115 | CONFIG_SLUB_DEBUG=y | ||
116 | # CONFIG_COMPAT_BRK is not set | 30 | # CONFIG_COMPAT_BRK is not set |
117 | # CONFIG_SLAB is not set | ||
118 | CONFIG_SLUB=y | ||
119 | # CONFIG_SLOB is not set | ||
120 | CONFIG_PROFILING=y | 31 | CONFIG_PROFILING=y |
121 | CONFIG_USE_GENERIC_SMP_HELPERS=y | ||
122 | |||
123 | # | ||
124 | # GCOV-based kernel profiling | ||
125 | # | ||
126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
127 | CONFIG_SLABINFO=y | ||
128 | CONFIG_RT_MUTEXES=y | ||
129 | CONFIG_BASE_SMALL=0 | ||
130 | CONFIG_MODULES=y | 32 | CONFIG_MODULES=y |
131 | # CONFIG_MODULE_FORCE_LOAD is not set | 33 | CONFIG_MODULE_FORCE_LOAD=y |
132 | CONFIG_MODULE_UNLOAD=y | 34 | CONFIG_MODULE_UNLOAD=y |
133 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 35 | CONFIG_BLK_DEV_INTEGRITY=y |
134 | # CONFIG_MODVERSIONS is not set | 36 | CONFIG_PARTITION_ADVANCED=y |
135 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 37 | CONFIG_OSF_PARTITION=y |
136 | CONFIG_STOP_MACHINE=y | 38 | CONFIG_AMIGA_PARTITION=y |
137 | CONFIG_BLOCK=y | 39 | CONFIG_MAC_PARTITION=y |
138 | CONFIG_LBDAF=y | 40 | CONFIG_BSD_DISKLABEL=y |
139 | # CONFIG_BLK_DEV_BSG is not set | 41 | CONFIG_MINIX_SUBPARTITION=y |
140 | # CONFIG_BLK_DEV_INTEGRITY is not set | 42 | CONFIG_SOLARIS_X86_PARTITION=y |
141 | 43 | CONFIG_UNIXWARE_DISKLABEL=y | |
142 | # | 44 | CONFIG_SGI_PARTITION=y |
143 | # IO Schedulers | 45 | CONFIG_SUN_PARTITION=y |
144 | # | 46 | CONFIG_KARMA_PARTITION=y |
145 | CONFIG_IOSCHED_NOOP=y | 47 | CONFIG_EFI_PARTITION=y |
146 | # CONFIG_IOSCHED_DEADLINE is not set | 48 | CONFIG_CFQ_GROUP_IOSCHED=y |
147 | # CONFIG_IOSCHED_CFQ is not set | ||
148 | CONFIG_DEFAULT_NOOP=y | ||
149 | CONFIG_DEFAULT_IOSCHED="noop" | ||
150 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
151 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
152 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
153 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
154 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
155 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
156 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
157 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
158 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
159 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
160 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
161 | # CONFIG_INLINE_READ_LOCK is not set | ||
162 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
163 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
164 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
165 | CONFIG_INLINE_READ_UNLOCK=y | ||
166 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
167 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
168 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
169 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
170 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
171 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
172 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
173 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
174 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
175 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
176 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
177 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
178 | CONFIG_MUTEX_SPIN_ON_OWNER=y | ||
179 | |||
180 | # | ||
181 | # Tilera-specific configuration | ||
182 | # | ||
183 | CONFIG_NR_CPUS=64 | ||
184 | CONFIG_TICK_ONESHOT=y | ||
185 | CONFIG_NO_HZ=y | 49 | CONFIG_NO_HZ=y |
186 | CONFIG_HIGH_RES_TIMERS=y | 50 | CONFIG_HIGH_RES_TIMERS=y |
187 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
188 | CONFIG_HZ_100=y | 51 | CONFIG_HZ_100=y |
189 | # CONFIG_HZ_250 is not set | 52 | CONFIG_PCI_DEBUG=y |
190 | # CONFIG_HZ_300 is not set | ||
191 | # CONFIG_HZ_1000 is not set | ||
192 | CONFIG_HZ=100 | ||
193 | CONFIG_SCHED_HRTICK=y | ||
194 | # CONFIG_KEXEC is not set | ||
195 | CONFIG_HIGHMEM=y | ||
196 | CONFIG_NUMA=y | ||
197 | CONFIG_NODES_SHIFT=2 | ||
198 | # CONFIG_VMSPLIT_3_75G is not set | ||
199 | # CONFIG_VMSPLIT_3_5G is not set | ||
200 | CONFIG_VMSPLIT_3G=y | ||
201 | # CONFIG_VMSPLIT_2_75G is not set | ||
202 | # CONFIG_VMSPLIT_2_5G is not set | ||
203 | # CONFIG_VMSPLIT_2_25G is not set | ||
204 | # CONFIG_VMSPLIT_2G is not set | ||
205 | # CONFIG_VMSPLIT_1G is not set | ||
206 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
207 | CONFIG_SELECT_MEMORY_MODEL=y | ||
208 | CONFIG_DISCONTIGMEM_MANUAL=y | ||
209 | CONFIG_DISCONTIGMEM=y | ||
210 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
211 | CONFIG_NEED_MULTIPLE_NODES=y | ||
212 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
213 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
214 | # CONFIG_COMPACTION is not set | ||
215 | CONFIG_MIGRATION=y | ||
216 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
217 | CONFIG_ZONE_DMA_FLAG=0 | ||
218 | CONFIG_BOUNCE=y | ||
219 | CONFIG_VIRT_TO_BUS=y | ||
220 | # CONFIG_KSM is not set | ||
221 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
222 | # CONFIG_CMDLINE_BOOL is not set | ||
223 | CONFIG_VMALLOC_RESERVE=0x1000000 | ||
224 | CONFIG_HARDWALL=y | ||
225 | CONFIG_KERNEL_PL=1 | ||
226 | |||
227 | # | ||
228 | # Bus options | ||
229 | # | ||
230 | CONFIG_PCI=y | ||
231 | CONFIG_PCI_DOMAINS=y | ||
232 | # CONFIG_NO_IOMEM is not set | ||
233 | # CONFIG_NO_IOPORT is not set | ||
234 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
235 | # CONFIG_PCI_DEBUG is not set | ||
236 | # CONFIG_PCI_STUB is not set | ||
237 | # CONFIG_PCI_IOV is not set | ||
238 | # CONFIG_HOTPLUG_PCI is not set | ||
239 | |||
240 | # | ||
241 | # Executable file formats | ||
242 | # | ||
243 | CONFIG_KCORE_ELF=y | ||
244 | CONFIG_BINFMT_ELF=y | ||
245 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | 53 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set |
246 | # CONFIG_HAVE_AOUT is not set | 54 | CONFIG_BINFMT_MISC=y |
247 | # CONFIG_BINFMT_MISC is not set | ||
248 | CONFIG_NET=y | 55 | CONFIG_NET=y |
249 | |||
250 | # | ||
251 | # Networking options | ||
252 | # | ||
253 | CONFIG_PACKET=y | 56 | CONFIG_PACKET=y |
254 | CONFIG_UNIX=y | 57 | CONFIG_UNIX=y |
255 | CONFIG_XFRM=y | 58 | CONFIG_XFRM_USER=y |
256 | # CONFIG_XFRM_USER is not set | 59 | CONFIG_XFRM_SUB_POLICY=y |
257 | # CONFIG_XFRM_SUB_POLICY is not set | 60 | CONFIG_XFRM_STATISTICS=y |
258 | # CONFIG_XFRM_MIGRATE is not set | 61 | CONFIG_NET_KEY=m |
259 | # CONFIG_XFRM_STATISTICS is not set | 62 | CONFIG_NET_KEY_MIGRATE=y |
260 | # CONFIG_NET_KEY is not set | ||
261 | CONFIG_INET=y | 63 | CONFIG_INET=y |
262 | CONFIG_IP_MULTICAST=y | 64 | CONFIG_IP_MULTICAST=y |
263 | # CONFIG_IP_ADVANCED_ROUTER is not set | 65 | CONFIG_IP_ADVANCED_ROUTER=y |
264 | # CONFIG_IP_PNP is not set | 66 | CONFIG_IP_MULTIPLE_TABLES=y |
265 | # CONFIG_NET_IPIP is not set | 67 | CONFIG_IP_ROUTE_MULTIPATH=y |
266 | # CONFIG_NET_IPGRE_DEMUX is not set | 68 | CONFIG_IP_ROUTE_VERBOSE=y |
267 | # CONFIG_IP_MROUTE is not set | 69 | CONFIG_NET_IPIP=m |
268 | # CONFIG_ARPD is not set | 70 | CONFIG_IP_MROUTE=y |
269 | # CONFIG_SYN_COOKIES is not set | 71 | CONFIG_IP_PIMSM_V1=y |
270 | # CONFIG_INET_AH is not set | 72 | CONFIG_IP_PIMSM_V2=y |
271 | # CONFIG_INET_ESP is not set | 73 | CONFIG_SYN_COOKIES=y |
272 | # CONFIG_INET_IPCOMP is not set | 74 | CONFIG_INET_AH=m |
273 | # CONFIG_INET_XFRM_TUNNEL is not set | 75 | CONFIG_INET_ESP=m |
274 | CONFIG_INET_TUNNEL=y | 76 | CONFIG_INET_IPCOMP=m |
275 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | 77 | CONFIG_INET_XFRM_MODE_TRANSPORT=m |
276 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | 78 | CONFIG_INET_XFRM_MODE_TUNNEL=m |
277 | CONFIG_INET_XFRM_MODE_BEET=y | 79 | CONFIG_INET_XFRM_MODE_BEET=m |
278 | # CONFIG_INET_LRO is not set | 80 | CONFIG_INET_DIAG=m |
279 | # CONFIG_INET_DIAG is not set | 81 | CONFIG_TCP_CONG_ADVANCED=y |
280 | # CONFIG_TCP_CONG_ADVANCED is not set | 82 | CONFIG_TCP_CONG_HSTCP=m |
281 | CONFIG_TCP_CONG_CUBIC=y | 83 | CONFIG_TCP_CONG_HYBLA=m |
282 | CONFIG_DEFAULT_TCP_CONG="cubic" | 84 | CONFIG_TCP_CONG_SCALABLE=m |
283 | # CONFIG_TCP_MD5SIG is not set | 85 | CONFIG_TCP_CONG_LP=m |
86 | CONFIG_TCP_CONG_VENO=m | ||
87 | CONFIG_TCP_CONG_YEAH=m | ||
88 | CONFIG_TCP_CONG_ILLINOIS=m | ||
89 | CONFIG_TCP_MD5SIG=y | ||
284 | CONFIG_IPV6=y | 90 | CONFIG_IPV6=y |
285 | # CONFIG_IPV6_PRIVACY is not set | 91 | CONFIG_IPV6_PRIVACY=y |
286 | # CONFIG_IPV6_ROUTER_PREF is not set | 92 | CONFIG_IPV6_ROUTER_PREF=y |
287 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set | 93 | CONFIG_IPV6_ROUTE_INFO=y |
288 | # CONFIG_INET6_AH is not set | 94 | CONFIG_IPV6_OPTIMISTIC_DAD=y |
289 | # CONFIG_INET6_ESP is not set | 95 | CONFIG_INET6_AH=m |
290 | # CONFIG_INET6_IPCOMP is not set | 96 | CONFIG_INET6_ESP=m |
291 | # CONFIG_IPV6_MIP6 is not set | 97 | CONFIG_INET6_IPCOMP=m |
292 | # CONFIG_INET6_XFRM_TUNNEL is not set | 98 | CONFIG_IPV6_MIP6=m |
293 | # CONFIG_INET6_TUNNEL is not set | 99 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m |
294 | CONFIG_INET6_XFRM_MODE_TRANSPORT=y | 100 | CONFIG_INET6_XFRM_MODE_TUNNEL=m |
295 | CONFIG_INET6_XFRM_MODE_TUNNEL=y | 101 | CONFIG_INET6_XFRM_MODE_BEET=m |
296 | CONFIG_INET6_XFRM_MODE_BEET=y | 102 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
297 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | 103 | CONFIG_IPV6_SIT=m |
298 | CONFIG_IPV6_SIT=y | 104 | CONFIG_IPV6_TUNNEL=m |
299 | # CONFIG_IPV6_SIT_6RD is not set | 105 | CONFIG_IPV6_MULTIPLE_TABLES=y |
300 | CONFIG_IPV6_NDISC_NODETYPE=y | 106 | CONFIG_IPV6_MROUTE=y |
301 | # CONFIG_IPV6_TUNNEL is not set | 107 | CONFIG_IPV6_PIMSM_V2=y |
302 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 108 | CONFIG_NETLABEL=y |
303 | # CONFIG_IPV6_MROUTE is not set | 109 | CONFIG_NETFILTER=y |
304 | # CONFIG_NETWORK_SECMARK is not set | 110 | CONFIG_NF_CONNTRACK=m |
305 | # CONFIG_NETWORK_PHY_TIMESTAMPING is not set | 111 | CONFIG_NF_CONNTRACK_SECMARK=y |
306 | # CONFIG_NETFILTER is not set | 112 | CONFIG_NF_CONNTRACK_ZONES=y |
307 | # CONFIG_IP_DCCP is not set | 113 | CONFIG_NF_CONNTRACK_EVENTS=y |
308 | # CONFIG_IP_SCTP is not set | 114 | CONFIG_NF_CT_PROTO_DCCP=m |
309 | # CONFIG_RDS is not set | 115 | CONFIG_NF_CT_PROTO_UDPLITE=m |
310 | # CONFIG_TIPC is not set | 116 | CONFIG_NF_CONNTRACK_AMANDA=m |
311 | # CONFIG_ATM is not set | 117 | CONFIG_NF_CONNTRACK_FTP=m |
312 | # CONFIG_L2TP is not set | 118 | CONFIG_NF_CONNTRACK_H323=m |
313 | # CONFIG_BRIDGE is not set | 119 | CONFIG_NF_CONNTRACK_IRC=m |
314 | # CONFIG_NET_DSA is not set | 120 | CONFIG_NF_CONNTRACK_NETBIOS_NS=m |
315 | # CONFIG_VLAN_8021Q is not set | 121 | CONFIG_NF_CONNTRACK_PPTP=m |
316 | # CONFIG_DECNET is not set | 122 | CONFIG_NF_CONNTRACK_SANE=m |
317 | # CONFIG_LLC2 is not set | 123 | CONFIG_NF_CONNTRACK_SIP=m |
318 | # CONFIG_IPX is not set | 124 | CONFIG_NF_CONNTRACK_TFTP=m |
319 | # CONFIG_ATALK is not set | 125 | CONFIG_NETFILTER_TPROXY=m |
320 | # CONFIG_X25 is not set | 126 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
321 | # CONFIG_LAPB is not set | 127 | CONFIG_NETFILTER_XT_TARGET_CONNMARK=m |
322 | # CONFIG_ECONET is not set | 128 | CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m |
323 | # CONFIG_WAN_ROUTER is not set | 129 | CONFIG_NETFILTER_XT_TARGET_CT=m |
324 | # CONFIG_PHONET is not set | 130 | CONFIG_NETFILTER_XT_TARGET_DSCP=m |
325 | # CONFIG_IEEE802154 is not set | 131 | CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m |
326 | # CONFIG_NET_SCHED is not set | 132 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
327 | # CONFIG_DCB is not set | 133 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m |
328 | # CONFIG_BATMAN_ADV is not set | 134 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
329 | CONFIG_RPS=y | 135 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m |
330 | CONFIG_RFS_ACCEL=y | 136 | CONFIG_NETFILTER_XT_TARGET_TEE=m |
331 | CONFIG_XPS=y | 137 | CONFIG_NETFILTER_XT_TARGET_TPROXY=m |
332 | 138 | CONFIG_NETFILTER_XT_TARGET_TRACE=m | |
333 | # | 139 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m |
334 | # Network testing | 140 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m |
335 | # | 141 | CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m |
336 | # CONFIG_NET_PKTGEN is not set | 142 | CONFIG_NETFILTER_XT_MATCH_CLUSTER=m |
337 | # CONFIG_HAMRADIO is not set | 143 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
338 | # CONFIG_CAN is not set | 144 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m |
339 | # CONFIG_IRDA is not set | 145 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m |
340 | # CONFIG_BT is not set | 146 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
341 | # CONFIG_AF_RXRPC is not set | 147 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
148 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | ||
149 | CONFIG_NETFILTER_XT_MATCH_DSCP=m | ||
150 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
151 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m | ||
152 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | ||
153 | CONFIG_NETFILTER_XT_MATCH_IPRANGE=m | ||
154 | CONFIG_NETFILTER_XT_MATCH_IPVS=m | ||
155 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | ||
156 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | ||
157 | CONFIG_NETFILTER_XT_MATCH_MAC=m | ||
158 | CONFIG_NETFILTER_XT_MATCH_MARK=m | ||
159 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
160 | CONFIG_NETFILTER_XT_MATCH_OSF=m | ||
161 | CONFIG_NETFILTER_XT_MATCH_OWNER=m | ||
162 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
163 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m | ||
164 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | ||
165 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
166 | CONFIG_NETFILTER_XT_MATCH_RATEEST=m | ||
167 | CONFIG_NETFILTER_XT_MATCH_REALM=m | ||
168 | CONFIG_NETFILTER_XT_MATCH_RECENT=m | ||
169 | CONFIG_NETFILTER_XT_MATCH_SOCKET=m | ||
170 | CONFIG_NETFILTER_XT_MATCH_STATE=m | ||
171 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
172 | CONFIG_NETFILTER_XT_MATCH_STRING=m | ||
173 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | ||
174 | CONFIG_NETFILTER_XT_MATCH_TIME=m | ||
175 | CONFIG_NETFILTER_XT_MATCH_U32=m | ||
176 | CONFIG_IP_VS=m | ||
177 | CONFIG_IP_VS_IPV6=y | ||
178 | CONFIG_IP_VS_PROTO_TCP=y | ||
179 | CONFIG_IP_VS_PROTO_UDP=y | ||
180 | CONFIG_IP_VS_PROTO_ESP=y | ||
181 | CONFIG_IP_VS_PROTO_AH=y | ||
182 | CONFIG_IP_VS_PROTO_SCTP=y | ||
183 | CONFIG_IP_VS_RR=m | ||
184 | CONFIG_IP_VS_WRR=m | ||
185 | CONFIG_IP_VS_LC=m | ||
186 | CONFIG_IP_VS_WLC=m | ||
187 | CONFIG_IP_VS_LBLC=m | ||
188 | CONFIG_IP_VS_LBLCR=m | ||
189 | CONFIG_IP_VS_SED=m | ||
190 | CONFIG_IP_VS_NQ=m | ||
191 | CONFIG_NF_CONNTRACK_IPV4=m | ||
192 | # CONFIG_NF_CONNTRACK_PROC_COMPAT is not set | ||
193 | CONFIG_IP_NF_QUEUE=m | ||
194 | CONFIG_IP_NF_IPTABLES=y | ||
195 | CONFIG_IP_NF_MATCH_AH=m | ||
196 | CONFIG_IP_NF_MATCH_ECN=m | ||
197 | CONFIG_IP_NF_MATCH_TTL=m | ||
198 | CONFIG_IP_NF_FILTER=y | ||
199 | CONFIG_IP_NF_TARGET_REJECT=y | ||
200 | CONFIG_IP_NF_TARGET_LOG=m | ||
201 | CONFIG_IP_NF_TARGET_ULOG=m | ||
202 | CONFIG_IP_NF_MANGLE=m | ||
203 | CONFIG_IP_NF_TARGET_ECN=m | ||
204 | CONFIG_IP_NF_TARGET_TTL=m | ||
205 | CONFIG_IP_NF_RAW=m | ||
206 | CONFIG_IP_NF_SECURITY=m | ||
207 | CONFIG_IP_NF_ARPTABLES=m | ||
208 | CONFIG_IP_NF_ARPFILTER=m | ||
209 | CONFIG_IP_NF_ARP_MANGLE=m | ||
210 | CONFIG_NF_CONNTRACK_IPV6=m | ||
211 | CONFIG_IP6_NF_QUEUE=m | ||
212 | CONFIG_IP6_NF_IPTABLES=m | ||
213 | CONFIG_IP6_NF_MATCH_AH=m | ||
214 | CONFIG_IP6_NF_MATCH_EUI64=m | ||
215 | CONFIG_IP6_NF_MATCH_FRAG=m | ||
216 | CONFIG_IP6_NF_MATCH_OPTS=m | ||
217 | CONFIG_IP6_NF_MATCH_HL=m | ||
218 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | ||
219 | CONFIG_IP6_NF_MATCH_MH=m | ||
220 | CONFIG_IP6_NF_MATCH_RT=m | ||
221 | CONFIG_IP6_NF_TARGET_HL=m | ||
222 | CONFIG_IP6_NF_TARGET_LOG=m | ||
223 | CONFIG_IP6_NF_FILTER=m | ||
224 | CONFIG_IP6_NF_TARGET_REJECT=m | ||
225 | CONFIG_IP6_NF_MANGLE=m | ||
226 | CONFIG_IP6_NF_RAW=m | ||
227 | CONFIG_IP6_NF_SECURITY=m | ||
228 | CONFIG_BRIDGE_NF_EBTABLES=m | ||
229 | CONFIG_BRIDGE_EBT_BROUTE=m | ||
230 | CONFIG_BRIDGE_EBT_T_FILTER=m | ||
231 | CONFIG_BRIDGE_EBT_T_NAT=m | ||
232 | CONFIG_BRIDGE_EBT_802_3=m | ||
233 | CONFIG_BRIDGE_EBT_AMONG=m | ||
234 | CONFIG_BRIDGE_EBT_ARP=m | ||
235 | CONFIG_BRIDGE_EBT_IP=m | ||
236 | CONFIG_BRIDGE_EBT_IP6=m | ||
237 | CONFIG_BRIDGE_EBT_LIMIT=m | ||
238 | CONFIG_BRIDGE_EBT_MARK=m | ||
239 | CONFIG_BRIDGE_EBT_PKTTYPE=m | ||
240 | CONFIG_BRIDGE_EBT_STP=m | ||
241 | CONFIG_BRIDGE_EBT_VLAN=m | ||
242 | CONFIG_BRIDGE_EBT_ARPREPLY=m | ||
243 | CONFIG_BRIDGE_EBT_DNAT=m | ||
244 | CONFIG_BRIDGE_EBT_MARK_T=m | ||
245 | CONFIG_BRIDGE_EBT_REDIRECT=m | ||
246 | CONFIG_BRIDGE_EBT_SNAT=m | ||
247 | CONFIG_BRIDGE_EBT_LOG=m | ||
248 | CONFIG_BRIDGE_EBT_ULOG=m | ||
249 | CONFIG_BRIDGE_EBT_NFLOG=m | ||
250 | CONFIG_RDS=m | ||
251 | CONFIG_RDS_TCP=m | ||
252 | CONFIG_BRIDGE=m | ||
253 | CONFIG_NET_DSA=y | ||
254 | CONFIG_VLAN_8021Q=m | ||
255 | CONFIG_VLAN_8021Q_GVRP=y | ||
256 | CONFIG_PHONET=m | ||
257 | CONFIG_NET_SCHED=y | ||
258 | CONFIG_NET_SCH_CBQ=m | ||
259 | CONFIG_NET_SCH_HTB=m | ||
260 | CONFIG_NET_SCH_HFSC=m | ||
261 | CONFIG_NET_SCH_PRIO=m | ||
262 | CONFIG_NET_SCH_MULTIQ=m | ||
263 | CONFIG_NET_SCH_RED=m | ||
264 | CONFIG_NET_SCH_SFQ=m | ||
265 | CONFIG_NET_SCH_TEQL=m | ||
266 | CONFIG_NET_SCH_TBF=m | ||
267 | CONFIG_NET_SCH_GRED=m | ||
268 | CONFIG_NET_SCH_DSMARK=m | ||
269 | CONFIG_NET_SCH_NETEM=m | ||
270 | CONFIG_NET_SCH_DRR=m | ||
271 | CONFIG_NET_SCH_INGRESS=m | ||
272 | CONFIG_NET_CLS_BASIC=m | ||
273 | CONFIG_NET_CLS_TCINDEX=m | ||
274 | CONFIG_NET_CLS_ROUTE4=m | ||
275 | CONFIG_NET_CLS_FW=m | ||
276 | CONFIG_NET_CLS_U32=m | ||
277 | CONFIG_CLS_U32_PERF=y | ||
278 | CONFIG_CLS_U32_MARK=y | ||
279 | CONFIG_NET_CLS_RSVP=m | ||
280 | CONFIG_NET_CLS_RSVP6=m | ||
281 | CONFIG_NET_CLS_FLOW=m | ||
282 | CONFIG_NET_CLS_CGROUP=y | ||
283 | CONFIG_NET_EMATCH=y | ||
284 | CONFIG_NET_EMATCH_CMP=m | ||
285 | CONFIG_NET_EMATCH_NBYTE=m | ||
286 | CONFIG_NET_EMATCH_U32=m | ||
287 | CONFIG_NET_EMATCH_META=m | ||
288 | CONFIG_NET_EMATCH_TEXT=m | ||
289 | CONFIG_NET_CLS_ACT=y | ||
290 | CONFIG_NET_ACT_POLICE=m | ||
291 | CONFIG_NET_ACT_GACT=m | ||
292 | CONFIG_GACT_PROB=y | ||
293 | CONFIG_NET_ACT_MIRRED=m | ||
294 | CONFIG_NET_ACT_IPT=m | ||
295 | CONFIG_NET_ACT_NAT=m | ||
296 | CONFIG_NET_ACT_PEDIT=m | ||
297 | CONFIG_NET_ACT_SIMP=m | ||
298 | CONFIG_NET_ACT_SKBEDIT=m | ||
299 | CONFIG_NET_CLS_IND=y | ||
300 | CONFIG_DCB=y | ||
342 | # CONFIG_WIRELESS is not set | 301 | # CONFIG_WIRELESS is not set |
343 | # CONFIG_WIMAX is not set | ||
344 | # CONFIG_RFKILL is not set | ||
345 | # CONFIG_NET_9P is not set | ||
346 | # CONFIG_CAIF is not set | ||
347 | # CONFIG_CEPH_LIB is not set | ||
348 | |||
349 | # | ||
350 | # Device Drivers | ||
351 | # | ||
352 | |||
353 | # | ||
354 | # Generic Driver Options | ||
355 | # | ||
356 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 302 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
357 | # CONFIG_DEVTMPFS is not set | 303 | CONFIG_DEVTMPFS=y |
358 | CONFIG_STANDALONE=y | 304 | CONFIG_DEVTMPFS_MOUNT=y |
359 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 305 | # CONFIG_FIRMWARE_IN_KERNEL is not set |
360 | CONFIG_FW_LOADER=y | 306 | CONFIG_CONNECTOR=y |
361 | CONFIG_FIRMWARE_IN_KERNEL=y | 307 | CONFIG_BLK_DEV_LOOP=y |
362 | CONFIG_EXTRA_FIRMWARE="" | 308 | CONFIG_BLK_DEV_CRYPTOLOOP=m |
363 | # CONFIG_DEBUG_DRIVER is not set | 309 | CONFIG_BLK_DEV_SX8=m |
364 | # CONFIG_DEBUG_DEVRES is not set | 310 | CONFIG_BLK_DEV_RAM=y |
365 | # CONFIG_SYS_HYPERVISOR is not set | 311 | CONFIG_BLK_DEV_RAM_SIZE=16384 |
366 | # CONFIG_CONNECTOR is not set | 312 | CONFIG_ATA_OVER_ETH=m |
367 | # CONFIG_MTD is not set | 313 | CONFIG_RAID_ATTRS=m |
368 | # CONFIG_PARPORT is not set | 314 | CONFIG_SCSI_TGT=m |
369 | CONFIG_BLK_DEV=y | ||
370 | # CONFIG_BLK_CPQ_DA is not set | ||
371 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
372 | # CONFIG_BLK_DEV_DAC960 is not set | ||
373 | # CONFIG_BLK_DEV_UMEM is not set | ||
374 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
375 | # CONFIG_BLK_DEV_LOOP is not set | ||
376 | |||
377 | # | ||
378 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
379 | # | ||
380 | # CONFIG_BLK_DEV_NBD is not set | ||
381 | # CONFIG_BLK_DEV_SX8 is not set | ||
382 | # CONFIG_BLK_DEV_RAM is not set | ||
383 | # CONFIG_CDROM_PKTCDVD is not set | ||
384 | # CONFIG_ATA_OVER_ETH is not set | ||
385 | # CONFIG_BLK_DEV_RBD is not set | ||
386 | # CONFIG_SENSORS_LIS3LV02D is not set | ||
387 | CONFIG_MISC_DEVICES=y | ||
388 | # CONFIG_PHANTOM is not set | ||
389 | # CONFIG_SGI_IOC4 is not set | ||
390 | # CONFIG_TIFM_CORE is not set | ||
391 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
392 | # CONFIG_HP_ILO is not set | ||
393 | # CONFIG_PCH_PHUB is not set | ||
394 | # CONFIG_C2PORT is not set | ||
395 | |||
396 | # | ||
397 | # EEPROM support | ||
398 | # | ||
399 | # CONFIG_EEPROM_93CX6 is not set | ||
400 | # CONFIG_CB710_CORE is not set | ||
401 | |||
402 | # | ||
403 | # Texas Instruments shared transport line discipline | ||
404 | # | ||
405 | |||
406 | # | ||
407 | # SCSI device support | ||
408 | # | ||
409 | CONFIG_SCSI_MOD=y | ||
410 | # CONFIG_RAID_ATTRS is not set | ||
411 | CONFIG_SCSI=y | ||
412 | CONFIG_SCSI_DMA=y | ||
413 | # CONFIG_SCSI_TGT is not set | ||
414 | # CONFIG_SCSI_NETLINK is not set | ||
415 | CONFIG_SCSI_PROC_FS=y | ||
416 | |||
417 | # | ||
418 | # SCSI support type (disk, tape, CD-ROM) | ||
419 | # | ||
420 | CONFIG_BLK_DEV_SD=y | 315 | CONFIG_BLK_DEV_SD=y |
421 | # CONFIG_CHR_DEV_ST is not set | ||
422 | # CONFIG_CHR_DEV_OSST is not set | ||
423 | # CONFIG_BLK_DEV_SR is not set | ||
424 | # CONFIG_CHR_DEV_SG is not set | ||
425 | # CONFIG_CHR_DEV_SCH is not set | ||
426 | # CONFIG_SCSI_MULTI_LUN is not set | ||
427 | CONFIG_SCSI_CONSTANTS=y | 316 | CONFIG_SCSI_CONSTANTS=y |
428 | CONFIG_SCSI_LOGGING=y | 317 | CONFIG_SCSI_LOGGING=y |
429 | # CONFIG_SCSI_SCAN_ASYNC is not set | 318 | CONFIG_ATA=y |
430 | CONFIG_SCSI_WAIT_SCAN=m | 319 | CONFIG_SATA_SIL24=y |
431 | 320 | # CONFIG_ATA_SFF is not set | |
432 | # | 321 | CONFIG_MD=y |
433 | # SCSI Transports | 322 | CONFIG_BLK_DEV_MD=y |
434 | # | 323 | CONFIG_MD_LINEAR=m |
435 | # CONFIG_SCSI_SPI_ATTRS is not set | 324 | CONFIG_MD_RAID0=m |
436 | # CONFIG_SCSI_FC_ATTRS is not set | 325 | CONFIG_MD_RAID1=m |
437 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 326 | CONFIG_MD_RAID10=m |
438 | # CONFIG_SCSI_SAS_ATTRS is not set | 327 | CONFIG_MD_RAID456=m |
439 | # CONFIG_SCSI_SAS_LIBSAS is not set | 328 | CONFIG_MULTICORE_RAID456=y |
440 | # CONFIG_SCSI_SRP_ATTRS is not set | 329 | CONFIG_MD_FAULTY=m |
441 | CONFIG_SCSI_LOWLEVEL=y | 330 | CONFIG_BLK_DEV_DM=m |
442 | # CONFIG_ISCSI_TCP is not set | 331 | CONFIG_DM_DEBUG=y |
443 | # CONFIG_ISCSI_BOOT_SYSFS is not set | 332 | CONFIG_DM_CRYPT=m |
444 | # CONFIG_SCSI_CXGB3_ISCSI is not set | 333 | CONFIG_DM_SNAPSHOT=m |
445 | # CONFIG_SCSI_CXGB4_ISCSI is not set | 334 | CONFIG_DM_MIRROR=m |
446 | # CONFIG_SCSI_BNX2_ISCSI is not set | 335 | CONFIG_DM_LOG_USERSPACE=m |
447 | # CONFIG_SCSI_BNX2X_FCOE is not set | 336 | CONFIG_DM_ZERO=m |
448 | # CONFIG_BE2ISCSI is not set | 337 | CONFIG_DM_MULTIPATH=m |
449 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 338 | CONFIG_DM_MULTIPATH_QL=m |
450 | # CONFIG_SCSI_HPSA is not set | 339 | CONFIG_DM_MULTIPATH_ST=m |
451 | # CONFIG_SCSI_3W_9XXX is not set | 340 | CONFIG_DM_DELAY=m |
452 | # CONFIG_SCSI_3W_SAS is not set | 341 | CONFIG_DM_UEVENT=y |
453 | # CONFIG_SCSI_ACARD is not set | 342 | CONFIG_FUSION=y |
454 | # CONFIG_SCSI_AACRAID is not set | 343 | CONFIG_FUSION_SAS=y |
455 | # CONFIG_SCSI_AIC7XXX is not set | ||
456 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
457 | # CONFIG_SCSI_AIC79XX is not set | ||
458 | # CONFIG_SCSI_AIC94XX is not set | ||
459 | # CONFIG_SCSI_MVSAS is not set | ||
460 | # CONFIG_SCSI_DPT_I2O is not set | ||
461 | # CONFIG_SCSI_ADVANSYS is not set | ||
462 | # CONFIG_SCSI_ARCMSR is not set | ||
463 | # CONFIG_MEGARAID_NEWGEN is not set | ||
464 | # CONFIG_MEGARAID_LEGACY is not set | ||
465 | # CONFIG_MEGARAID_SAS is not set | ||
466 | # CONFIG_SCSI_MPT2SAS is not set | ||
467 | # CONFIG_SCSI_HPTIOP is not set | ||
468 | # CONFIG_LIBFC is not set | ||
469 | # CONFIG_LIBFCOE is not set | ||
470 | # CONFIG_FCOE is not set | ||
471 | # CONFIG_SCSI_DMX3191D is not set | ||
472 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
473 | # CONFIG_SCSI_IPS is not set | ||
474 | # CONFIG_SCSI_INITIO is not set | ||
475 | # CONFIG_SCSI_INIA100 is not set | ||
476 | # CONFIG_SCSI_STEX is not set | ||
477 | # CONFIG_SCSI_SYM53C8XX_2 is not set | ||
478 | # CONFIG_SCSI_QLOGIC_1280 is not set | ||
479 | # CONFIG_SCSI_QLA_FC is not set | ||
480 | # CONFIG_SCSI_QLA_ISCSI is not set | ||
481 | # CONFIG_SCSI_LPFC is not set | ||
482 | # CONFIG_SCSI_DC395x is not set | ||
483 | # CONFIG_SCSI_DC390T is not set | ||
484 | # CONFIG_SCSI_NSP32 is not set | ||
485 | # CONFIG_SCSI_DEBUG is not set | ||
486 | # CONFIG_SCSI_PMCRAID is not set | ||
487 | # CONFIG_SCSI_PM8001 is not set | ||
488 | # CONFIG_SCSI_SRP is not set | ||
489 | # CONFIG_SCSI_BFA_FC is not set | ||
490 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set | ||
491 | # CONFIG_SCSI_DH is not set | ||
492 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
493 | # CONFIG_ATA is not set | ||
494 | # CONFIG_MD is not set | ||
495 | # CONFIG_TARGET_CORE is not set | ||
496 | # CONFIG_FUSION is not set | ||
497 | |||
498 | # | ||
499 | # IEEE 1394 (FireWire) support | ||
500 | # | ||
501 | # CONFIG_FIREWIRE is not set | ||
502 | # CONFIG_FIREWIRE_NOSY is not set | ||
503 | # CONFIG_I2O is not set | ||
504 | CONFIG_NETDEVICES=y | 344 | CONFIG_NETDEVICES=y |
505 | # CONFIG_DUMMY is not set | 345 | CONFIG_BONDING=m |
506 | # CONFIG_BONDING is not set | 346 | CONFIG_DUMMY=m |
507 | # CONFIG_MACVLAN is not set | 347 | CONFIG_IFB=m |
508 | # CONFIG_EQUALIZER is not set | 348 | CONFIG_MACVLAN=m |
349 | CONFIG_MACVTAP=m | ||
350 | CONFIG_NETCONSOLE=m | ||
351 | CONFIG_NETCONSOLE_DYNAMIC=y | ||
352 | CONFIG_NETPOLL_TRAP=y | ||
509 | CONFIG_TUN=y | 353 | CONFIG_TUN=y |
510 | # CONFIG_VETH is not set | 354 | CONFIG_VETH=m |
511 | # CONFIG_ARCNET is not set | 355 | CONFIG_NET_DSA_MV88E6060=y |
512 | # CONFIG_MII is not set | 356 | CONFIG_NET_DSA_MV88E6131=y |
513 | # CONFIG_PHYLIB is not set | 357 | CONFIG_NET_DSA_MV88E6123_61_65=y |
514 | # CONFIG_NET_ETHERNET is not set | 358 | # CONFIG_NET_VENDOR_3COM is not set |
515 | CONFIG_NETDEV_1000=y | 359 | # CONFIG_NET_VENDOR_ADAPTEC is not set |
516 | # CONFIG_ACENIC is not set | 360 | # CONFIG_NET_VENDOR_ALTEON is not set |
517 | # CONFIG_DL2K is not set | 361 | # CONFIG_NET_VENDOR_AMD is not set |
518 | # CONFIG_E1000 is not set | 362 | # CONFIG_NET_VENDOR_ATHEROS is not set |
519 | # CONFIG_E1000E is not set | 363 | # CONFIG_NET_VENDOR_BROADCOM is not set |
520 | # CONFIG_IP1000 is not set | 364 | # CONFIG_NET_VENDOR_BROCADE is not set |
521 | # CONFIG_IGB is not set | 365 | # CONFIG_NET_VENDOR_CHELSIO is not set |
522 | # CONFIG_IGBVF is not set | 366 | # CONFIG_NET_VENDOR_CISCO is not set |
523 | # CONFIG_NS83820 is not set | 367 | # CONFIG_NET_VENDOR_DEC is not set |
524 | # CONFIG_HAMACHI is not set | 368 | # CONFIG_NET_VENDOR_DLINK is not set |
525 | # CONFIG_YELLOWFIN is not set | 369 | # CONFIG_NET_VENDOR_EMULEX is not set |
526 | # CONFIG_R8169 is not set | 370 | # CONFIG_NET_VENDOR_EXAR is not set |
527 | # CONFIG_SIS190 is not set | 371 | # CONFIG_NET_VENDOR_HP is not set |
528 | # CONFIG_SKGE is not set | 372 | # CONFIG_NET_VENDOR_INTEL is not set |
529 | # CONFIG_SKY2 is not set | 373 | # CONFIG_NET_VENDOR_MARVELL is not set |
530 | # CONFIG_VIA_VELOCITY is not set | 374 | # CONFIG_NET_VENDOR_MELLANOX is not set |
531 | # CONFIG_TIGON3 is not set | 375 | # CONFIG_NET_VENDOR_MICREL is not set |
532 | # CONFIG_BNX2 is not set | 376 | # CONFIG_NET_VENDOR_MYRI is not set |
533 | # CONFIG_CNIC is not set | 377 | # CONFIG_NET_VENDOR_NATSEMI is not set |
534 | # CONFIG_QLA3XXX is not set | 378 | # CONFIG_NET_VENDOR_NVIDIA is not set |
535 | # CONFIG_ATL1 is not set | 379 | # CONFIG_NET_VENDOR_OKI is not set |
536 | # CONFIG_ATL1E is not set | 380 | # CONFIG_NET_PACKET_ENGINE is not set |
537 | # CONFIG_ATL1C is not set | 381 | # CONFIG_NET_VENDOR_QLOGIC is not set |
538 | # CONFIG_JME is not set | 382 | # CONFIG_NET_VENDOR_REALTEK is not set |
539 | # CONFIG_STMMAC_ETH is not set | 383 | # CONFIG_NET_VENDOR_RDC is not set |
540 | # CONFIG_PCH_GBE is not set | 384 | # CONFIG_NET_VENDOR_SEEQ is not set |
541 | # CONFIG_NETDEV_10000 is not set | 385 | # CONFIG_NET_VENDOR_SILAN is not set |
542 | # CONFIG_TR is not set | 386 | # CONFIG_NET_VENDOR_SIS is not set |
387 | # CONFIG_NET_VENDOR_SMSC is not set | ||
388 | # CONFIG_NET_VENDOR_STMICRO is not set | ||
389 | # CONFIG_NET_VENDOR_SUN is not set | ||
390 | # CONFIG_NET_VENDOR_TEHUTI is not set | ||
391 | # CONFIG_NET_VENDOR_TI is not set | ||
392 | # CONFIG_NET_VENDOR_VIA is not set | ||
543 | # CONFIG_WLAN is not set | 393 | # CONFIG_WLAN is not set |
544 | |||
545 | # | ||
546 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
547 | # | ||
548 | # CONFIG_WAN is not set | ||
549 | |||
550 | # | ||
551 | # CAIF transport drivers | ||
552 | # | ||
553 | CONFIG_TILE_NET=y | ||
554 | # CONFIG_FDDI is not set | ||
555 | # CONFIG_HIPPI is not set | ||
556 | # CONFIG_PPP is not set | ||
557 | # CONFIG_SLIP is not set | ||
558 | # CONFIG_NET_FC is not set | ||
559 | # CONFIG_NETCONSOLE is not set | ||
560 | # CONFIG_NETPOLL is not set | ||
561 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
562 | # CONFIG_VMXNET3 is not set | ||
563 | # CONFIG_ISDN is not set | ||
564 | # CONFIG_PHONE is not set | ||
565 | |||
566 | # | ||
567 | # Input device support | ||
568 | # | ||
569 | CONFIG_INPUT=y | ||
570 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
571 | # CONFIG_INPUT_POLLDEV is not set | ||
572 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
573 | |||
574 | # | ||
575 | # Userland interfaces | ||
576 | # | ||
577 | # CONFIG_INPUT_MOUSEDEV is not set | 394 | # CONFIG_INPUT_MOUSEDEV is not set |
578 | # CONFIG_INPUT_JOYDEV is not set | ||
579 | # CONFIG_INPUT_EVDEV is not set | ||
580 | # CONFIG_INPUT_EVBUG is not set | ||
581 | |||
582 | # | ||
583 | # Input Device Drivers | ||
584 | # | ||
585 | # CONFIG_INPUT_KEYBOARD is not set | 395 | # CONFIG_INPUT_KEYBOARD is not set |
586 | # CONFIG_INPUT_MOUSE is not set | 396 | # CONFIG_INPUT_MOUSE is not set |
587 | # CONFIG_INPUT_JOYSTICK is not set | ||
588 | # CONFIG_INPUT_TABLET is not set | ||
589 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
590 | # CONFIG_INPUT_MISC is not set | ||
591 | |||
592 | # | ||
593 | # Hardware I/O ports | ||
594 | # | ||
595 | # CONFIG_SERIO is not set | 397 | # CONFIG_SERIO is not set |
596 | # CONFIG_GAMEPORT is not set | ||
597 | |||
598 | # | ||
599 | # Character devices | ||
600 | # | ||
601 | # CONFIG_VT is not set | 398 | # CONFIG_VT is not set |
602 | CONFIG_UNIX98_PTYS=y | ||
603 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
604 | # CONFIG_LEGACY_PTYS is not set | 399 | # CONFIG_LEGACY_PTYS is not set |
605 | # CONFIG_SERIAL_NONSTANDARD is not set | 400 | CONFIG_HW_RANDOM=y |
606 | # CONFIG_NOZOMI is not set | 401 | CONFIG_HW_RANDOM_TIMERIOMEM=m |
607 | # CONFIG_N_GSM is not set | 402 | CONFIG_I2C=y |
608 | CONFIG_DEVKMEM=y | 403 | CONFIG_I2C_CHARDEV=y |
609 | 404 | # CONFIG_HWMON is not set | |
610 | # | ||
611 | # Serial drivers | ||
612 | # | ||
613 | # CONFIG_SERIAL_8250 is not set | ||
614 | |||
615 | # | ||
616 | # Non-8250 serial port support | ||
617 | # | ||
618 | # CONFIG_SERIAL_MFD_HSU is not set | ||
619 | # CONFIG_SERIAL_JSM is not set | ||
620 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
621 | # CONFIG_SERIAL_ALTERA_JTAGUART is not set | ||
622 | # CONFIG_SERIAL_ALTERA_UART is not set | ||
623 | # CONFIG_SERIAL_PCH_UART is not set | ||
624 | # CONFIG_TTY_PRINTK is not set | ||
625 | CONFIG_HVC_DRIVER=y | ||
626 | # CONFIG_IPMI_HANDLER is not set | ||
627 | # CONFIG_HW_RANDOM is not set | ||
628 | # CONFIG_R3964 is not set | ||
629 | # CONFIG_APPLICOM is not set | ||
630 | |||
631 | # | ||
632 | # PCMCIA character devices | ||
633 | # | ||
634 | # CONFIG_RAW_DRIVER is not set | ||
635 | # CONFIG_TCG_TPM is not set | ||
636 | CONFIG_DEVPORT=y | ||
637 | # CONFIG_RAMOOPS is not set | ||
638 | # CONFIG_I2C is not set | ||
639 | # CONFIG_SPI is not set | ||
640 | |||
641 | # | ||
642 | # PPS support | ||
643 | # | ||
644 | # CONFIG_PPS is not set | ||
645 | |||
646 | # | ||
647 | # PPS generators support | ||
648 | # | ||
649 | # CONFIG_W1 is not set | ||
650 | # CONFIG_POWER_SUPPLY is not set | ||
651 | CONFIG_HWMON=y | ||
652 | # CONFIG_HWMON_VID is not set | ||
653 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
654 | |||
655 | # | ||
656 | # Native drivers | ||
657 | # | ||
658 | # CONFIG_SENSORS_I5K_AMB is not set | ||
659 | # CONFIG_SENSORS_F71805F is not set | ||
660 | # CONFIG_SENSORS_F71882FG is not set | ||
661 | # CONFIG_SENSORS_IT87 is not set | ||
662 | # CONFIG_SENSORS_PC87360 is not set | ||
663 | # CONFIG_SENSORS_PC87427 is not set | ||
664 | # CONFIG_SENSORS_SIS5595 is not set | ||
665 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
666 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
667 | # CONFIG_SENSORS_SCH5627 is not set | ||
668 | # CONFIG_SENSORS_VIA686A is not set | ||
669 | # CONFIG_SENSORS_VT1211 is not set | ||
670 | # CONFIG_SENSORS_VT8231 is not set | ||
671 | # CONFIG_SENSORS_W83627HF is not set | ||
672 | # CONFIG_SENSORS_W83627EHF is not set | ||
673 | # CONFIG_THERMAL is not set | ||
674 | CONFIG_WATCHDOG=y | 405 | CONFIG_WATCHDOG=y |
675 | CONFIG_WATCHDOG_NOWAYOUT=y | 406 | CONFIG_WATCHDOG_NOWAYOUT=y |
676 | 407 | # CONFIG_VGA_ARB is not set | |
677 | # | ||
678 | # Watchdog Device Drivers | ||
679 | # | ||
680 | # CONFIG_SOFT_WATCHDOG is not set | ||
681 | # CONFIG_ALIM7101_WDT is not set | ||
682 | |||
683 | # | ||
684 | # PCI-based Watchdog Cards | ||
685 | # | ||
686 | # CONFIG_PCIPCWATCHDOG is not set | ||
687 | # CONFIG_WDTPCI is not set | ||
688 | CONFIG_SSB_POSSIBLE=y | ||
689 | |||
690 | # | ||
691 | # Sonics Silicon Backplane | ||
692 | # | ||
693 | # CONFIG_SSB is not set | ||
694 | CONFIG_MFD_SUPPORT=y | ||
695 | # CONFIG_MFD_CORE is not set | ||
696 | # CONFIG_MFD_SM501 is not set | ||
697 | # CONFIG_HTC_PASIC3 is not set | ||
698 | # CONFIG_MFD_TMIO is not set | ||
699 | # CONFIG_ABX500_CORE is not set | ||
700 | # CONFIG_LPC_SCH is not set | ||
701 | # CONFIG_MFD_RDC321X is not set | ||
702 | # CONFIG_MFD_JANZ_CMODIO is not set | ||
703 | # CONFIG_MFD_VX855 is not set | ||
704 | # CONFIG_REGULATOR is not set | ||
705 | # CONFIG_MEDIA_SUPPORT is not set | ||
706 | |||
707 | # | ||
708 | # Graphics support | ||
709 | # | ||
710 | CONFIG_VGA_ARB=y | ||
711 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
712 | # CONFIG_DRM is not set | ||
713 | # CONFIG_STUB_POULSBO is not set | ||
714 | # CONFIG_VGASTATE is not set | ||
715 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
716 | # CONFIG_FB is not set | ||
717 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
718 | |||
719 | # | ||
720 | # Display device support | ||
721 | # | ||
722 | # CONFIG_DISPLAY_SUPPORT is not set | ||
723 | # CONFIG_SOUND is not set | ||
724 | # CONFIG_HID_SUPPORT is not set | 408 | # CONFIG_HID_SUPPORT is not set |
725 | CONFIG_USB_SUPPORT=y | 409 | # CONFIG_USB_SUPPORT is not set |
726 | CONFIG_USB_ARCH_HAS_HCD=y | ||
727 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
728 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
729 | # CONFIG_USB is not set | ||
730 | # CONFIG_USB_OTG_WHITELIST is not set | ||
731 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
732 | |||
733 | # | ||
734 | # Enable Host or Gadget support to see Inventra options | ||
735 | # | ||
736 | |||
737 | # | ||
738 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may | ||
739 | # | ||
740 | # CONFIG_USB_GADGET is not set | ||
741 | |||
742 | # | ||
743 | # OTG and related infrastructure | ||
744 | # | ||
745 | # CONFIG_UWB is not set | ||
746 | # CONFIG_MMC is not set | ||
747 | # CONFIG_MEMSTICK is not set | ||
748 | # CONFIG_NEW_LEDS is not set | ||
749 | # CONFIG_NFC_DEVICES is not set | ||
750 | # CONFIG_ACCESSIBILITY is not set | ||
751 | # CONFIG_INFINIBAND is not set | ||
752 | CONFIG_EDAC=y | 410 | CONFIG_EDAC=y |
753 | |||
754 | # | ||
755 | # Reporting subsystems | ||
756 | # | ||
757 | # CONFIG_EDAC_DEBUG is not set | ||
758 | CONFIG_EDAC_MM_EDAC=y | 411 | CONFIG_EDAC_MM_EDAC=y |
759 | CONFIG_EDAC_TILE=y | ||
760 | CONFIG_RTC_LIB=y | ||
761 | CONFIG_RTC_CLASS=y | 412 | CONFIG_RTC_CLASS=y |
762 | CONFIG_RTC_HCTOSYS=y | ||
763 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
764 | # CONFIG_RTC_DEBUG is not set | ||
765 | |||
766 | # | ||
767 | # RTC interfaces | ||
768 | # | ||
769 | # CONFIG_RTC_INTF_SYSFS is not set | ||
770 | # CONFIG_RTC_INTF_PROC is not set | ||
771 | CONFIG_RTC_INTF_DEV=y | ||
772 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
773 | # CONFIG_RTC_DRV_TEST is not set | ||
774 | |||
775 | # | ||
776 | # SPI RTC drivers | ||
777 | # | ||
778 | |||
779 | # | ||
780 | # Platform RTC drivers | ||
781 | # | ||
782 | # CONFIG_RTC_DRV_DS1286 is not set | ||
783 | # CONFIG_RTC_DRV_DS1511 is not set | ||
784 | # CONFIG_RTC_DRV_DS1553 is not set | ||
785 | # CONFIG_RTC_DRV_DS1742 is not set | ||
786 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
787 | # CONFIG_RTC_DRV_M48T86 is not set | ||
788 | # CONFIG_RTC_DRV_M48T35 is not set | ||
789 | # CONFIG_RTC_DRV_M48T59 is not set | ||
790 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
791 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
792 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
793 | # CONFIG_RTC_DRV_V3020 is not set | ||
794 | |||
795 | # | ||
796 | # on-CPU RTC drivers | ||
797 | # | ||
798 | CONFIG_RTC_DRV_TILE=y | 413 | CONFIG_RTC_DRV_TILE=y |
799 | # CONFIG_DMADEVICES is not set | ||
800 | # CONFIG_AUXDISPLAY is not set | ||
801 | # CONFIG_UIO is not set | ||
802 | # CONFIG_STAGING is not set | ||
803 | |||
804 | # | ||
805 | # File systems | ||
806 | # | ||
807 | CONFIG_EXT2_FS=y | 414 | CONFIG_EXT2_FS=y |
808 | # CONFIG_EXT2_FS_XATTR is not set | 415 | CONFIG_EXT2_FS_XATTR=y |
809 | # CONFIG_EXT2_FS_XIP is not set | 416 | CONFIG_EXT2_FS_POSIX_ACL=y |
417 | CONFIG_EXT2_FS_SECURITY=y | ||
418 | CONFIG_EXT2_FS_XIP=y | ||
810 | CONFIG_EXT3_FS=y | 419 | CONFIG_EXT3_FS=y |
811 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | 420 | CONFIG_EXT3_FS_POSIX_ACL=y |
812 | CONFIG_EXT3_FS_XATTR=y | 421 | CONFIG_EXT3_FS_SECURITY=y |
813 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 422 | CONFIG_EXT4_FS=y |
814 | # CONFIG_EXT3_FS_SECURITY is not set | 423 | CONFIG_EXT4_FS_POSIX_ACL=y |
815 | # CONFIG_EXT4_FS is not set | 424 | CONFIG_EXT4_FS_SECURITY=y |
816 | CONFIG_JBD=y | 425 | CONFIG_XFS_FS=y |
817 | CONFIG_FS_MBCACHE=y | 426 | CONFIG_XFS_QUOTA=y |
818 | # CONFIG_REISERFS_FS is not set | 427 | CONFIG_XFS_POSIX_ACL=y |
819 | # CONFIG_JFS_FS is not set | 428 | CONFIG_GFS2_FS=m |
820 | # CONFIG_XFS_FS is not set | 429 | CONFIG_GFS2_FS_LOCKING_DLM=y |
821 | # CONFIG_GFS2_FS is not set | 430 | CONFIG_BTRFS_FS=m |
822 | # CONFIG_BTRFS_FS is not set | 431 | CONFIG_BTRFS_FS_POSIX_ACL=y |
823 | # CONFIG_NILFS2_FS is not set | 432 | CONFIG_QUOTA=y |
824 | # CONFIG_FS_POSIX_ACL is not set | 433 | CONFIG_QUOTA_NETLINK_INTERFACE=y |
825 | CONFIG_EXPORTFS=y | 434 | # CONFIG_PRINT_QUOTA_WARNING is not set |
826 | CONFIG_FILE_LOCKING=y | 435 | CONFIG_QFMT_V2=y |
827 | CONFIG_FSNOTIFY=y | 436 | CONFIG_AUTOFS4_FS=m |
828 | CONFIG_DNOTIFY=y | ||
829 | CONFIG_INOTIFY_USER=y | ||
830 | # CONFIG_FANOTIFY is not set | ||
831 | # CONFIG_QUOTA is not set | ||
832 | # CONFIG_QUOTACTL is not set | ||
833 | # CONFIG_AUTOFS4_FS is not set | ||
834 | CONFIG_FUSE_FS=y | 437 | CONFIG_FUSE_FS=y |
835 | # CONFIG_CUSE is not set | 438 | CONFIG_CUSE=m |
836 | 439 | CONFIG_FSCACHE=m | |
837 | # | 440 | CONFIG_FSCACHE_STATS=y |
838 | # Caches | 441 | CONFIG_CACHEFILES=m |
839 | # | 442 | CONFIG_ISO9660_FS=m |
840 | # CONFIG_FSCACHE is not set | 443 | CONFIG_JOLIET=y |
841 | 444 | CONFIG_ZISOFS=y | |
842 | # | 445 | CONFIG_UDF_FS=m |
843 | # CD-ROM/DVD Filesystems | 446 | CONFIG_MSDOS_FS=m |
844 | # | ||
845 | # CONFIG_ISO9660_FS is not set | ||
846 | # CONFIG_UDF_FS is not set | ||
847 | |||
848 | # | ||
849 | # DOS/FAT/NT Filesystems | ||
850 | # | ||
851 | CONFIG_FAT_FS=y | ||
852 | CONFIG_MSDOS_FS=y | ||
853 | CONFIG_VFAT_FS=m | 447 | CONFIG_VFAT_FS=m |
854 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | 448 | CONFIG_FAT_DEFAULT_IOCHARSET="ascii" |
855 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | 449 | CONFIG_PROC_KCORE=y |
856 | # CONFIG_NTFS_FS is not set | ||
857 | |||
858 | # | ||
859 | # Pseudo filesystems | ||
860 | # | ||
861 | CONFIG_PROC_FS=y | ||
862 | # CONFIG_PROC_KCORE is not set | ||
863 | CONFIG_PROC_SYSCTL=y | ||
864 | CONFIG_PROC_PAGE_MONITOR=y | ||
865 | CONFIG_SYSFS=y | ||
866 | CONFIG_TMPFS=y | 450 | CONFIG_TMPFS=y |
867 | # CONFIG_TMPFS_POSIX_ACL is not set | 451 | CONFIG_TMPFS_POSIX_ACL=y |
868 | CONFIG_HUGETLBFS=y | 452 | CONFIG_HUGETLBFS=y |
869 | CONFIG_HUGETLB_PAGE=y | 453 | CONFIG_ECRYPT_FS=m |
870 | # CONFIG_CONFIGFS_FS is not set | 454 | CONFIG_CRAMFS=m |
871 | CONFIG_MISC_FILESYSTEMS=y | 455 | CONFIG_SQUASHFS=m |
872 | # CONFIG_ADFS_FS is not set | ||
873 | # CONFIG_AFFS_FS is not set | ||
874 | # CONFIG_HFS_FS is not set | ||
875 | # CONFIG_HFSPLUS_FS is not set | ||
876 | # CONFIG_BEFS_FS is not set | ||
877 | # CONFIG_BFS_FS is not set | ||
878 | # CONFIG_EFS_FS is not set | ||
879 | # CONFIG_LOGFS is not set | ||
880 | # CONFIG_CRAMFS is not set | ||
881 | # CONFIG_SQUASHFS is not set | ||
882 | # CONFIG_VXFS_FS is not set | ||
883 | # CONFIG_MINIX_FS is not set | ||
884 | # CONFIG_OMFS_FS is not set | ||
885 | # CONFIG_HPFS_FS is not set | ||
886 | # CONFIG_QNX4FS_FS is not set | ||
887 | # CONFIG_ROMFS_FS is not set | ||
888 | # CONFIG_PSTORE is not set | ||
889 | # CONFIG_SYSV_FS is not set | ||
890 | # CONFIG_UFS_FS is not set | ||
891 | CONFIG_NETWORK_FILESYSTEMS=y | ||
892 | CONFIG_NFS_FS=m | 456 | CONFIG_NFS_FS=m |
893 | CONFIG_NFS_V3=y | 457 | CONFIG_NFS_V3=y |
894 | # CONFIG_NFS_V3_ACL is not set | 458 | CONFIG_NFS_V3_ACL=y |
895 | # CONFIG_NFS_V4 is not set | 459 | CONFIG_NFS_V4=y |
896 | # CONFIG_NFSD is not set | 460 | CONFIG_NFS_V4_1=y |
897 | CONFIG_LOCKD=m | 461 | CONFIG_NFS_FSCACHE=y |
898 | CONFIG_LOCKD_V4=y | 462 | CONFIG_NFSD=m |
899 | CONFIG_NFS_COMMON=y | 463 | CONFIG_NFSD_V3_ACL=y |
900 | CONFIG_SUNRPC=m | 464 | CONFIG_NFSD_V4=y |
901 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 465 | CONFIG_CIFS=m |
902 | # CONFIG_CEPH_FS is not set | 466 | CONFIG_CIFS_STATS=y |
903 | # CONFIG_CIFS is not set | 467 | CONFIG_CIFS_WEAK_PW_HASH=y |
904 | # CONFIG_NCP_FS is not set | 468 | CONFIG_CIFS_UPCALL=y |
905 | # CONFIG_CODA_FS is not set | 469 | CONFIG_CIFS_XATTR=y |
906 | # CONFIG_AFS_FS is not set | 470 | CONFIG_CIFS_POSIX=y |
907 | 471 | CONFIG_CIFS_DFS_UPCALL=y | |
908 | # | 472 | CONFIG_CIFS_FSCACHE=y |
909 | # Partition Types | ||
910 | # | ||
911 | # CONFIG_PARTITION_ADVANCED is not set | ||
912 | CONFIG_MSDOS_PARTITION=y | ||
913 | CONFIG_NLS=y | 473 | CONFIG_NLS=y |
914 | CONFIG_NLS_DEFAULT="iso8859-1" | 474 | CONFIG_NLS_DEFAULT="utf8" |
915 | CONFIG_NLS_CODEPAGE_437=y | 475 | CONFIG_NLS_CODEPAGE_437=y |
916 | # CONFIG_NLS_CODEPAGE_737 is not set | 476 | CONFIG_NLS_CODEPAGE_737=m |
917 | # CONFIG_NLS_CODEPAGE_775 is not set | 477 | CONFIG_NLS_CODEPAGE_775=m |
918 | # CONFIG_NLS_CODEPAGE_850 is not set | 478 | CONFIG_NLS_CODEPAGE_850=m |
919 | # CONFIG_NLS_CODEPAGE_852 is not set | 479 | CONFIG_NLS_CODEPAGE_852=m |
920 | # CONFIG_NLS_CODEPAGE_855 is not set | 480 | CONFIG_NLS_CODEPAGE_855=m |
921 | # CONFIG_NLS_CODEPAGE_857 is not set | 481 | CONFIG_NLS_CODEPAGE_857=m |
922 | # CONFIG_NLS_CODEPAGE_860 is not set | 482 | CONFIG_NLS_CODEPAGE_860=m |
923 | # CONFIG_NLS_CODEPAGE_861 is not set | 483 | CONFIG_NLS_CODEPAGE_861=m |
924 | # CONFIG_NLS_CODEPAGE_862 is not set | 484 | CONFIG_NLS_CODEPAGE_862=m |
925 | # CONFIG_NLS_CODEPAGE_863 is not set | 485 | CONFIG_NLS_CODEPAGE_863=m |
926 | # CONFIG_NLS_CODEPAGE_864 is not set | 486 | CONFIG_NLS_CODEPAGE_864=m |
927 | # CONFIG_NLS_CODEPAGE_865 is not set | 487 | CONFIG_NLS_CODEPAGE_865=m |
928 | # CONFIG_NLS_CODEPAGE_866 is not set | 488 | CONFIG_NLS_CODEPAGE_866=m |
929 | # CONFIG_NLS_CODEPAGE_869 is not set | 489 | CONFIG_NLS_CODEPAGE_869=m |
930 | # CONFIG_NLS_CODEPAGE_936 is not set | 490 | CONFIG_NLS_CODEPAGE_936=m |
931 | # CONFIG_NLS_CODEPAGE_950 is not set | 491 | CONFIG_NLS_CODEPAGE_950=m |
932 | # CONFIG_NLS_CODEPAGE_932 is not set | 492 | CONFIG_NLS_CODEPAGE_932=m |
933 | # CONFIG_NLS_CODEPAGE_949 is not set | 493 | CONFIG_NLS_CODEPAGE_949=m |
934 | # CONFIG_NLS_CODEPAGE_874 is not set | 494 | CONFIG_NLS_CODEPAGE_874=m |
935 | # CONFIG_NLS_ISO8859_8 is not set | 495 | CONFIG_NLS_ISO8859_8=m |
936 | # CONFIG_NLS_CODEPAGE_1250 is not set | 496 | CONFIG_NLS_CODEPAGE_1250=m |
937 | # CONFIG_NLS_CODEPAGE_1251 is not set | 497 | CONFIG_NLS_CODEPAGE_1251=m |
938 | # CONFIG_NLS_ASCII is not set | 498 | CONFIG_NLS_ASCII=y |
939 | CONFIG_NLS_ISO8859_1=y | 499 | CONFIG_NLS_ISO8859_1=m |
940 | # CONFIG_NLS_ISO8859_2 is not set | 500 | CONFIG_NLS_ISO8859_2=m |
941 | # CONFIG_NLS_ISO8859_3 is not set | 501 | CONFIG_NLS_ISO8859_3=m |
942 | # CONFIG_NLS_ISO8859_4 is not set | 502 | CONFIG_NLS_ISO8859_4=m |
943 | # CONFIG_NLS_ISO8859_5 is not set | 503 | CONFIG_NLS_ISO8859_5=m |
944 | # CONFIG_NLS_ISO8859_6 is not set | 504 | CONFIG_NLS_ISO8859_6=m |
945 | # CONFIG_NLS_ISO8859_7 is not set | 505 | CONFIG_NLS_ISO8859_7=m |
946 | # CONFIG_NLS_ISO8859_9 is not set | 506 | CONFIG_NLS_ISO8859_9=m |
947 | # CONFIG_NLS_ISO8859_13 is not set | 507 | CONFIG_NLS_ISO8859_13=m |
948 | # CONFIG_NLS_ISO8859_14 is not set | 508 | CONFIG_NLS_ISO8859_14=m |
949 | # CONFIG_NLS_ISO8859_15 is not set | 509 | CONFIG_NLS_ISO8859_15=m |
950 | # CONFIG_NLS_KOI8_R is not set | 510 | CONFIG_NLS_KOI8_R=m |
951 | # CONFIG_NLS_KOI8_U is not set | 511 | CONFIG_NLS_KOI8_U=m |
952 | # CONFIG_NLS_UTF8 is not set | 512 | CONFIG_NLS_UTF8=m |
953 | 513 | CONFIG_DLM_DEBUG=y | |
954 | # | 514 | # CONFIG_ENABLE_WARN_DEPRECATED is not set |
955 | # Kernel hacking | ||
956 | # | ||
957 | # CONFIG_PRINTK_TIME is not set | ||
958 | CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 | ||
959 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
960 | CONFIG_ENABLE_MUST_CHECK=y | ||
961 | CONFIG_FRAME_WARN=2048 | 515 | CONFIG_FRAME_WARN=2048 |
962 | CONFIG_MAGIC_SYSRQ=y | 516 | CONFIG_MAGIC_SYSRQ=y |
963 | # CONFIG_STRIP_ASM_SYMS is not set | 517 | CONFIG_STRIP_ASM_SYMS=y |
964 | # CONFIG_UNUSED_SYMBOLS is not set | 518 | CONFIG_DEBUG_FS=y |
965 | # CONFIG_DEBUG_FS is not set | 519 | CONFIG_HEADERS_CHECK=y |
966 | # CONFIG_HEADERS_CHECK is not set | 520 | CONFIG_LOCKUP_DETECTOR=y |
967 | # CONFIG_DEBUG_SECTION_MISMATCH is not set | 521 | CONFIG_SCHEDSTATS=y |
968 | CONFIG_DEBUG_KERNEL=y | 522 | CONFIG_TIMER_STATS=y |
969 | # CONFIG_DEBUG_SHIRQ is not set | ||
970 | # CONFIG_LOCKUP_DETECTOR is not set | ||
971 | # CONFIG_HARDLOCKUP_DETECTOR is not set | ||
972 | CONFIG_DETECT_HUNG_TASK=y | ||
973 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
974 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
975 | CONFIG_SCHED_DEBUG=y | ||
976 | # CONFIG_SCHEDSTATS is not set | ||
977 | # CONFIG_TIMER_STATS is not set | ||
978 | # CONFIG_DEBUG_OBJECTS is not set | ||
979 | # CONFIG_SLUB_DEBUG_ON is not set | ||
980 | # CONFIG_SLUB_STATS is not set | ||
981 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
982 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
983 | # CONFIG_RT_MUTEX_TESTER is not set | ||
984 | # CONFIG_DEBUG_SPINLOCK is not set | ||
985 | # CONFIG_DEBUG_MUTEXES is not set | ||
986 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
987 | # CONFIG_PROVE_LOCKING is not set | ||
988 | # CONFIG_SPARSE_RCU_POINTER is not set | ||
989 | # CONFIG_LOCK_STAT is not set | ||
990 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | ||
991 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
992 | CONFIG_STACKTRACE=y | ||
993 | # CONFIG_DEBUG_KOBJECT is not set | ||
994 | # CONFIG_DEBUG_HIGHMEM is not set | ||
995 | CONFIG_DEBUG_INFO=y | 523 | CONFIG_DEBUG_INFO=y |
996 | # CONFIG_DEBUG_INFO_REDUCED is not set | 524 | CONFIG_DEBUG_INFO_REDUCED=y |
997 | CONFIG_DEBUG_VM=y | 525 | CONFIG_DEBUG_VM=y |
998 | # CONFIG_DEBUG_WRITECOUNT is not set | 526 | CONFIG_DEBUG_MEMORY_INIT=y |
999 | # CONFIG_DEBUG_MEMORY_INIT is not set | 527 | CONFIG_DEBUG_LIST=y |
1000 | # CONFIG_DEBUG_LIST is not set | 528 | CONFIG_DEBUG_CREDENTIALS=y |
1001 | # CONFIG_TEST_LIST_SORT is not set | 529 | CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y |
1002 | # CONFIG_DEBUG_SG is not set | 530 | CONFIG_DYNAMIC_DEBUG=y |
1003 | # CONFIG_DEBUG_NOTIFIERS is not set | 531 | CONFIG_ASYNC_RAID6_TEST=m |
1004 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1005 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1006 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1007 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1008 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1009 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1010 | # CONFIG_FAULT_INJECTION is not set | ||
1011 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1012 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1013 | CONFIG_TRACING_SUPPORT=y | ||
1014 | CONFIG_FTRACE=y | ||
1015 | # CONFIG_IRQSOFF_TRACER is not set | ||
1016 | # CONFIG_SCHED_TRACER is not set | ||
1017 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1018 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1019 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1020 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1021 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1022 | # CONFIG_ATOMIC64_SELFTEST is not set | ||
1023 | # CONFIG_SAMPLES is not set | ||
1024 | # CONFIG_TEST_KSTRTOX is not set | ||
1025 | CONFIG_EARLY_PRINTK=y | ||
1026 | CONFIG_DEBUG_STACKOVERFLOW=y | 532 | CONFIG_DEBUG_STACKOVERFLOW=y |
1027 | # CONFIG_DEBUG_STACK_USAGE is not set | 533 | CONFIG_KEYS_DEBUG_PROC_KEYS=y |
1028 | CONFIG_DEBUG_EXTRA_FLAGS="-femit-struct-debug-baseonly" | 534 | CONFIG_SECURITY=y |
1029 | 535 | CONFIG_SECURITYFS=y | |
1030 | # | 536 | CONFIG_SECURITY_NETWORK=y |
1031 | # Security options | 537 | CONFIG_SECURITY_NETWORK_XFRM=y |
1032 | # | 538 | CONFIG_SECURITY_SELINUX=y |
1033 | # CONFIG_KEYS is not set | 539 | CONFIG_SECURITY_SELINUX_BOOTPARAM=y |
1034 | # CONFIG_SECURITY_DMESG_RESTRICT is not set | 540 | CONFIG_SECURITY_SELINUX_DISABLE=y |
1035 | # CONFIG_SECURITY is not set | 541 | CONFIG_CRYPTO_NULL=m |
1036 | # CONFIG_SECURITYFS is not set | 542 | CONFIG_CRYPTO_PCRYPT=m |
1037 | CONFIG_DEFAULT_SECURITY_DAC=y | 543 | CONFIG_CRYPTO_CRYPTD=m |
1038 | CONFIG_DEFAULT_SECURITY="" | 544 | CONFIG_CRYPTO_TEST=m |
1039 | CONFIG_CRYPTO=y | 545 | CONFIG_CRYPTO_CCM=m |
1040 | 546 | CONFIG_CRYPTO_GCM=m | |
1041 | # | 547 | CONFIG_CRYPTO_CTS=m |
1042 | # Crypto core or helper | 548 | CONFIG_CRYPTO_LRW=m |
1043 | # | 549 | CONFIG_CRYPTO_PCBC=m |
1044 | # CONFIG_CRYPTO_FIPS is not set | 550 | CONFIG_CRYPTO_XTS=m |
1045 | CONFIG_CRYPTO_ALGAPI=m | 551 | CONFIG_CRYPTO_HMAC=y |
1046 | CONFIG_CRYPTO_ALGAPI2=m | 552 | CONFIG_CRYPTO_XCBC=m |
1047 | CONFIG_CRYPTO_RNG=m | 553 | CONFIG_CRYPTO_VMAC=m |
1048 | CONFIG_CRYPTO_RNG2=m | 554 | CONFIG_CRYPTO_CRC32C=y |
1049 | # CONFIG_CRYPTO_MANAGER is not set | 555 | CONFIG_CRYPTO_MICHAEL_MIC=m |
1050 | # CONFIG_CRYPTO_MANAGER2 is not set | 556 | CONFIG_CRYPTO_RMD128=m |
1051 | # CONFIG_CRYPTO_GF128MUL is not set | 557 | CONFIG_CRYPTO_RMD160=m |
1052 | # CONFIG_CRYPTO_NULL is not set | 558 | CONFIG_CRYPTO_RMD256=m |
1053 | # CONFIG_CRYPTO_PCRYPT is not set | 559 | CONFIG_CRYPTO_RMD320=m |
1054 | # CONFIG_CRYPTO_CRYPTD is not set | 560 | CONFIG_CRYPTO_SHA1=y |
1055 | # CONFIG_CRYPTO_AUTHENC is not set | 561 | CONFIG_CRYPTO_SHA256=m |
1056 | # CONFIG_CRYPTO_TEST is not set | 562 | CONFIG_CRYPTO_SHA512=m |
1057 | 563 | CONFIG_CRYPTO_TGR192=m | |
1058 | # | 564 | CONFIG_CRYPTO_WP512=m |
1059 | # Authenticated Encryption with Associated Data | 565 | CONFIG_CRYPTO_ANUBIS=m |
1060 | # | 566 | CONFIG_CRYPTO_BLOWFISH=m |
1061 | # CONFIG_CRYPTO_CCM is not set | 567 | CONFIG_CRYPTO_CAMELLIA=m |
1062 | # CONFIG_CRYPTO_GCM is not set | 568 | CONFIG_CRYPTO_CAST5=m |
1063 | # CONFIG_CRYPTO_SEQIV is not set | 569 | CONFIG_CRYPTO_CAST6=m |
1064 | 570 | CONFIG_CRYPTO_FCRYPT=m | |
1065 | # | 571 | CONFIG_CRYPTO_KHAZAD=m |
1066 | # Block modes | 572 | CONFIG_CRYPTO_SEED=m |
1067 | # | 573 | CONFIG_CRYPTO_SERPENT=m |
1068 | # CONFIG_CRYPTO_CBC is not set | 574 | CONFIG_CRYPTO_TEA=m |
1069 | # CONFIG_CRYPTO_CTR is not set | 575 | CONFIG_CRYPTO_TWOFISH=m |
1070 | # CONFIG_CRYPTO_CTS is not set | 576 | CONFIG_CRYPTO_ZLIB=m |
1071 | # CONFIG_CRYPTO_ECB is not set | 577 | CONFIG_CRYPTO_LZO=m |
1072 | # CONFIG_CRYPTO_LRW is not set | 578 | CONFIG_CRC_CCITT=m |
1073 | # CONFIG_CRYPTO_PCBC is not set | 579 | CONFIG_CRC7=m |
1074 | # CONFIG_CRYPTO_XTS is not set | ||
1075 | |||
1076 | # | ||
1077 | # Hash modes | ||
1078 | # | ||
1079 | # CONFIG_CRYPTO_HMAC is not set | ||
1080 | # CONFIG_CRYPTO_XCBC is not set | ||
1081 | # CONFIG_CRYPTO_VMAC is not set | ||
1082 | |||
1083 | # | ||
1084 | # Digest | ||
1085 | # | ||
1086 | # CONFIG_CRYPTO_CRC32C is not set | ||
1087 | # CONFIG_CRYPTO_GHASH is not set | ||
1088 | # CONFIG_CRYPTO_MD4 is not set | ||
1089 | # CONFIG_CRYPTO_MD5 is not set | ||
1090 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1091 | # CONFIG_CRYPTO_RMD128 is not set | ||
1092 | # CONFIG_CRYPTO_RMD160 is not set | ||
1093 | # CONFIG_CRYPTO_RMD256 is not set | ||
1094 | # CONFIG_CRYPTO_RMD320 is not set | ||
1095 | # CONFIG_CRYPTO_SHA1 is not set | ||
1096 | # CONFIG_CRYPTO_SHA256 is not set | ||
1097 | # CONFIG_CRYPTO_SHA512 is not set | ||
1098 | # CONFIG_CRYPTO_TGR192 is not set | ||
1099 | # CONFIG_CRYPTO_WP512 is not set | ||
1100 | |||
1101 | # | ||
1102 | # Ciphers | ||
1103 | # | ||
1104 | CONFIG_CRYPTO_AES=m | ||
1105 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1106 | # CONFIG_CRYPTO_ARC4 is not set | ||
1107 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1108 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1109 | # CONFIG_CRYPTO_CAST5 is not set | ||
1110 | # CONFIG_CRYPTO_CAST6 is not set | ||
1111 | # CONFIG_CRYPTO_DES is not set | ||
1112 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1113 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1114 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1115 | # CONFIG_CRYPTO_SEED is not set | ||
1116 | # CONFIG_CRYPTO_SERPENT is not set | ||
1117 | # CONFIG_CRYPTO_TEA is not set | ||
1118 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1119 | |||
1120 | # | ||
1121 | # Compression | ||
1122 | # | ||
1123 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1124 | # CONFIG_CRYPTO_ZLIB is not set | ||
1125 | # CONFIG_CRYPTO_LZO is not set | ||
1126 | |||
1127 | # | ||
1128 | # Random Number Generation | ||
1129 | # | ||
1130 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
1131 | # CONFIG_CRYPTO_USER_API_HASH is not set | ||
1132 | # CONFIG_CRYPTO_USER_API_SKCIPHER is not set | ||
1133 | CONFIG_CRYPTO_HW=y | ||
1134 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | ||
1135 | # CONFIG_BINARY_PRINTF is not set | ||
1136 | |||
1137 | # | ||
1138 | # Library routines | ||
1139 | # | ||
1140 | CONFIG_BITREVERSE=y | ||
1141 | CONFIG_GENERIC_FIND_FIRST_BIT=y | ||
1142 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
1143 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1144 | # CONFIG_CRC_CCITT is not set | ||
1145 | # CONFIG_CRC16 is not set | ||
1146 | # CONFIG_CRC_T10DIF is not set | ||
1147 | # CONFIG_CRC_ITU_T is not set | ||
1148 | CONFIG_CRC32=y | ||
1149 | # CONFIG_CRC7 is not set | ||
1150 | # CONFIG_LIBCRC32C is not set | ||
1151 | CONFIG_ZLIB_INFLATE=y | ||
1152 | # CONFIG_XZ_DEC is not set | ||
1153 | # CONFIG_XZ_DEC_BCJ is not set | ||
1154 | CONFIG_DECOMPRESS_GZIP=y | ||
1155 | CONFIG_HAS_IOMEM=y | ||
1156 | CONFIG_HAS_IOPORT=y | ||
1157 | CONFIG_HAS_DMA=y | ||
1158 | CONFIG_CPU_RMAP=y | ||
1159 | CONFIG_NLATTR=y | ||
1160 | # CONFIG_AVERAGE is not set | ||
1161 | CONFIG_HAVE_KVM=y | ||
1162 | # CONFIG_VIRTUALIZATION is not set | ||
diff --git a/arch/tile/kernel/compat_signal.c b/arch/tile/kernel/compat_signal.c index a7869ad62776..77763ccd5a7d 100644 --- a/arch/tile/kernel/compat_signal.c +++ b/arch/tile/kernel/compat_signal.c | |||
@@ -303,10 +303,7 @@ long compat_sys_rt_sigreturn(struct pt_regs *regs) | |||
303 | goto badframe; | 303 | goto badframe; |
304 | 304 | ||
305 | sigdelsetmask(&set, ~_BLOCKABLE); | 305 | sigdelsetmask(&set, ~_BLOCKABLE); |
306 | spin_lock_irq(¤t->sighand->siglock); | 306 | set_current_blocked(&set); |
307 | current->blocked = set; | ||
308 | recalc_sigpending(); | ||
309 | spin_unlock_irq(¤t->sighand->siglock); | ||
310 | 307 | ||
311 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) | 308 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) |
312 | goto badframe; | 309 | goto badframe; |
diff --git a/arch/tile/kernel/signal.c b/arch/tile/kernel/signal.c index bedaf4e9f3a7..f79d4b88c747 100644 --- a/arch/tile/kernel/signal.c +++ b/arch/tile/kernel/signal.c | |||
@@ -97,10 +97,7 @@ SYSCALL_DEFINE1(rt_sigreturn, struct pt_regs *, regs) | |||
97 | goto badframe; | 97 | goto badframe; |
98 | 98 | ||
99 | sigdelsetmask(&set, ~_BLOCKABLE); | 99 | sigdelsetmask(&set, ~_BLOCKABLE); |
100 | spin_lock_irq(¤t->sighand->siglock); | 100 | set_current_blocked(&set); |
101 | current->blocked = set; | ||
102 | recalc_sigpending(); | ||
103 | spin_unlock_irq(¤t->sighand->siglock); | ||
104 | 101 | ||
105 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) | 102 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) |
106 | goto badframe; | 103 | goto badframe; |
@@ -286,13 +283,7 @@ static int handle_signal(unsigned long sig, siginfo_t *info, | |||
286 | * the work_pending path in the return-to-user code, and | 283 | * the work_pending path in the return-to-user code, and |
287 | * either way we can re-enable interrupts unconditionally. | 284 | * either way we can re-enable interrupts unconditionally. |
288 | */ | 285 | */ |
289 | spin_lock_irq(¤t->sighand->siglock); | 286 | block_sigmask(ka, sig); |
290 | sigorsets(¤t->blocked, | ||
291 | ¤t->blocked, &ka->sa.sa_mask); | ||
292 | if (!(ka->sa.sa_flags & SA_NODEFER)) | ||
293 | sigaddset(¤t->blocked, sig); | ||
294 | recalc_sigpending(); | ||
295 | spin_unlock_irq(¤t->sighand->siglock); | ||
296 | } | 287 | } |
297 | 288 | ||
298 | return ret; | 289 | return ret; |
diff --git a/arch/tile/kernel/sysfs.c b/arch/tile/kernel/sysfs.c index f862b005eb73..71ae728e9d0b 100644 --- a/arch/tile/kernel/sysfs.c +++ b/arch/tile/kernel/sysfs.c | |||
@@ -163,7 +163,7 @@ static int __init create_sysfs_entries(void) | |||
163 | 163 | ||
164 | #define create_hv_attr(name) \ | 164 | #define create_hv_attr(name) \ |
165 | if (!err) \ | 165 | if (!err) \ |
166 | err = sysfs_create_file(hypervisor_kobj, &dev_attr_##name); | 166 | err = sysfs_create_file(hypervisor_kobj, &dev_attr_##name.attr); |
167 | create_hv_attr(type); | 167 | create_hv_attr(type); |
168 | create_hv_attr(version); | 168 | create_hv_attr(version); |
169 | create_hv_attr(config_version); | 169 | create_hv_attr(config_version); |
diff --git a/arch/tile/lib/spinlock_32.c b/arch/tile/lib/spinlock_32.c index cb0999fb64b4..b16ac49a968e 100644 --- a/arch/tile/lib/spinlock_32.c +++ b/arch/tile/lib/spinlock_32.c | |||
@@ -144,7 +144,7 @@ void arch_read_unlock(arch_rwlock_t *rwlock) | |||
144 | for (;;) { | 144 | for (;;) { |
145 | __insn_mtspr(SPR_INTERRUPT_CRITICAL_SECTION, 1); | 145 | __insn_mtspr(SPR_INTERRUPT_CRITICAL_SECTION, 1); |
146 | val = __insn_tns((int *)&rwlock->lock); | 146 | val = __insn_tns((int *)&rwlock->lock); |
147 | if (likely(val & 1) == 0) { | 147 | if (likely((val & 1) == 0)) { |
148 | rwlock->lock = val - (1 << _RD_COUNT_SHIFT); | 148 | rwlock->lock = val - (1 << _RD_COUNT_SHIFT); |
149 | __insn_mtspr(SPR_INTERRUPT_CRITICAL_SECTION, 0); | 149 | __insn_mtspr(SPR_INTERRUPT_CRITICAL_SECTION, 0); |
150 | break; | 150 | break; |
diff --git a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c index 3bd37bdf1b8e..61d4f79a550e 100644 --- a/arch/x86/kernel/cpu/perf_event_intel.c +++ b/arch/x86/kernel/cpu/perf_event_intel.c | |||
@@ -385,14 +385,15 @@ static __initconst const u64 westmere_hw_cache_event_ids | |||
385 | #define NHM_LOCAL_DRAM (1 << 14) | 385 | #define NHM_LOCAL_DRAM (1 << 14) |
386 | #define NHM_NON_DRAM (1 << 15) | 386 | #define NHM_NON_DRAM (1 << 15) |
387 | 387 | ||
388 | #define NHM_ALL_DRAM (NHM_REMOTE_DRAM|NHM_LOCAL_DRAM) | 388 | #define NHM_LOCAL (NHM_LOCAL_DRAM|NHM_REMOTE_CACHE_FWD) |
389 | #define NHM_REMOTE (NHM_REMOTE_DRAM) | ||
389 | 390 | ||
390 | #define NHM_DMND_READ (NHM_DMND_DATA_RD) | 391 | #define NHM_DMND_READ (NHM_DMND_DATA_RD) |
391 | #define NHM_DMND_WRITE (NHM_DMND_RFO|NHM_DMND_WB) | 392 | #define NHM_DMND_WRITE (NHM_DMND_RFO|NHM_DMND_WB) |
392 | #define NHM_DMND_PREFETCH (NHM_PF_DATA_RD|NHM_PF_DATA_RFO) | 393 | #define NHM_DMND_PREFETCH (NHM_PF_DATA_RD|NHM_PF_DATA_RFO) |
393 | 394 | ||
394 | #define NHM_L3_HIT (NHM_UNCORE_HIT|NHM_OTHER_CORE_HIT_SNP|NHM_OTHER_CORE_HITM) | 395 | #define NHM_L3_HIT (NHM_UNCORE_HIT|NHM_OTHER_CORE_HIT_SNP|NHM_OTHER_CORE_HITM) |
395 | #define NHM_L3_MISS (NHM_NON_DRAM|NHM_ALL_DRAM|NHM_REMOTE_CACHE_FWD) | 396 | #define NHM_L3_MISS (NHM_NON_DRAM|NHM_LOCAL_DRAM|NHM_REMOTE_DRAM|NHM_REMOTE_CACHE_FWD) |
396 | #define NHM_L3_ACCESS (NHM_L3_HIT|NHM_L3_MISS) | 397 | #define NHM_L3_ACCESS (NHM_L3_HIT|NHM_L3_MISS) |
397 | 398 | ||
398 | static __initconst const u64 nehalem_hw_cache_extra_regs | 399 | static __initconst const u64 nehalem_hw_cache_extra_regs |
@@ -416,16 +417,16 @@ static __initconst const u64 nehalem_hw_cache_extra_regs | |||
416 | }, | 417 | }, |
417 | [ C(NODE) ] = { | 418 | [ C(NODE) ] = { |
418 | [ C(OP_READ) ] = { | 419 | [ C(OP_READ) ] = { |
419 | [ C(RESULT_ACCESS) ] = NHM_DMND_READ|NHM_ALL_DRAM, | 420 | [ C(RESULT_ACCESS) ] = NHM_DMND_READ|NHM_LOCAL|NHM_REMOTE, |
420 | [ C(RESULT_MISS) ] = NHM_DMND_READ|NHM_REMOTE_DRAM, | 421 | [ C(RESULT_MISS) ] = NHM_DMND_READ|NHM_REMOTE, |
421 | }, | 422 | }, |
422 | [ C(OP_WRITE) ] = { | 423 | [ C(OP_WRITE) ] = { |
423 | [ C(RESULT_ACCESS) ] = NHM_DMND_WRITE|NHM_ALL_DRAM, | 424 | [ C(RESULT_ACCESS) ] = NHM_DMND_WRITE|NHM_LOCAL|NHM_REMOTE, |
424 | [ C(RESULT_MISS) ] = NHM_DMND_WRITE|NHM_REMOTE_DRAM, | 425 | [ C(RESULT_MISS) ] = NHM_DMND_WRITE|NHM_REMOTE, |
425 | }, | 426 | }, |
426 | [ C(OP_PREFETCH) ] = { | 427 | [ C(OP_PREFETCH) ] = { |
427 | [ C(RESULT_ACCESS) ] = NHM_DMND_PREFETCH|NHM_ALL_DRAM, | 428 | [ C(RESULT_ACCESS) ] = NHM_DMND_PREFETCH|NHM_LOCAL|NHM_REMOTE, |
428 | [ C(RESULT_MISS) ] = NHM_DMND_PREFETCH|NHM_REMOTE_DRAM, | 429 | [ C(RESULT_MISS) ] = NHM_DMND_PREFETCH|NHM_REMOTE, |
429 | }, | 430 | }, |
430 | }, | 431 | }, |
431 | }; | 432 | }; |
diff --git a/block/blk-ioc.c b/block/blk-ioc.c index 8b782a63c297..fb95dd2f889a 100644 --- a/block/blk-ioc.c +++ b/block/blk-ioc.c | |||
@@ -36,11 +36,23 @@ static void icq_free_icq_rcu(struct rcu_head *head) | |||
36 | kmem_cache_free(icq->__rcu_icq_cache, icq); | 36 | kmem_cache_free(icq->__rcu_icq_cache, icq); |
37 | } | 37 | } |
38 | 38 | ||
39 | /* | 39 | /* Exit an icq. Called with both ioc and q locked. */ |
40 | * Exit and free an icq. Called with both ioc and q locked. | ||
41 | */ | ||
42 | static void ioc_exit_icq(struct io_cq *icq) | 40 | static void ioc_exit_icq(struct io_cq *icq) |
43 | { | 41 | { |
42 | struct elevator_type *et = icq->q->elevator->type; | ||
43 | |||
44 | if (icq->flags & ICQ_EXITED) | ||
45 | return; | ||
46 | |||
47 | if (et->ops.elevator_exit_icq_fn) | ||
48 | et->ops.elevator_exit_icq_fn(icq); | ||
49 | |||
50 | icq->flags |= ICQ_EXITED; | ||
51 | } | ||
52 | |||
53 | /* Release an icq. Called with both ioc and q locked. */ | ||
54 | static void ioc_destroy_icq(struct io_cq *icq) | ||
55 | { | ||
44 | struct io_context *ioc = icq->ioc; | 56 | struct io_context *ioc = icq->ioc; |
45 | struct request_queue *q = icq->q; | 57 | struct request_queue *q = icq->q; |
46 | struct elevator_type *et = q->elevator->type; | 58 | struct elevator_type *et = q->elevator->type; |
@@ -60,8 +72,7 @@ static void ioc_exit_icq(struct io_cq *icq) | |||
60 | if (rcu_dereference_raw(ioc->icq_hint) == icq) | 72 | if (rcu_dereference_raw(ioc->icq_hint) == icq) |
61 | rcu_assign_pointer(ioc->icq_hint, NULL); | 73 | rcu_assign_pointer(ioc->icq_hint, NULL); |
62 | 74 | ||
63 | if (et->ops.elevator_exit_icq_fn) | 75 | ioc_exit_icq(icq); |
64 | et->ops.elevator_exit_icq_fn(icq); | ||
65 | 76 | ||
66 | /* | 77 | /* |
67 | * @icq->q might have gone away by the time RCU callback runs | 78 | * @icq->q might have gone away by the time RCU callback runs |
@@ -79,7 +90,6 @@ static void ioc_release_fn(struct work_struct *work) | |||
79 | { | 90 | { |
80 | struct io_context *ioc = container_of(work, struct io_context, | 91 | struct io_context *ioc = container_of(work, struct io_context, |
81 | release_work); | 92 | release_work); |
82 | struct request_queue *last_q = NULL; | ||
83 | unsigned long flags; | 93 | unsigned long flags; |
84 | 94 | ||
85 | /* | 95 | /* |
@@ -93,44 +103,19 @@ static void ioc_release_fn(struct work_struct *work) | |||
93 | while (!hlist_empty(&ioc->icq_list)) { | 103 | while (!hlist_empty(&ioc->icq_list)) { |
94 | struct io_cq *icq = hlist_entry(ioc->icq_list.first, | 104 | struct io_cq *icq = hlist_entry(ioc->icq_list.first, |
95 | struct io_cq, ioc_node); | 105 | struct io_cq, ioc_node); |
96 | struct request_queue *this_q = icq->q; | 106 | struct request_queue *q = icq->q; |
97 | 107 | ||
98 | if (this_q != last_q) { | 108 | if (spin_trylock(q->queue_lock)) { |
99 | /* | 109 | ioc_destroy_icq(icq); |
100 | * Need to switch to @this_q. Once we release | 110 | spin_unlock(q->queue_lock); |
101 | * @ioc->lock, it can go away along with @cic. | 111 | } else { |
102 | * Hold on to it. | 112 | spin_unlock_irqrestore(&ioc->lock, flags); |
103 | */ | 113 | cpu_relax(); |
104 | __blk_get_queue(this_q); | 114 | spin_lock_irqsave_nested(&ioc->lock, flags, 1); |
105 | |||
106 | /* | ||
107 | * blk_put_queue() might sleep thanks to kobject | ||
108 | * idiocy. Always release both locks, put and | ||
109 | * restart. | ||
110 | */ | ||
111 | if (last_q) { | ||
112 | spin_unlock(last_q->queue_lock); | ||
113 | spin_unlock_irqrestore(&ioc->lock, flags); | ||
114 | blk_put_queue(last_q); | ||
115 | } else { | ||
116 | spin_unlock_irqrestore(&ioc->lock, flags); | ||
117 | } | ||
118 | |||
119 | last_q = this_q; | ||
120 | spin_lock_irqsave(this_q->queue_lock, flags); | ||
121 | spin_lock_nested(&ioc->lock, 1); | ||
122 | continue; | ||
123 | } | 115 | } |
124 | ioc_exit_icq(icq); | ||
125 | } | 116 | } |
126 | 117 | ||
127 | if (last_q) { | 118 | spin_unlock_irqrestore(&ioc->lock, flags); |
128 | spin_unlock(last_q->queue_lock); | ||
129 | spin_unlock_irqrestore(&ioc->lock, flags); | ||
130 | blk_put_queue(last_q); | ||
131 | } else { | ||
132 | spin_unlock_irqrestore(&ioc->lock, flags); | ||
133 | } | ||
134 | 119 | ||
135 | kmem_cache_free(iocontext_cachep, ioc); | 120 | kmem_cache_free(iocontext_cachep, ioc); |
136 | } | 121 | } |
@@ -145,6 +130,7 @@ static void ioc_release_fn(struct work_struct *work) | |||
145 | void put_io_context(struct io_context *ioc) | 130 | void put_io_context(struct io_context *ioc) |
146 | { | 131 | { |
147 | unsigned long flags; | 132 | unsigned long flags; |
133 | bool free_ioc = false; | ||
148 | 134 | ||
149 | if (ioc == NULL) | 135 | if (ioc == NULL) |
150 | return; | 136 | return; |
@@ -159,8 +145,13 @@ void put_io_context(struct io_context *ioc) | |||
159 | spin_lock_irqsave(&ioc->lock, flags); | 145 | spin_lock_irqsave(&ioc->lock, flags); |
160 | if (!hlist_empty(&ioc->icq_list)) | 146 | if (!hlist_empty(&ioc->icq_list)) |
161 | schedule_work(&ioc->release_work); | 147 | schedule_work(&ioc->release_work); |
148 | else | ||
149 | free_ioc = true; | ||
162 | spin_unlock_irqrestore(&ioc->lock, flags); | 150 | spin_unlock_irqrestore(&ioc->lock, flags); |
163 | } | 151 | } |
152 | |||
153 | if (free_ioc) | ||
154 | kmem_cache_free(iocontext_cachep, ioc); | ||
164 | } | 155 | } |
165 | EXPORT_SYMBOL(put_io_context); | 156 | EXPORT_SYMBOL(put_io_context); |
166 | 157 | ||
@@ -168,13 +159,41 @@ EXPORT_SYMBOL(put_io_context); | |||
168 | void exit_io_context(struct task_struct *task) | 159 | void exit_io_context(struct task_struct *task) |
169 | { | 160 | { |
170 | struct io_context *ioc; | 161 | struct io_context *ioc; |
162 | struct io_cq *icq; | ||
163 | struct hlist_node *n; | ||
164 | unsigned long flags; | ||
171 | 165 | ||
172 | task_lock(task); | 166 | task_lock(task); |
173 | ioc = task->io_context; | 167 | ioc = task->io_context; |
174 | task->io_context = NULL; | 168 | task->io_context = NULL; |
175 | task_unlock(task); | 169 | task_unlock(task); |
176 | 170 | ||
177 | atomic_dec(&ioc->nr_tasks); | 171 | if (!atomic_dec_and_test(&ioc->nr_tasks)) { |
172 | put_io_context(ioc); | ||
173 | return; | ||
174 | } | ||
175 | |||
176 | /* | ||
177 | * Need ioc lock to walk icq_list and q lock to exit icq. Perform | ||
178 | * reverse double locking. Read comment in ioc_release_fn() for | ||
179 | * explanation on the nested locking annotation. | ||
180 | */ | ||
181 | retry: | ||
182 | spin_lock_irqsave_nested(&ioc->lock, flags, 1); | ||
183 | hlist_for_each_entry(icq, n, &ioc->icq_list, ioc_node) { | ||
184 | if (icq->flags & ICQ_EXITED) | ||
185 | continue; | ||
186 | if (spin_trylock(icq->q->queue_lock)) { | ||
187 | ioc_exit_icq(icq); | ||
188 | spin_unlock(icq->q->queue_lock); | ||
189 | } else { | ||
190 | spin_unlock_irqrestore(&ioc->lock, flags); | ||
191 | cpu_relax(); | ||
192 | goto retry; | ||
193 | } | ||
194 | } | ||
195 | spin_unlock_irqrestore(&ioc->lock, flags); | ||
196 | |||
178 | put_io_context(ioc); | 197 | put_io_context(ioc); |
179 | } | 198 | } |
180 | 199 | ||
@@ -194,7 +213,7 @@ void ioc_clear_queue(struct request_queue *q) | |||
194 | struct io_context *ioc = icq->ioc; | 213 | struct io_context *ioc = icq->ioc; |
195 | 214 | ||
196 | spin_lock(&ioc->lock); | 215 | spin_lock(&ioc->lock); |
197 | ioc_exit_icq(icq); | 216 | ioc_destroy_icq(icq); |
198 | spin_unlock(&ioc->lock); | 217 | spin_unlock(&ioc->lock); |
199 | } | 218 | } |
200 | } | 219 | } |
@@ -363,13 +382,13 @@ struct io_cq *ioc_create_icq(struct request_queue *q, gfp_t gfp_mask) | |||
363 | return icq; | 382 | return icq; |
364 | } | 383 | } |
365 | 384 | ||
366 | void ioc_set_changed(struct io_context *ioc, int which) | 385 | void ioc_set_icq_flags(struct io_context *ioc, unsigned int flags) |
367 | { | 386 | { |
368 | struct io_cq *icq; | 387 | struct io_cq *icq; |
369 | struct hlist_node *n; | 388 | struct hlist_node *n; |
370 | 389 | ||
371 | hlist_for_each_entry(icq, n, &ioc->icq_list, ioc_node) | 390 | hlist_for_each_entry(icq, n, &ioc->icq_list, ioc_node) |
372 | set_bit(which, &icq->changed); | 391 | icq->flags |= flags; |
373 | } | 392 | } |
374 | 393 | ||
375 | /** | 394 | /** |
@@ -387,7 +406,7 @@ void ioc_ioprio_changed(struct io_context *ioc, int ioprio) | |||
387 | 406 | ||
388 | spin_lock_irqsave(&ioc->lock, flags); | 407 | spin_lock_irqsave(&ioc->lock, flags); |
389 | ioc->ioprio = ioprio; | 408 | ioc->ioprio = ioprio; |
390 | ioc_set_changed(ioc, ICQ_IOPRIO_CHANGED); | 409 | ioc_set_icq_flags(ioc, ICQ_IOPRIO_CHANGED); |
391 | spin_unlock_irqrestore(&ioc->lock, flags); | 410 | spin_unlock_irqrestore(&ioc->lock, flags); |
392 | } | 411 | } |
393 | 412 | ||
@@ -404,11 +423,33 @@ void ioc_cgroup_changed(struct io_context *ioc) | |||
404 | unsigned long flags; | 423 | unsigned long flags; |
405 | 424 | ||
406 | spin_lock_irqsave(&ioc->lock, flags); | 425 | spin_lock_irqsave(&ioc->lock, flags); |
407 | ioc_set_changed(ioc, ICQ_CGROUP_CHANGED); | 426 | ioc_set_icq_flags(ioc, ICQ_CGROUP_CHANGED); |
408 | spin_unlock_irqrestore(&ioc->lock, flags); | 427 | spin_unlock_irqrestore(&ioc->lock, flags); |
409 | } | 428 | } |
410 | EXPORT_SYMBOL(ioc_cgroup_changed); | 429 | EXPORT_SYMBOL(ioc_cgroup_changed); |
411 | 430 | ||
431 | /** | ||
432 | * icq_get_changed - fetch and clear icq changed mask | ||
433 | * @icq: icq of interest | ||
434 | * | ||
435 | * Fetch and clear ICQ_*_CHANGED bits from @icq. Grabs and releases | ||
436 | * @icq->ioc->lock. | ||
437 | */ | ||
438 | unsigned icq_get_changed(struct io_cq *icq) | ||
439 | { | ||
440 | unsigned int changed = 0; | ||
441 | unsigned long flags; | ||
442 | |||
443 | if (unlikely(icq->flags & ICQ_CHANGED_MASK)) { | ||
444 | spin_lock_irqsave(&icq->ioc->lock, flags); | ||
445 | changed = icq->flags & ICQ_CHANGED_MASK; | ||
446 | icq->flags &= ~ICQ_CHANGED_MASK; | ||
447 | spin_unlock_irqrestore(&icq->ioc->lock, flags); | ||
448 | } | ||
449 | return changed; | ||
450 | } | ||
451 | EXPORT_SYMBOL(icq_get_changed); | ||
452 | |||
412 | static int __init blk_ioc_init(void) | 453 | static int __init blk_ioc_init(void) |
413 | { | 454 | { |
414 | iocontext_cachep = kmem_cache_create("blkdev_ioc", | 455 | iocontext_cachep = kmem_cache_create("blkdev_ioc", |
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index d0ba50533668..457295253566 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c | |||
@@ -3470,20 +3470,20 @@ cfq_set_request(struct request_queue *q, struct request *rq, gfp_t gfp_mask) | |||
3470 | const int rw = rq_data_dir(rq); | 3470 | const int rw = rq_data_dir(rq); |
3471 | const bool is_sync = rq_is_sync(rq); | 3471 | const bool is_sync = rq_is_sync(rq); |
3472 | struct cfq_queue *cfqq; | 3472 | struct cfq_queue *cfqq; |
3473 | unsigned int changed; | ||
3473 | 3474 | ||
3474 | might_sleep_if(gfp_mask & __GFP_WAIT); | 3475 | might_sleep_if(gfp_mask & __GFP_WAIT); |
3475 | 3476 | ||
3476 | spin_lock_irq(q->queue_lock); | 3477 | spin_lock_irq(q->queue_lock); |
3477 | 3478 | ||
3478 | /* handle changed notifications */ | 3479 | /* handle changed notifications */ |
3479 | if (unlikely(cic->icq.changed)) { | 3480 | changed = icq_get_changed(&cic->icq); |
3480 | if (test_and_clear_bit(ICQ_IOPRIO_CHANGED, &cic->icq.changed)) | 3481 | if (unlikely(changed & ICQ_IOPRIO_CHANGED)) |
3481 | changed_ioprio(cic); | 3482 | changed_ioprio(cic); |
3482 | #ifdef CONFIG_CFQ_GROUP_IOSCHED | 3483 | #ifdef CONFIG_CFQ_GROUP_IOSCHED |
3483 | if (test_and_clear_bit(ICQ_CGROUP_CHANGED, &cic->icq.changed)) | 3484 | if (unlikely(changed & ICQ_CGROUP_CHANGED)) |
3484 | changed_cgroup(cic); | 3485 | changed_cgroup(cic); |
3485 | #endif | 3486 | #endif |
3486 | } | ||
3487 | 3487 | ||
3488 | new_queue: | 3488 | new_queue: |
3489 | cfqq = cic_to_cfqq(cic, is_sync); | 3489 | cfqq = cic_to_cfqq(cic, is_sync); |
diff --git a/block/genhd.c b/block/genhd.c index 23b4f7063322..df9816ede75b 100644 --- a/block/genhd.c +++ b/block/genhd.c | |||
@@ -35,6 +35,7 @@ static DEFINE_IDR(ext_devt_idr); | |||
35 | 35 | ||
36 | static struct device_type disk_type; | 36 | static struct device_type disk_type; |
37 | 37 | ||
38 | static void disk_alloc_events(struct gendisk *disk); | ||
38 | static void disk_add_events(struct gendisk *disk); | 39 | static void disk_add_events(struct gendisk *disk); |
39 | static void disk_del_events(struct gendisk *disk); | 40 | static void disk_del_events(struct gendisk *disk); |
40 | static void disk_release_events(struct gendisk *disk); | 41 | static void disk_release_events(struct gendisk *disk); |
@@ -601,6 +602,8 @@ void add_disk(struct gendisk *disk) | |||
601 | disk->major = MAJOR(devt); | 602 | disk->major = MAJOR(devt); |
602 | disk->first_minor = MINOR(devt); | 603 | disk->first_minor = MINOR(devt); |
603 | 604 | ||
605 | disk_alloc_events(disk); | ||
606 | |||
604 | /* Register BDI before referencing it from bdev */ | 607 | /* Register BDI before referencing it from bdev */ |
605 | bdi = &disk->queue->backing_dev_info; | 608 | bdi = &disk->queue->backing_dev_info; |
606 | bdi_register_dev(bdi, disk_devt(disk)); | 609 | bdi_register_dev(bdi, disk_devt(disk)); |
@@ -1475,9 +1478,9 @@ static void __disk_unblock_events(struct gendisk *disk, bool check_now) | |||
1475 | intv = disk_events_poll_jiffies(disk); | 1478 | intv = disk_events_poll_jiffies(disk); |
1476 | set_timer_slack(&ev->dwork.timer, intv / 4); | 1479 | set_timer_slack(&ev->dwork.timer, intv / 4); |
1477 | if (check_now) | 1480 | if (check_now) |
1478 | queue_delayed_work(system_nrt_wq, &ev->dwork, 0); | 1481 | queue_delayed_work(system_nrt_freezable_wq, &ev->dwork, 0); |
1479 | else if (intv) | 1482 | else if (intv) |
1480 | queue_delayed_work(system_nrt_wq, &ev->dwork, intv); | 1483 | queue_delayed_work(system_nrt_freezable_wq, &ev->dwork, intv); |
1481 | out_unlock: | 1484 | out_unlock: |
1482 | spin_unlock_irqrestore(&ev->lock, flags); | 1485 | spin_unlock_irqrestore(&ev->lock, flags); |
1483 | } | 1486 | } |
@@ -1521,7 +1524,7 @@ void disk_flush_events(struct gendisk *disk, unsigned int mask) | |||
1521 | ev->clearing |= mask; | 1524 | ev->clearing |= mask; |
1522 | if (!ev->block) { | 1525 | if (!ev->block) { |
1523 | cancel_delayed_work(&ev->dwork); | 1526 | cancel_delayed_work(&ev->dwork); |
1524 | queue_delayed_work(system_nrt_wq, &ev->dwork, 0); | 1527 | queue_delayed_work(system_nrt_freezable_wq, &ev->dwork, 0); |
1525 | } | 1528 | } |
1526 | spin_unlock_irq(&ev->lock); | 1529 | spin_unlock_irq(&ev->lock); |
1527 | } | 1530 | } |
@@ -1558,7 +1561,7 @@ unsigned int disk_clear_events(struct gendisk *disk, unsigned int mask) | |||
1558 | 1561 | ||
1559 | /* uncondtionally schedule event check and wait for it to finish */ | 1562 | /* uncondtionally schedule event check and wait for it to finish */ |
1560 | disk_block_events(disk); | 1563 | disk_block_events(disk); |
1561 | queue_delayed_work(system_nrt_wq, &ev->dwork, 0); | 1564 | queue_delayed_work(system_nrt_freezable_wq, &ev->dwork, 0); |
1562 | flush_delayed_work(&ev->dwork); | 1565 | flush_delayed_work(&ev->dwork); |
1563 | __disk_unblock_events(disk, false); | 1566 | __disk_unblock_events(disk, false); |
1564 | 1567 | ||
@@ -1595,7 +1598,7 @@ static void disk_events_workfn(struct work_struct *work) | |||
1595 | 1598 | ||
1596 | intv = disk_events_poll_jiffies(disk); | 1599 | intv = disk_events_poll_jiffies(disk); |
1597 | if (!ev->block && intv) | 1600 | if (!ev->block && intv) |
1598 | queue_delayed_work(system_nrt_wq, &ev->dwork, intv); | 1601 | queue_delayed_work(system_nrt_freezable_wq, &ev->dwork, intv); |
1599 | 1602 | ||
1600 | spin_unlock_irq(&ev->lock); | 1603 | spin_unlock_irq(&ev->lock); |
1601 | 1604 | ||
@@ -1733,9 +1736,9 @@ module_param_cb(events_dfl_poll_msecs, &disk_events_dfl_poll_msecs_param_ops, | |||
1733 | &disk_events_dfl_poll_msecs, 0644); | 1736 | &disk_events_dfl_poll_msecs, 0644); |
1734 | 1737 | ||
1735 | /* | 1738 | /* |
1736 | * disk_{add|del|release}_events - initialize and destroy disk_events. | 1739 | * disk_{alloc|add|del|release}_events - initialize and destroy disk_events. |
1737 | */ | 1740 | */ |
1738 | static void disk_add_events(struct gendisk *disk) | 1741 | static void disk_alloc_events(struct gendisk *disk) |
1739 | { | 1742 | { |
1740 | struct disk_events *ev; | 1743 | struct disk_events *ev; |
1741 | 1744 | ||
@@ -1748,16 +1751,6 @@ static void disk_add_events(struct gendisk *disk) | |||
1748 | return; | 1751 | return; |
1749 | } | 1752 | } |
1750 | 1753 | ||
1751 | if (sysfs_create_files(&disk_to_dev(disk)->kobj, | ||
1752 | disk_events_attrs) < 0) { | ||
1753 | pr_warn("%s: failed to create sysfs files for events\n", | ||
1754 | disk->disk_name); | ||
1755 | kfree(ev); | ||
1756 | return; | ||
1757 | } | ||
1758 | |||
1759 | disk->ev = ev; | ||
1760 | |||
1761 | INIT_LIST_HEAD(&ev->node); | 1754 | INIT_LIST_HEAD(&ev->node); |
1762 | ev->disk = disk; | 1755 | ev->disk = disk; |
1763 | spin_lock_init(&ev->lock); | 1756 | spin_lock_init(&ev->lock); |
@@ -1766,8 +1759,21 @@ static void disk_add_events(struct gendisk *disk) | |||
1766 | ev->poll_msecs = -1; | 1759 | ev->poll_msecs = -1; |
1767 | INIT_DELAYED_WORK(&ev->dwork, disk_events_workfn); | 1760 | INIT_DELAYED_WORK(&ev->dwork, disk_events_workfn); |
1768 | 1761 | ||
1762 | disk->ev = ev; | ||
1763 | } | ||
1764 | |||
1765 | static void disk_add_events(struct gendisk *disk) | ||
1766 | { | ||
1767 | if (!disk->ev) | ||
1768 | return; | ||
1769 | |||
1770 | /* FIXME: error handling */ | ||
1771 | if (sysfs_create_files(&disk_to_dev(disk)->kobj, disk_events_attrs) < 0) | ||
1772 | pr_warn("%s: failed to create sysfs files for events\n", | ||
1773 | disk->disk_name); | ||
1774 | |||
1769 | mutex_lock(&disk_events_mutex); | 1775 | mutex_lock(&disk_events_mutex); |
1770 | list_add_tail(&ev->node, &disk_events); | 1776 | list_add_tail(&disk->ev->node, &disk_events); |
1771 | mutex_unlock(&disk_events_mutex); | 1777 | mutex_unlock(&disk_events_mutex); |
1772 | 1778 | ||
1773 | /* | 1779 | /* |
diff --git a/block/partition-generic.c b/block/partition-generic.c index d06ec1c829c2..6df5d6928a44 100644 --- a/block/partition-generic.c +++ b/block/partition-generic.c | |||
@@ -389,17 +389,11 @@ static bool disk_unlock_native_capacity(struct gendisk *disk) | |||
389 | } | 389 | } |
390 | } | 390 | } |
391 | 391 | ||
392 | int rescan_partitions(struct gendisk *disk, struct block_device *bdev) | 392 | static int drop_partitions(struct gendisk *disk, struct block_device *bdev) |
393 | { | 393 | { |
394 | struct parsed_partitions *state = NULL; | ||
395 | struct disk_part_iter piter; | 394 | struct disk_part_iter piter; |
396 | struct hd_struct *part; | 395 | struct hd_struct *part; |
397 | int p, highest, res; | 396 | int res; |
398 | rescan: | ||
399 | if (state && !IS_ERR(state)) { | ||
400 | kfree(state); | ||
401 | state = NULL; | ||
402 | } | ||
403 | 397 | ||
404 | if (bdev->bd_part_count) | 398 | if (bdev->bd_part_count) |
405 | return -EBUSY; | 399 | return -EBUSY; |
@@ -412,6 +406,24 @@ rescan: | |||
412 | delete_partition(disk, part->partno); | 406 | delete_partition(disk, part->partno); |
413 | disk_part_iter_exit(&piter); | 407 | disk_part_iter_exit(&piter); |
414 | 408 | ||
409 | return 0; | ||
410 | } | ||
411 | |||
412 | int rescan_partitions(struct gendisk *disk, struct block_device *bdev) | ||
413 | { | ||
414 | struct parsed_partitions *state = NULL; | ||
415 | struct hd_struct *part; | ||
416 | int p, highest, res; | ||
417 | rescan: | ||
418 | if (state && !IS_ERR(state)) { | ||
419 | kfree(state); | ||
420 | state = NULL; | ||
421 | } | ||
422 | |||
423 | res = drop_partitions(disk, bdev); | ||
424 | if (res) | ||
425 | return res; | ||
426 | |||
415 | if (disk->fops->revalidate_disk) | 427 | if (disk->fops->revalidate_disk) |
416 | disk->fops->revalidate_disk(disk); | 428 | disk->fops->revalidate_disk(disk); |
417 | check_disk_size_change(disk, bdev); | 429 | check_disk_size_change(disk, bdev); |
@@ -515,6 +527,26 @@ rescan: | |||
515 | return 0; | 527 | return 0; |
516 | } | 528 | } |
517 | 529 | ||
530 | int invalidate_partitions(struct gendisk *disk, struct block_device *bdev) | ||
531 | { | ||
532 | int res; | ||
533 | |||
534 | if (!bdev->bd_invalidated) | ||
535 | return 0; | ||
536 | |||
537 | res = drop_partitions(disk, bdev); | ||
538 | if (res) | ||
539 | return res; | ||
540 | |||
541 | set_capacity(disk, 0); | ||
542 | check_disk_size_change(disk, bdev); | ||
543 | bdev->bd_invalidated = 0; | ||
544 | /* tell userspace that the media / partition table may have changed */ | ||
545 | kobject_uevent(&disk_to_dev(disk)->kobj, KOBJ_CHANGE); | ||
546 | |||
547 | return 0; | ||
548 | } | ||
549 | |||
518 | unsigned char *read_dev_sector(struct block_device *bdev, sector_t n, Sector *p) | 550 | unsigned char *read_dev_sector(struct block_device *bdev, sector_t n, Sector *p) |
519 | { | 551 | { |
520 | struct address_space *mapping = bdev->bd_inode->i_mapping; | 552 | struct address_space *mapping = bdev->bd_inode->i_mapping; |
diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c index e086fbbbe853..8db9089127c5 100644 --- a/drivers/block/DAC960.c +++ b/drivers/block/DAC960.c | |||
@@ -1177,7 +1177,8 @@ static bool DAC960_V1_EnableMemoryMailboxInterface(DAC960_Controller_T | |||
1177 | int TimeoutCounter; | 1177 | int TimeoutCounter; |
1178 | int i; | 1178 | int i; |
1179 | 1179 | ||
1180 | 1180 | memset(&CommandMailbox, 0, sizeof(DAC960_V1_CommandMailbox_T)); | |
1181 | |||
1181 | if (pci_set_dma_mask(Controller->PCIDevice, DMA_BIT_MASK(32))) | 1182 | if (pci_set_dma_mask(Controller->PCIDevice, DMA_BIT_MASK(32))) |
1182 | return DAC960_Failure(Controller, "DMA mask out of range"); | 1183 | return DAC960_Failure(Controller, "DMA mask out of range"); |
1183 | Controller->BounceBufferLimit = DMA_BIT_MASK(32); | 1184 | Controller->BounceBufferLimit = DMA_BIT_MASK(32); |
@@ -4627,7 +4628,8 @@ static void DAC960_V2_ProcessCompletedCommand(DAC960_Command_T *Command) | |||
4627 | DAC960_Controller_T *Controller = Command->Controller; | 4628 | DAC960_Controller_T *Controller = Command->Controller; |
4628 | DAC960_CommandType_T CommandType = Command->CommandType; | 4629 | DAC960_CommandType_T CommandType = Command->CommandType; |
4629 | DAC960_V2_CommandMailbox_T *CommandMailbox = &Command->V2.CommandMailbox; | 4630 | DAC960_V2_CommandMailbox_T *CommandMailbox = &Command->V2.CommandMailbox; |
4630 | DAC960_V2_IOCTL_Opcode_T CommandOpcode = CommandMailbox->Common.IOCTL_Opcode; | 4631 | DAC960_V2_IOCTL_Opcode_T IOCTLOpcode = CommandMailbox->Common.IOCTL_Opcode; |
4632 | DAC960_V2_CommandOpcode_T CommandOpcode = CommandMailbox->SCSI_10.CommandOpcode; | ||
4631 | DAC960_V2_CommandStatus_T CommandStatus = Command->V2.CommandStatus; | 4633 | DAC960_V2_CommandStatus_T CommandStatus = Command->V2.CommandStatus; |
4632 | 4634 | ||
4633 | if (CommandType == DAC960_ReadCommand || | 4635 | if (CommandType == DAC960_ReadCommand || |
@@ -4699,7 +4701,7 @@ static void DAC960_V2_ProcessCompletedCommand(DAC960_Command_T *Command) | |||
4699 | { | 4701 | { |
4700 | if (Controller->ShutdownMonitoringTimer) | 4702 | if (Controller->ShutdownMonitoringTimer) |
4701 | return; | 4703 | return; |
4702 | if (CommandOpcode == DAC960_V2_GetControllerInfo) | 4704 | if (IOCTLOpcode == DAC960_V2_GetControllerInfo) |
4703 | { | 4705 | { |
4704 | DAC960_V2_ControllerInfo_T *NewControllerInfo = | 4706 | DAC960_V2_ControllerInfo_T *NewControllerInfo = |
4705 | Controller->V2.NewControllerInformation; | 4707 | Controller->V2.NewControllerInformation; |
@@ -4719,14 +4721,14 @@ static void DAC960_V2_ProcessCompletedCommand(DAC960_Command_T *Command) | |||
4719 | memcpy(ControllerInfo, NewControllerInfo, | 4721 | memcpy(ControllerInfo, NewControllerInfo, |
4720 | sizeof(DAC960_V2_ControllerInfo_T)); | 4722 | sizeof(DAC960_V2_ControllerInfo_T)); |
4721 | } | 4723 | } |
4722 | else if (CommandOpcode == DAC960_V2_GetEvent) | 4724 | else if (IOCTLOpcode == DAC960_V2_GetEvent) |
4723 | { | 4725 | { |
4724 | if (CommandStatus == DAC960_V2_NormalCompletion) { | 4726 | if (CommandStatus == DAC960_V2_NormalCompletion) { |
4725 | DAC960_V2_ReportEvent(Controller, Controller->V2.Event); | 4727 | DAC960_V2_ReportEvent(Controller, Controller->V2.Event); |
4726 | } | 4728 | } |
4727 | Controller->V2.NextEventSequenceNumber++; | 4729 | Controller->V2.NextEventSequenceNumber++; |
4728 | } | 4730 | } |
4729 | else if (CommandOpcode == DAC960_V2_GetPhysicalDeviceInfoValid && | 4731 | else if (IOCTLOpcode == DAC960_V2_GetPhysicalDeviceInfoValid && |
4730 | CommandStatus == DAC960_V2_NormalCompletion) | 4732 | CommandStatus == DAC960_V2_NormalCompletion) |
4731 | { | 4733 | { |
4732 | DAC960_V2_PhysicalDeviceInfo_T *NewPhysicalDeviceInfo = | 4734 | DAC960_V2_PhysicalDeviceInfo_T *NewPhysicalDeviceInfo = |
@@ -4915,7 +4917,7 @@ static void DAC960_V2_ProcessCompletedCommand(DAC960_Command_T *Command) | |||
4915 | NewPhysicalDeviceInfo->LogicalUnit++; | 4917 | NewPhysicalDeviceInfo->LogicalUnit++; |
4916 | Controller->V2.PhysicalDeviceIndex++; | 4918 | Controller->V2.PhysicalDeviceIndex++; |
4917 | } | 4919 | } |
4918 | else if (CommandOpcode == DAC960_V2_GetPhysicalDeviceInfoValid) | 4920 | else if (IOCTLOpcode == DAC960_V2_GetPhysicalDeviceInfoValid) |
4919 | { | 4921 | { |
4920 | unsigned int DeviceIndex; | 4922 | unsigned int DeviceIndex; |
4921 | for (DeviceIndex = Controller->V2.PhysicalDeviceIndex; | 4923 | for (DeviceIndex = Controller->V2.PhysicalDeviceIndex; |
@@ -4938,7 +4940,7 @@ static void DAC960_V2_ProcessCompletedCommand(DAC960_Command_T *Command) | |||
4938 | } | 4940 | } |
4939 | Controller->V2.NeedPhysicalDeviceInformation = false; | 4941 | Controller->V2.NeedPhysicalDeviceInformation = false; |
4940 | } | 4942 | } |
4941 | else if (CommandOpcode == DAC960_V2_GetLogicalDeviceInfoValid && | 4943 | else if (IOCTLOpcode == DAC960_V2_GetLogicalDeviceInfoValid && |
4942 | CommandStatus == DAC960_V2_NormalCompletion) | 4944 | CommandStatus == DAC960_V2_NormalCompletion) |
4943 | { | 4945 | { |
4944 | DAC960_V2_LogicalDeviceInfo_T *NewLogicalDeviceInfo = | 4946 | DAC960_V2_LogicalDeviceInfo_T *NewLogicalDeviceInfo = |
@@ -5065,7 +5067,7 @@ static void DAC960_V2_ProcessCompletedCommand(DAC960_Command_T *Command) | |||
5065 | [LogicalDeviceNumber] = true; | 5067 | [LogicalDeviceNumber] = true; |
5066 | NewLogicalDeviceInfo->LogicalDeviceNumber++; | 5068 | NewLogicalDeviceInfo->LogicalDeviceNumber++; |
5067 | } | 5069 | } |
5068 | else if (CommandOpcode == DAC960_V2_GetLogicalDeviceInfoValid) | 5070 | else if (IOCTLOpcode == DAC960_V2_GetLogicalDeviceInfoValid) |
5069 | { | 5071 | { |
5070 | int LogicalDriveNumber; | 5072 | int LogicalDriveNumber; |
5071 | for (LogicalDriveNumber = 0; | 5073 | for (LogicalDriveNumber = 0; |
diff --git a/drivers/block/sx8.c b/drivers/block/sx8.c index e7472f567c9d..3fb6ab4c8b4e 100644 --- a/drivers/block/sx8.c +++ b/drivers/block/sx8.c | |||
@@ -1120,7 +1120,7 @@ static inline void carm_handle_resp(struct carm_host *host, | |||
1120 | break; | 1120 | break; |
1121 | case MISC_GET_FW_VER: { | 1121 | case MISC_GET_FW_VER: { |
1122 | struct carm_fw_ver *ver = (struct carm_fw_ver *) | 1122 | struct carm_fw_ver *ver = (struct carm_fw_ver *) |
1123 | mem + sizeof(struct carm_msg_get_fw_ver); | 1123 | (mem + sizeof(struct carm_msg_get_fw_ver)); |
1124 | if (!error) { | 1124 | if (!error) { |
1125 | host->fw_ver = le32_to_cpu(ver->version); | 1125 | host->fw_ver = le32_to_cpu(ver->version); |
1126 | host->flags |= (ver->features & FL_FW_VER_MASK); | 1126 | host->flags |= (ver->features & FL_FW_VER_MASK); |
diff --git a/drivers/gpu/drm/exynos/exynos_drm_connector.c b/drivers/gpu/drm/exynos/exynos_drm_connector.c index 618bd4d87d28..99d5527b2ca6 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_connector.c +++ b/drivers/gpu/drm/exynos/exynos_drm_connector.c | |||
@@ -54,14 +54,14 @@ convert_to_display_mode(struct drm_display_mode *mode, | |||
54 | mode->vrefresh = timing->refresh; | 54 | mode->vrefresh = timing->refresh; |
55 | 55 | ||
56 | mode->hdisplay = timing->xres; | 56 | mode->hdisplay = timing->xres; |
57 | mode->hsync_start = mode->hdisplay + timing->left_margin; | 57 | mode->hsync_start = mode->hdisplay + timing->right_margin; |
58 | mode->hsync_end = mode->hsync_start + timing->hsync_len; | 58 | mode->hsync_end = mode->hsync_start + timing->hsync_len; |
59 | mode->htotal = mode->hsync_end + timing->right_margin; | 59 | mode->htotal = mode->hsync_end + timing->left_margin; |
60 | 60 | ||
61 | mode->vdisplay = timing->yres; | 61 | mode->vdisplay = timing->yres; |
62 | mode->vsync_start = mode->vdisplay + timing->upper_margin; | 62 | mode->vsync_start = mode->vdisplay + timing->lower_margin; |
63 | mode->vsync_end = mode->vsync_start + timing->vsync_len; | 63 | mode->vsync_end = mode->vsync_start + timing->vsync_len; |
64 | mode->vtotal = mode->vsync_end + timing->lower_margin; | 64 | mode->vtotal = mode->vsync_end + timing->upper_margin; |
65 | mode->width_mm = panel->width_mm; | 65 | mode->width_mm = panel->width_mm; |
66 | mode->height_mm = panel->height_mm; | 66 | mode->height_mm = panel->height_mm; |
67 | 67 | ||
@@ -85,14 +85,14 @@ convert_to_video_timing(struct fb_videomode *timing, | |||
85 | timing->refresh = drm_mode_vrefresh(mode); | 85 | timing->refresh = drm_mode_vrefresh(mode); |
86 | 86 | ||
87 | timing->xres = mode->hdisplay; | 87 | timing->xres = mode->hdisplay; |
88 | timing->left_margin = mode->hsync_start - mode->hdisplay; | 88 | timing->right_margin = mode->hsync_start - mode->hdisplay; |
89 | timing->hsync_len = mode->hsync_end - mode->hsync_start; | 89 | timing->hsync_len = mode->hsync_end - mode->hsync_start; |
90 | timing->right_margin = mode->htotal - mode->hsync_end; | 90 | timing->left_margin = mode->htotal - mode->hsync_end; |
91 | 91 | ||
92 | timing->yres = mode->vdisplay; | 92 | timing->yres = mode->vdisplay; |
93 | timing->upper_margin = mode->vsync_start - mode->vdisplay; | 93 | timing->lower_margin = mode->vsync_start - mode->vdisplay; |
94 | timing->vsync_len = mode->vsync_end - mode->vsync_start; | 94 | timing->vsync_len = mode->vsync_end - mode->vsync_start; |
95 | timing->lower_margin = mode->vtotal - mode->vsync_end; | 95 | timing->upper_margin = mode->vtotal - mode->vsync_end; |
96 | 96 | ||
97 | if (mode->flags & DRM_MODE_FLAG_INTERLACE) | 97 | if (mode->flags & DRM_MODE_FLAG_INTERLACE) |
98 | timing->vmode = FB_VMODE_INTERLACED; | 98 | timing->vmode = FB_VMODE_INTERLACED; |
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c index 58820ebd3558..09cc13f791b3 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c | |||
@@ -246,7 +246,7 @@ static struct platform_driver exynos_drm_platform_driver = { | |||
246 | .remove = __devexit_p(exynos_drm_platform_remove), | 246 | .remove = __devexit_p(exynos_drm_platform_remove), |
247 | .driver = { | 247 | .driver = { |
248 | .owner = THIS_MODULE, | 248 | .owner = THIS_MODULE, |
249 | .name = DRIVER_NAME, | 249 | .name = "exynos-drm", |
250 | }, | 250 | }, |
251 | }; | 251 | }; |
252 | 252 | ||
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c index 3508700e529b..54f8f074822f 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c | |||
@@ -46,39 +46,13 @@ struct exynos_drm_fbdev { | |||
46 | struct exynos_drm_gem_obj *exynos_gem_obj; | 46 | struct exynos_drm_gem_obj *exynos_gem_obj; |
47 | }; | 47 | }; |
48 | 48 | ||
49 | static int exynos_drm_fbdev_set_par(struct fb_info *info) | ||
50 | { | ||
51 | struct fb_var_screeninfo *var = &info->var; | ||
52 | |||
53 | switch (var->bits_per_pixel) { | ||
54 | case 32: | ||
55 | case 24: | ||
56 | case 18: | ||
57 | case 16: | ||
58 | case 12: | ||
59 | info->fix.visual = FB_VISUAL_TRUECOLOR; | ||
60 | break; | ||
61 | case 1: | ||
62 | info->fix.visual = FB_VISUAL_MONO01; | ||
63 | break; | ||
64 | default: | ||
65 | info->fix.visual = FB_VISUAL_PSEUDOCOLOR; | ||
66 | break; | ||
67 | } | ||
68 | |||
69 | info->fix.line_length = (var->xres_virtual * var->bits_per_pixel) / 8; | ||
70 | |||
71 | return drm_fb_helper_set_par(info); | ||
72 | } | ||
73 | |||
74 | |||
75 | static struct fb_ops exynos_drm_fb_ops = { | 49 | static struct fb_ops exynos_drm_fb_ops = { |
76 | .owner = THIS_MODULE, | 50 | .owner = THIS_MODULE, |
77 | .fb_fillrect = cfb_fillrect, | 51 | .fb_fillrect = cfb_fillrect, |
78 | .fb_copyarea = cfb_copyarea, | 52 | .fb_copyarea = cfb_copyarea, |
79 | .fb_imageblit = cfb_imageblit, | 53 | .fb_imageblit = cfb_imageblit, |
80 | .fb_check_var = drm_fb_helper_check_var, | 54 | .fb_check_var = drm_fb_helper_check_var, |
81 | .fb_set_par = exynos_drm_fbdev_set_par, | 55 | .fb_set_par = drm_fb_helper_set_par, |
82 | .fb_blank = drm_fb_helper_blank, | 56 | .fb_blank = drm_fb_helper_blank, |
83 | .fb_pan_display = drm_fb_helper_pan_display, | 57 | .fb_pan_display = drm_fb_helper_pan_display, |
84 | .fb_setcmap = drm_fb_helper_setcmap, | 58 | .fb_setcmap = drm_fb_helper_setcmap, |
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c index 360adf2bba04..56458eea0501 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c | |||
@@ -817,8 +817,6 @@ static int __devinit fimd_probe(struct platform_device *pdev) | |||
817 | goto err_clk_get; | 817 | goto err_clk_get; |
818 | } | 818 | } |
819 | 819 | ||
820 | clk_enable(ctx->bus_clk); | ||
821 | |||
822 | ctx->lcd_clk = clk_get(dev, "sclk_fimd"); | 820 | ctx->lcd_clk = clk_get(dev, "sclk_fimd"); |
823 | if (IS_ERR(ctx->lcd_clk)) { | 821 | if (IS_ERR(ctx->lcd_clk)) { |
824 | dev_err(dev, "failed to get lcd clock\n"); | 822 | dev_err(dev, "failed to get lcd clock\n"); |
@@ -826,8 +824,6 @@ static int __devinit fimd_probe(struct platform_device *pdev) | |||
826 | goto err_bus_clk; | 824 | goto err_bus_clk; |
827 | } | 825 | } |
828 | 826 | ||
829 | clk_enable(ctx->lcd_clk); | ||
830 | |||
831 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 827 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
832 | if (!res) { | 828 | if (!res) { |
833 | dev_err(dev, "failed to find registers\n"); | 829 | dev_err(dev, "failed to find registers\n"); |
@@ -864,17 +860,11 @@ static int __devinit fimd_probe(struct platform_device *pdev) | |||
864 | goto err_req_irq; | 860 | goto err_req_irq; |
865 | } | 861 | } |
866 | 862 | ||
867 | ctx->clkdiv = fimd_calc_clkdiv(ctx, &panel->timing); | ||
868 | ctx->vidcon0 = pdata->vidcon0; | 863 | ctx->vidcon0 = pdata->vidcon0; |
869 | ctx->vidcon1 = pdata->vidcon1; | 864 | ctx->vidcon1 = pdata->vidcon1; |
870 | ctx->default_win = pdata->default_win; | 865 | ctx->default_win = pdata->default_win; |
871 | ctx->panel = panel; | 866 | ctx->panel = panel; |
872 | 867 | ||
873 | panel->timing.pixclock = clk_get_rate(ctx->lcd_clk) / ctx->clkdiv; | ||
874 | |||
875 | DRM_DEBUG_KMS("pixel clock = %d, clkdiv = %d\n", | ||
876 | panel->timing.pixclock, ctx->clkdiv); | ||
877 | |||
878 | subdrv = &ctx->subdrv; | 868 | subdrv = &ctx->subdrv; |
879 | 869 | ||
880 | subdrv->probe = fimd_subdrv_probe; | 870 | subdrv->probe = fimd_subdrv_probe; |
@@ -889,10 +879,15 @@ static int __devinit fimd_probe(struct platform_device *pdev) | |||
889 | 879 | ||
890 | platform_set_drvdata(pdev, ctx); | 880 | platform_set_drvdata(pdev, ctx); |
891 | 881 | ||
892 | pm_runtime_set_active(dev); | ||
893 | pm_runtime_enable(dev); | 882 | pm_runtime_enable(dev); |
894 | pm_runtime_get_sync(dev); | 883 | pm_runtime_get_sync(dev); |
895 | 884 | ||
885 | ctx->clkdiv = fimd_calc_clkdiv(ctx, &panel->timing); | ||
886 | panel->timing.pixclock = clk_get_rate(ctx->lcd_clk) / ctx->clkdiv; | ||
887 | |||
888 | DRM_DEBUG_KMS("pixel clock = %d, clkdiv = %d\n", | ||
889 | panel->timing.pixclock, ctx->clkdiv); | ||
890 | |||
896 | for (win = 0; win < WINDOWS_NR; win++) | 891 | for (win = 0; win < WINDOWS_NR; win++) |
897 | fimd_clear_win(ctx, win); | 892 | fimd_clear_win(ctx, win); |
898 | 893 | ||
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 03c53fcf8653..558ac716a328 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -2689,7 +2689,7 @@ | |||
2689 | #define DVS_FORMAT_RGBX888 (2<<25) | 2689 | #define DVS_FORMAT_RGBX888 (2<<25) |
2690 | #define DVS_FORMAT_RGBX161616 (3<<25) | 2690 | #define DVS_FORMAT_RGBX161616 (3<<25) |
2691 | #define DVS_SOURCE_KEY (1<<22) | 2691 | #define DVS_SOURCE_KEY (1<<22) |
2692 | #define DVS_RGB_ORDER_RGBX (1<<20) | 2692 | #define DVS_RGB_ORDER_XBGR (1<<20) |
2693 | #define DVS_YUV_BYTE_ORDER_MASK (3<<16) | 2693 | #define DVS_YUV_BYTE_ORDER_MASK (3<<16) |
2694 | #define DVS_YUV_ORDER_YUYV (0<<16) | 2694 | #define DVS_YUV_ORDER_YUYV (0<<16) |
2695 | #define DVS_YUV_ORDER_UYVY (1<<16) | 2695 | #define DVS_YUV_ORDER_UYVY (1<<16) |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index f851db7be2cc..397087cf689e 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -7828,6 +7828,7 @@ int intel_framebuffer_init(struct drm_device *dev, | |||
7828 | case DRM_FORMAT_RGB332: | 7828 | case DRM_FORMAT_RGB332: |
7829 | case DRM_FORMAT_RGB565: | 7829 | case DRM_FORMAT_RGB565: |
7830 | case DRM_FORMAT_XRGB8888: | 7830 | case DRM_FORMAT_XRGB8888: |
7831 | case DRM_FORMAT_XBGR8888: | ||
7831 | case DRM_FORMAT_ARGB8888: | 7832 | case DRM_FORMAT_ARGB8888: |
7832 | case DRM_FORMAT_XRGB2101010: | 7833 | case DRM_FORMAT_XRGB2101010: |
7833 | case DRM_FORMAT_ARGB2101010: | 7834 | case DRM_FORMAT_ARGB2101010: |
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c index 2288abf88cce..a0835040c86b 100644 --- a/drivers/gpu/drm/i915/intel_sprite.c +++ b/drivers/gpu/drm/i915/intel_sprite.c | |||
@@ -225,16 +225,16 @@ snb_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb, | |||
225 | 225 | ||
226 | /* Mask out pixel format bits in case we change it */ | 226 | /* Mask out pixel format bits in case we change it */ |
227 | dvscntr &= ~DVS_PIXFORMAT_MASK; | 227 | dvscntr &= ~DVS_PIXFORMAT_MASK; |
228 | dvscntr &= ~DVS_RGB_ORDER_RGBX; | 228 | dvscntr &= ~DVS_RGB_ORDER_XBGR; |
229 | dvscntr &= ~DVS_YUV_BYTE_ORDER_MASK; | 229 | dvscntr &= ~DVS_YUV_BYTE_ORDER_MASK; |
230 | 230 | ||
231 | switch (fb->pixel_format) { | 231 | switch (fb->pixel_format) { |
232 | case DRM_FORMAT_XBGR8888: | 232 | case DRM_FORMAT_XBGR8888: |
233 | dvscntr |= DVS_FORMAT_RGBX888; | 233 | dvscntr |= DVS_FORMAT_RGBX888 | DVS_RGB_ORDER_XBGR; |
234 | pixel_size = 4; | 234 | pixel_size = 4; |
235 | break; | 235 | break; |
236 | case DRM_FORMAT_XRGB8888: | 236 | case DRM_FORMAT_XRGB8888: |
237 | dvscntr |= DVS_FORMAT_RGBX888 | DVS_RGB_ORDER_RGBX; | 237 | dvscntr |= DVS_FORMAT_RGBX888; |
238 | pixel_size = 4; | 238 | pixel_size = 4; |
239 | break; | 239 | break; |
240 | case DRM_FORMAT_YUYV: | 240 | case DRM_FORMAT_YUYV: |
diff --git a/drivers/hwmon/pmbus/zl6100.c b/drivers/hwmon/pmbus/zl6100.c index 880b90cf4d32..e3e8420b7b81 100644 --- a/drivers/hwmon/pmbus/zl6100.c +++ b/drivers/hwmon/pmbus/zl6100.c | |||
@@ -200,17 +200,11 @@ static int zl6100_probe(struct i2c_client *client, | |||
200 | data->id = mid->driver_data; | 200 | data->id = mid->driver_data; |
201 | 201 | ||
202 | /* | 202 | /* |
203 | * ZL2005, ZL2008, ZL2105, and ZL6100 are known to require a wait time | 203 | * According to information from the chip vendor, all currently |
204 | * between I2C accesses. ZL2004 and ZL6105 are known to be safe. | 204 | * supported chips are known to require a wait time between I2C |
205 | * Other chips have not yet been tested. | 205 | * accesses. |
206 | * | ||
207 | * Only clear the wait time for chips known to be safe. The wait time | ||
208 | * can be cleared later for additional chips if tests show that it | ||
209 | * is not needed (in other words, better be safe than sorry). | ||
210 | */ | 206 | */ |
211 | data->delay = delay; | 207 | data->delay = delay; |
212 | if (data->id == zl2004 || data->id == zl6105) | ||
213 | data->delay = 0; | ||
214 | 208 | ||
215 | /* | 209 | /* |
216 | * Since there was a direct I2C device access above, wait before | 210 | * Since there was a direct I2C device access above, wait before |
diff --git a/drivers/hwmon/w83627ehf.c b/drivers/hwmon/w83627ehf.c index 5276d1933dbc..a658d62c5e10 100644 --- a/drivers/hwmon/w83627ehf.c +++ b/drivers/hwmon/w83627ehf.c | |||
@@ -39,7 +39,7 @@ | |||
39 | 0x8860 0xa1 | 39 | 0x8860 0xa1 |
40 | w83627dhg 9 5 4 3 0xa020 0xc1 0x5ca3 | 40 | w83627dhg 9 5 4 3 0xa020 0xc1 0x5ca3 |
41 | w83627dhg-p 9 5 4 3 0xb070 0xc1 0x5ca3 | 41 | w83627dhg-p 9 5 4 3 0xb070 0xc1 0x5ca3 |
42 | w83627uhg 8 2 2 2 0xa230 0xc1 0x5ca3 | 42 | w83627uhg 8 2 2 3 0xa230 0xc1 0x5ca3 |
43 | w83667hg 9 5 3 3 0xa510 0xc1 0x5ca3 | 43 | w83667hg 9 5 3 3 0xa510 0xc1 0x5ca3 |
44 | w83667hg-b 9 5 3 4 0xb350 0xc1 0x5ca3 | 44 | w83667hg-b 9 5 3 4 0xb350 0xc1 0x5ca3 |
45 | nct6775f 9 4 3 9 0xb470 0xc1 0x5ca3 | 45 | nct6775f 9 4 3 9 0xb470 0xc1 0x5ca3 |
@@ -1607,7 +1607,7 @@ store_##reg(struct device *dev, struct device_attribute *attr, \ | |||
1607 | val = step_time_to_reg(val, data->pwm_mode[nr]); \ | 1607 | val = step_time_to_reg(val, data->pwm_mode[nr]); \ |
1608 | mutex_lock(&data->update_lock); \ | 1608 | mutex_lock(&data->update_lock); \ |
1609 | data->reg[nr] = val; \ | 1609 | data->reg[nr] = val; \ |
1610 | w83627ehf_write_value(data, W83627EHF_REG_##REG[nr], val); \ | 1610 | w83627ehf_write_value(data, data->REG_##REG[nr], val); \ |
1611 | mutex_unlock(&data->update_lock); \ | 1611 | mutex_unlock(&data->update_lock); \ |
1612 | return count; \ | 1612 | return count; \ |
1613 | } \ | 1613 | } \ |
@@ -2004,7 +2004,8 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) | |||
2004 | goto exit; | 2004 | goto exit; |
2005 | } | 2005 | } |
2006 | 2006 | ||
2007 | data = kzalloc(sizeof(struct w83627ehf_data), GFP_KERNEL); | 2007 | data = devm_kzalloc(&pdev->dev, sizeof(struct w83627ehf_data), |
2008 | GFP_KERNEL); | ||
2008 | if (!data) { | 2009 | if (!data) { |
2009 | err = -ENOMEM; | 2010 | err = -ENOMEM; |
2010 | goto exit_release; | 2011 | goto exit_release; |
@@ -2157,16 +2158,16 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) | |||
2157 | w83627ehf_set_temp_reg_ehf(data, 3); | 2158 | w83627ehf_set_temp_reg_ehf(data, 3); |
2158 | 2159 | ||
2159 | /* | 2160 | /* |
2160 | * Temperature sources for temp1 and temp2 are selected with | 2161 | * Temperature sources for temp2 and temp3 are selected with |
2161 | * bank 0, registers 0x49 and 0x4a. | 2162 | * bank 0, registers 0x49 and 0x4a. |
2162 | */ | 2163 | */ |
2163 | data->temp_src[0] = 0; /* SYSTIN */ | 2164 | data->temp_src[0] = 0; /* SYSTIN */ |
2164 | reg = w83627ehf_read_value(data, 0x49) & 0x07; | 2165 | reg = w83627ehf_read_value(data, 0x49) & 0x07; |
2165 | /* Adjust to have the same mapping as other source registers */ | 2166 | /* Adjust to have the same mapping as other source registers */ |
2166 | if (reg == 0) | 2167 | if (reg == 0) |
2167 | data->temp_src[1]++; | 2168 | data->temp_src[1] = 1; |
2168 | else if (reg >= 2 && reg <= 5) | 2169 | else if (reg >= 2 && reg <= 5) |
2169 | data->temp_src[1] += 2; | 2170 | data->temp_src[1] = reg + 2; |
2170 | else /* should never happen */ | 2171 | else /* should never happen */ |
2171 | data->have_temp &= ~(1 << 1); | 2172 | data->have_temp &= ~(1 << 1); |
2172 | reg = w83627ehf_read_value(data, 0x4a); | 2173 | reg = w83627ehf_read_value(data, 0x4a); |
@@ -2493,9 +2494,8 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) | |||
2493 | 2494 | ||
2494 | exit_remove: | 2495 | exit_remove: |
2495 | w83627ehf_device_remove_files(dev); | 2496 | w83627ehf_device_remove_files(dev); |
2496 | kfree(data); | ||
2497 | platform_set_drvdata(pdev, NULL); | ||
2498 | exit_release: | 2497 | exit_release: |
2498 | platform_set_drvdata(pdev, NULL); | ||
2499 | release_region(res->start, IOREGION_LENGTH); | 2499 | release_region(res->start, IOREGION_LENGTH); |
2500 | exit: | 2500 | exit: |
2501 | return err; | 2501 | return err; |
@@ -2509,7 +2509,6 @@ static int __devexit w83627ehf_remove(struct platform_device *pdev) | |||
2509 | w83627ehf_device_remove_files(&pdev->dev); | 2509 | w83627ehf_device_remove_files(&pdev->dev); |
2510 | release_region(data->addr, IOREGION_LENGTH); | 2510 | release_region(data->addr, IOREGION_LENGTH); |
2511 | platform_set_drvdata(pdev, NULL); | 2511 | platform_set_drvdata(pdev, NULL); |
2512 | kfree(data); | ||
2513 | 2512 | ||
2514 | return 0; | 2513 | return 0; |
2515 | } | 2514 | } |
diff --git a/drivers/i2c/algos/i2c-algo-bit.c b/drivers/i2c/algos/i2c-algo-bit.c index 525c7345fa0b..24f94f4ae395 100644 --- a/drivers/i2c/algos/i2c-algo-bit.c +++ b/drivers/i2c/algos/i2c-algo-bit.c | |||
@@ -103,8 +103,14 @@ static int sclhi(struct i2c_algo_bit_data *adap) | |||
103 | * chips may hold it low ("clock stretching") while they | 103 | * chips may hold it low ("clock stretching") while they |
104 | * are processing data internally. | 104 | * are processing data internally. |
105 | */ | 105 | */ |
106 | if (time_after(jiffies, start + adap->timeout)) | 106 | if (time_after(jiffies, start + adap->timeout)) { |
107 | /* Test one last time, as we may have been preempted | ||
108 | * between last check and timeout test. | ||
109 | */ | ||
110 | if (getscl(adap)) | ||
111 | break; | ||
107 | return -ETIMEDOUT; | 112 | return -ETIMEDOUT; |
113 | } | ||
108 | cond_resched(); | 114 | cond_resched(); |
109 | } | 115 | } |
110 | #ifdef DEBUG | 116 | #ifdef DEBUG |
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index 1e5606185b4f..e9c18939eda7 100644 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c | |||
@@ -1386,8 +1386,10 @@ int i2c_master_send(const struct i2c_client *client, const char *buf, int count) | |||
1386 | 1386 | ||
1387 | ret = i2c_transfer(adap, &msg, 1); | 1387 | ret = i2c_transfer(adap, &msg, 1); |
1388 | 1388 | ||
1389 | /* If everything went ok (i.e. 1 msg transmitted), return #bytes | 1389 | /* |
1390 | transmitted, else error code. */ | 1390 | * If everything went ok (i.e. 1 msg transmitted), return #bytes |
1391 | * transmitted, else error code. | ||
1392 | */ | ||
1391 | return (ret == 1) ? count : ret; | 1393 | return (ret == 1) ? count : ret; |
1392 | } | 1394 | } |
1393 | EXPORT_SYMBOL(i2c_master_send); | 1395 | EXPORT_SYMBOL(i2c_master_send); |
@@ -1414,8 +1416,10 @@ int i2c_master_recv(const struct i2c_client *client, char *buf, int count) | |||
1414 | 1416 | ||
1415 | ret = i2c_transfer(adap, &msg, 1); | 1417 | ret = i2c_transfer(adap, &msg, 1); |
1416 | 1418 | ||
1417 | /* If everything went ok (i.e. 1 msg transmitted), return #bytes | 1419 | /* |
1418 | transmitted, else error code. */ | 1420 | * If everything went ok (i.e. 1 msg received), return #bytes received, |
1421 | * else error code. | ||
1422 | */ | ||
1419 | return (ret == 1) ? count : ret; | 1423 | return (ret == 1) ? count : ret; |
1420 | } | 1424 | } |
1421 | EXPORT_SYMBOL(i2c_master_recv); | 1425 | EXPORT_SYMBOL(i2c_master_recv); |
diff --git a/drivers/media/dvb/siano/smsdvb.c b/drivers/media/dvb/siano/smsdvb.c index 654685c9303e..aa77e54a8fae 100644 --- a/drivers/media/dvb/siano/smsdvb.c +++ b/drivers/media/dvb/siano/smsdvb.c | |||
@@ -49,9 +49,6 @@ struct smsdvb_client_t { | |||
49 | 49 | ||
50 | struct completion tune_done; | 50 | struct completion tune_done; |
51 | 51 | ||
52 | /* todo: save freq/band instead whole struct */ | ||
53 | struct dtv_frontend_properties fe_params; | ||
54 | |||
55 | struct SMSHOSTLIB_STATISTICS_DVB_S sms_stat_dvb; | 52 | struct SMSHOSTLIB_STATISTICS_DVB_S sms_stat_dvb; |
56 | int event_fe_state; | 53 | int event_fe_state; |
57 | int event_unc_state; | 54 | int event_unc_state; |
@@ -744,12 +741,124 @@ static int smsdvb_get_frontend(struct dvb_frontend *fe) | |||
744 | struct dtv_frontend_properties *fep = &fe->dtv_property_cache; | 741 | struct dtv_frontend_properties *fep = &fe->dtv_property_cache; |
745 | struct smsdvb_client_t *client = | 742 | struct smsdvb_client_t *client = |
746 | container_of(fe, struct smsdvb_client_t, frontend); | 743 | container_of(fe, struct smsdvb_client_t, frontend); |
744 | struct smscore_device_t *coredev = client->coredev; | ||
745 | struct TRANSMISSION_STATISTICS_S *td = | ||
746 | &client->sms_stat_dvb.TransmissionData; | ||
747 | 747 | ||
748 | sms_debug(""); | 748 | switch (smscore_get_device_mode(coredev)) { |
749 | case DEVICE_MODE_DVBT: | ||
750 | case DEVICE_MODE_DVBT_BDA: | ||
751 | fep->frequency = td->Frequency; | ||
752 | |||
753 | switch (td->Bandwidth) { | ||
754 | case 6: | ||
755 | fep->bandwidth_hz = 6000000; | ||
756 | break; | ||
757 | case 7: | ||
758 | fep->bandwidth_hz = 7000000; | ||
759 | break; | ||
760 | case 8: | ||
761 | fep->bandwidth_hz = 8000000; | ||
762 | break; | ||
763 | } | ||
764 | |||
765 | switch (td->TransmissionMode) { | ||
766 | case 2: | ||
767 | fep->transmission_mode = TRANSMISSION_MODE_2K; | ||
768 | break; | ||
769 | case 8: | ||
770 | fep->transmission_mode = TRANSMISSION_MODE_8K; | ||
771 | } | ||
772 | |||
773 | switch (td->GuardInterval) { | ||
774 | case 0: | ||
775 | fep->guard_interval = GUARD_INTERVAL_1_32; | ||
776 | break; | ||
777 | case 1: | ||
778 | fep->guard_interval = GUARD_INTERVAL_1_16; | ||
779 | break; | ||
780 | case 2: | ||
781 | fep->guard_interval = GUARD_INTERVAL_1_8; | ||
782 | break; | ||
783 | case 3: | ||
784 | fep->guard_interval = GUARD_INTERVAL_1_4; | ||
785 | break; | ||
786 | } | ||
787 | |||
788 | switch (td->CodeRate) { | ||
789 | case 0: | ||
790 | fep->code_rate_HP = FEC_1_2; | ||
791 | break; | ||
792 | case 1: | ||
793 | fep->code_rate_HP = FEC_2_3; | ||
794 | break; | ||
795 | case 2: | ||
796 | fep->code_rate_HP = FEC_3_4; | ||
797 | break; | ||
798 | case 3: | ||
799 | fep->code_rate_HP = FEC_5_6; | ||
800 | break; | ||
801 | case 4: | ||
802 | fep->code_rate_HP = FEC_7_8; | ||
803 | break; | ||
804 | } | ||
805 | |||
806 | switch (td->LPCodeRate) { | ||
807 | case 0: | ||
808 | fep->code_rate_LP = FEC_1_2; | ||
809 | break; | ||
810 | case 1: | ||
811 | fep->code_rate_LP = FEC_2_3; | ||
812 | break; | ||
813 | case 2: | ||
814 | fep->code_rate_LP = FEC_3_4; | ||
815 | break; | ||
816 | case 3: | ||
817 | fep->code_rate_LP = FEC_5_6; | ||
818 | break; | ||
819 | case 4: | ||
820 | fep->code_rate_LP = FEC_7_8; | ||
821 | break; | ||
822 | } | ||
823 | |||
824 | switch (td->Constellation) { | ||
825 | case 0: | ||
826 | fep->modulation = QPSK; | ||
827 | break; | ||
828 | case 1: | ||
829 | fep->modulation = QAM_16; | ||
830 | break; | ||
831 | case 2: | ||
832 | fep->modulation = QAM_64; | ||
833 | break; | ||
834 | } | ||
835 | |||
836 | switch (td->Hierarchy) { | ||
837 | case 0: | ||
838 | fep->hierarchy = HIERARCHY_NONE; | ||
839 | break; | ||
840 | case 1: | ||
841 | fep->hierarchy = HIERARCHY_1; | ||
842 | break; | ||
843 | case 2: | ||
844 | fep->hierarchy = HIERARCHY_2; | ||
845 | break; | ||
846 | case 3: | ||
847 | fep->hierarchy = HIERARCHY_4; | ||
848 | break; | ||
849 | } | ||
749 | 850 | ||
750 | /* todo: */ | 851 | fep->inversion = INVERSION_AUTO; |
751 | memcpy(fep, &client->fe_params, | 852 | break; |
752 | sizeof(struct dtv_frontend_properties)); | 853 | case DEVICE_MODE_ISDBT: |
854 | case DEVICE_MODE_ISDBT_BDA: | ||
855 | fep->frequency = td->Frequency; | ||
856 | fep->bandwidth_hz = 6000000; | ||
857 | /* todo: retrive the other parameters */ | ||
858 | break; | ||
859 | default: | ||
860 | return -EINVAL; | ||
861 | } | ||
753 | 862 | ||
754 | return 0; | 863 | return 0; |
755 | } | 864 | } |
@@ -872,11 +981,11 @@ static int smsdvb_hotplug(struct smscore_device_t *coredev, | |||
872 | switch (smscore_get_device_mode(coredev)) { | 981 | switch (smscore_get_device_mode(coredev)) { |
873 | case DEVICE_MODE_DVBT: | 982 | case DEVICE_MODE_DVBT: |
874 | case DEVICE_MODE_DVBT_BDA: | 983 | case DEVICE_MODE_DVBT_BDA: |
875 | smsdvb_fe_ops.delsys[0] = SYS_DVBT; | 984 | client->frontend.ops.delsys[0] = SYS_DVBT; |
876 | break; | 985 | break; |
877 | case DEVICE_MODE_ISDBT: | 986 | case DEVICE_MODE_ISDBT: |
878 | case DEVICE_MODE_ISDBT_BDA: | 987 | case DEVICE_MODE_ISDBT_BDA: |
879 | smsdvb_fe_ops.delsys[0] = SYS_ISDBT; | 988 | client->frontend.ops.delsys[0] = SYS_ISDBT; |
880 | break; | 989 | break; |
881 | } | 990 | } |
882 | 991 | ||
diff --git a/drivers/media/video/davinci/isif.c b/drivers/media/video/davinci/isif.c index 1e63852374be..5278fe7d6d0c 100644 --- a/drivers/media/video/davinci/isif.c +++ b/drivers/media/video/davinci/isif.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/videodev2.h> | 34 | #include <linux/videodev2.h> |
35 | #include <linux/clk.h> | 35 | #include <linux/clk.h> |
36 | #include <linux/err.h> | 36 | #include <linux/err.h> |
37 | #include <linux/module.h> | ||
37 | 38 | ||
38 | #include <mach/mux.h> | 39 | #include <mach/mux.h> |
39 | 40 | ||
diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c index c7e69b8f81c9..4a44f9a1bae0 100644 --- a/drivers/media/video/uvc/uvc_video.c +++ b/drivers/media/video/uvc/uvc_video.c | |||
@@ -611,9 +611,11 @@ void uvc_video_clock_update(struct uvc_streaming *stream, | |||
611 | delta_stc = buf->pts - (1UL << 31); | 611 | delta_stc = buf->pts - (1UL << 31); |
612 | x1 = first->dev_stc - delta_stc; | 612 | x1 = first->dev_stc - delta_stc; |
613 | x2 = last->dev_stc - delta_stc; | 613 | x2 = last->dev_stc - delta_stc; |
614 | if (x1 == x2) | ||
615 | goto done; | ||
616 | |||
614 | y1 = (first->dev_sof + 2048) << 16; | 617 | y1 = (first->dev_sof + 2048) << 16; |
615 | y2 = (last->dev_sof + 2048) << 16; | 618 | y2 = (last->dev_sof + 2048) << 16; |
616 | |||
617 | if (y2 < y1) | 619 | if (y2 < y1) |
618 | y2 += 2048 << 16; | 620 | y2 += 2048 << 16; |
619 | 621 | ||
@@ -631,14 +633,16 @@ void uvc_video_clock_update(struct uvc_streaming *stream, | |||
631 | x1, x2, y1, y2, clock->sof_offset); | 633 | x1, x2, y1, y2, clock->sof_offset); |
632 | 634 | ||
633 | /* Second step, SOF to host clock conversion. */ | 635 | /* Second step, SOF to host clock conversion. */ |
634 | ts = timespec_sub(last->host_ts, first->host_ts); | ||
635 | x1 = (uvc_video_clock_host_sof(first) + 2048) << 16; | 636 | x1 = (uvc_video_clock_host_sof(first) + 2048) << 16; |
636 | x2 = (uvc_video_clock_host_sof(last) + 2048) << 16; | 637 | x2 = (uvc_video_clock_host_sof(last) + 2048) << 16; |
637 | y1 = NSEC_PER_SEC; | ||
638 | y2 = (ts.tv_sec + 1) * NSEC_PER_SEC + ts.tv_nsec; | ||
639 | |||
640 | if (x2 < x1) | 638 | if (x2 < x1) |
641 | x2 += 2048 << 16; | 639 | x2 += 2048 << 16; |
640 | if (x1 == x2) | ||
641 | goto done; | ||
642 | |||
643 | ts = timespec_sub(last->host_ts, first->host_ts); | ||
644 | y1 = NSEC_PER_SEC; | ||
645 | y2 = (ts.tv_sec + 1) * NSEC_PER_SEC + ts.tv_nsec; | ||
642 | 646 | ||
643 | /* Interpolated and host SOF timestamps can wrap around at slightly | 647 | /* Interpolated and host SOF timestamps can wrap around at slightly |
644 | * different times. Handle this by adding or removing 2048 to or from | 648 | * different times. Handle this by adding or removing 2048 to or from |
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c index c11e50d328c4..b814f4eaed19 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | |||
@@ -1992,7 +1992,7 @@ int bnx2x_nic_load(struct bnx2x *bp, int load_mode) | |||
1992 | } | 1992 | } |
1993 | 1993 | ||
1994 | if (bp->port.pmf) | 1994 | if (bp->port.pmf) |
1995 | bnx2x_update_drv_flags(bp, DRV_FLAGS_DCB_CONFIGURED, 0); | 1995 | bnx2x_update_drv_flags(bp, 1 << DRV_FLAGS_DCB_CONFIGURED, 0); |
1996 | else | 1996 | else |
1997 | bnx2x__link_status_update(bp); | 1997 | bnx2x__link_status_update(bp); |
1998 | 1998 | ||
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h index cc02ae51a30d..5904b1b1dad4 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | |||
@@ -1181,10 +1181,16 @@ static inline int bnx2x_alloc_rx_bds(struct bnx2x_fastpath *fp, | |||
1181 | */ | 1181 | */ |
1182 | static inline u8 bnx2x_stats_id(struct bnx2x_fastpath *fp) | 1182 | static inline u8 bnx2x_stats_id(struct bnx2x_fastpath *fp) |
1183 | { | 1183 | { |
1184 | if (!CHIP_IS_E1x(fp->bp)) | 1184 | struct bnx2x *bp = fp->bp; |
1185 | if (!CHIP_IS_E1x(bp)) { | ||
1186 | #ifdef BCM_CNIC | ||
1187 | /* there are special statistics counters for FCoE 136..140 */ | ||
1188 | if (IS_FCOE_FP(fp)) | ||
1189 | return bp->cnic_base_cl_id + (bp->pf_num >> 1); | ||
1190 | #endif | ||
1185 | return fp->cl_id; | 1191 | return fp->cl_id; |
1186 | else | 1192 | } |
1187 | return fp->cl_id + BP_PORT(fp->bp) * FP_SB_MAX_E1x; | 1193 | return fp->cl_id + BP_PORT(bp) * FP_SB_MAX_E1x; |
1188 | } | 1194 | } |
1189 | 1195 | ||
1190 | static inline void bnx2x_init_vlan_mac_fp_objs(struct bnx2x_fastpath *fp, | 1196 | static inline void bnx2x_init_vlan_mac_fp_objs(struct bnx2x_fastpath *fp, |
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c index 9a4ed05bb30a..4446a42e8bdc 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c | |||
@@ -735,7 +735,9 @@ void bnx2x_dcbx_set_params(struct bnx2x *bp, u32 state) | |||
735 | bp->dcbx_error); | 735 | bp->dcbx_error); |
736 | 736 | ||
737 | /* mark DCBX result for PMF migration */ | 737 | /* mark DCBX result for PMF migration */ |
738 | bnx2x_update_drv_flags(bp, DRV_FLAGS_DCB_CONFIGURED, 1); | 738 | bnx2x_update_drv_flags(bp, |
739 | 1 << DRV_FLAGS_DCB_CONFIGURED, | ||
740 | 1); | ||
739 | #ifdef BCM_DCBNL | 741 | #ifdef BCM_DCBNL |
740 | /* | 742 | /* |
741 | * Add new app tlvs to dcbnl | 743 | * Add new app tlvs to dcbnl |
@@ -1020,7 +1022,7 @@ void bnx2x_dcbx_init(struct bnx2x *bp) | |||
1020 | DP(NETIF_MSG_LINK, "dcbx_lldp_params_offset 0x%x\n", | 1022 | DP(NETIF_MSG_LINK, "dcbx_lldp_params_offset 0x%x\n", |
1021 | dcbx_lldp_params_offset); | 1023 | dcbx_lldp_params_offset); |
1022 | 1024 | ||
1023 | bnx2x_update_drv_flags(bp, DRV_FLAGS_DCB_CONFIGURED, 0); | 1025 | bnx2x_update_drv_flags(bp, 1 << DRV_FLAGS_DCB_CONFIGURED, 0); |
1024 | 1026 | ||
1025 | if (SHMEM_LLDP_DCBX_PARAMS_NONE != dcbx_lldp_params_offset) { | 1027 | if (SHMEM_LLDP_DCBX_PARAMS_NONE != dcbx_lldp_params_offset) { |
1026 | bnx2x_dcbx_admin_mib_updated_params(bp, | 1028 | bnx2x_dcbx_admin_mib_updated_params(bp, |
@@ -1857,7 +1859,7 @@ void bnx2x_dcbx_pmf_update(struct bnx2x *bp) | |||
1857 | * read it from shmem and update bp and netdev accordingly | 1859 | * read it from shmem and update bp and netdev accordingly |
1858 | */ | 1860 | */ |
1859 | if (SHMEM2_HAS(bp, drv_flags) && | 1861 | if (SHMEM2_HAS(bp, drv_flags) && |
1860 | GET_FLAGS(SHMEM2_RD(bp, drv_flags), DRV_FLAGS_DCB_CONFIGURED)) { | 1862 | GET_FLAGS(SHMEM2_RD(bp, drv_flags), 1 << DRV_FLAGS_DCB_CONFIGURED)) { |
1861 | /* Read neg results if dcbx is in the FW */ | 1863 | /* Read neg results if dcbx is in the FW */ |
1862 | if (bnx2x_dcbx_read_shmem_neg_results(bp)) | 1864 | if (bnx2x_dcbx_read_shmem_neg_results(bp)) |
1863 | return; | 1865 | return; |
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c index bf14a08f0796..a743a5fcb22c 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | |||
@@ -10907,38 +10907,36 @@ do { \ | |||
10907 | 10907 | ||
10908 | int bnx2x_init_firmware(struct bnx2x *bp) | 10908 | int bnx2x_init_firmware(struct bnx2x *bp) |
10909 | { | 10909 | { |
10910 | const char *fw_file_name; | ||
10910 | struct bnx2x_fw_file_hdr *fw_hdr; | 10911 | struct bnx2x_fw_file_hdr *fw_hdr; |
10911 | int rc; | 10912 | int rc; |
10912 | 10913 | ||
10914 | if (bp->firmware) | ||
10915 | return 0; | ||
10913 | 10916 | ||
10914 | if (!bp->firmware) { | 10917 | if (CHIP_IS_E1(bp)) |
10915 | const char *fw_file_name; | 10918 | fw_file_name = FW_FILE_NAME_E1; |
10916 | 10919 | else if (CHIP_IS_E1H(bp)) | |
10917 | if (CHIP_IS_E1(bp)) | 10920 | fw_file_name = FW_FILE_NAME_E1H; |
10918 | fw_file_name = FW_FILE_NAME_E1; | 10921 | else if (!CHIP_IS_E1x(bp)) |
10919 | else if (CHIP_IS_E1H(bp)) | 10922 | fw_file_name = FW_FILE_NAME_E2; |
10920 | fw_file_name = FW_FILE_NAME_E1H; | 10923 | else { |
10921 | else if (!CHIP_IS_E1x(bp)) | 10924 | BNX2X_ERR("Unsupported chip revision\n"); |
10922 | fw_file_name = FW_FILE_NAME_E2; | 10925 | return -EINVAL; |
10923 | else { | 10926 | } |
10924 | BNX2X_ERR("Unsupported chip revision\n"); | 10927 | BNX2X_DEV_INFO("Loading %s\n", fw_file_name); |
10925 | return -EINVAL; | ||
10926 | } | ||
10927 | BNX2X_DEV_INFO("Loading %s\n", fw_file_name); | ||
10928 | 10928 | ||
10929 | rc = request_firmware(&bp->firmware, fw_file_name, | 10929 | rc = request_firmware(&bp->firmware, fw_file_name, &bp->pdev->dev); |
10930 | &bp->pdev->dev); | 10930 | if (rc) { |
10931 | if (rc) { | 10931 | BNX2X_ERR("Can't load firmware file %s\n", |
10932 | BNX2X_ERR("Can't load firmware file %s\n", | 10932 | fw_file_name); |
10933 | fw_file_name); | 10933 | goto request_firmware_exit; |
10934 | goto request_firmware_exit; | 10934 | } |
10935 | } | ||
10936 | 10935 | ||
10937 | rc = bnx2x_check_firmware(bp); | 10936 | rc = bnx2x_check_firmware(bp); |
10938 | if (rc) { | 10937 | if (rc) { |
10939 | BNX2X_ERR("Corrupt firmware file %s\n", fw_file_name); | 10938 | BNX2X_ERR("Corrupt firmware file %s\n", fw_file_name); |
10940 | goto request_firmware_exit; | 10939 | goto request_firmware_exit; |
10941 | } | ||
10942 | } | 10940 | } |
10943 | 10941 | ||
10944 | fw_hdr = (struct bnx2x_fw_file_hdr *)bp->firmware->data; | 10942 | fw_hdr = (struct bnx2x_fw_file_hdr *)bp->firmware->data; |
@@ -10984,6 +10982,7 @@ init_ops_alloc_err: | |||
10984 | kfree(bp->init_data); | 10982 | kfree(bp->init_data); |
10985 | request_firmware_exit: | 10983 | request_firmware_exit: |
10986 | release_firmware(bp->firmware); | 10984 | release_firmware(bp->firmware); |
10985 | bp->firmware = NULL; | ||
10987 | 10986 | ||
10988 | return rc; | 10987 | return rc; |
10989 | } | 10988 | } |
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c index 1999fa58704d..484498f6bf1e 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | |||
@@ -5591,7 +5591,7 @@ static inline int bnx2x_func_send_start(struct bnx2x *bp, | |||
5591 | 5591 | ||
5592 | /* Fill the ramrod data with provided parameters */ | 5592 | /* Fill the ramrod data with provided parameters */ |
5593 | rdata->function_mode = cpu_to_le16(start_params->mf_mode); | 5593 | rdata->function_mode = cpu_to_le16(start_params->mf_mode); |
5594 | rdata->sd_vlan_tag = start_params->sd_vlan_tag; | 5594 | rdata->sd_vlan_tag = cpu_to_le16(start_params->sd_vlan_tag); |
5595 | rdata->path_id = BP_PATH(bp); | 5595 | rdata->path_id = BP_PATH(bp); |
5596 | rdata->network_cos_mode = start_params->network_cos_mode; | 5596 | rdata->network_cos_mode = start_params->network_cos_mode; |
5597 | 5597 | ||
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c index 14c961beaadb..4cd4f127fe79 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c | |||
@@ -554,23 +554,11 @@ static void bnx2x_bmac_stats_update(struct bnx2x *bp) | |||
554 | UPDATE_STAT64(tx_stat_gtufl, tx_stat_mac_ufl); | 554 | UPDATE_STAT64(tx_stat_gtufl, tx_stat_mac_ufl); |
555 | 555 | ||
556 | /* collect PFC stats */ | 556 | /* collect PFC stats */ |
557 | DIFF_64(diff.hi, new->tx_stat_gtpp_hi, | ||
558 | pstats->pfc_frames_tx_hi, | ||
559 | diff.lo, new->tx_stat_gtpp_lo, | ||
560 | pstats->pfc_frames_tx_lo); | ||
561 | pstats->pfc_frames_tx_hi = new->tx_stat_gtpp_hi; | 557 | pstats->pfc_frames_tx_hi = new->tx_stat_gtpp_hi; |
562 | pstats->pfc_frames_tx_lo = new->tx_stat_gtpp_lo; | 558 | pstats->pfc_frames_tx_lo = new->tx_stat_gtpp_lo; |
563 | ADD_64(pstats->pfc_frames_tx_hi, diff.hi, | ||
564 | pstats->pfc_frames_tx_lo, diff.lo); | ||
565 | 559 | ||
566 | DIFF_64(diff.hi, new->rx_stat_grpp_hi, | ||
567 | pstats->pfc_frames_rx_hi, | ||
568 | diff.lo, new->rx_stat_grpp_lo, | ||
569 | pstats->pfc_frames_rx_lo); | ||
570 | pstats->pfc_frames_rx_hi = new->rx_stat_grpp_hi; | 560 | pstats->pfc_frames_rx_hi = new->rx_stat_grpp_hi; |
571 | pstats->pfc_frames_rx_lo = new->rx_stat_grpp_lo; | 561 | pstats->pfc_frames_rx_lo = new->rx_stat_grpp_lo; |
572 | ADD_64(pstats->pfc_frames_rx_hi, diff.hi, | ||
573 | pstats->pfc_frames_rx_lo, diff.lo); | ||
574 | } | 562 | } |
575 | 563 | ||
576 | estats->pause_frames_received_hi = | 564 | estats->pause_frames_received_hi = |
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index 0f8e8344891b..2517d209d602 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c | |||
@@ -167,7 +167,7 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net) | |||
167 | 167 | ||
168 | dev_kfree_skb(skb); | 168 | dev_kfree_skb(skb); |
169 | net->stats.tx_dropped++; | 169 | net->stats.tx_dropped++; |
170 | return NETDEV_TX_BUSY; | 170 | return NETDEV_TX_OK; |
171 | } | 171 | } |
172 | 172 | ||
173 | packet->vlan_tci = skb->vlan_tci; | 173 | packet->vlan_tci = skb->vlan_tci; |
@@ -229,7 +229,7 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net) | |||
229 | dev_kfree_skb_any(skb); | 229 | dev_kfree_skb_any(skb); |
230 | } | 230 | } |
231 | 231 | ||
232 | return ret ? NETDEV_TX_BUSY : NETDEV_TX_OK; | 232 | return NETDEV_TX_OK; |
233 | } | 233 | } |
234 | 234 | ||
235 | /* | 235 | /* |
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 2c5d34957c57..74d7f76d14a3 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c | |||
@@ -359,7 +359,7 @@ static void tun_free_netdev(struct net_device *dev) | |||
359 | { | 359 | { |
360 | struct tun_struct *tun = netdev_priv(dev); | 360 | struct tun_struct *tun = netdev_priv(dev); |
361 | 361 | ||
362 | sock_put(tun->socket.sk); | 362 | sk_release_kernel(tun->socket.sk); |
363 | } | 363 | } |
364 | 364 | ||
365 | /* Net device open. */ | 365 | /* Net device open. */ |
@@ -980,10 +980,18 @@ static int tun_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
980 | return ret; | 980 | return ret; |
981 | } | 981 | } |
982 | 982 | ||
983 | static int tun_release(struct socket *sock) | ||
984 | { | ||
985 | if (sock->sk) | ||
986 | sock_put(sock->sk); | ||
987 | return 0; | ||
988 | } | ||
989 | |||
983 | /* Ops structure to mimic raw sockets with tun */ | 990 | /* Ops structure to mimic raw sockets with tun */ |
984 | static const struct proto_ops tun_socket_ops = { | 991 | static const struct proto_ops tun_socket_ops = { |
985 | .sendmsg = tun_sendmsg, | 992 | .sendmsg = tun_sendmsg, |
986 | .recvmsg = tun_recvmsg, | 993 | .recvmsg = tun_recvmsg, |
994 | .release = tun_release, | ||
987 | }; | 995 | }; |
988 | 996 | ||
989 | static struct proto tun_proto = { | 997 | static struct proto tun_proto = { |
@@ -1110,10 +1118,11 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr) | |||
1110 | tun->vnet_hdr_sz = sizeof(struct virtio_net_hdr); | 1118 | tun->vnet_hdr_sz = sizeof(struct virtio_net_hdr); |
1111 | 1119 | ||
1112 | err = -ENOMEM; | 1120 | err = -ENOMEM; |
1113 | sk = sk_alloc(net, AF_UNSPEC, GFP_KERNEL, &tun_proto); | 1121 | sk = sk_alloc(&init_net, AF_UNSPEC, GFP_KERNEL, &tun_proto); |
1114 | if (!sk) | 1122 | if (!sk) |
1115 | goto err_free_dev; | 1123 | goto err_free_dev; |
1116 | 1124 | ||
1125 | sk_change_net(sk, net); | ||
1117 | tun->socket.wq = &tun->wq; | 1126 | tun->socket.wq = &tun->wq; |
1118 | init_waitqueue_head(&tun->wq.wait); | 1127 | init_waitqueue_head(&tun->wq.wait); |
1119 | tun->socket.ops = &tun_socket_ops; | 1128 | tun->socket.ops = &tun_socket_ops; |
@@ -1174,7 +1183,7 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr) | |||
1174 | return 0; | 1183 | return 0; |
1175 | 1184 | ||
1176 | err_free_sk: | 1185 | err_free_sk: |
1177 | sock_put(sk); | 1186 | tun_free_netdev(dev); |
1178 | err_free_dev: | 1187 | err_free_dev: |
1179 | free_netdev(dev); | 1188 | free_netdev(dev); |
1180 | failed: | 1189 | failed: |
diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c index 25fe1838d886..5ee032cafade 100644 --- a/drivers/net/usb/asix.c +++ b/drivers/net/usb/asix.c | |||
@@ -1551,6 +1551,10 @@ static const struct usb_device_id products [] = { | |||
1551 | USB_DEVICE (0x6189, 0x182d), | 1551 | USB_DEVICE (0x6189, 0x182d), |
1552 | .driver_info = (unsigned long) &ax8817x_info, | 1552 | .driver_info = (unsigned long) &ax8817x_info, |
1553 | }, { | 1553 | }, { |
1554 | // Sitecom LN-031 "USB 2.0 10/100/1000 Ethernet adapter" | ||
1555 | USB_DEVICE (0x0df6, 0x0056), | ||
1556 | .driver_info = (unsigned long) &ax88178_info, | ||
1557 | }, { | ||
1554 | // corega FEther USB2-TX | 1558 | // corega FEther USB2-TX |
1555 | USB_DEVICE (0x07aa, 0x0017), | 1559 | USB_DEVICE (0x07aa, 0x0017), |
1556 | .driver_info = (unsigned long) &ax8817x_info, | 1560 | .driver_info = (unsigned long) &ax8817x_info, |
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index 5394b4eb00b0..4b8b52ca09d8 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c | |||
@@ -328,13 +328,13 @@ static int rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags) | |||
328 | unsigned long lockflags; | 328 | unsigned long lockflags; |
329 | size_t size = dev->rx_urb_size; | 329 | size_t size = dev->rx_urb_size; |
330 | 330 | ||
331 | if ((skb = alloc_skb (size + NET_IP_ALIGN, flags)) == NULL) { | 331 | skb = __netdev_alloc_skb_ip_align(dev->net, size, flags); |
332 | if (!skb) { | ||
332 | netif_dbg(dev, rx_err, dev->net, "no rx skb\n"); | 333 | netif_dbg(dev, rx_err, dev->net, "no rx skb\n"); |
333 | usbnet_defer_kevent (dev, EVENT_RX_MEMORY); | 334 | usbnet_defer_kevent (dev, EVENT_RX_MEMORY); |
334 | usb_free_urb (urb); | 335 | usb_free_urb (urb); |
335 | return -ENOMEM; | 336 | return -ENOMEM; |
336 | } | 337 | } |
337 | skb_reserve (skb, NET_IP_ALIGN); | ||
338 | 338 | ||
339 | entry = (struct skb_data *) skb->cb; | 339 | entry = (struct skb_data *) skb->cb; |
340 | entry->urb = urb; | 340 | entry->urb = urb; |
diff --git a/drivers/net/wimax/i2400m/netdev.c b/drivers/net/wimax/i2400m/netdev.c index 64a110604ad3..63e4b709efa9 100644 --- a/drivers/net/wimax/i2400m/netdev.c +++ b/drivers/net/wimax/i2400m/netdev.c | |||
@@ -367,38 +367,28 @@ netdev_tx_t i2400m_hard_start_xmit(struct sk_buff *skb, | |||
367 | { | 367 | { |
368 | struct i2400m *i2400m = net_dev_to_i2400m(net_dev); | 368 | struct i2400m *i2400m = net_dev_to_i2400m(net_dev); |
369 | struct device *dev = i2400m_dev(i2400m); | 369 | struct device *dev = i2400m_dev(i2400m); |
370 | int result; | 370 | int result = -1; |
371 | 371 | ||
372 | d_fnstart(3, dev, "(skb %p net_dev %p)\n", skb, net_dev); | 372 | d_fnstart(3, dev, "(skb %p net_dev %p)\n", skb, net_dev); |
373 | if (skb_header_cloned(skb)) { | 373 | |
374 | /* | 374 | if (skb_header_cloned(skb) && |
375 | * Make tcpdump/wireshark happy -- if they are | 375 | pskb_expand_head(skb, 0, 0, GFP_ATOMIC)) |
376 | * running, the skb is cloned and we will overwrite | 376 | goto drop; |
377 | * the mac fields in i2400m_tx_prep_header. Expand | ||
378 | * seems to fix this... | ||
379 | */ | ||
380 | result = pskb_expand_head(skb, 0, 0, GFP_ATOMIC); | ||
381 | if (result) { | ||
382 | result = NETDEV_TX_BUSY; | ||
383 | goto error_expand; | ||
384 | } | ||
385 | } | ||
386 | 377 | ||
387 | if (i2400m->state == I2400M_SS_IDLE) | 378 | if (i2400m->state == I2400M_SS_IDLE) |
388 | result = i2400m_net_wake_tx(i2400m, net_dev, skb); | 379 | result = i2400m_net_wake_tx(i2400m, net_dev, skb); |
389 | else | 380 | else |
390 | result = i2400m_net_tx(i2400m, net_dev, skb); | 381 | result = i2400m_net_tx(i2400m, net_dev, skb); |
391 | if (result < 0) | 382 | if (result < 0) { |
383 | drop: | ||
392 | net_dev->stats.tx_dropped++; | 384 | net_dev->stats.tx_dropped++; |
393 | else { | 385 | } else { |
394 | net_dev->stats.tx_packets++; | 386 | net_dev->stats.tx_packets++; |
395 | net_dev->stats.tx_bytes += skb->len; | 387 | net_dev->stats.tx_bytes += skb->len; |
396 | } | 388 | } |
397 | result = NETDEV_TX_OK; | 389 | dev_kfree_skb(skb); |
398 | error_expand: | ||
399 | kfree_skb(skb); | ||
400 | d_fnend(3, dev, "(skb %p net_dev %p) = %d\n", skb, net_dev, result); | 390 | d_fnend(3, dev, "(skb %p net_dev %p) = %d\n", skb, net_dev, result); |
401 | return result; | 391 | return NETDEV_TX_OK; |
402 | } | 392 | } |
403 | 393 | ||
404 | 394 | ||
diff --git a/drivers/net/wireless/iwlegacy/3945-mac.c b/drivers/net/wireless/iwlegacy/3945-mac.c index 0ccc934a35bb..0c1209390169 100644 --- a/drivers/net/wireless/iwlegacy/3945-mac.c +++ b/drivers/net/wireless/iwlegacy/3945-mac.c | |||
@@ -2466,7 +2466,7 @@ il3945_bg_alive_start(struct work_struct *data) | |||
2466 | container_of(data, struct il_priv, alive_start.work); | 2466 | container_of(data, struct il_priv, alive_start.work); |
2467 | 2467 | ||
2468 | mutex_lock(&il->mutex); | 2468 | mutex_lock(&il->mutex); |
2469 | if (test_bit(S_EXIT_PENDING, &il->status)) | 2469 | if (test_bit(S_EXIT_PENDING, &il->status) || il->txq == NULL) |
2470 | goto out; | 2470 | goto out; |
2471 | 2471 | ||
2472 | il3945_alive_start(il); | 2472 | il3945_alive_start(il); |
diff --git a/drivers/net/wireless/iwlegacy/3945.c b/drivers/net/wireless/iwlegacy/3945.c index 456f32da6b26..c5b1d199e0bc 100644 --- a/drivers/net/wireless/iwlegacy/3945.c +++ b/drivers/net/wireless/iwlegacy/3945.c | |||
@@ -1855,11 +1855,12 @@ il3945_bg_reg_txpower_periodic(struct work_struct *work) | |||
1855 | struct il_priv *il = container_of(work, struct il_priv, | 1855 | struct il_priv *il = container_of(work, struct il_priv, |
1856 | _3945.thermal_periodic.work); | 1856 | _3945.thermal_periodic.work); |
1857 | 1857 | ||
1858 | if (test_bit(S_EXIT_PENDING, &il->status)) | ||
1859 | return; | ||
1860 | |||
1861 | mutex_lock(&il->mutex); | 1858 | mutex_lock(&il->mutex); |
1859 | if (test_bit(S_EXIT_PENDING, &il->status) || il->txq == NULL) | ||
1860 | goto out; | ||
1861 | |||
1862 | il3945_reg_txpower_periodic(il); | 1862 | il3945_reg_txpower_periodic(il); |
1863 | out: | ||
1863 | mutex_unlock(&il->mutex); | 1864 | mutex_unlock(&il->mutex); |
1864 | } | 1865 | } |
1865 | 1866 | ||
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index cffcf2ec990f..fc9901e027c1 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c | |||
@@ -430,10 +430,14 @@ void rt2x00lib_txdone(struct queue_entry *entry, | |||
430 | /* | 430 | /* |
431 | * If the data queue was below the threshold before the txdone | 431 | * If the data queue was below the threshold before the txdone |
432 | * handler we must make sure the packet queue in the mac80211 stack | 432 | * handler we must make sure the packet queue in the mac80211 stack |
433 | * is reenabled when the txdone handler has finished. | 433 | * is reenabled when the txdone handler has finished. This has to be |
434 | * serialized with rt2x00mac_tx(), otherwise we can wake up queue | ||
435 | * before it was stopped. | ||
434 | */ | 436 | */ |
437 | spin_lock_bh(&entry->queue->tx_lock); | ||
435 | if (!rt2x00queue_threshold(entry->queue)) | 438 | if (!rt2x00queue_threshold(entry->queue)) |
436 | rt2x00queue_unpause_queue(entry->queue); | 439 | rt2x00queue_unpause_queue(entry->queue); |
440 | spin_unlock_bh(&entry->queue->tx_lock); | ||
437 | } | 441 | } |
438 | EXPORT_SYMBOL_GPL(rt2x00lib_txdone); | 442 | EXPORT_SYMBOL_GPL(rt2x00lib_txdone); |
439 | 443 | ||
diff --git a/drivers/net/wireless/rt2x00/rt2x00mac.c b/drivers/net/wireless/rt2x00/rt2x00mac.c index ede3c58e6783..2df2eb6d3e06 100644 --- a/drivers/net/wireless/rt2x00/rt2x00mac.c +++ b/drivers/net/wireless/rt2x00/rt2x00mac.c | |||
@@ -152,13 +152,22 @@ void rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb) | |||
152 | if (unlikely(rt2x00queue_write_tx_frame(queue, skb, false))) | 152 | if (unlikely(rt2x00queue_write_tx_frame(queue, skb, false))) |
153 | goto exit_fail; | 153 | goto exit_fail; |
154 | 154 | ||
155 | /* | ||
156 | * Pausing queue has to be serialized with rt2x00lib_txdone(). Note | ||
157 | * we should not use spin_lock_bh variant as bottom halve was already | ||
158 | * disabled before ieee80211_xmit() call. | ||
159 | */ | ||
160 | spin_lock(&queue->tx_lock); | ||
155 | if (rt2x00queue_threshold(queue)) | 161 | if (rt2x00queue_threshold(queue)) |
156 | rt2x00queue_pause_queue(queue); | 162 | rt2x00queue_pause_queue(queue); |
163 | spin_unlock(&queue->tx_lock); | ||
157 | 164 | ||
158 | return; | 165 | return; |
159 | 166 | ||
160 | exit_fail: | 167 | exit_fail: |
168 | spin_lock(&queue->tx_lock); | ||
161 | rt2x00queue_pause_queue(queue); | 169 | rt2x00queue_pause_queue(queue); |
170 | spin_unlock(&queue->tx_lock); | ||
162 | exit_free_skb: | 171 | exit_free_skb: |
163 | ieee80211_free_txskb(hw, skb); | 172 | ieee80211_free_txskb(hw, skb); |
164 | } | 173 | } |
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c index 5adfb3eab9cd..9b1b2b7a7807 100644 --- a/drivers/net/wireless/rt2x00/rt2x00queue.c +++ b/drivers/net/wireless/rt2x00/rt2x00queue.c | |||
@@ -619,6 +619,9 @@ int rt2x00queue_write_tx_frame(struct data_queue *queue, struct sk_buff *skb, | |||
619 | else if (test_bit(REQUIRE_DMA, &queue->rt2x00dev->cap_flags)) | 619 | else if (test_bit(REQUIRE_DMA, &queue->rt2x00dev->cap_flags)) |
620 | rt2x00queue_align_frame(skb); | 620 | rt2x00queue_align_frame(skb); |
621 | 621 | ||
622 | /* | ||
623 | * That function must be called with bh disabled. | ||
624 | */ | ||
622 | spin_lock(&queue->tx_lock); | 625 | spin_lock(&queue->tx_lock); |
623 | 626 | ||
624 | if (unlikely(rt2x00queue_full(queue))) { | 627 | if (unlikely(rt2x00queue_full(queue))) { |
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c index 1cfbf228fbb1..24f049e73952 100644 --- a/drivers/pci/pcie/aspm.c +++ b/drivers/pci/pcie/aspm.c | |||
@@ -500,6 +500,9 @@ static int pcie_aspm_sanity_check(struct pci_dev *pdev) | |||
500 | int pos; | 500 | int pos; |
501 | u32 reg32; | 501 | u32 reg32; |
502 | 502 | ||
503 | if (aspm_disabled) | ||
504 | return 0; | ||
505 | |||
503 | /* | 506 | /* |
504 | * Some functions in a slot might not all be PCIe functions, | 507 | * Some functions in a slot might not all be PCIe functions, |
505 | * very strange. Disable ASPM for the whole slot | 508 | * very strange. Disable ASPM for the whole slot |
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index f995e6e2f78c..15dbd8cc445f 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig | |||
@@ -143,6 +143,30 @@ config FUJITSU_LAPTOP_DEBUG | |||
143 | 143 | ||
144 | If you are not sure, say N here. | 144 | If you are not sure, say N here. |
145 | 145 | ||
146 | config FUJITSU_TABLET | ||
147 | tristate "Fujitsu Tablet Extras" | ||
148 | depends on ACPI | ||
149 | depends on INPUT | ||
150 | ---help--- | ||
151 | This is a driver for tablets built by Fujitsu: | ||
152 | |||
153 | * Lifebook P1510/P1610/P1620/Txxxx | ||
154 | * Stylistic ST5xxx | ||
155 | * Possibly other Fujitsu tablet models | ||
156 | |||
157 | It adds support for the panel buttons, docking station detection, | ||
158 | tablet/notebook mode detection for convertible and | ||
159 | orientation detection for docked slates. | ||
160 | |||
161 | If you have a Fujitsu convertible or slate, say Y or M here. | ||
162 | |||
163 | config AMILO_RFKILL | ||
164 | tristate "Fujitsu-Siemens Amilo rfkill support" | ||
165 | depends on RFKILL | ||
166 | ---help--- | ||
167 | This is a driver for enabling wifi on some Fujitsu-Siemens Amilo | ||
168 | laptops. | ||
169 | |||
146 | config TC1100_WMI | 170 | config TC1100_WMI |
147 | tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)" | 171 | tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)" |
148 | depends on !X86_64 | 172 | depends on !X86_64 |
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile index 293a320d9faa..d328f21e9fdd 100644 --- a/drivers/platform/x86/Makefile +++ b/drivers/platform/x86/Makefile | |||
@@ -17,12 +17,14 @@ obj-$(CONFIG_ACER_WMI) += acer-wmi.o | |||
17 | obj-$(CONFIG_ACERHDF) += acerhdf.o | 17 | obj-$(CONFIG_ACERHDF) += acerhdf.o |
18 | obj-$(CONFIG_HP_ACCEL) += hp_accel.o | 18 | obj-$(CONFIG_HP_ACCEL) += hp_accel.o |
19 | obj-$(CONFIG_HP_WMI) += hp-wmi.o | 19 | obj-$(CONFIG_HP_WMI) += hp-wmi.o |
20 | obj-$(CONFIG_AMILO_RFKILL) += amilo-rfkill.o | ||
20 | obj-$(CONFIG_TC1100_WMI) += tc1100-wmi.o | 21 | obj-$(CONFIG_TC1100_WMI) += tc1100-wmi.o |
21 | obj-$(CONFIG_SONY_LAPTOP) += sony-laptop.o | 22 | obj-$(CONFIG_SONY_LAPTOP) += sony-laptop.o |
22 | obj-$(CONFIG_IDEAPAD_LAPTOP) += ideapad-laptop.o | 23 | obj-$(CONFIG_IDEAPAD_LAPTOP) += ideapad-laptop.o |
23 | obj-$(CONFIG_THINKPAD_ACPI) += thinkpad_acpi.o | 24 | obj-$(CONFIG_THINKPAD_ACPI) += thinkpad_acpi.o |
24 | obj-$(CONFIG_SENSORS_HDAPS) += hdaps.o | 25 | obj-$(CONFIG_SENSORS_HDAPS) += hdaps.o |
25 | obj-$(CONFIG_FUJITSU_LAPTOP) += fujitsu-laptop.o | 26 | obj-$(CONFIG_FUJITSU_LAPTOP) += fujitsu-laptop.o |
27 | obj-$(CONFIG_FUJITSU_TABLET) += fujitsu-tablet.o | ||
26 | obj-$(CONFIG_PANASONIC_LAPTOP) += panasonic-laptop.o | 28 | obj-$(CONFIG_PANASONIC_LAPTOP) += panasonic-laptop.o |
27 | obj-$(CONFIG_INTEL_MENLOW) += intel_menlow.o | 29 | obj-$(CONFIG_INTEL_MENLOW) += intel_menlow.o |
28 | obj-$(CONFIG_ACPI_WMI) += wmi.o | 30 | obj-$(CONFIG_ACPI_WMI) += wmi.o |
diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c index b848277171a4..1e5290b5396d 100644 --- a/drivers/platform/x86/acer-wmi.c +++ b/drivers/platform/x86/acer-wmi.c | |||
@@ -679,6 +679,32 @@ static acpi_status AMW0_find_mailled(void) | |||
679 | return AE_OK; | 679 | return AE_OK; |
680 | } | 680 | } |
681 | 681 | ||
682 | static int AMW0_set_cap_acpi_check_device_found; | ||
683 | |||
684 | static acpi_status AMW0_set_cap_acpi_check_device_cb(acpi_handle handle, | ||
685 | u32 level, void *context, void **retval) | ||
686 | { | ||
687 | AMW0_set_cap_acpi_check_device_found = 1; | ||
688 | return AE_OK; | ||
689 | } | ||
690 | |||
691 | static const struct acpi_device_id norfkill_ids[] = { | ||
692 | { "VPC2004", 0}, | ||
693 | { "IBM0068", 0}, | ||
694 | { "LEN0068", 0}, | ||
695 | { "", 0}, | ||
696 | }; | ||
697 | |||
698 | static int AMW0_set_cap_acpi_check_device(void) | ||
699 | { | ||
700 | const struct acpi_device_id *id; | ||
701 | |||
702 | for (id = norfkill_ids; id->id[0]; id++) | ||
703 | acpi_get_devices(id->id, AMW0_set_cap_acpi_check_device_cb, | ||
704 | NULL, NULL); | ||
705 | return AMW0_set_cap_acpi_check_device_found; | ||
706 | } | ||
707 | |||
682 | static acpi_status AMW0_set_capabilities(void) | 708 | static acpi_status AMW0_set_capabilities(void) |
683 | { | 709 | { |
684 | struct wmab_args args; | 710 | struct wmab_args args; |
@@ -692,7 +718,9 @@ static acpi_status AMW0_set_capabilities(void) | |||
692 | * work. | 718 | * work. |
693 | */ | 719 | */ |
694 | if (wmi_has_guid(AMW0_GUID2)) { | 720 | if (wmi_has_guid(AMW0_GUID2)) { |
695 | interface->capability |= ACER_CAP_WIRELESS; | 721 | if ((quirks != &quirk_unknown) || |
722 | !AMW0_set_cap_acpi_check_device()) | ||
723 | interface->capability |= ACER_CAP_WIRELESS; | ||
696 | return AE_OK; | 724 | return AE_OK; |
697 | } | 725 | } |
698 | 726 | ||
diff --git a/drivers/platform/x86/amilo-rfkill.c b/drivers/platform/x86/amilo-rfkill.c new file mode 100644 index 000000000000..19170bb7700b --- /dev/null +++ b/drivers/platform/x86/amilo-rfkill.c | |||
@@ -0,0 +1,173 @@ | |||
1 | /* | ||
2 | * Support for rfkill on some Fujitsu-Siemens Amilo laptops. | ||
3 | * Copyright 2011 Ben Hutchings. | ||
4 | * | ||
5 | * Based in part on the fsam7440 driver, which is: | ||
6 | * Copyright 2005 Alejandro Vidal Mata & Javier Vidal Mata. | ||
7 | * and on the fsaa1655g driver, which is: | ||
8 | * Copyright 2006 Martin Večeřa. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | */ | ||
15 | |||
16 | #include <linux/module.h> | ||
17 | #include <linux/dmi.h> | ||
18 | #include <linux/i8042.h> | ||
19 | #include <linux/io.h> | ||
20 | #include <linux/moduleparam.h> | ||
21 | #include <linux/platform_device.h> | ||
22 | #include <linux/rfkill.h> | ||
23 | |||
24 | /* | ||
25 | * These values were obtained from disassembling and debugging the | ||
26 | * PM.exe program installed in the Fujitsu-Siemens AMILO A1655G | ||
27 | */ | ||
28 | #define A1655_WIFI_COMMAND 0x10C5 | ||
29 | #define A1655_WIFI_ON 0x25 | ||
30 | #define A1655_WIFI_OFF 0x45 | ||
31 | |||
32 | static int amilo_a1655_rfkill_set_block(void *data, bool blocked) | ||
33 | { | ||
34 | u8 param = blocked ? A1655_WIFI_OFF : A1655_WIFI_ON; | ||
35 | int rc; | ||
36 | |||
37 | i8042_lock_chip(); | ||
38 | rc = i8042_command(¶m, A1655_WIFI_COMMAND); | ||
39 | i8042_unlock_chip(); | ||
40 | return rc; | ||
41 | } | ||
42 | |||
43 | static const struct rfkill_ops amilo_a1655_rfkill_ops = { | ||
44 | .set_block = amilo_a1655_rfkill_set_block | ||
45 | }; | ||
46 | |||
47 | /* | ||
48 | * These values were obtained from disassembling the PM.exe program | ||
49 | * installed in the Fujitsu-Siemens AMILO M 7440 | ||
50 | */ | ||
51 | #define M7440_PORT1 0x118f | ||
52 | #define M7440_PORT2 0x118e | ||
53 | #define M7440_RADIO_ON1 0x12 | ||
54 | #define M7440_RADIO_ON2 0x80 | ||
55 | #define M7440_RADIO_OFF1 0x10 | ||
56 | #define M7440_RADIO_OFF2 0x00 | ||
57 | |||
58 | static int amilo_m7440_rfkill_set_block(void *data, bool blocked) | ||
59 | { | ||
60 | u8 val1 = blocked ? M7440_RADIO_OFF1 : M7440_RADIO_ON1; | ||
61 | u8 val2 = blocked ? M7440_RADIO_OFF2 : M7440_RADIO_ON2; | ||
62 | |||
63 | outb(val1, M7440_PORT1); | ||
64 | outb(val2, M7440_PORT2); | ||
65 | |||
66 | /* Check whether the state has changed correctly */ | ||
67 | if (inb(M7440_PORT1) != val1 || inb(M7440_PORT2) != val2) | ||
68 | return -EIO; | ||
69 | |||
70 | return 0; | ||
71 | } | ||
72 | |||
73 | static const struct rfkill_ops amilo_m7440_rfkill_ops = { | ||
74 | .set_block = amilo_m7440_rfkill_set_block | ||
75 | }; | ||
76 | |||
77 | static const struct dmi_system_id __devinitdata amilo_rfkill_id_table[] = { | ||
78 | { | ||
79 | .matches = { | ||
80 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), | ||
81 | DMI_MATCH(DMI_BOARD_NAME, "AMILO A1655"), | ||
82 | }, | ||
83 | .driver_data = (void *)&amilo_a1655_rfkill_ops | ||
84 | }, | ||
85 | { | ||
86 | .matches = { | ||
87 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), | ||
88 | DMI_MATCH(DMI_BOARD_NAME, "AMILO M7440"), | ||
89 | }, | ||
90 | .driver_data = (void *)&amilo_m7440_rfkill_ops | ||
91 | }, | ||
92 | {} | ||
93 | }; | ||
94 | |||
95 | static struct platform_device *amilo_rfkill_pdev; | ||
96 | static struct rfkill *amilo_rfkill_dev; | ||
97 | |||
98 | static int __devinit amilo_rfkill_probe(struct platform_device *device) | ||
99 | { | ||
100 | const struct dmi_system_id *system_id = | ||
101 | dmi_first_match(amilo_rfkill_id_table); | ||
102 | int rc; | ||
103 | |||
104 | amilo_rfkill_dev = rfkill_alloc(KBUILD_MODNAME, &device->dev, | ||
105 | RFKILL_TYPE_WLAN, | ||
106 | system_id->driver_data, NULL); | ||
107 | if (!amilo_rfkill_dev) | ||
108 | return -ENOMEM; | ||
109 | |||
110 | rc = rfkill_register(amilo_rfkill_dev); | ||
111 | if (rc) | ||
112 | goto fail; | ||
113 | |||
114 | return 0; | ||
115 | |||
116 | fail: | ||
117 | rfkill_destroy(amilo_rfkill_dev); | ||
118 | return rc; | ||
119 | } | ||
120 | |||
121 | static int amilo_rfkill_remove(struct platform_device *device) | ||
122 | { | ||
123 | rfkill_unregister(amilo_rfkill_dev); | ||
124 | rfkill_destroy(amilo_rfkill_dev); | ||
125 | return 0; | ||
126 | } | ||
127 | |||
128 | static struct platform_driver amilo_rfkill_driver = { | ||
129 | .driver = { | ||
130 | .name = KBUILD_MODNAME, | ||
131 | .owner = THIS_MODULE, | ||
132 | }, | ||
133 | .probe = amilo_rfkill_probe, | ||
134 | .remove = amilo_rfkill_remove, | ||
135 | }; | ||
136 | |||
137 | static int __init amilo_rfkill_init(void) | ||
138 | { | ||
139 | int rc; | ||
140 | |||
141 | if (dmi_first_match(amilo_rfkill_id_table) == NULL) | ||
142 | return -ENODEV; | ||
143 | |||
144 | rc = platform_driver_register(&amilo_rfkill_driver); | ||
145 | if (rc) | ||
146 | return rc; | ||
147 | |||
148 | amilo_rfkill_pdev = platform_device_register_simple(KBUILD_MODNAME, -1, | ||
149 | NULL, 0); | ||
150 | if (IS_ERR(amilo_rfkill_pdev)) { | ||
151 | rc = PTR_ERR(amilo_rfkill_pdev); | ||
152 | goto fail; | ||
153 | } | ||
154 | |||
155 | return 0; | ||
156 | |||
157 | fail: | ||
158 | platform_driver_unregister(&amilo_rfkill_driver); | ||
159 | return rc; | ||
160 | } | ||
161 | |||
162 | static void __exit amilo_rfkill_exit(void) | ||
163 | { | ||
164 | platform_device_unregister(amilo_rfkill_pdev); | ||
165 | platform_driver_unregister(&amilo_rfkill_driver); | ||
166 | } | ||
167 | |||
168 | MODULE_AUTHOR("Ben Hutchings <ben@decadent.org.uk>"); | ||
169 | MODULE_LICENSE("GPL"); | ||
170 | MODULE_DEVICE_TABLE(dmi, amilo_rfkill_id_table); | ||
171 | |||
172 | module_init(amilo_rfkill_init); | ||
173 | module_exit(amilo_rfkill_exit); | ||
diff --git a/drivers/platform/x86/fujitsu-tablet.c b/drivers/platform/x86/fujitsu-tablet.c new file mode 100644 index 000000000000..580d80a73c3a --- /dev/null +++ b/drivers/platform/x86/fujitsu-tablet.c | |||
@@ -0,0 +1,478 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2006-2012 Robert Gerlach <khnz@gmx.de> | ||
3 | * Copyright (C) 2005-2006 Jan Rychter <jan@rychter.com> | ||
4 | * | ||
5 | * You can redistribute and/or modify this program under the terms of the | ||
6 | * GNU General Public License version 2 as published by the Free Software | ||
7 | * Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, but | ||
10 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | ||
12 | * Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License along | ||
15 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
16 | * 59 Temple Place Suite 330, Boston, MA 02111-1307, USA. | ||
17 | */ | ||
18 | |||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/module.h> | ||
21 | #include <linux/init.h> | ||
22 | #include <linux/bitops.h> | ||
23 | #include <linux/io.h> | ||
24 | #include <linux/ioport.h> | ||
25 | #include <linux/acpi.h> | ||
26 | #include <linux/device.h> | ||
27 | #include <linux/interrupt.h> | ||
28 | #include <linux/input.h> | ||
29 | #include <linux/delay.h> | ||
30 | #include <linux/dmi.h> | ||
31 | |||
32 | #define MODULENAME "fujitsu-tablet" | ||
33 | |||
34 | #define ACPI_FUJITSU_CLASS "fujitsu" | ||
35 | |||
36 | #define INVERT_TABLET_MODE_BIT 0x01 | ||
37 | #define FORCE_TABLET_MODE_IF_UNDOCK 0x02 | ||
38 | |||
39 | #define KEYMAP_LEN 16 | ||
40 | |||
41 | static const struct acpi_device_id fujitsu_ids[] = { | ||
42 | { .id = "FUJ02BD" }, | ||
43 | { .id = "FUJ02BF" }, | ||
44 | { .id = "" } | ||
45 | }; | ||
46 | |||
47 | struct fujitsu_config { | ||
48 | unsigned short keymap[KEYMAP_LEN]; | ||
49 | unsigned int quirks; | ||
50 | }; | ||
51 | |||
52 | static unsigned short keymap_Lifebook_Tseries[KEYMAP_LEN] __initconst = { | ||
53 | KEY_RESERVED, | ||
54 | KEY_RESERVED, | ||
55 | KEY_RESERVED, | ||
56 | KEY_RESERVED, | ||
57 | KEY_SCROLLDOWN, | ||
58 | KEY_SCROLLUP, | ||
59 | KEY_DIRECTION, | ||
60 | KEY_LEFTCTRL, | ||
61 | KEY_BRIGHTNESSUP, | ||
62 | KEY_BRIGHTNESSDOWN, | ||
63 | KEY_BRIGHTNESS_ZERO, | ||
64 | KEY_RESERVED, | ||
65 | KEY_RESERVED, | ||
66 | KEY_RESERVED, | ||
67 | KEY_RESERVED, | ||
68 | KEY_LEFTALT | ||
69 | }; | ||
70 | |||
71 | static unsigned short keymap_Lifebook_U810[KEYMAP_LEN] __initconst = { | ||
72 | KEY_RESERVED, | ||
73 | KEY_RESERVED, | ||
74 | KEY_RESERVED, | ||
75 | KEY_RESERVED, | ||
76 | KEY_PROG1, | ||
77 | KEY_PROG2, | ||
78 | KEY_DIRECTION, | ||
79 | KEY_RESERVED, | ||
80 | KEY_RESERVED, | ||
81 | KEY_RESERVED, | ||
82 | KEY_UP, | ||
83 | KEY_DOWN, | ||
84 | KEY_RESERVED, | ||
85 | KEY_RESERVED, | ||
86 | KEY_LEFTCTRL, | ||
87 | KEY_LEFTALT | ||
88 | }; | ||
89 | |||
90 | static unsigned short keymap_Stylistic_Tseries[KEYMAP_LEN] __initconst = { | ||
91 | KEY_RESERVED, | ||
92 | KEY_RESERVED, | ||
93 | KEY_RESERVED, | ||
94 | KEY_RESERVED, | ||
95 | KEY_PRINT, | ||
96 | KEY_BACKSPACE, | ||
97 | KEY_SPACE, | ||
98 | KEY_ENTER, | ||
99 | KEY_BRIGHTNESSUP, | ||
100 | KEY_BRIGHTNESSDOWN, | ||
101 | KEY_DOWN, | ||
102 | KEY_UP, | ||
103 | KEY_SCROLLUP, | ||
104 | KEY_SCROLLDOWN, | ||
105 | KEY_LEFTCTRL, | ||
106 | KEY_LEFTALT | ||
107 | }; | ||
108 | |||
109 | static unsigned short keymap_Stylistic_ST5xxx[KEYMAP_LEN] __initconst = { | ||
110 | KEY_RESERVED, | ||
111 | KEY_RESERVED, | ||
112 | KEY_RESERVED, | ||
113 | KEY_RESERVED, | ||
114 | KEY_MAIL, | ||
115 | KEY_DIRECTION, | ||
116 | KEY_ESC, | ||
117 | KEY_ENTER, | ||
118 | KEY_BRIGHTNESSUP, | ||
119 | KEY_BRIGHTNESSDOWN, | ||
120 | KEY_DOWN, | ||
121 | KEY_UP, | ||
122 | KEY_SCROLLUP, | ||
123 | KEY_SCROLLDOWN, | ||
124 | KEY_LEFTCTRL, | ||
125 | KEY_LEFTALT | ||
126 | }; | ||
127 | |||
128 | static struct { | ||
129 | struct input_dev *idev; | ||
130 | struct fujitsu_config config; | ||
131 | unsigned long prev_keymask; | ||
132 | |||
133 | char phys[21]; | ||
134 | |||
135 | int irq; | ||
136 | int io_base; | ||
137 | int io_length; | ||
138 | } fujitsu; | ||
139 | |||
140 | static u8 fujitsu_ack(void) | ||
141 | { | ||
142 | return inb(fujitsu.io_base + 2); | ||
143 | } | ||
144 | |||
145 | static u8 fujitsu_status(void) | ||
146 | { | ||
147 | return inb(fujitsu.io_base + 6); | ||
148 | } | ||
149 | |||
150 | static u8 fujitsu_read_register(const u8 addr) | ||
151 | { | ||
152 | outb(addr, fujitsu.io_base); | ||
153 | return inb(fujitsu.io_base + 4); | ||
154 | } | ||
155 | |||
156 | static void fujitsu_send_state(void) | ||
157 | { | ||
158 | int state; | ||
159 | int dock, tablet_mode; | ||
160 | |||
161 | state = fujitsu_read_register(0xdd); | ||
162 | |||
163 | dock = state & 0x02; | ||
164 | |||
165 | if ((fujitsu.config.quirks & FORCE_TABLET_MODE_IF_UNDOCK) && (!dock)) { | ||
166 | tablet_mode = 1; | ||
167 | } else{ | ||
168 | tablet_mode = state & 0x01; | ||
169 | if (fujitsu.config.quirks & INVERT_TABLET_MODE_BIT) | ||
170 | tablet_mode = !tablet_mode; | ||
171 | } | ||
172 | |||
173 | input_report_switch(fujitsu.idev, SW_DOCK, dock); | ||
174 | input_report_switch(fujitsu.idev, SW_TABLET_MODE, tablet_mode); | ||
175 | input_sync(fujitsu.idev); | ||
176 | } | ||
177 | |||
178 | static void fujitsu_reset(void) | ||
179 | { | ||
180 | int timeout = 50; | ||
181 | |||
182 | fujitsu_ack(); | ||
183 | |||
184 | while ((fujitsu_status() & 0x02) && (--timeout)) | ||
185 | msleep(20); | ||
186 | |||
187 | fujitsu_send_state(); | ||
188 | } | ||
189 | |||
190 | static int __devinit input_fujitsu_setup(struct device *parent, | ||
191 | const char *name, const char *phys) | ||
192 | { | ||
193 | struct input_dev *idev; | ||
194 | int error; | ||
195 | int i; | ||
196 | |||
197 | idev = input_allocate_device(); | ||
198 | if (!idev) | ||
199 | return -ENOMEM; | ||
200 | |||
201 | idev->dev.parent = parent; | ||
202 | idev->phys = phys; | ||
203 | idev->name = name; | ||
204 | idev->id.bustype = BUS_HOST; | ||
205 | idev->id.vendor = 0x1734; /* Fujitsu Siemens Computer GmbH */ | ||
206 | idev->id.product = 0x0001; | ||
207 | idev->id.version = 0x0101; | ||
208 | |||
209 | idev->keycode = fujitsu.config.keymap; | ||
210 | idev->keycodesize = sizeof(fujitsu.config.keymap[0]); | ||
211 | idev->keycodemax = ARRAY_SIZE(fujitsu.config.keymap); | ||
212 | |||
213 | __set_bit(EV_REP, idev->evbit); | ||
214 | |||
215 | for (i = 0; i < ARRAY_SIZE(fujitsu.config.keymap); i++) | ||
216 | if (fujitsu.config.keymap[i]) | ||
217 | input_set_capability(idev, EV_KEY, fujitsu.config.keymap[i]); | ||
218 | |||
219 | input_set_capability(idev, EV_MSC, MSC_SCAN); | ||
220 | |||
221 | input_set_capability(idev, EV_SW, SW_DOCK); | ||
222 | input_set_capability(idev, EV_SW, SW_TABLET_MODE); | ||
223 | |||
224 | input_set_capability(idev, EV_SW, SW_DOCK); | ||
225 | input_set_capability(idev, EV_SW, SW_TABLET_MODE); | ||
226 | |||
227 | error = input_register_device(idev); | ||
228 | if (error) { | ||
229 | input_free_device(idev); | ||
230 | return error; | ||
231 | } | ||
232 | |||
233 | fujitsu.idev = idev; | ||
234 | return 0; | ||
235 | } | ||
236 | |||
237 | static void input_fujitsu_remove(void) | ||
238 | { | ||
239 | input_unregister_device(fujitsu.idev); | ||
240 | } | ||
241 | |||
242 | static irqreturn_t fujitsu_interrupt(int irq, void *dev_id) | ||
243 | { | ||
244 | unsigned long keymask, changed; | ||
245 | unsigned int keycode; | ||
246 | int pressed; | ||
247 | int i; | ||
248 | |||
249 | if (unlikely(!(fujitsu_status() & 0x01))) | ||
250 | return IRQ_NONE; | ||
251 | |||
252 | fujitsu_send_state(); | ||
253 | |||
254 | keymask = fujitsu_read_register(0xde); | ||
255 | keymask |= fujitsu_read_register(0xdf) << 8; | ||
256 | keymask ^= 0xffff; | ||
257 | |||
258 | changed = keymask ^ fujitsu.prev_keymask; | ||
259 | if (changed) { | ||
260 | fujitsu.prev_keymask = keymask; | ||
261 | |||
262 | for_each_set_bit(i, &changed, KEYMAP_LEN) { | ||
263 | keycode = fujitsu.config.keymap[i]; | ||
264 | pressed = keymask & changed & BIT(i); | ||
265 | |||
266 | if (pressed) | ||
267 | input_event(fujitsu.idev, EV_MSC, MSC_SCAN, i); | ||
268 | |||
269 | input_report_key(fujitsu.idev, keycode, pressed); | ||
270 | input_sync(fujitsu.idev); | ||
271 | } | ||
272 | } | ||
273 | |||
274 | fujitsu_ack(); | ||
275 | return IRQ_HANDLED; | ||
276 | } | ||
277 | |||
278 | static int __devinit fujitsu_dmi_default(const struct dmi_system_id *dmi) | ||
279 | { | ||
280 | printk(KERN_INFO MODULENAME ": %s\n", dmi->ident); | ||
281 | memcpy(fujitsu.config.keymap, dmi->driver_data, | ||
282 | sizeof(fujitsu.config.keymap)); | ||
283 | return 1; | ||
284 | } | ||
285 | |||
286 | static int __devinit fujitsu_dmi_stylistic(const struct dmi_system_id *dmi) | ||
287 | { | ||
288 | fujitsu_dmi_default(dmi); | ||
289 | fujitsu.config.quirks |= FORCE_TABLET_MODE_IF_UNDOCK; | ||
290 | fujitsu.config.quirks |= INVERT_TABLET_MODE_BIT; | ||
291 | return 1; | ||
292 | } | ||
293 | |||
294 | static struct dmi_system_id dmi_ids[] __initconst = { | ||
295 | { | ||
296 | .callback = fujitsu_dmi_default, | ||
297 | .ident = "Fujitsu Siemens P/T Series", | ||
298 | .matches = { | ||
299 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), | ||
300 | DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK") | ||
301 | }, | ||
302 | .driver_data = keymap_Lifebook_Tseries | ||
303 | }, | ||
304 | { | ||
305 | .callback = fujitsu_dmi_default, | ||
306 | .ident = "Fujitsu Lifebook T Series", | ||
307 | .matches = { | ||
308 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), | ||
309 | DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook T") | ||
310 | }, | ||
311 | .driver_data = keymap_Lifebook_Tseries | ||
312 | }, | ||
313 | { | ||
314 | .callback = fujitsu_dmi_stylistic, | ||
315 | .ident = "Fujitsu Siemens Stylistic T Series", | ||
316 | .matches = { | ||
317 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), | ||
318 | DMI_MATCH(DMI_PRODUCT_NAME, "Stylistic T") | ||
319 | }, | ||
320 | .driver_data = keymap_Stylistic_Tseries | ||
321 | }, | ||
322 | { | ||
323 | .callback = fujitsu_dmi_default, | ||
324 | .ident = "Fujitsu LifeBook U810", | ||
325 | .matches = { | ||
326 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), | ||
327 | DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook U810") | ||
328 | }, | ||
329 | .driver_data = keymap_Lifebook_U810 | ||
330 | }, | ||
331 | { | ||
332 | .callback = fujitsu_dmi_stylistic, | ||
333 | .ident = "Fujitsu Siemens Stylistic ST5xxx Series", | ||
334 | .matches = { | ||
335 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), | ||
336 | DMI_MATCH(DMI_PRODUCT_NAME, "STYLISTIC ST5") | ||
337 | }, | ||
338 | .driver_data = keymap_Stylistic_ST5xxx | ||
339 | }, | ||
340 | { | ||
341 | .callback = fujitsu_dmi_stylistic, | ||
342 | .ident = "Fujitsu Siemens Stylistic ST5xxx Series", | ||
343 | .matches = { | ||
344 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), | ||
345 | DMI_MATCH(DMI_PRODUCT_NAME, "Stylistic ST5") | ||
346 | }, | ||
347 | .driver_data = keymap_Stylistic_ST5xxx | ||
348 | }, | ||
349 | { | ||
350 | .callback = fujitsu_dmi_default, | ||
351 | .ident = "Unknown (using defaults)", | ||
352 | .matches = { | ||
353 | DMI_MATCH(DMI_SYS_VENDOR, ""), | ||
354 | DMI_MATCH(DMI_PRODUCT_NAME, "") | ||
355 | }, | ||
356 | .driver_data = keymap_Lifebook_Tseries | ||
357 | }, | ||
358 | { NULL } | ||
359 | }; | ||
360 | |||
361 | static acpi_status __devinit | ||
362 | fujitsu_walk_resources(struct acpi_resource *res, void *data) | ||
363 | { | ||
364 | switch (res->type) { | ||
365 | case ACPI_RESOURCE_TYPE_IRQ: | ||
366 | fujitsu.irq = res->data.irq.interrupts[0]; | ||
367 | return AE_OK; | ||
368 | |||
369 | case ACPI_RESOURCE_TYPE_IO: | ||
370 | fujitsu.io_base = res->data.io.minimum; | ||
371 | fujitsu.io_length = res->data.io.address_length; | ||
372 | return AE_OK; | ||
373 | |||
374 | case ACPI_RESOURCE_TYPE_END_TAG: | ||
375 | if (fujitsu.irq && fujitsu.io_base) | ||
376 | return AE_OK; | ||
377 | else | ||
378 | return AE_NOT_FOUND; | ||
379 | |||
380 | default: | ||
381 | return AE_ERROR; | ||
382 | } | ||
383 | } | ||
384 | |||
385 | static int __devinit acpi_fujitsu_add(struct acpi_device *adev) | ||
386 | { | ||
387 | acpi_status status; | ||
388 | int error; | ||
389 | |||
390 | if (!adev) | ||
391 | return -EINVAL; | ||
392 | |||
393 | status = acpi_walk_resources(adev->handle, METHOD_NAME__CRS, | ||
394 | fujitsu_walk_resources, NULL); | ||
395 | if (ACPI_FAILURE(status) || !fujitsu.irq || !fujitsu.io_base) | ||
396 | return -ENODEV; | ||
397 | |||
398 | sprintf(acpi_device_name(adev), "Fujitsu %s", acpi_device_hid(adev)); | ||
399 | sprintf(acpi_device_class(adev), "%s", ACPI_FUJITSU_CLASS); | ||
400 | |||
401 | snprintf(fujitsu.phys, sizeof(fujitsu.phys), | ||
402 | "%s/input0", acpi_device_hid(adev)); | ||
403 | |||
404 | error = input_fujitsu_setup(&adev->dev, | ||
405 | acpi_device_name(adev), fujitsu.phys); | ||
406 | if (error) | ||
407 | return error; | ||
408 | |||
409 | if (!request_region(fujitsu.io_base, fujitsu.io_length, MODULENAME)) { | ||
410 | input_fujitsu_remove(); | ||
411 | return -EBUSY; | ||
412 | } | ||
413 | |||
414 | fujitsu_reset(); | ||
415 | |||
416 | error = request_irq(fujitsu.irq, fujitsu_interrupt, | ||
417 | IRQF_SHARED, MODULENAME, fujitsu_interrupt); | ||
418 | if (error) { | ||
419 | release_region(fujitsu.io_base, fujitsu.io_length); | ||
420 | input_fujitsu_remove(); | ||
421 | return error; | ||
422 | } | ||
423 | |||
424 | return 0; | ||
425 | } | ||
426 | |||
427 | static int __devexit acpi_fujitsu_remove(struct acpi_device *adev, int type) | ||
428 | { | ||
429 | free_irq(fujitsu.irq, fujitsu_interrupt); | ||
430 | release_region(fujitsu.io_base, fujitsu.io_length); | ||
431 | input_fujitsu_remove(); | ||
432 | return 0; | ||
433 | } | ||
434 | |||
435 | static int acpi_fujitsu_resume(struct acpi_device *adev) | ||
436 | { | ||
437 | fujitsu_reset(); | ||
438 | return 0; | ||
439 | } | ||
440 | |||
441 | static struct acpi_driver acpi_fujitsu_driver = { | ||
442 | .name = MODULENAME, | ||
443 | .class = "hotkey", | ||
444 | .ids = fujitsu_ids, | ||
445 | .ops = { | ||
446 | .add = acpi_fujitsu_add, | ||
447 | .remove = acpi_fujitsu_remove, | ||
448 | .resume = acpi_fujitsu_resume, | ||
449 | } | ||
450 | }; | ||
451 | |||
452 | static int __init fujitsu_module_init(void) | ||
453 | { | ||
454 | int error; | ||
455 | |||
456 | dmi_check_system(dmi_ids); | ||
457 | |||
458 | error = acpi_bus_register_driver(&acpi_fujitsu_driver); | ||
459 | if (error) | ||
460 | return error; | ||
461 | |||
462 | return 0; | ||
463 | } | ||
464 | |||
465 | static void __exit fujitsu_module_exit(void) | ||
466 | { | ||
467 | acpi_bus_unregister_driver(&acpi_fujitsu_driver); | ||
468 | } | ||
469 | |||
470 | module_init(fujitsu_module_init); | ||
471 | module_exit(fujitsu_module_exit); | ||
472 | |||
473 | MODULE_AUTHOR("Robert Gerlach <khnz@gmx.de>"); | ||
474 | MODULE_DESCRIPTION("Fujitsu tablet pc extras driver"); | ||
475 | MODULE_LICENSE("GPL"); | ||
476 | MODULE_VERSION("2.4"); | ||
477 | |||
478 | MODULE_DEVICE_TABLE(acpi, fujitsu_ids); | ||
diff --git a/drivers/platform/x86/panasonic-laptop.c b/drivers/platform/x86/panasonic-laptop.c index 05be30ee158b..ffff8b4b4949 100644 --- a/drivers/platform/x86/panasonic-laptop.c +++ b/drivers/platform/x86/panasonic-laptop.c | |||
@@ -562,8 +562,8 @@ static int acpi_pcc_hotkey_add(struct acpi_device *device) | |||
562 | 562 | ||
563 | num_sifr = acpi_pcc_get_sqty(device); | 563 | num_sifr = acpi_pcc_get_sqty(device); |
564 | 564 | ||
565 | if (num_sifr > 255) { | 565 | if (num_sifr < 0 || num_sifr > 255) { |
566 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "num_sifr too large")); | 566 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "num_sifr out of range")); |
567 | return -ENODEV; | 567 | return -ENODEV; |
568 | } | 568 | } |
569 | 569 | ||
diff --git a/drivers/rapidio/devices/tsi721.h b/drivers/rapidio/devices/tsi721.h index 822e54c394d5..1c226b31af13 100644 --- a/drivers/rapidio/devices/tsi721.h +++ b/drivers/rapidio/devices/tsi721.h | |||
@@ -118,34 +118,34 @@ | |||
118 | 118 | ||
119 | #define TSI721_IDB_ENTRY_SIZE 64 | 119 | #define TSI721_IDB_ENTRY_SIZE 64 |
120 | 120 | ||
121 | #define TSI721_IDQ_CTL(x) (0x20000 + (x) * 1000) | 121 | #define TSI721_IDQ_CTL(x) (0x20000 + (x) * 0x1000) |
122 | #define TSI721_IDQ_SUSPEND 0x00000002 | 122 | #define TSI721_IDQ_SUSPEND 0x00000002 |
123 | #define TSI721_IDQ_INIT 0x00000001 | 123 | #define TSI721_IDQ_INIT 0x00000001 |
124 | 124 | ||
125 | #define TSI721_IDQ_STS(x) (0x20004 + (x) * 1000) | 125 | #define TSI721_IDQ_STS(x) (0x20004 + (x) * 0x1000) |
126 | #define TSI721_IDQ_RUN 0x00200000 | 126 | #define TSI721_IDQ_RUN 0x00200000 |
127 | 127 | ||
128 | #define TSI721_IDQ_MASK(x) (0x20008 + (x) * 1000) | 128 | #define TSI721_IDQ_MASK(x) (0x20008 + (x) * 0x1000) |
129 | #define TSI721_IDQ_MASK_MASK 0xffff0000 | 129 | #define TSI721_IDQ_MASK_MASK 0xffff0000 |
130 | #define TSI721_IDQ_MASK_PATT 0x0000ffff | 130 | #define TSI721_IDQ_MASK_PATT 0x0000ffff |
131 | 131 | ||
132 | #define TSI721_IDQ_RP(x) (0x2000c + (x) * 1000) | 132 | #define TSI721_IDQ_RP(x) (0x2000c + (x) * 0x1000) |
133 | #define TSI721_IDQ_RP_PTR 0x0007ffff | 133 | #define TSI721_IDQ_RP_PTR 0x0007ffff |
134 | 134 | ||
135 | #define TSI721_IDQ_WP(x) (0x20010 + (x) * 1000) | 135 | #define TSI721_IDQ_WP(x) (0x20010 + (x) * 0x1000) |
136 | #define TSI721_IDQ_WP_PTR 0x0007ffff | 136 | #define TSI721_IDQ_WP_PTR 0x0007ffff |
137 | 137 | ||
138 | #define TSI721_IDQ_BASEL(x) (0x20014 + (x) * 1000) | 138 | #define TSI721_IDQ_BASEL(x) (0x20014 + (x) * 0x1000) |
139 | #define TSI721_IDQ_BASEL_ADDR 0xffffffc0 | 139 | #define TSI721_IDQ_BASEL_ADDR 0xffffffc0 |
140 | #define TSI721_IDQ_BASEU(x) (0x20018 + (x) * 1000) | 140 | #define TSI721_IDQ_BASEU(x) (0x20018 + (x) * 0x1000) |
141 | #define TSI721_IDQ_SIZE(x) (0x2001c + (x) * 1000) | 141 | #define TSI721_IDQ_SIZE(x) (0x2001c + (x) * 0x1000) |
142 | #define TSI721_IDQ_SIZE_VAL(size) (__fls(size) - 4) | 142 | #define TSI721_IDQ_SIZE_VAL(size) (__fls(size) - 4) |
143 | #define TSI721_IDQ_SIZE_MIN 512 | 143 | #define TSI721_IDQ_SIZE_MIN 512 |
144 | #define TSI721_IDQ_SIZE_MAX (512 * 1024) | 144 | #define TSI721_IDQ_SIZE_MAX (512 * 1024) |
145 | 145 | ||
146 | #define TSI721_SR_CHINT(x) (0x20040 + (x) * 1000) | 146 | #define TSI721_SR_CHINT(x) (0x20040 + (x) * 0x1000) |
147 | #define TSI721_SR_CHINTE(x) (0x20044 + (x) * 1000) | 147 | #define TSI721_SR_CHINTE(x) (0x20044 + (x) * 0x1000) |
148 | #define TSI721_SR_CHINTSET(x) (0x20048 + (x) * 1000) | 148 | #define TSI721_SR_CHINTSET(x) (0x20048 + (x) * 0x1000) |
149 | #define TSI721_SR_CHINT_ODBOK 0x00000020 | 149 | #define TSI721_SR_CHINT_ODBOK 0x00000020 |
150 | #define TSI721_SR_CHINT_IDBQRCV 0x00000010 | 150 | #define TSI721_SR_CHINT_IDBQRCV 0x00000010 |
151 | #define TSI721_SR_CHINT_SUSP 0x00000008 | 151 | #define TSI721_SR_CHINT_SUSP 0x00000008 |
@@ -156,7 +156,7 @@ | |||
156 | 156 | ||
157 | #define TSI721_IBWIN_NUM 8 | 157 | #define TSI721_IBWIN_NUM 8 |
158 | 158 | ||
159 | #define TSI721_IBWINLB(x) (0x29000 + (x) * 20) | 159 | #define TSI721_IBWINLB(x) (0x29000 + (x) * 0x20) |
160 | #define TSI721_IBWINLB_BA 0xfffff000 | 160 | #define TSI721_IBWINLB_BA 0xfffff000 |
161 | #define TSI721_IBWINLB_WEN 0x00000001 | 161 | #define TSI721_IBWINLB_WEN 0x00000001 |
162 | 162 | ||
@@ -187,13 +187,13 @@ | |||
187 | */ | 187 | */ |
188 | #define TSI721_OBWIN_NUM TSI721_PC2SR_WINS | 188 | #define TSI721_OBWIN_NUM TSI721_PC2SR_WINS |
189 | 189 | ||
190 | #define TSI721_OBWINLB(x) (0x40000 + (x) * 20) | 190 | #define TSI721_OBWINLB(x) (0x40000 + (x) * 0x20) |
191 | #define TSI721_OBWINLB_BA 0xffff8000 | 191 | #define TSI721_OBWINLB_BA 0xffff8000 |
192 | #define TSI721_OBWINLB_WEN 0x00000001 | 192 | #define TSI721_OBWINLB_WEN 0x00000001 |
193 | 193 | ||
194 | #define TSI721_OBWINUB(x) (0x40004 + (x) * 20) | 194 | #define TSI721_OBWINUB(x) (0x40004 + (x) * 0x20) |
195 | 195 | ||
196 | #define TSI721_OBWINSZ(x) (0x40008 + (x) * 20) | 196 | #define TSI721_OBWINSZ(x) (0x40008 + (x) * 0x20) |
197 | #define TSI721_OBWINSZ_SIZE 0x00001f00 | 197 | #define TSI721_OBWINSZ_SIZE 0x00001f00 |
198 | #define TSI721_OBWIN_SIZE(size) (__fls(size) - 15) | 198 | #define TSI721_OBWIN_SIZE(size) (__fls(size) - 15) |
199 | 199 | ||
diff --git a/drivers/regulator/da9052-regulator.c b/drivers/regulator/da9052-regulator.c index ea4d8f575ac6..09915e89705d 100644 --- a/drivers/regulator/da9052-regulator.c +++ b/drivers/regulator/da9052-regulator.c | |||
@@ -226,7 +226,7 @@ static int da9052_regulator_set_voltage_int(struct regulator_dev *rdev, | |||
226 | if (min_uV < info->min_uV) | 226 | if (min_uV < info->min_uV) |
227 | min_uV = info->min_uV; | 227 | min_uV = info->min_uV; |
228 | 228 | ||
229 | *selector = (min_uV - info->min_uV) / info->step_uV; | 229 | *selector = DIV_ROUND_UP(min_uV - info->min_uV, info->step_uV); |
230 | 230 | ||
231 | ret = da9052_list_voltage(rdev, *selector); | 231 | ret = da9052_list_voltage(rdev, *selector); |
232 | if (ret < 0) | 232 | if (ret < 0) |
@@ -318,10 +318,10 @@ static int da9052_set_buckperi_voltage(struct regulator_dev *rdev, int min_uV, | |||
318 | if ((regulator->da9052->chip_id == DA9052) && | 318 | if ((regulator->da9052->chip_id == DA9052) && |
319 | (min_uV >= DA9052_CONST_3uV)) | 319 | (min_uV >= DA9052_CONST_3uV)) |
320 | *selector = DA9052_BUCK_PERI_REG_MAP_UPTO_3uV + | 320 | *selector = DA9052_BUCK_PERI_REG_MAP_UPTO_3uV + |
321 | ((min_uV - DA9052_CONST_3uV) / | 321 | DIV_ROUND_UP(min_uV - DA9052_CONST_3uV, |
322 | (DA9052_BUCK_PERI_3uV_STEP)); | 322 | DA9052_BUCK_PERI_3uV_STEP); |
323 | else | 323 | else |
324 | *selector = (min_uV - info->min_uV) / info->step_uV; | 324 | *selector = DIV_ROUND_UP(min_uV - info->min_uV, info->step_uV); |
325 | 325 | ||
326 | ret = da9052_list_buckperi_voltage(rdev, *selector); | 326 | ret = da9052_list_buckperi_voltage(rdev, *selector); |
327 | if (ret < 0) | 327 | if (ret < 0) |
@@ -400,6 +400,7 @@ static struct regulator_ops da9052_ldo_ops = { | |||
400 | .ops = &da9052_ldo5_6_ops,\ | 400 | .ops = &da9052_ldo5_6_ops,\ |
401 | .type = REGULATOR_VOLTAGE,\ | 401 | .type = REGULATOR_VOLTAGE,\ |
402 | .id = _id,\ | 402 | .id = _id,\ |
403 | .n_voltages = (max - min) / step + 1, \ | ||
403 | .owner = THIS_MODULE,\ | 404 | .owner = THIS_MODULE,\ |
404 | },\ | 405 | },\ |
405 | .min_uV = (min) * 1000,\ | 406 | .min_uV = (min) * 1000,\ |
@@ -417,6 +418,7 @@ static struct regulator_ops da9052_ldo_ops = { | |||
417 | .ops = &da9052_ldo_ops,\ | 418 | .ops = &da9052_ldo_ops,\ |
418 | .type = REGULATOR_VOLTAGE,\ | 419 | .type = REGULATOR_VOLTAGE,\ |
419 | .id = _id,\ | 420 | .id = _id,\ |
421 | .n_voltages = (max - min) / step + 1, \ | ||
420 | .owner = THIS_MODULE,\ | 422 | .owner = THIS_MODULE,\ |
421 | },\ | 423 | },\ |
422 | .min_uV = (min) * 1000,\ | 424 | .min_uV = (min) * 1000,\ |
@@ -434,6 +436,7 @@ static struct regulator_ops da9052_ldo_ops = { | |||
434 | .ops = &da9052_dcdc_ops,\ | 436 | .ops = &da9052_dcdc_ops,\ |
435 | .type = REGULATOR_VOLTAGE,\ | 437 | .type = REGULATOR_VOLTAGE,\ |
436 | .id = _id,\ | 438 | .id = _id,\ |
439 | .n_voltages = (max - min) / step + 1, \ | ||
437 | .owner = THIS_MODULE,\ | 440 | .owner = THIS_MODULE,\ |
438 | },\ | 441 | },\ |
439 | .min_uV = (min) * 1000,\ | 442 | .min_uV = (min) * 1000,\ |
@@ -451,6 +454,7 @@ static struct regulator_ops da9052_ldo_ops = { | |||
451 | .ops = &da9052_buckperi_ops,\ | 454 | .ops = &da9052_buckperi_ops,\ |
452 | .type = REGULATOR_VOLTAGE,\ | 455 | .type = REGULATOR_VOLTAGE,\ |
453 | .id = _id,\ | 456 | .id = _id,\ |
457 | .n_voltages = (max - min) / step + 1, \ | ||
454 | .owner = THIS_MODULE,\ | 458 | .owner = THIS_MODULE,\ |
455 | },\ | 459 | },\ |
456 | .min_uV = (min) * 1000,\ | 460 | .min_uV = (min) * 1000,\ |
diff --git a/drivers/regulator/tps6524x-regulator.c b/drivers/regulator/tps6524x-regulator.c index 70b7b1f4f000..2e94686b6fe6 100644 --- a/drivers/regulator/tps6524x-regulator.c +++ b/drivers/regulator/tps6524x-regulator.c | |||
@@ -481,7 +481,7 @@ static int set_voltage(struct regulator_dev *rdev, int min_uV, int max_uV, | |||
481 | if (i >= info->n_voltages) | 481 | if (i >= info->n_voltages) |
482 | i = info->n_voltages - 1; | 482 | i = info->n_voltages - 1; |
483 | 483 | ||
484 | *selector = info->voltages[i]; | 484 | *selector = i; |
485 | 485 | ||
486 | return write_field(hw, &info->voltage, i); | 486 | return write_field(hw, &info->voltage, i); |
487 | } | 487 | } |
diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c index 44262908def5..501b27c18145 100644 --- a/drivers/target/iscsi/iscsi_target.c +++ b/drivers/target/iscsi/iscsi_target.c | |||
@@ -1028,7 +1028,7 @@ done: | |||
1028 | return iscsit_add_reject_from_cmd( | 1028 | return iscsit_add_reject_from_cmd( |
1029 | ISCSI_REASON_BOOKMARK_NO_RESOURCES, | 1029 | ISCSI_REASON_BOOKMARK_NO_RESOURCES, |
1030 | 1, 1, buf, cmd); | 1030 | 1, 1, buf, cmd); |
1031 | } else if (transport_ret == -EINVAL) { | 1031 | } else if (transport_ret < 0) { |
1032 | /* | 1032 | /* |
1033 | * Unsupported SAM Opcode. CHECK_CONDITION will be sent | 1033 | * Unsupported SAM Opcode. CHECK_CONDITION will be sent |
1034 | * in iscsit_execute_cmd() during the CmdSN OOO Execution | 1034 | * in iscsit_execute_cmd() during the CmdSN OOO Execution |
diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c index b7c779389eea..63e703bb6ac9 100644 --- a/drivers/target/target_core_pr.c +++ b/drivers/target/target_core_pr.c | |||
@@ -117,7 +117,7 @@ static struct t10_pr_registration *core_scsi3_locate_pr_reg(struct se_device *, | |||
117 | struct se_node_acl *, struct se_session *); | 117 | struct se_node_acl *, struct se_session *); |
118 | static void core_scsi3_put_pr_reg(struct t10_pr_registration *); | 118 | static void core_scsi3_put_pr_reg(struct t10_pr_registration *); |
119 | 119 | ||
120 | static int target_check_scsi2_reservation_conflict(struct se_cmd *cmd, int *ret) | 120 | static int target_check_scsi2_reservation_conflict(struct se_cmd *cmd) |
121 | { | 121 | { |
122 | struct se_session *se_sess = cmd->se_sess; | 122 | struct se_session *se_sess = cmd->se_sess; |
123 | struct se_subsystem_dev *su_dev = cmd->se_dev->se_sub_dev; | 123 | struct se_subsystem_dev *su_dev = cmd->se_dev->se_sub_dev; |
@@ -127,7 +127,7 @@ static int target_check_scsi2_reservation_conflict(struct se_cmd *cmd, int *ret) | |||
127 | int conflict = 0; | 127 | int conflict = 0; |
128 | 128 | ||
129 | if (!crh) | 129 | if (!crh) |
130 | return false; | 130 | return -EINVAL; |
131 | 131 | ||
132 | pr_reg = core_scsi3_locate_pr_reg(cmd->se_dev, se_sess->se_node_acl, | 132 | pr_reg = core_scsi3_locate_pr_reg(cmd->se_dev, se_sess->se_node_acl, |
133 | se_sess); | 133 | se_sess); |
@@ -155,16 +155,14 @@ static int target_check_scsi2_reservation_conflict(struct se_cmd *cmd, int *ret) | |||
155 | */ | 155 | */ |
156 | if (pr_reg->pr_res_holder) { | 156 | if (pr_reg->pr_res_holder) { |
157 | core_scsi3_put_pr_reg(pr_reg); | 157 | core_scsi3_put_pr_reg(pr_reg); |
158 | *ret = 0; | 158 | return 1; |
159 | return false; | ||
160 | } | 159 | } |
161 | if ((pr_reg->pr_res_type == PR_TYPE_WRITE_EXCLUSIVE_REGONLY) || | 160 | if ((pr_reg->pr_res_type == PR_TYPE_WRITE_EXCLUSIVE_REGONLY) || |
162 | (pr_reg->pr_res_type == PR_TYPE_EXCLUSIVE_ACCESS_REGONLY) || | 161 | (pr_reg->pr_res_type == PR_TYPE_EXCLUSIVE_ACCESS_REGONLY) || |
163 | (pr_reg->pr_res_type == PR_TYPE_WRITE_EXCLUSIVE_ALLREG) || | 162 | (pr_reg->pr_res_type == PR_TYPE_WRITE_EXCLUSIVE_ALLREG) || |
164 | (pr_reg->pr_res_type == PR_TYPE_EXCLUSIVE_ACCESS_ALLREG)) { | 163 | (pr_reg->pr_res_type == PR_TYPE_EXCLUSIVE_ACCESS_ALLREG)) { |
165 | core_scsi3_put_pr_reg(pr_reg); | 164 | core_scsi3_put_pr_reg(pr_reg); |
166 | *ret = 0; | 165 | return 1; |
167 | return true; | ||
168 | } | 166 | } |
169 | core_scsi3_put_pr_reg(pr_reg); | 167 | core_scsi3_put_pr_reg(pr_reg); |
170 | conflict = 1; | 168 | conflict = 1; |
@@ -189,10 +187,10 @@ static int target_check_scsi2_reservation_conflict(struct se_cmd *cmd, int *ret) | |||
189 | " while active SPC-3 registrations exist," | 187 | " while active SPC-3 registrations exist," |
190 | " returning RESERVATION_CONFLICT\n"); | 188 | " returning RESERVATION_CONFLICT\n"); |
191 | cmd->scsi_sense_reason = TCM_RESERVATION_CONFLICT; | 189 | cmd->scsi_sense_reason = TCM_RESERVATION_CONFLICT; |
192 | return true; | 190 | return -EBUSY; |
193 | } | 191 | } |
194 | 192 | ||
195 | return false; | 193 | return 0; |
196 | } | 194 | } |
197 | 195 | ||
198 | int target_scsi2_reservation_release(struct se_task *task) | 196 | int target_scsi2_reservation_release(struct se_task *task) |
@@ -201,12 +199,18 @@ int target_scsi2_reservation_release(struct se_task *task) | |||
201 | struct se_device *dev = cmd->se_dev; | 199 | struct se_device *dev = cmd->se_dev; |
202 | struct se_session *sess = cmd->se_sess; | 200 | struct se_session *sess = cmd->se_sess; |
203 | struct se_portal_group *tpg = sess->se_tpg; | 201 | struct se_portal_group *tpg = sess->se_tpg; |
204 | int ret = 0; | 202 | int ret = 0, rc; |
205 | 203 | ||
206 | if (!sess || !tpg) | 204 | if (!sess || !tpg) |
207 | goto out; | 205 | goto out; |
208 | if (target_check_scsi2_reservation_conflict(cmd, &ret)) | 206 | rc = target_check_scsi2_reservation_conflict(cmd); |
207 | if (rc == 1) | ||
208 | goto out; | ||
209 | else if (rc < 0) { | ||
210 | cmd->scsi_sense_reason = TCM_RESERVATION_CONFLICT; | ||
211 | ret = -EINVAL; | ||
209 | goto out; | 212 | goto out; |
213 | } | ||
210 | 214 | ||
211 | ret = 0; | 215 | ret = 0; |
212 | spin_lock(&dev->dev_reservation_lock); | 216 | spin_lock(&dev->dev_reservation_lock); |
@@ -243,7 +247,7 @@ int target_scsi2_reservation_reserve(struct se_task *task) | |||
243 | struct se_device *dev = cmd->se_dev; | 247 | struct se_device *dev = cmd->se_dev; |
244 | struct se_session *sess = cmd->se_sess; | 248 | struct se_session *sess = cmd->se_sess; |
245 | struct se_portal_group *tpg = sess->se_tpg; | 249 | struct se_portal_group *tpg = sess->se_tpg; |
246 | int ret = 0; | 250 | int ret = 0, rc; |
247 | 251 | ||
248 | if ((cmd->t_task_cdb[1] & 0x01) && | 252 | if ((cmd->t_task_cdb[1] & 0x01) && |
249 | (cmd->t_task_cdb[1] & 0x02)) { | 253 | (cmd->t_task_cdb[1] & 0x02)) { |
@@ -259,8 +263,14 @@ int target_scsi2_reservation_reserve(struct se_task *task) | |||
259 | */ | 263 | */ |
260 | if (!sess || !tpg) | 264 | if (!sess || !tpg) |
261 | goto out; | 265 | goto out; |
262 | if (target_check_scsi2_reservation_conflict(cmd, &ret)) | 266 | rc = target_check_scsi2_reservation_conflict(cmd); |
267 | if (rc == 1) | ||
263 | goto out; | 268 | goto out; |
269 | else if (rc < 0) { | ||
270 | cmd->scsi_sense_reason = TCM_RESERVATION_CONFLICT; | ||
271 | ret = -EINVAL; | ||
272 | goto out; | ||
273 | } | ||
264 | 274 | ||
265 | ret = 0; | 275 | ret = 0; |
266 | spin_lock(&dev->dev_reservation_lock); | 276 | spin_lock(&dev->dev_reservation_lock); |
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c index 58cea07b12fb..cd5cd95812bb 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c | |||
@@ -2539,6 +2539,7 @@ static int transport_generic_cmd_sequencer( | |||
2539 | cmd, cdb, pr_reg_type) != 0) { | 2539 | cmd, cdb, pr_reg_type) != 0) { |
2540 | cmd->se_cmd_flags |= SCF_SCSI_CDB_EXCEPTION; | 2540 | cmd->se_cmd_flags |= SCF_SCSI_CDB_EXCEPTION; |
2541 | cmd->se_cmd_flags |= SCF_SCSI_RESERVATION_CONFLICT; | 2541 | cmd->se_cmd_flags |= SCF_SCSI_RESERVATION_CONFLICT; |
2542 | cmd->scsi_status = SAM_STAT_RESERVATION_CONFLICT; | ||
2542 | cmd->scsi_sense_reason = TCM_RESERVATION_CONFLICT; | 2543 | cmd->scsi_sense_reason = TCM_RESERVATION_CONFLICT; |
2543 | return -EBUSY; | 2544 | return -EBUSY; |
2544 | } | 2545 | } |
diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c index 75085795528e..61b7fd2729cd 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c | |||
@@ -1710,6 +1710,8 @@ static int sci_startup(struct uart_port *port) | |||
1710 | 1710 | ||
1711 | dev_dbg(port->dev, "%s(%d)\n", __func__, port->line); | 1711 | dev_dbg(port->dev, "%s(%d)\n", __func__, port->line); |
1712 | 1712 | ||
1713 | pm_runtime_put_noidle(port->dev); | ||
1714 | |||
1713 | sci_port_enable(s); | 1715 | sci_port_enable(s); |
1714 | 1716 | ||
1715 | ret = sci_request_irq(s); | 1717 | ret = sci_request_irq(s); |
@@ -1737,6 +1739,8 @@ static void sci_shutdown(struct uart_port *port) | |||
1737 | sci_free_irq(s); | 1739 | sci_free_irq(s); |
1738 | 1740 | ||
1739 | sci_port_disable(s); | 1741 | sci_port_disable(s); |
1742 | |||
1743 | pm_runtime_get_noresume(port->dev); | ||
1740 | } | 1744 | } |
1741 | 1745 | ||
1742 | static unsigned int sci_scbrr_calc(unsigned int algo_id, unsigned int bps, | 1746 | static unsigned int sci_scbrr_calc(unsigned int algo_id, unsigned int bps, |
@@ -2075,6 +2079,7 @@ static int __devinit sci_init_single(struct platform_device *dev, | |||
2075 | sci_init_gpios(sci_port); | 2079 | sci_init_gpios(sci_port); |
2076 | 2080 | ||
2077 | pm_runtime_irq_safe(&dev->dev); | 2081 | pm_runtime_irq_safe(&dev->dev); |
2082 | pm_runtime_get_noresume(&dev->dev); | ||
2078 | pm_runtime_enable(&dev->dev); | 2083 | pm_runtime_enable(&dev->dev); |
2079 | } | 2084 | } |
2080 | 2085 | ||
diff --git a/drivers/video/backlight/s6e63m0.c b/drivers/video/backlight/s6e63m0.c index e132157d8545..516db703dd24 100644 --- a/drivers/video/backlight/s6e63m0.c +++ b/drivers/video/backlight/s6e63m0.c | |||
@@ -690,7 +690,7 @@ static ssize_t s6e63m0_sysfs_store_gamma_mode(struct device *dev, | |||
690 | struct backlight_device *bd = NULL; | 690 | struct backlight_device *bd = NULL; |
691 | int brightness, rc; | 691 | int brightness, rc; |
692 | 692 | ||
693 | rc = strict_strtoul(buf, 0, (unsigned long *)&lcd->gamma_mode); | 693 | rc = kstrtouint(buf, 0, &lcd->gamma_mode); |
694 | if (rc < 0) | 694 | if (rc < 0) |
695 | return rc; | 695 | return rc; |
696 | 696 | ||
diff --git a/fs/afs/internal.h b/fs/afs/internal.h index d2b0888126d4..a306bb6d88d9 100644 --- a/fs/afs/internal.h +++ b/fs/afs/internal.h | |||
@@ -109,7 +109,7 @@ struct afs_call { | |||
109 | unsigned reply_size; /* current size of reply */ | 109 | unsigned reply_size; /* current size of reply */ |
110 | unsigned first_offset; /* offset into mapping[first] */ | 110 | unsigned first_offset; /* offset into mapping[first] */ |
111 | unsigned last_to; /* amount of mapping[last] */ | 111 | unsigned last_to; /* amount of mapping[last] */ |
112 | unsigned short offset; /* offset into received data store */ | 112 | unsigned offset; /* offset into received data store */ |
113 | unsigned char unmarshall; /* unmarshalling phase */ | 113 | unsigned char unmarshall; /* unmarshalling phase */ |
114 | bool incoming; /* T if incoming call */ | 114 | bool incoming; /* T if incoming call */ |
115 | bool send_pages; /* T if data from mapping should be sent */ | 115 | bool send_pages; /* T if data from mapping should be sent */ |
diff --git a/fs/afs/rxrpc.c b/fs/afs/rxrpc.c index e45a323aebb4..8ad8c2a0703a 100644 --- a/fs/afs/rxrpc.c +++ b/fs/afs/rxrpc.c | |||
@@ -314,6 +314,7 @@ int afs_make_call(struct in_addr *addr, struct afs_call *call, gfp_t gfp, | |||
314 | struct msghdr msg; | 314 | struct msghdr msg; |
315 | struct kvec iov[1]; | 315 | struct kvec iov[1]; |
316 | int ret; | 316 | int ret; |
317 | struct sk_buff *skb; | ||
317 | 318 | ||
318 | _enter("%x,{%d},", addr->s_addr, ntohs(call->port)); | 319 | _enter("%x,{%d},", addr->s_addr, ntohs(call->port)); |
319 | 320 | ||
@@ -380,6 +381,8 @@ int afs_make_call(struct in_addr *addr, struct afs_call *call, gfp_t gfp, | |||
380 | 381 | ||
381 | error_do_abort: | 382 | error_do_abort: |
382 | rxrpc_kernel_abort_call(rxcall, RX_USER_ABORT); | 383 | rxrpc_kernel_abort_call(rxcall, RX_USER_ABORT); |
384 | while ((skb = skb_dequeue(&call->rx_queue))) | ||
385 | afs_free_skb(skb); | ||
383 | rxrpc_kernel_end_call(rxcall); | 386 | rxrpc_kernel_end_call(rxcall); |
384 | call->rxcall = NULL; | 387 | call->rxcall = NULL; |
385 | error_kill_call: | 388 | error_kill_call: |
@@ -228,12 +228,6 @@ static void __put_ioctx(struct kioctx *ctx) | |||
228 | call_rcu(&ctx->rcu_head, ctx_rcu_free); | 228 | call_rcu(&ctx->rcu_head, ctx_rcu_free); |
229 | } | 229 | } |
230 | 230 | ||
231 | static inline void get_ioctx(struct kioctx *kioctx) | ||
232 | { | ||
233 | BUG_ON(atomic_read(&kioctx->users) <= 0); | ||
234 | atomic_inc(&kioctx->users); | ||
235 | } | ||
236 | |||
237 | static inline int try_get_ioctx(struct kioctx *kioctx) | 231 | static inline int try_get_ioctx(struct kioctx *kioctx) |
238 | { | 232 | { |
239 | return atomic_inc_not_zero(&kioctx->users); | 233 | return atomic_inc_not_zero(&kioctx->users); |
@@ -273,7 +267,7 @@ static struct kioctx *ioctx_alloc(unsigned nr_events) | |||
273 | mm = ctx->mm = current->mm; | 267 | mm = ctx->mm = current->mm; |
274 | atomic_inc(&mm->mm_count); | 268 | atomic_inc(&mm->mm_count); |
275 | 269 | ||
276 | atomic_set(&ctx->users, 1); | 270 | atomic_set(&ctx->users, 2); |
277 | spin_lock_init(&ctx->ctx_lock); | 271 | spin_lock_init(&ctx->ctx_lock); |
278 | spin_lock_init(&ctx->ring_info.ring_lock); | 272 | spin_lock_init(&ctx->ring_info.ring_lock); |
279 | init_waitqueue_head(&ctx->wait); | 273 | init_waitqueue_head(&ctx->wait); |
@@ -609,11 +603,16 @@ static void aio_fput_routine(struct work_struct *data) | |||
609 | fput(req->ki_filp); | 603 | fput(req->ki_filp); |
610 | 604 | ||
611 | /* Link the iocb into the context's free list */ | 605 | /* Link the iocb into the context's free list */ |
606 | rcu_read_lock(); | ||
612 | spin_lock_irq(&ctx->ctx_lock); | 607 | spin_lock_irq(&ctx->ctx_lock); |
613 | really_put_req(ctx, req); | 608 | really_put_req(ctx, req); |
609 | /* | ||
610 | * at that point ctx might've been killed, but actual | ||
611 | * freeing is RCU'd | ||
612 | */ | ||
614 | spin_unlock_irq(&ctx->ctx_lock); | 613 | spin_unlock_irq(&ctx->ctx_lock); |
614 | rcu_read_unlock(); | ||
615 | 615 | ||
616 | put_ioctx(ctx); | ||
617 | spin_lock_irq(&fput_lock); | 616 | spin_lock_irq(&fput_lock); |
618 | } | 617 | } |
619 | spin_unlock_irq(&fput_lock); | 618 | spin_unlock_irq(&fput_lock); |
@@ -644,7 +643,6 @@ static int __aio_put_req(struct kioctx *ctx, struct kiocb *req) | |||
644 | * this function will be executed w/out any aio kthread wakeup. | 643 | * this function will be executed w/out any aio kthread wakeup. |
645 | */ | 644 | */ |
646 | if (unlikely(!fput_atomic(req->ki_filp))) { | 645 | if (unlikely(!fput_atomic(req->ki_filp))) { |
647 | get_ioctx(ctx); | ||
648 | spin_lock(&fput_lock); | 646 | spin_lock(&fput_lock); |
649 | list_add(&req->ki_list, &fput_head); | 647 | list_add(&req->ki_list, &fput_head); |
650 | spin_unlock(&fput_lock); | 648 | spin_unlock(&fput_lock); |
@@ -1338,10 +1336,10 @@ SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp) | |||
1338 | ret = PTR_ERR(ioctx); | 1336 | ret = PTR_ERR(ioctx); |
1339 | if (!IS_ERR(ioctx)) { | 1337 | if (!IS_ERR(ioctx)) { |
1340 | ret = put_user(ioctx->user_id, ctxp); | 1338 | ret = put_user(ioctx->user_id, ctxp); |
1341 | if (!ret) | 1339 | if (!ret) { |
1340 | put_ioctx(ioctx); | ||
1342 | return 0; | 1341 | return 0; |
1343 | 1342 | } | |
1344 | get_ioctx(ioctx); /* io_destroy() expects us to hold a ref */ | ||
1345 | io_destroy(ioctx); | 1343 | io_destroy(ioctx); |
1346 | } | 1344 | } |
1347 | 1345 | ||
diff --git a/fs/block_dev.c b/fs/block_dev.c index 0e575d1304b4..5e9f198f7712 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c | |||
@@ -1183,8 +1183,12 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part) | |||
1183 | * The latter is necessary to prevent ghost | 1183 | * The latter is necessary to prevent ghost |
1184 | * partitions on a removed medium. | 1184 | * partitions on a removed medium. |
1185 | */ | 1185 | */ |
1186 | if (bdev->bd_invalidated && (!ret || ret == -ENOMEDIUM)) | 1186 | if (bdev->bd_invalidated) { |
1187 | rescan_partitions(disk, bdev); | 1187 | if (!ret) |
1188 | rescan_partitions(disk, bdev); | ||
1189 | else if (ret == -ENOMEDIUM) | ||
1190 | invalidate_partitions(disk, bdev); | ||
1191 | } | ||
1188 | if (ret) | 1192 | if (ret) |
1189 | goto out_clear; | 1193 | goto out_clear; |
1190 | } else { | 1194 | } else { |
@@ -1214,8 +1218,12 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part) | |||
1214 | if (bdev->bd_disk->fops->open) | 1218 | if (bdev->bd_disk->fops->open) |
1215 | ret = bdev->bd_disk->fops->open(bdev, mode); | 1219 | ret = bdev->bd_disk->fops->open(bdev, mode); |
1216 | /* the same as first opener case, read comment there */ | 1220 | /* the same as first opener case, read comment there */ |
1217 | if (bdev->bd_invalidated && (!ret || ret == -ENOMEDIUM)) | 1221 | if (bdev->bd_invalidated) { |
1218 | rescan_partitions(bdev->bd_disk, bdev); | 1222 | if (!ret) |
1223 | rescan_partitions(bdev->bd_disk, bdev); | ||
1224 | else if (ret == -ENOMEDIUM) | ||
1225 | invalidate_partitions(bdev->bd_disk, bdev); | ||
1226 | } | ||
1219 | if (ret) | 1227 | if (ret) |
1220 | goto out_unlock_bdev; | 1228 | goto out_unlock_bdev; |
1221 | } | 1229 | } |
diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c index 98f6bf10bbd4..0436c12da8c2 100644 --- a/fs/btrfs/backref.c +++ b/fs/btrfs/backref.c | |||
@@ -583,7 +583,7 @@ static int find_parent_nodes(struct btrfs_trans_handle *trans, | |||
583 | struct btrfs_path *path; | 583 | struct btrfs_path *path; |
584 | struct btrfs_key info_key = { 0 }; | 584 | struct btrfs_key info_key = { 0 }; |
585 | struct btrfs_delayed_ref_root *delayed_refs = NULL; | 585 | struct btrfs_delayed_ref_root *delayed_refs = NULL; |
586 | struct btrfs_delayed_ref_head *head = NULL; | 586 | struct btrfs_delayed_ref_head *head; |
587 | int info_level = 0; | 587 | int info_level = 0; |
588 | int ret; | 588 | int ret; |
589 | struct list_head prefs_delayed; | 589 | struct list_head prefs_delayed; |
@@ -607,6 +607,8 @@ static int find_parent_nodes(struct btrfs_trans_handle *trans, | |||
607 | * at a specified point in time | 607 | * at a specified point in time |
608 | */ | 608 | */ |
609 | again: | 609 | again: |
610 | head = NULL; | ||
611 | |||
610 | ret = btrfs_search_slot(trans, fs_info->extent_root, &key, path, 0, 0); | 612 | ret = btrfs_search_slot(trans, fs_info->extent_root, &key, path, 0, 0); |
611 | if (ret < 0) | 613 | if (ret < 0) |
612 | goto out; | 614 | goto out; |
@@ -635,8 +637,10 @@ again: | |||
635 | goto again; | 637 | goto again; |
636 | } | 638 | } |
637 | ret = __add_delayed_refs(head, seq, &info_key, &prefs_delayed); | 639 | ret = __add_delayed_refs(head, seq, &info_key, &prefs_delayed); |
638 | if (ret) | 640 | if (ret) { |
641 | spin_unlock(&delayed_refs->lock); | ||
639 | goto out; | 642 | goto out; |
643 | } | ||
640 | } | 644 | } |
641 | spin_unlock(&delayed_refs->lock); | 645 | spin_unlock(&delayed_refs->lock); |
642 | 646 | ||
diff --git a/fs/btrfs/reada.c b/fs/btrfs/reada.c index 2373b39a132b..22db04550f6a 100644 --- a/fs/btrfs/reada.c +++ b/fs/btrfs/reada.c | |||
@@ -305,7 +305,7 @@ again: | |||
305 | 305 | ||
306 | spin_lock(&fs_info->reada_lock); | 306 | spin_lock(&fs_info->reada_lock); |
307 | ret = radix_tree_insert(&dev->reada_zones, | 307 | ret = radix_tree_insert(&dev->reada_zones, |
308 | (unsigned long)zone->end >> PAGE_CACHE_SHIFT, | 308 | (unsigned long)(zone->end >> PAGE_CACHE_SHIFT), |
309 | zone); | 309 | zone); |
310 | spin_unlock(&fs_info->reada_lock); | 310 | spin_unlock(&fs_info->reada_lock); |
311 | 311 | ||
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 4dd9283885e7..5e64748a2917 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -920,16 +920,26 @@ cifs_push_mandatory_locks(struct cifsFileInfo *cfile) | |||
920 | for (lockp = &inode->i_flock; *lockp != NULL; \ | 920 | for (lockp = &inode->i_flock; *lockp != NULL; \ |
921 | lockp = &(*lockp)->fl_next) | 921 | lockp = &(*lockp)->fl_next) |
922 | 922 | ||
923 | struct lock_to_push { | ||
924 | struct list_head llist; | ||
925 | __u64 offset; | ||
926 | __u64 length; | ||
927 | __u32 pid; | ||
928 | __u16 netfid; | ||
929 | __u8 type; | ||
930 | }; | ||
931 | |||
923 | static int | 932 | static int |
924 | cifs_push_posix_locks(struct cifsFileInfo *cfile) | 933 | cifs_push_posix_locks(struct cifsFileInfo *cfile) |
925 | { | 934 | { |
926 | struct cifsInodeInfo *cinode = CIFS_I(cfile->dentry->d_inode); | 935 | struct cifsInodeInfo *cinode = CIFS_I(cfile->dentry->d_inode); |
927 | struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); | 936 | struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); |
928 | struct file_lock *flock, **before; | 937 | struct file_lock *flock, **before; |
929 | struct cifsLockInfo *lck, *tmp; | 938 | unsigned int count = 0, i = 0; |
930 | int rc = 0, xid, type; | 939 | int rc = 0, xid, type; |
940 | struct list_head locks_to_send, *el; | ||
941 | struct lock_to_push *lck, *tmp; | ||
931 | __u64 length; | 942 | __u64 length; |
932 | struct list_head locks_to_send; | ||
933 | 943 | ||
934 | xid = GetXid(); | 944 | xid = GetXid(); |
935 | 945 | ||
@@ -940,29 +950,55 @@ cifs_push_posix_locks(struct cifsFileInfo *cfile) | |||
940 | return rc; | 950 | return rc; |
941 | } | 951 | } |
942 | 952 | ||
953 | lock_flocks(); | ||
954 | cifs_for_each_lock(cfile->dentry->d_inode, before) { | ||
955 | if ((*before)->fl_flags & FL_POSIX) | ||
956 | count++; | ||
957 | } | ||
958 | unlock_flocks(); | ||
959 | |||
943 | INIT_LIST_HEAD(&locks_to_send); | 960 | INIT_LIST_HEAD(&locks_to_send); |
944 | 961 | ||
962 | /* | ||
963 | * Allocating count locks is enough because no locks can be added to | ||
964 | * the list while we are holding cinode->lock_mutex that protects | ||
965 | * locking operations of this inode. | ||
966 | */ | ||
967 | for (; i < count; i++) { | ||
968 | lck = kmalloc(sizeof(struct lock_to_push), GFP_KERNEL); | ||
969 | if (!lck) { | ||
970 | rc = -ENOMEM; | ||
971 | goto err_out; | ||
972 | } | ||
973 | list_add_tail(&lck->llist, &locks_to_send); | ||
974 | } | ||
975 | |||
976 | i = 0; | ||
977 | el = locks_to_send.next; | ||
945 | lock_flocks(); | 978 | lock_flocks(); |
946 | cifs_for_each_lock(cfile->dentry->d_inode, before) { | 979 | cifs_for_each_lock(cfile->dentry->d_inode, before) { |
980 | if (el == &locks_to_send) { | ||
981 | /* something is really wrong */ | ||
982 | cERROR(1, "Can't push all brlocks!"); | ||
983 | break; | ||
984 | } | ||
947 | flock = *before; | 985 | flock = *before; |
986 | if ((flock->fl_flags & FL_POSIX) == 0) | ||
987 | continue; | ||
948 | length = 1 + flock->fl_end - flock->fl_start; | 988 | length = 1 + flock->fl_end - flock->fl_start; |
949 | if (flock->fl_type == F_RDLCK || flock->fl_type == F_SHLCK) | 989 | if (flock->fl_type == F_RDLCK || flock->fl_type == F_SHLCK) |
950 | type = CIFS_RDLCK; | 990 | type = CIFS_RDLCK; |
951 | else | 991 | else |
952 | type = CIFS_WRLCK; | 992 | type = CIFS_WRLCK; |
953 | 993 | lck = list_entry(el, struct lock_to_push, llist); | |
954 | lck = cifs_lock_init(flock->fl_start, length, type, | ||
955 | cfile->netfid); | ||
956 | if (!lck) { | ||
957 | rc = -ENOMEM; | ||
958 | goto send_locks; | ||
959 | } | ||
960 | lck->pid = flock->fl_pid; | 994 | lck->pid = flock->fl_pid; |
961 | 995 | lck->netfid = cfile->netfid; | |
962 | list_add_tail(&lck->llist, &locks_to_send); | 996 | lck->length = length; |
997 | lck->type = type; | ||
998 | lck->offset = flock->fl_start; | ||
999 | i++; | ||
1000 | el = el->next; | ||
963 | } | 1001 | } |
964 | |||
965 | send_locks: | ||
966 | unlock_flocks(); | 1002 | unlock_flocks(); |
967 | 1003 | ||
968 | list_for_each_entry_safe(lck, tmp, &locks_to_send, llist) { | 1004 | list_for_each_entry_safe(lck, tmp, &locks_to_send, llist) { |
@@ -979,11 +1015,18 @@ send_locks: | |||
979 | kfree(lck); | 1015 | kfree(lck); |
980 | } | 1016 | } |
981 | 1017 | ||
1018 | out: | ||
982 | cinode->can_cache_brlcks = false; | 1019 | cinode->can_cache_brlcks = false; |
983 | mutex_unlock(&cinode->lock_mutex); | 1020 | mutex_unlock(&cinode->lock_mutex); |
984 | 1021 | ||
985 | FreeXid(xid); | 1022 | FreeXid(xid); |
986 | return rc; | 1023 | return rc; |
1024 | err_out: | ||
1025 | list_for_each_entry_safe(lck, tmp, &locks_to_send, llist) { | ||
1026 | list_del(&lck->llist); | ||
1027 | kfree(lck); | ||
1028 | } | ||
1029 | goto out; | ||
987 | } | 1030 | } |
988 | 1031 | ||
989 | static int | 1032 | static int |
diff --git a/fs/cifs/xattr.c b/fs/cifs/xattr.c index 45f07c46f3ed..10d92cf57ab6 100644 --- a/fs/cifs/xattr.c +++ b/fs/cifs/xattr.c | |||
@@ -105,7 +105,6 @@ int cifs_setxattr(struct dentry *direntry, const char *ea_name, | |||
105 | struct cifs_tcon *pTcon; | 105 | struct cifs_tcon *pTcon; |
106 | struct super_block *sb; | 106 | struct super_block *sb; |
107 | char *full_path; | 107 | char *full_path; |
108 | struct cifs_ntsd *pacl; | ||
109 | 108 | ||
110 | if (direntry == NULL) | 109 | if (direntry == NULL) |
111 | return -EIO; | 110 | return -EIO; |
@@ -164,23 +163,24 @@ int cifs_setxattr(struct dentry *direntry, const char *ea_name, | |||
164 | cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR); | 163 | cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR); |
165 | } else if (strncmp(ea_name, CIFS_XATTR_CIFS_ACL, | 164 | } else if (strncmp(ea_name, CIFS_XATTR_CIFS_ACL, |
166 | strlen(CIFS_XATTR_CIFS_ACL)) == 0) { | 165 | strlen(CIFS_XATTR_CIFS_ACL)) == 0) { |
166 | #ifdef CONFIG_CIFS_ACL | ||
167 | struct cifs_ntsd *pacl; | ||
167 | pacl = kmalloc(value_size, GFP_KERNEL); | 168 | pacl = kmalloc(value_size, GFP_KERNEL); |
168 | if (!pacl) { | 169 | if (!pacl) { |
169 | cFYI(1, "%s: Can't allocate memory for ACL", | 170 | cFYI(1, "%s: Can't allocate memory for ACL", |
170 | __func__); | 171 | __func__); |
171 | rc = -ENOMEM; | 172 | rc = -ENOMEM; |
172 | } else { | 173 | } else { |
173 | #ifdef CONFIG_CIFS_ACL | ||
174 | memcpy(pacl, ea_value, value_size); | 174 | memcpy(pacl, ea_value, value_size); |
175 | rc = set_cifs_acl(pacl, value_size, | 175 | rc = set_cifs_acl(pacl, value_size, |
176 | direntry->d_inode, full_path, CIFS_ACL_DACL); | 176 | direntry->d_inode, full_path, CIFS_ACL_DACL); |
177 | if (rc == 0) /* force revalidate of the inode */ | 177 | if (rc == 0) /* force revalidate of the inode */ |
178 | CIFS_I(direntry->d_inode)->time = 0; | 178 | CIFS_I(direntry->d_inode)->time = 0; |
179 | kfree(pacl); | 179 | kfree(pacl); |
180 | } | ||
180 | #else | 181 | #else |
181 | cFYI(1, "Set CIFS ACL not supported yet"); | 182 | cFYI(1, "Set CIFS ACL not supported yet"); |
182 | #endif /* CONFIG_CIFS_ACL */ | 183 | #endif /* CONFIG_CIFS_ACL */ |
183 | } | ||
184 | } else { | 184 | } else { |
185 | int temp; | 185 | int temp; |
186 | temp = strncmp(ea_name, POSIX_ACL_XATTR_ACCESS, | 186 | temp = strncmp(ea_name, POSIX_ACL_XATTR_ACCESS, |
diff --git a/fs/eventpoll.c b/fs/eventpoll.c index ea54cdef04dd..4d9d3a45e356 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c | |||
@@ -988,6 +988,10 @@ static int path_count[PATH_ARR_SIZE]; | |||
988 | 988 | ||
989 | static int path_count_inc(int nests) | 989 | static int path_count_inc(int nests) |
990 | { | 990 | { |
991 | /* Allow an arbitrary number of depth 1 paths */ | ||
992 | if (nests == 0) | ||
993 | return 0; | ||
994 | |||
991 | if (++path_count[nests] > path_limits[nests]) | 995 | if (++path_count[nests] > path_limits[nests]) |
992 | return -1; | 996 | return -1; |
993 | return 0; | 997 | return 0; |
diff --git a/fs/inode.c b/fs/inode.c index d3ebdbe723d0..83ab215baab1 100644 --- a/fs/inode.c +++ b/fs/inode.c | |||
@@ -938,8 +938,7 @@ void lockdep_annotate_inode_mutex_key(struct inode *inode) | |||
938 | struct file_system_type *type = inode->i_sb->s_type; | 938 | struct file_system_type *type = inode->i_sb->s_type; |
939 | 939 | ||
940 | /* Set new key only if filesystem hasn't already changed it */ | 940 | /* Set new key only if filesystem hasn't already changed it */ |
941 | if (!lockdep_match_class(&inode->i_mutex, | 941 | if (lockdep_match_class(&inode->i_mutex, &type->i_mutex_key)) { |
942 | &type->i_mutex_key)) { | ||
943 | /* | 942 | /* |
944 | * ensure nobody is actually holding i_mutex | 943 | * ensure nobody is actually holding i_mutex |
945 | */ | 944 | */ |
@@ -966,6 +965,7 @@ void unlock_new_inode(struct inode *inode) | |||
966 | spin_lock(&inode->i_lock); | 965 | spin_lock(&inode->i_lock); |
967 | WARN_ON(!(inode->i_state & I_NEW)); | 966 | WARN_ON(!(inode->i_state & I_NEW)); |
968 | inode->i_state &= ~I_NEW; | 967 | inode->i_state &= ~I_NEW; |
968 | smp_mb(); | ||
969 | wake_up_bit(&inode->i_state, __I_NEW); | 969 | wake_up_bit(&inode->i_state, __I_NEW); |
970 | spin_unlock(&inode->i_lock); | 970 | spin_unlock(&inode->i_lock); |
971 | } | 971 | } |
diff --git a/fs/namei.c b/fs/namei.c index e2ba62820a0f..46ea9cc16647 100644 --- a/fs/namei.c +++ b/fs/namei.c | |||
@@ -2162,7 +2162,7 @@ static struct file *do_last(struct nameidata *nd, struct path *path, | |||
2162 | /* sayonara */ | 2162 | /* sayonara */ |
2163 | error = complete_walk(nd); | 2163 | error = complete_walk(nd); |
2164 | if (error) | 2164 | if (error) |
2165 | return ERR_PTR(-ECHILD); | 2165 | return ERR_PTR(error); |
2166 | 2166 | ||
2167 | error = -ENOTDIR; | 2167 | error = -ENOTDIR; |
2168 | if (nd->flags & LOOKUP_DIRECTORY) { | 2168 | if (nd->flags & LOOKUP_DIRECTORY) { |
@@ -2261,7 +2261,7 @@ static struct file *do_last(struct nameidata *nd, struct path *path, | |||
2261 | /* Why this, you ask? _Now_ we might have grown LOOKUP_JUMPED... */ | 2261 | /* Why this, you ask? _Now_ we might have grown LOOKUP_JUMPED... */ |
2262 | error = complete_walk(nd); | 2262 | error = complete_walk(nd); |
2263 | if (error) | 2263 | if (error) |
2264 | goto exit; | 2264 | return ERR_PTR(error); |
2265 | error = -EISDIR; | 2265 | error = -EISDIR; |
2266 | if (S_ISDIR(nd->inode->i_mode)) | 2266 | if (S_ISDIR(nd->inode->i_mode)) |
2267 | goto exit; | 2267 | goto exit; |
diff --git a/fs/nilfs2/the_nilfs.c b/fs/nilfs2/the_nilfs.c index d32714094375..501b7f8b739f 100644 --- a/fs/nilfs2/the_nilfs.c +++ b/fs/nilfs2/the_nilfs.c | |||
@@ -409,6 +409,12 @@ static int nilfs_store_disk_layout(struct the_nilfs *nilfs, | |||
409 | nilfs->ns_first_data_block = le64_to_cpu(sbp->s_first_data_block); | 409 | nilfs->ns_first_data_block = le64_to_cpu(sbp->s_first_data_block); |
410 | nilfs->ns_r_segments_percentage = | 410 | nilfs->ns_r_segments_percentage = |
411 | le32_to_cpu(sbp->s_r_segments_percentage); | 411 | le32_to_cpu(sbp->s_r_segments_percentage); |
412 | if (nilfs->ns_r_segments_percentage < 1 || | ||
413 | nilfs->ns_r_segments_percentage > 99) { | ||
414 | printk(KERN_ERR "NILFS: invalid reserved segments percentage.\n"); | ||
415 | return -EINVAL; | ||
416 | } | ||
417 | |||
412 | nilfs_set_nsegments(nilfs, le64_to_cpu(sbp->s_nsegments)); | 418 | nilfs_set_nsegments(nilfs, le64_to_cpu(sbp->s_nsegments)); |
413 | nilfs->ns_crc_seed = le32_to_cpu(sbp->s_crc_seed); | 419 | nilfs->ns_crc_seed = le32_to_cpu(sbp->s_crc_seed); |
414 | return 0; | 420 | return 0; |
@@ -515,6 +521,7 @@ static int nilfs_load_super_block(struct the_nilfs *nilfs, | |||
515 | brelse(sbh[1]); | 521 | brelse(sbh[1]); |
516 | sbh[1] = NULL; | 522 | sbh[1] = NULL; |
517 | sbp[1] = NULL; | 523 | sbp[1] = NULL; |
524 | valid[1] = 0; | ||
518 | swp = 0; | 525 | swp = 0; |
519 | } | 526 | } |
520 | if (!valid[swp]) { | 527 | if (!valid[swp]) { |
diff --git a/fs/udf/file.c b/fs/udf/file.c index dca0c3881e82..d567b8448dfc 100644 --- a/fs/udf/file.c +++ b/fs/udf/file.c | |||
@@ -201,12 +201,10 @@ out: | |||
201 | static int udf_release_file(struct inode *inode, struct file *filp) | 201 | static int udf_release_file(struct inode *inode, struct file *filp) |
202 | { | 202 | { |
203 | if (filp->f_mode & FMODE_WRITE) { | 203 | if (filp->f_mode & FMODE_WRITE) { |
204 | mutex_lock(&inode->i_mutex); | ||
205 | down_write(&UDF_I(inode)->i_data_sem); | 204 | down_write(&UDF_I(inode)->i_data_sem); |
206 | udf_discard_prealloc(inode); | 205 | udf_discard_prealloc(inode); |
207 | udf_truncate_tail_extent(inode); | 206 | udf_truncate_tail_extent(inode); |
208 | up_write(&UDF_I(inode)->i_data_sem); | 207 | up_write(&UDF_I(inode)->i_data_sem); |
209 | mutex_unlock(&inode->i_mutex); | ||
210 | } | 208 | } |
211 | return 0; | 209 | return 0; |
212 | } | 210 | } |
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index fe23ee768589..e61d3192448e 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h | |||
@@ -596,6 +596,7 @@ extern char *disk_name (struct gendisk *hd, int partno, char *buf); | |||
596 | 596 | ||
597 | extern int disk_expand_part_tbl(struct gendisk *disk, int target); | 597 | extern int disk_expand_part_tbl(struct gendisk *disk, int target); |
598 | extern int rescan_partitions(struct gendisk *disk, struct block_device *bdev); | 598 | extern int rescan_partitions(struct gendisk *disk, struct block_device *bdev); |
599 | extern int invalidate_partitions(struct gendisk *disk, struct block_device *bdev); | ||
599 | extern struct hd_struct * __must_check add_partition(struct gendisk *disk, | 600 | extern struct hd_struct * __must_check add_partition(struct gendisk *disk, |
600 | int partno, sector_t start, | 601 | int partno, sector_t start, |
601 | sector_t len, int flags, | 602 | sector_t len, int flags, |
diff --git a/include/linux/iocontext.h b/include/linux/iocontext.h index 119773eebe31..1a3018063034 100644 --- a/include/linux/iocontext.h +++ b/include/linux/iocontext.h | |||
@@ -6,8 +6,11 @@ | |||
6 | #include <linux/workqueue.h> | 6 | #include <linux/workqueue.h> |
7 | 7 | ||
8 | enum { | 8 | enum { |
9 | ICQ_IOPRIO_CHANGED, | 9 | ICQ_IOPRIO_CHANGED = 1 << 0, |
10 | ICQ_CGROUP_CHANGED, | 10 | ICQ_CGROUP_CHANGED = 1 << 1, |
11 | ICQ_EXITED = 1 << 2, | ||
12 | |||
13 | ICQ_CHANGED_MASK = ICQ_IOPRIO_CHANGED | ICQ_CGROUP_CHANGED, | ||
11 | }; | 14 | }; |
12 | 15 | ||
13 | /* | 16 | /* |
@@ -88,7 +91,7 @@ struct io_cq { | |||
88 | struct rcu_head __rcu_head; | 91 | struct rcu_head __rcu_head; |
89 | }; | 92 | }; |
90 | 93 | ||
91 | unsigned long changed; | 94 | unsigned int flags; |
92 | }; | 95 | }; |
93 | 96 | ||
94 | /* | 97 | /* |
@@ -139,6 +142,7 @@ struct io_context *get_task_io_context(struct task_struct *task, | |||
139 | gfp_t gfp_flags, int node); | 142 | gfp_t gfp_flags, int node); |
140 | void ioc_ioprio_changed(struct io_context *ioc, int ioprio); | 143 | void ioc_ioprio_changed(struct io_context *ioc, int ioprio); |
141 | void ioc_cgroup_changed(struct io_context *ioc); | 144 | void ioc_cgroup_changed(struct io_context *ioc); |
145 | unsigned int icq_get_changed(struct io_cq *icq); | ||
142 | #else | 146 | #else |
143 | struct io_context; | 147 | struct io_context; |
144 | static inline void put_io_context(struct io_context *ioc) { } | 148 | static inline void put_io_context(struct io_context *ioc) { } |
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index eb8b9f15f2e0..af155450cabb 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
@@ -289,12 +289,16 @@ enum { | |||
289 | * | 289 | * |
290 | * system_freezable_wq is equivalent to system_wq except that it's | 290 | * system_freezable_wq is equivalent to system_wq except that it's |
291 | * freezable. | 291 | * freezable. |
292 | * | ||
293 | * system_nrt_freezable_wq is equivalent to system_nrt_wq except that | ||
294 | * it's freezable. | ||
292 | */ | 295 | */ |
293 | extern struct workqueue_struct *system_wq; | 296 | extern struct workqueue_struct *system_wq; |
294 | extern struct workqueue_struct *system_long_wq; | 297 | extern struct workqueue_struct *system_long_wq; |
295 | extern struct workqueue_struct *system_nrt_wq; | 298 | extern struct workqueue_struct *system_nrt_wq; |
296 | extern struct workqueue_struct *system_unbound_wq; | 299 | extern struct workqueue_struct *system_unbound_wq; |
297 | extern struct workqueue_struct *system_freezable_wq; | 300 | extern struct workqueue_struct *system_freezable_wq; |
301 | extern struct workqueue_struct *system_nrt_freezable_wq; | ||
298 | 302 | ||
299 | extern struct workqueue_struct * | 303 | extern struct workqueue_struct * |
300 | __alloc_workqueue_key(const char *fmt, unsigned int flags, int max_active, | 304 | __alloc_workqueue_key(const char *fmt, unsigned int flags, int max_active, |
diff --git a/kernel/sys.c b/kernel/sys.c index 40701538fbd1..888d227fd195 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
@@ -1706,7 +1706,7 @@ static int prctl_set_mm(int opt, unsigned long addr, | |||
1706 | if (arg4 | arg5) | 1706 | if (arg4 | arg5) |
1707 | return -EINVAL; | 1707 | return -EINVAL; |
1708 | 1708 | ||
1709 | if (!capable(CAP_SYS_ADMIN)) | 1709 | if (!capable(CAP_SYS_RESOURCE)) |
1710 | return -EPERM; | 1710 | return -EPERM; |
1711 | 1711 | ||
1712 | if (addr >= TASK_SIZE) | 1712 | if (addr >= TASK_SIZE) |
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index bec7b5b53e03..f2c5638bb5ab 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c | |||
@@ -253,11 +253,13 @@ struct workqueue_struct *system_long_wq __read_mostly; | |||
253 | struct workqueue_struct *system_nrt_wq __read_mostly; | 253 | struct workqueue_struct *system_nrt_wq __read_mostly; |
254 | struct workqueue_struct *system_unbound_wq __read_mostly; | 254 | struct workqueue_struct *system_unbound_wq __read_mostly; |
255 | struct workqueue_struct *system_freezable_wq __read_mostly; | 255 | struct workqueue_struct *system_freezable_wq __read_mostly; |
256 | struct workqueue_struct *system_nrt_freezable_wq __read_mostly; | ||
256 | EXPORT_SYMBOL_GPL(system_wq); | 257 | EXPORT_SYMBOL_GPL(system_wq); |
257 | EXPORT_SYMBOL_GPL(system_long_wq); | 258 | EXPORT_SYMBOL_GPL(system_long_wq); |
258 | EXPORT_SYMBOL_GPL(system_nrt_wq); | 259 | EXPORT_SYMBOL_GPL(system_nrt_wq); |
259 | EXPORT_SYMBOL_GPL(system_unbound_wq); | 260 | EXPORT_SYMBOL_GPL(system_unbound_wq); |
260 | EXPORT_SYMBOL_GPL(system_freezable_wq); | 261 | EXPORT_SYMBOL_GPL(system_freezable_wq); |
262 | EXPORT_SYMBOL_GPL(system_nrt_freezable_wq); | ||
261 | 263 | ||
262 | #define CREATE_TRACE_POINTS | 264 | #define CREATE_TRACE_POINTS |
263 | #include <trace/events/workqueue.h> | 265 | #include <trace/events/workqueue.h> |
@@ -3833,8 +3835,11 @@ static int __init init_workqueues(void) | |||
3833 | WQ_UNBOUND_MAX_ACTIVE); | 3835 | WQ_UNBOUND_MAX_ACTIVE); |
3834 | system_freezable_wq = alloc_workqueue("events_freezable", | 3836 | system_freezable_wq = alloc_workqueue("events_freezable", |
3835 | WQ_FREEZABLE, 0); | 3837 | WQ_FREEZABLE, 0); |
3838 | system_nrt_freezable_wq = alloc_workqueue("events_nrt_freezable", | ||
3839 | WQ_NON_REENTRANT | WQ_FREEZABLE, 0); | ||
3836 | BUG_ON(!system_wq || !system_long_wq || !system_nrt_wq || | 3840 | BUG_ON(!system_wq || !system_long_wq || !system_nrt_wq || |
3837 | !system_unbound_wq || !system_freezable_wq); | 3841 | !system_unbound_wq || !system_freezable_wq || |
3842 | !system_nrt_freezable_wq); | ||
3838 | return 0; | 3843 | return 0; |
3839 | } | 3844 | } |
3840 | early_initcall(init_workqueues); | 3845 | early_initcall(init_workqueues); |
diff --git a/lib/dynamic_queue_limits.c b/lib/dynamic_queue_limits.c index 3d1bdcdd7db4..6ab4587d052b 100644 --- a/lib/dynamic_queue_limits.c +++ b/lib/dynamic_queue_limits.c | |||
@@ -7,6 +7,7 @@ | |||
7 | #include <linux/types.h> | 7 | #include <linux/types.h> |
8 | #include <linux/ctype.h> | 8 | #include <linux/ctype.h> |
9 | #include <linux/kernel.h> | 9 | #include <linux/kernel.h> |
10 | #include <linux/jiffies.h> | ||
10 | #include <linux/dynamic_queue_limits.h> | 11 | #include <linux/dynamic_queue_limits.h> |
11 | 12 | ||
12 | #define POSDIFF(A, B) ((A) > (B) ? (A) - (B) : 0) | 13 | #define POSDIFF(A, B) ((A) > (B) ? (A) - (B) : 0) |
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 5585dc3d3646..58a08fc7414a 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
@@ -230,10 +230,30 @@ struct mem_cgroup { | |||
230 | * the counter to account for memory usage | 230 | * the counter to account for memory usage |
231 | */ | 231 | */ |
232 | struct res_counter res; | 232 | struct res_counter res; |
233 | /* | 233 | |
234 | * the counter to account for mem+swap usage. | 234 | union { |
235 | */ | 235 | /* |
236 | struct res_counter memsw; | 236 | * the counter to account for mem+swap usage. |
237 | */ | ||
238 | struct res_counter memsw; | ||
239 | |||
240 | /* | ||
241 | * rcu_freeing is used only when freeing struct mem_cgroup, | ||
242 | * so put it into a union to avoid wasting more memory. | ||
243 | * It must be disjoint from the css field. It could be | ||
244 | * in a union with the res field, but res plays a much | ||
245 | * larger part in mem_cgroup life than memsw, and might | ||
246 | * be of interest, even at time of free, when debugging. | ||
247 | * So share rcu_head with the less interesting memsw. | ||
248 | */ | ||
249 | struct rcu_head rcu_freeing; | ||
250 | /* | ||
251 | * But when using vfree(), that cannot be done at | ||
252 | * interrupt time, so we must then queue the work. | ||
253 | */ | ||
254 | struct work_struct work_freeing; | ||
255 | }; | ||
256 | |||
237 | /* | 257 | /* |
238 | * Per cgroup active and inactive list, similar to the | 258 | * Per cgroup active and inactive list, similar to the |
239 | * per zone LRU lists. | 259 | * per zone LRU lists. |
@@ -4780,6 +4800,27 @@ out_free: | |||
4780 | } | 4800 | } |
4781 | 4801 | ||
4782 | /* | 4802 | /* |
4803 | * Helpers for freeing a vzalloc()ed mem_cgroup by RCU, | ||
4804 | * but in process context. The work_freeing structure is overlaid | ||
4805 | * on the rcu_freeing structure, which itself is overlaid on memsw. | ||
4806 | */ | ||
4807 | static void vfree_work(struct work_struct *work) | ||
4808 | { | ||
4809 | struct mem_cgroup *memcg; | ||
4810 | |||
4811 | memcg = container_of(work, struct mem_cgroup, work_freeing); | ||
4812 | vfree(memcg); | ||
4813 | } | ||
4814 | static void vfree_rcu(struct rcu_head *rcu_head) | ||
4815 | { | ||
4816 | struct mem_cgroup *memcg; | ||
4817 | |||
4818 | memcg = container_of(rcu_head, struct mem_cgroup, rcu_freeing); | ||
4819 | INIT_WORK(&memcg->work_freeing, vfree_work); | ||
4820 | schedule_work(&memcg->work_freeing); | ||
4821 | } | ||
4822 | |||
4823 | /* | ||
4783 | * At destroying mem_cgroup, references from swap_cgroup can remain. | 4824 | * At destroying mem_cgroup, references from swap_cgroup can remain. |
4784 | * (scanning all at force_empty is too costly...) | 4825 | * (scanning all at force_empty is too costly...) |
4785 | * | 4826 | * |
@@ -4802,9 +4843,9 @@ static void __mem_cgroup_free(struct mem_cgroup *memcg) | |||
4802 | 4843 | ||
4803 | free_percpu(memcg->stat); | 4844 | free_percpu(memcg->stat); |
4804 | if (sizeof(struct mem_cgroup) < PAGE_SIZE) | 4845 | if (sizeof(struct mem_cgroup) < PAGE_SIZE) |
4805 | kfree(memcg); | 4846 | kfree_rcu(memcg, rcu_freeing); |
4806 | else | 4847 | else |
4807 | vfree(memcg); | 4848 | call_rcu(&memcg->rcu_freeing, vfree_rcu); |
4808 | } | 4849 | } |
4809 | 4850 | ||
4810 | static void mem_cgroup_get(struct mem_cgroup *memcg) | 4851 | static void mem_cgroup_get(struct mem_cgroup *memcg) |
@@ -5075,7 +5116,7 @@ static struct page *mc_handle_present_pte(struct vm_area_struct *vma, | |||
5075 | return NULL; | 5116 | return NULL; |
5076 | if (PageAnon(page)) { | 5117 | if (PageAnon(page)) { |
5077 | /* we don't move shared anon */ | 5118 | /* we don't move shared anon */ |
5078 | if (!move_anon() || page_mapcount(page) > 1) | 5119 | if (!move_anon() || page_mapcount(page) > 2) |
5079 | return NULL; | 5120 | return NULL; |
5080 | } else if (!move_file()) | 5121 | } else if (!move_file()) |
5081 | /* we ignore mapcount for file pages */ | 5122 | /* we ignore mapcount for file pages */ |
diff --git a/net/ipv4/syncookies.c b/net/ipv4/syncookies.c index 51fdbb490437..eab2a7fb15d1 100644 --- a/net/ipv4/syncookies.c +++ b/net/ipv4/syncookies.c | |||
@@ -278,6 +278,7 @@ struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb, | |||
278 | struct rtable *rt; | 278 | struct rtable *rt; |
279 | __u8 rcv_wscale; | 279 | __u8 rcv_wscale; |
280 | bool ecn_ok = false; | 280 | bool ecn_ok = false; |
281 | struct flowi4 fl4; | ||
281 | 282 | ||
282 | if (!sysctl_tcp_syncookies || !th->ack || th->rst) | 283 | if (!sysctl_tcp_syncookies || !th->ack || th->rst) |
283 | goto out; | 284 | goto out; |
@@ -346,20 +347,16 @@ struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb, | |||
346 | * hasn't changed since we received the original syn, but I see | 347 | * hasn't changed since we received the original syn, but I see |
347 | * no easy way to do this. | 348 | * no easy way to do this. |
348 | */ | 349 | */ |
349 | { | 350 | flowi4_init_output(&fl4, 0, sk->sk_mark, RT_CONN_FLAGS(sk), |
350 | struct flowi4 fl4; | 351 | RT_SCOPE_UNIVERSE, IPPROTO_TCP, |
351 | 352 | inet_sk_flowi_flags(sk), | |
352 | flowi4_init_output(&fl4, 0, sk->sk_mark, RT_CONN_FLAGS(sk), | 353 | (opt && opt->srr) ? opt->faddr : ireq->rmt_addr, |
353 | RT_SCOPE_UNIVERSE, IPPROTO_TCP, | 354 | ireq->loc_addr, th->source, th->dest); |
354 | inet_sk_flowi_flags(sk), | 355 | security_req_classify_flow(req, flowi4_to_flowi(&fl4)); |
355 | (opt && opt->srr) ? opt->faddr : ireq->rmt_addr, | 356 | rt = ip_route_output_key(sock_net(sk), &fl4); |
356 | ireq->loc_addr, th->source, th->dest); | 357 | if (IS_ERR(rt)) { |
357 | security_req_classify_flow(req, flowi4_to_flowi(&fl4)); | 358 | reqsk_free(req); |
358 | rt = ip_route_output_key(sock_net(sk), &fl4); | 359 | goto out; |
359 | if (IS_ERR(rt)) { | ||
360 | reqsk_free(req); | ||
361 | goto out; | ||
362 | } | ||
363 | } | 360 | } |
364 | 361 | ||
365 | /* Try to redo what tcp_v4_send_synack did. */ | 362 | /* Try to redo what tcp_v4_send_synack did. */ |
@@ -373,5 +370,10 @@ struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb, | |||
373 | ireq->rcv_wscale = rcv_wscale; | 370 | ireq->rcv_wscale = rcv_wscale; |
374 | 371 | ||
375 | ret = get_cookie_sock(sk, skb, req, &rt->dst); | 372 | ret = get_cookie_sock(sk, skb, req, &rt->dst); |
373 | /* ip_queue_xmit() depends on our flow being setup | ||
374 | * Normal sockets get it right from inet_csk_route_child_sock() | ||
375 | */ | ||
376 | if (ret) | ||
377 | inet_sk(ret)->cork.fl.u.ip4 = fl4; | ||
376 | out: return ret; | 378 | out: return ret; |
377 | } | 379 | } |
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index fe9f604ed1e2..3a25cf743f8b 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -1470,9 +1470,13 @@ struct sock *tcp_v4_syn_recv_sock(struct sock *sk, struct sk_buff *skb, | |||
1470 | inet_csk(newsk)->icsk_ext_hdr_len = inet_opt->opt.optlen; | 1470 | inet_csk(newsk)->icsk_ext_hdr_len = inet_opt->opt.optlen; |
1471 | newinet->inet_id = newtp->write_seq ^ jiffies; | 1471 | newinet->inet_id = newtp->write_seq ^ jiffies; |
1472 | 1472 | ||
1473 | if (!dst && (dst = inet_csk_route_child_sock(sk, newsk, req)) == NULL) | 1473 | if (!dst) { |
1474 | goto put_and_exit; | 1474 | dst = inet_csk_route_child_sock(sk, newsk, req); |
1475 | 1475 | if (!dst) | |
1476 | goto put_and_exit; | ||
1477 | } else { | ||
1478 | /* syncookie case : see end of cookie_v4_check() */ | ||
1479 | } | ||
1476 | sk_setup_caps(newsk, dst); | 1480 | sk_setup_caps(newsk, dst); |
1477 | 1481 | ||
1478 | tcp_mtup_init(newsk); | 1482 | tcp_mtup_init(newsk); |
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index b853f06cc148..16c33e308121 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c | |||
@@ -257,7 +257,6 @@ static struct inet6_dev *ip6_mc_find_dev_rcu(struct net *net, | |||
257 | 257 | ||
258 | if (rt) { | 258 | if (rt) { |
259 | dev = rt->dst.dev; | 259 | dev = rt->dst.dev; |
260 | dev_hold(dev); | ||
261 | dst_release(&rt->dst); | 260 | dst_release(&rt->dst); |
262 | } | 261 | } |
263 | } else | 262 | } else |
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 92be12bb8d23..24c456e8aa1d 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -1090,7 +1090,7 @@ struct dst_entry *icmp6_dst_alloc(struct net_device *dev, | |||
1090 | struct net *net = dev_net(dev); | 1090 | struct net *net = dev_net(dev); |
1091 | 1091 | ||
1092 | if (unlikely(!idev)) | 1092 | if (unlikely(!idev)) |
1093 | return NULL; | 1093 | return ERR_PTR(-ENODEV); |
1094 | 1094 | ||
1095 | rt = ip6_dst_alloc(&net->ipv6.ip6_dst_ops, dev, 0); | 1095 | rt = ip6_dst_alloc(&net->ipv6.ip6_dst_ops, dev, 0); |
1096 | if (unlikely(!rt)) { | 1096 | if (unlikely(!rt)) { |
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c index 2124977ac31d..ca7e8354e4f8 100644 --- a/net/netfilter/nf_conntrack_netlink.c +++ b/net/netfilter/nf_conntrack_netlink.c | |||
@@ -967,20 +967,21 @@ ctnetlink_del_conntrack(struct sock *ctnl, struct sk_buff *skb, | |||
967 | } | 967 | } |
968 | } | 968 | } |
969 | 969 | ||
970 | if (nf_conntrack_event_report(IPCT_DESTROY, ct, | 970 | if (del_timer(&ct->timeout)) { |
971 | NETLINK_CB(skb).pid, | 971 | if (nf_conntrack_event_report(IPCT_DESTROY, ct, |
972 | nlmsg_report(nlh)) < 0) { | 972 | NETLINK_CB(skb).pid, |
973 | nlmsg_report(nlh)) < 0) { | ||
974 | nf_ct_delete_from_lists(ct); | ||
975 | /* we failed to report the event, try later */ | ||
976 | nf_ct_insert_dying_list(ct); | ||
977 | nf_ct_put(ct); | ||
978 | return 0; | ||
979 | } | ||
980 | /* death_by_timeout would report the event again */ | ||
981 | set_bit(IPS_DYING_BIT, &ct->status); | ||
973 | nf_ct_delete_from_lists(ct); | 982 | nf_ct_delete_from_lists(ct); |
974 | /* we failed to report the event, try later */ | ||
975 | nf_ct_insert_dying_list(ct); | ||
976 | nf_ct_put(ct); | 983 | nf_ct_put(ct); |
977 | return 0; | ||
978 | } | 984 | } |
979 | |||
980 | /* death_by_timeout would report the event again */ | ||
981 | set_bit(IPS_DYING_BIT, &ct->status); | ||
982 | |||
983 | nf_ct_kill(ct); | ||
984 | nf_ct_put(ct); | 985 | nf_ct_put(ct); |
985 | 986 | ||
986 | return 0; | 987 | return 0; |
diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 60d47180f043..02a21abea65e 100644 --- a/net/sched/sch_sfq.c +++ b/net/sched/sch_sfq.c | |||
@@ -469,11 +469,15 @@ enqueue: | |||
469 | if (slot->qlen == 1) { /* The flow is new */ | 469 | if (slot->qlen == 1) { /* The flow is new */ |
470 | if (q->tail == NULL) { /* It is the first flow */ | 470 | if (q->tail == NULL) { /* It is the first flow */ |
471 | slot->next = x; | 471 | slot->next = x; |
472 | q->tail = slot; | ||
473 | } else { | 472 | } else { |
474 | slot->next = q->tail->next; | 473 | slot->next = q->tail->next; |
475 | q->tail->next = x; | 474 | q->tail->next = x; |
476 | } | 475 | } |
476 | /* We put this flow at the end of our flow list. | ||
477 | * This might sound unfair for a new flow to wait after old ones, | ||
478 | * but we could endup servicing new flows only, and freeze old ones. | ||
479 | */ | ||
480 | q->tail = slot; | ||
477 | /* We could use a bigger initial quantum for new flows */ | 481 | /* We could use a bigger initial quantum for new flows */ |
478 | slot->allot = q->scaled_quantum; | 482 | slot->allot = q->scaled_quantum; |
479 | } | 483 | } |
diff --git a/tools/perf/Makefile b/tools/perf/Makefile index 7c12650165ae..8a4b9bccf8b2 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile | |||
@@ -249,6 +249,8 @@ LIB_H += util/include/asm/uaccess.h | |||
249 | LIB_H += util/include/dwarf-regs.h | 249 | LIB_H += util/include/dwarf-regs.h |
250 | LIB_H += util/include/asm/dwarf2.h | 250 | LIB_H += util/include/asm/dwarf2.h |
251 | LIB_H += util/include/asm/cpufeature.h | 251 | LIB_H += util/include/asm/cpufeature.h |
252 | LIB_H += util/include/asm/unistd_32.h | ||
253 | LIB_H += util/include/asm/unistd_64.h | ||
252 | LIB_H += perf.h | 254 | LIB_H += perf.h |
253 | LIB_H += util/annotate.h | 255 | LIB_H += util/annotate.h |
254 | LIB_H += util/cache.h | 256 | LIB_H += util/cache.h |
diff --git a/tools/perf/arch/powerpc/util/header.c b/tools/perf/arch/powerpc/util/header.c index eba80c292945..2f7073d107fd 100644 --- a/tools/perf/arch/powerpc/util/header.c +++ b/tools/perf/arch/powerpc/util/header.c | |||
@@ -25,7 +25,7 @@ get_cpuid(char *buffer, size_t sz) | |||
25 | 25 | ||
26 | pvr = mfspr(SPRN_PVR); | 26 | pvr = mfspr(SPRN_PVR); |
27 | 27 | ||
28 | nb = snprintf(buffer, sz, "%lu,%lu$", PVR_VER(pvr), PVR_REV(pvr)); | 28 | nb = scnprintf(buffer, sz, "%lu,%lu$", PVR_VER(pvr), PVR_REV(pvr)); |
29 | 29 | ||
30 | /* look for end marker to ensure the entire data fit */ | 30 | /* look for end marker to ensure the entire data fit */ |
31 | if (strchr(buffer, '$')) { | 31 | if (strchr(buffer, '$')) { |
diff --git a/tools/perf/arch/x86/util/header.c b/tools/perf/arch/x86/util/header.c index f94006068d2b..146d12a1cec0 100644 --- a/tools/perf/arch/x86/util/header.c +++ b/tools/perf/arch/x86/util/header.c | |||
@@ -48,7 +48,7 @@ get_cpuid(char *buffer, size_t sz) | |||
48 | if (family >= 0x6) | 48 | if (family >= 0x6) |
49 | model += ((a >> 16) & 0xf) << 4; | 49 | model += ((a >> 16) & 0xf) << 4; |
50 | } | 50 | } |
51 | nb = snprintf(buffer, sz, "%s,%u,%u,%u$", vendor, family, model, step); | 51 | nb = scnprintf(buffer, sz, "%s,%u,%u,%u$", vendor, family, model, step); |
52 | 52 | ||
53 | /* look for end marker to ensure the entire data fit */ | 53 | /* look for end marker to ensure the entire data fit */ |
54 | if (strchr(buffer, '$')) { | 54 | if (strchr(buffer, '$')) { |
diff --git a/tools/perf/perf.h b/tools/perf/perf.h index 16e7d20eee83..3afa39ac1d40 100644 --- a/tools/perf/perf.h +++ b/tools/perf/perf.h | |||
@@ -10,6 +10,9 @@ void get_term_dimensions(struct winsize *ws); | |||
10 | #define rmb() asm volatile("lock; addl $0,0(%%esp)" ::: "memory") | 10 | #define rmb() asm volatile("lock; addl $0,0(%%esp)" ::: "memory") |
11 | #define cpu_relax() asm volatile("rep; nop" ::: "memory"); | 11 | #define cpu_relax() asm volatile("rep; nop" ::: "memory"); |
12 | #define CPUINFO_PROC "model name" | 12 | #define CPUINFO_PROC "model name" |
13 | #ifndef __NR_perf_event_open | ||
14 | # define __NR_perf_event_open 336 | ||
15 | #endif | ||
13 | #endif | 16 | #endif |
14 | 17 | ||
15 | #if defined(__x86_64__) | 18 | #if defined(__x86_64__) |
@@ -17,6 +20,9 @@ void get_term_dimensions(struct winsize *ws); | |||
17 | #define rmb() asm volatile("lfence" ::: "memory") | 20 | #define rmb() asm volatile("lfence" ::: "memory") |
18 | #define cpu_relax() asm volatile("rep; nop" ::: "memory"); | 21 | #define cpu_relax() asm volatile("rep; nop" ::: "memory"); |
19 | #define CPUINFO_PROC "model name" | 22 | #define CPUINFO_PROC "model name" |
23 | #ifndef __NR_perf_event_open | ||
24 | # define __NR_perf_event_open 298 | ||
25 | #endif | ||
20 | #endif | 26 | #endif |
21 | 27 | ||
22 | #ifdef __powerpc__ | 28 | #ifdef __powerpc__ |
diff --git a/tools/perf/util/color.c b/tools/perf/util/color.c index 521c38a79190..11e46da17bbb 100644 --- a/tools/perf/util/color.c +++ b/tools/perf/util/color.c | |||
@@ -1,3 +1,4 @@ | |||
1 | #include <linux/kernel.h> | ||
1 | #include "cache.h" | 2 | #include "cache.h" |
2 | #include "color.h" | 3 | #include "color.h" |
3 | 4 | ||
@@ -182,12 +183,12 @@ static int __color_vsnprintf(char *bf, size_t size, const char *color, | |||
182 | } | 183 | } |
183 | 184 | ||
184 | if (perf_use_color_default && *color) | 185 | if (perf_use_color_default && *color) |
185 | r += snprintf(bf, size, "%s", color); | 186 | r += scnprintf(bf, size, "%s", color); |
186 | r += vsnprintf(bf + r, size - r, fmt, args); | 187 | r += vscnprintf(bf + r, size - r, fmt, args); |
187 | if (perf_use_color_default && *color) | 188 | if (perf_use_color_default && *color) |
188 | r += snprintf(bf + r, size - r, "%s", PERF_COLOR_RESET); | 189 | r += scnprintf(bf + r, size - r, "%s", PERF_COLOR_RESET); |
189 | if (trail) | 190 | if (trail) |
190 | r += snprintf(bf + r, size - r, "%s", trail); | 191 | r += scnprintf(bf + r, size - r, "%s", trail); |
191 | return r; | 192 | return r; |
192 | } | 193 | } |
193 | 194 | ||
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index ecd7f4dd7eea..14bb035c5fd9 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c | |||
@@ -280,7 +280,7 @@ int build_id_cache__add_s(const char *sbuild_id, const char *debugdir, | |||
280 | if (realname == NULL || filename == NULL || linkname == NULL) | 280 | if (realname == NULL || filename == NULL || linkname == NULL) |
281 | goto out_free; | 281 | goto out_free; |
282 | 282 | ||
283 | len = snprintf(filename, size, "%s%s%s", | 283 | len = scnprintf(filename, size, "%s%s%s", |
284 | debugdir, is_kallsyms ? "/" : "", realname); | 284 | debugdir, is_kallsyms ? "/" : "", realname); |
285 | if (mkdir_p(filename, 0755)) | 285 | if (mkdir_p(filename, 0755)) |
286 | goto out_free; | 286 | goto out_free; |
@@ -295,7 +295,7 @@ int build_id_cache__add_s(const char *sbuild_id, const char *debugdir, | |||
295 | goto out_free; | 295 | goto out_free; |
296 | } | 296 | } |
297 | 297 | ||
298 | len = snprintf(linkname, size, "%s/.build-id/%.2s", | 298 | len = scnprintf(linkname, size, "%s/.build-id/%.2s", |
299 | debugdir, sbuild_id); | 299 | debugdir, sbuild_id); |
300 | 300 | ||
301 | if (access(linkname, X_OK) && mkdir_p(linkname, 0755)) | 301 | if (access(linkname, X_OK) && mkdir_p(linkname, 0755)) |
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c index 6f505d1abac7..e11e482bd185 100644 --- a/tools/perf/util/hist.c +++ b/tools/perf/util/hist.c | |||
@@ -768,7 +768,7 @@ static int hist_entry__pcnt_snprintf(struct hist_entry *he, char *s, | |||
768 | sep ? "%.2f" : " %6.2f%%", | 768 | sep ? "%.2f" : " %6.2f%%", |
769 | (period * 100.0) / total); | 769 | (period * 100.0) / total); |
770 | else | 770 | else |
771 | ret = snprintf(s, size, sep ? "%.2f" : " %6.2f%%", | 771 | ret = scnprintf(s, size, sep ? "%.2f" : " %6.2f%%", |
772 | (period * 100.0) / total); | 772 | (period * 100.0) / total); |
773 | if (symbol_conf.show_cpu_utilization) { | 773 | if (symbol_conf.show_cpu_utilization) { |
774 | ret += percent_color_snprintf(s + ret, size - ret, | 774 | ret += percent_color_snprintf(s + ret, size - ret, |
@@ -791,20 +791,20 @@ static int hist_entry__pcnt_snprintf(struct hist_entry *he, char *s, | |||
791 | } | 791 | } |
792 | } | 792 | } |
793 | } else | 793 | } else |
794 | ret = snprintf(s, size, sep ? "%" PRIu64 : "%12" PRIu64 " ", period); | 794 | ret = scnprintf(s, size, sep ? "%" PRIu64 : "%12" PRIu64 " ", period); |
795 | 795 | ||
796 | if (symbol_conf.show_nr_samples) { | 796 | if (symbol_conf.show_nr_samples) { |
797 | if (sep) | 797 | if (sep) |
798 | ret += snprintf(s + ret, size - ret, "%c%" PRIu64, *sep, nr_events); | 798 | ret += scnprintf(s + ret, size - ret, "%c%" PRIu64, *sep, nr_events); |
799 | else | 799 | else |
800 | ret += snprintf(s + ret, size - ret, "%11" PRIu64, nr_events); | 800 | ret += scnprintf(s + ret, size - ret, "%11" PRIu64, nr_events); |
801 | } | 801 | } |
802 | 802 | ||
803 | if (symbol_conf.show_total_period) { | 803 | if (symbol_conf.show_total_period) { |
804 | if (sep) | 804 | if (sep) |
805 | ret += snprintf(s + ret, size - ret, "%c%" PRIu64, *sep, period); | 805 | ret += scnprintf(s + ret, size - ret, "%c%" PRIu64, *sep, period); |
806 | else | 806 | else |
807 | ret += snprintf(s + ret, size - ret, " %12" PRIu64, period); | 807 | ret += scnprintf(s + ret, size - ret, " %12" PRIu64, period); |
808 | } | 808 | } |
809 | 809 | ||
810 | if (pair_hists) { | 810 | if (pair_hists) { |
@@ -819,25 +819,25 @@ static int hist_entry__pcnt_snprintf(struct hist_entry *he, char *s, | |||
819 | diff = new_percent - old_percent; | 819 | diff = new_percent - old_percent; |
820 | 820 | ||
821 | if (fabs(diff) >= 0.01) | 821 | if (fabs(diff) >= 0.01) |
822 | snprintf(bf, sizeof(bf), "%+4.2F%%", diff); | 822 | ret += scnprintf(bf, sizeof(bf), "%+4.2F%%", diff); |
823 | else | 823 | else |
824 | snprintf(bf, sizeof(bf), " "); | 824 | ret += scnprintf(bf, sizeof(bf), " "); |
825 | 825 | ||
826 | if (sep) | 826 | if (sep) |
827 | ret += snprintf(s + ret, size - ret, "%c%s", *sep, bf); | 827 | ret += scnprintf(s + ret, size - ret, "%c%s", *sep, bf); |
828 | else | 828 | else |
829 | ret += snprintf(s + ret, size - ret, "%11.11s", bf); | 829 | ret += scnprintf(s + ret, size - ret, "%11.11s", bf); |
830 | 830 | ||
831 | if (show_displacement) { | 831 | if (show_displacement) { |
832 | if (displacement) | 832 | if (displacement) |
833 | snprintf(bf, sizeof(bf), "%+4ld", displacement); | 833 | ret += scnprintf(bf, sizeof(bf), "%+4ld", displacement); |
834 | else | 834 | else |
835 | snprintf(bf, sizeof(bf), " "); | 835 | ret += scnprintf(bf, sizeof(bf), " "); |
836 | 836 | ||
837 | if (sep) | 837 | if (sep) |
838 | ret += snprintf(s + ret, size - ret, "%c%s", *sep, bf); | 838 | ret += scnprintf(s + ret, size - ret, "%c%s", *sep, bf); |
839 | else | 839 | else |
840 | ret += snprintf(s + ret, size - ret, "%6.6s", bf); | 840 | ret += scnprintf(s + ret, size - ret, "%6.6s", bf); |
841 | } | 841 | } |
842 | } | 842 | } |
843 | 843 | ||
@@ -855,7 +855,7 @@ int hist_entry__snprintf(struct hist_entry *he, char *s, size_t size, | |||
855 | if (se->elide) | 855 | if (se->elide) |
856 | continue; | 856 | continue; |
857 | 857 | ||
858 | ret += snprintf(s + ret, size - ret, "%s", sep ?: " "); | 858 | ret += scnprintf(s + ret, size - ret, "%s", sep ?: " "); |
859 | ret += se->se_snprintf(he, s + ret, size - ret, | 859 | ret += se->se_snprintf(he, s + ret, size - ret, |
860 | hists__col_len(hists, se->se_width_idx)); | 860 | hists__col_len(hists, se->se_width_idx)); |
861 | } | 861 | } |
diff --git a/tools/perf/util/include/asm/unistd_32.h b/tools/perf/util/include/asm/unistd_32.h new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/tools/perf/util/include/asm/unistd_32.h | |||
@@ -0,0 +1 @@ | |||
diff --git a/tools/perf/util/include/asm/unistd_64.h b/tools/perf/util/include/asm/unistd_64.h new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/tools/perf/util/include/asm/unistd_64.h | |||
@@ -0,0 +1 @@ | |||
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index b029296d20d9..c7a6f6faf91e 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c | |||
@@ -165,7 +165,7 @@ struct tracepoint_path *tracepoint_id_to_path(u64 config) | |||
165 | struct tracepoint_path *path = NULL; | 165 | struct tracepoint_path *path = NULL; |
166 | DIR *sys_dir, *evt_dir; | 166 | DIR *sys_dir, *evt_dir; |
167 | struct dirent *sys_next, *evt_next, sys_dirent, evt_dirent; | 167 | struct dirent *sys_next, *evt_next, sys_dirent, evt_dirent; |
168 | char id_buf[4]; | 168 | char id_buf[24]; |
169 | int fd; | 169 | int fd; |
170 | u64 id; | 170 | u64 id; |
171 | char evt_path[MAXPATHLEN]; | 171 | char evt_path[MAXPATHLEN]; |
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c index 16da30d8d765..076c9d4e1ea4 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c | |||
@@ -33,6 +33,9 @@ static int repsep_snprintf(char *bf, size_t size, const char *fmt, ...) | |||
33 | } | 33 | } |
34 | } | 34 | } |
35 | va_end(ap); | 35 | va_end(ap); |
36 | |||
37 | if (n >= (int)size) | ||
38 | return size - 1; | ||
36 | return n; | 39 | return n; |
37 | } | 40 | } |
38 | 41 | ||
diff --git a/tools/perf/util/strbuf.c b/tools/perf/util/strbuf.c index 92e068517c1a..2eeb51baf077 100644 --- a/tools/perf/util/strbuf.c +++ b/tools/perf/util/strbuf.c | |||
@@ -1,4 +1,5 @@ | |||
1 | #include "cache.h" | 1 | #include "cache.h" |
2 | #include <linux/kernel.h> | ||
2 | 3 | ||
3 | int prefixcmp(const char *str, const char *prefix) | 4 | int prefixcmp(const char *str, const char *prefix) |
4 | { | 5 | { |
@@ -89,14 +90,14 @@ void strbuf_addf(struct strbuf *sb, const char *fmt, ...) | |||
89 | if (!strbuf_avail(sb)) | 90 | if (!strbuf_avail(sb)) |
90 | strbuf_grow(sb, 64); | 91 | strbuf_grow(sb, 64); |
91 | va_start(ap, fmt); | 92 | va_start(ap, fmt); |
92 | len = vsnprintf(sb->buf + sb->len, sb->alloc - sb->len, fmt, ap); | 93 | len = vscnprintf(sb->buf + sb->len, sb->alloc - sb->len, fmt, ap); |
93 | va_end(ap); | 94 | va_end(ap); |
94 | if (len < 0) | 95 | if (len < 0) |
95 | die("your vsnprintf is broken"); | 96 | die("your vscnprintf is broken"); |
96 | if (len > strbuf_avail(sb)) { | 97 | if (len > strbuf_avail(sb)) { |
97 | strbuf_grow(sb, len); | 98 | strbuf_grow(sb, len); |
98 | va_start(ap, fmt); | 99 | va_start(ap, fmt); |
99 | len = vsnprintf(sb->buf + sb->len, sb->alloc - sb->len, fmt, ap); | 100 | len = vscnprintf(sb->buf + sb->len, sb->alloc - sb->len, fmt, ap); |
100 | va_end(ap); | 101 | va_end(ap); |
101 | if (len > strbuf_avail(sb)) { | 102 | if (len > strbuf_avail(sb)) { |
102 | die("this should not happen, your snprintf is broken"); | 103 | die("this should not happen, your snprintf is broken"); |
diff --git a/tools/perf/util/ui/browsers/hists.c b/tools/perf/util/ui/browsers/hists.c index e81aef1f2569..bb9197c9c4a4 100644 --- a/tools/perf/util/ui/browsers/hists.c +++ b/tools/perf/util/ui/browsers/hists.c | |||
@@ -837,15 +837,15 @@ static int hists__browser_title(struct hists *self, char *bf, size_t size, | |||
837 | unsigned long nr_events = self->stats.nr_events[PERF_RECORD_SAMPLE]; | 837 | unsigned long nr_events = self->stats.nr_events[PERF_RECORD_SAMPLE]; |
838 | 838 | ||
839 | nr_events = convert_unit(nr_events, &unit); | 839 | nr_events = convert_unit(nr_events, &unit); |
840 | printed = snprintf(bf, size, "Events: %lu%c %s", nr_events, unit, ev_name); | 840 | printed = scnprintf(bf, size, "Events: %lu%c %s", nr_events, unit, ev_name); |
841 | 841 | ||
842 | if (thread) | 842 | if (thread) |
843 | printed += snprintf(bf + printed, size - printed, | 843 | printed += scnprintf(bf + printed, size - printed, |
844 | ", Thread: %s(%d)", | 844 | ", Thread: %s(%d)", |
845 | (thread->comm_set ? thread->comm : ""), | 845 | (thread->comm_set ? thread->comm : ""), |
846 | thread->pid); | 846 | thread->pid); |
847 | if (dso) | 847 | if (dso) |
848 | printed += snprintf(bf + printed, size - printed, | 848 | printed += scnprintf(bf + printed, size - printed, |
849 | ", DSO: %s", dso->short_name); | 849 | ", DSO: %s", dso->short_name); |
850 | return printed; | 850 | return printed; |
851 | } | 851 | } |
@@ -1095,7 +1095,7 @@ static void perf_evsel_menu__write(struct ui_browser *browser, | |||
1095 | HE_COLORSET_NORMAL); | 1095 | HE_COLORSET_NORMAL); |
1096 | 1096 | ||
1097 | nr_events = convert_unit(nr_events, &unit); | 1097 | nr_events = convert_unit(nr_events, &unit); |
1098 | printed = snprintf(bf, sizeof(bf), "%lu%c%s%s", nr_events, | 1098 | printed = scnprintf(bf, sizeof(bf), "%lu%c%s%s", nr_events, |
1099 | unit, unit == ' ' ? "" : " ", ev_name); | 1099 | unit, unit == ' ' ? "" : " ", ev_name); |
1100 | slsmg_printf("%s", bf); | 1100 | slsmg_printf("%s", bf); |
1101 | 1101 | ||
@@ -1105,8 +1105,8 @@ static void perf_evsel_menu__write(struct ui_browser *browser, | |||
1105 | if (!current_entry) | 1105 | if (!current_entry) |
1106 | ui_browser__set_color(browser, HE_COLORSET_TOP); | 1106 | ui_browser__set_color(browser, HE_COLORSET_TOP); |
1107 | nr_events = convert_unit(nr_events, &unit); | 1107 | nr_events = convert_unit(nr_events, &unit); |
1108 | snprintf(bf, sizeof(bf), ": %ld%c%schunks LOST!", nr_events, | 1108 | printed += scnprintf(bf, sizeof(bf), ": %ld%c%schunks LOST!", |
1109 | unit, unit == ' ' ? "" : " "); | 1109 | nr_events, unit, unit == ' ' ? "" : " "); |
1110 | warn = bf; | 1110 | warn = bf; |
1111 | } | 1111 | } |
1112 | 1112 | ||
diff --git a/tools/perf/util/ui/helpline.c b/tools/perf/util/ui/helpline.c index 4f48f5901b30..2f950c2641c8 100644 --- a/tools/perf/util/ui/helpline.c +++ b/tools/perf/util/ui/helpline.c | |||
@@ -64,7 +64,7 @@ int ui_helpline__show_help(const char *format, va_list ap) | |||
64 | static int backlog; | 64 | static int backlog; |
65 | 65 | ||
66 | pthread_mutex_lock(&ui__lock); | 66 | pthread_mutex_lock(&ui__lock); |
67 | ret = vsnprintf(ui_helpline__last_msg + backlog, | 67 | ret = vscnprintf(ui_helpline__last_msg + backlog, |
68 | sizeof(ui_helpline__last_msg) - backlog, format, ap); | 68 | sizeof(ui_helpline__last_msg) - backlog, format, ap); |
69 | backlog += ret; | 69 | backlog += ret; |
70 | 70 | ||