aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-03-18 23:29:41 -0400
committerDavid S. Miller <davem@davemloft.net>2012-03-18 23:29:41 -0400
commit4da0bd736552e6377b407b3c3d3ae518ebbdd269 (patch)
treef0da9f843b8033565c3ca4103fccb17a60688326
parent81a430ac1b88b0702c57d2513e247317e810e04d (diff)
parentc16fa4f2ad19908a47c63d8fa436a1178438c7e7 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
-rw-r--r--Documentation/hwmon/w83627ehf9
-rw-r--r--Documentation/hwmon/zl610014
-rw-r--r--MAINTAINERS46
-rw-r--r--Makefile2
-rw-r--r--arch/arm/mach-shmobile/board-ag5evm.c1
-rw-r--r--arch/arm/mach-shmobile/board-ap4evb.c2
-rw-r--r--arch/arm/mach-shmobile/board-bonito.c3
-rw-r--r--arch/arm/mach-shmobile/board-mackerel.c4
-rw-r--r--arch/c6x/kernel/entry.S27
-rw-r--r--arch/sh/kernel/cpu/sh2a/ex.S1
-rw-r--r--arch/sh/kernel/cpu/sh4a/clock-sh7757.c4
-rw-r--r--arch/sh/kernel/cpu/sh4a/clock-sh7785.c2
-rw-r--r--arch/sparc/Makefile2
-rw-r--r--arch/tile/configs/tilegx_defconfig1412
-rw-r--r--arch/tile/configs/tilepro_defconfig1629
-rw-r--r--arch/tile/kernel/compat_signal.c5
-rw-r--r--arch/tile/kernel/signal.c13
-rw-r--r--arch/tile/kernel/sysfs.c2
-rw-r--r--arch/tile/lib/spinlock_32.c2
-rw-r--r--arch/x86/kernel/cpu/perf_event_intel.c17
-rw-r--r--block/blk-ioc.c135
-rw-r--r--block/cfq-iosched.c12
-rw-r--r--block/genhd.c42
-rw-r--r--block/partition-generic.c48
-rw-r--r--drivers/block/DAC960.c18
-rw-r--r--drivers/block/sx8.c2
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_connector.c16
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.c2
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fbdev.c28
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fimd.c17
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h2
-rw-r--r--drivers/gpu/drm/i915/intel_display.c1
-rw-r--r--drivers/gpu/drm/i915/intel_sprite.c6
-rw-r--r--drivers/hwmon/pmbus/zl6100.c12
-rw-r--r--drivers/hwmon/w83627ehf.c17
-rw-r--r--drivers/i2c/algos/i2c-algo-bit.c8
-rw-r--r--drivers/i2c/i2c-core.c12
-rw-r--r--drivers/media/dvb/siano/smsdvb.c127
-rw-r--r--drivers/media/video/davinci/isif.c1
-rw-r--r--drivers/media/video/uvc/uvc_video.c14
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c2
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h12
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c8
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c51
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c2
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c12
-rw-r--r--drivers/net/hyperv/netvsc_drv.c4
-rw-r--r--drivers/net/tun.c15
-rw-r--r--drivers/net/usb/asix.c4
-rw-r--r--drivers/net/usb/usbnet.c4
-rw-r--r--drivers/net/wimax/i2400m/netdev.c30
-rw-r--r--drivers/net/wireless/iwlegacy/3945-mac.c2
-rw-r--r--drivers/net/wireless/iwlegacy/3945.c7
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00dev.c6
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00mac.c9
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00queue.c3
-rw-r--r--drivers/pci/pcie/aspm.c3
-rw-r--r--drivers/platform/x86/Kconfig24
-rw-r--r--drivers/platform/x86/Makefile2
-rw-r--r--drivers/platform/x86/acer-wmi.c30
-rw-r--r--drivers/platform/x86/amilo-rfkill.c173
-rw-r--r--drivers/platform/x86/fujitsu-tablet.c478
-rw-r--r--drivers/platform/x86/panasonic-laptop.c4
-rw-r--r--drivers/rapidio/devices/tsi721.h30
-rw-r--r--drivers/regulator/da9052-regulator.c12
-rw-r--r--drivers/regulator/tps6524x-regulator.c2
-rw-r--r--drivers/target/iscsi/iscsi_target.c2
-rw-r--r--drivers/target/target_core_pr.c34
-rw-r--r--drivers/target/target_core_transport.c1
-rw-r--r--drivers/tty/serial/sh-sci.c5
-rw-r--r--drivers/video/backlight/s6e63m0.c2
-rw-r--r--fs/afs/internal.h2
-rw-r--r--fs/afs/rxrpc.c3
-rw-r--r--fs/aio.c22
-rw-r--r--fs/block_dev.c16
-rw-r--r--fs/btrfs/backref.c8
-rw-r--r--fs/btrfs/reada.c2
-rw-r--r--fs/cifs/file.c69
-rw-r--r--fs/cifs/xattr.c6
-rw-r--r--fs/eventpoll.c4
-rw-r--r--fs/inode.c4
-rw-r--r--fs/namei.c4
-rw-r--r--fs/nilfs2/the_nilfs.c7
-rw-r--r--fs/udf/file.c2
-rw-r--r--include/linux/genhd.h1
-rw-r--r--include/linux/iocontext.h10
-rw-r--r--include/linux/workqueue.h4
-rw-r--r--kernel/sys.c2
-rw-r--r--kernel/workqueue.c7
-rw-r--r--lib/dynamic_queue_limits.c1
-rw-r--r--mm/memcontrol.c55
-rw-r--r--net/ipv4/syncookies.c30
-rw-r--r--net/ipv4/tcp_ipv4.c10
-rw-r--r--net/ipv6/mcast.c1
-rw-r--r--net/ipv6/route.c2
-rw-r--r--net/netfilter/nf_conntrack_netlink.c23
-rw-r--r--net/sched/sch_sfq.c6
-rw-r--r--tools/perf/Makefile2
-rw-r--r--tools/perf/arch/powerpc/util/header.c2
-rw-r--r--tools/perf/arch/x86/util/header.c2
-rw-r--r--tools/perf/perf.h6
-rw-r--r--tools/perf/util/color.c9
-rw-r--r--tools/perf/util/header.c4
-rw-r--r--tools/perf/util/hist.c30
-rw-r--r--tools/perf/util/include/asm/unistd_32.h1
-rw-r--r--tools/perf/util/include/asm/unistd_64.h1
-rw-r--r--tools/perf/util/parse-events.c2
-rw-r--r--tools/perf/util/sort.c3
-rw-r--r--tools/perf/util/strbuf.c7
-rw-r--r--tools/perf/util/ui/browsers/hists.c12
-rw-r--r--tools/perf/util/ui/helpline.c2
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
51as Winbond chips. 51as Winbond chips.
52 52
53The chips implement 2 to 4 temperature sensors (9 for NCT6775F and NCT6776F), 53The chips implement 3 to 4 temperature sensors (9 for NCT6775F and NCT6776F),
542 to 5 fan rotation speed sensors, 8 to 10 analog voltage sensors, one VID 542 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),
56and some automatic fan regulation strategies (plus manual fan control mode). 56and 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
143pwm[1-4]_stop_time - how many milliseconds [ms] must elapse to switch 143pwm[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).
146pwm[1-4]_start_output-minimum fan speed (range 1 - 255) when spinning up
147pwm[1-4]_step_output- rate of fan speed change (1 - 255)
148pwm[1-4]_stop_output- minimum fan speed (range 1 - 255) when spinning down
149pwm[1-4]_max_output - maximum fan speed (range 1 - 255), when the temperature
150 is above defined range.
146 151
147Note: last two functions are influenced by other control bits, not yet exported 152Note: 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
150Implementation Details 155Implementation 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
88delay 88delay
89----- 89-----
90 90
91Some Intersil/Zilker Labs DC-DC controllers require a minimum interval between 91Intersil/Zilker Labs DC-DC controllers require a minimum interval between I2C
92I2C bus accesses. According to Intersil, the minimum interval is 2 ms, though 92bus accesses. According to Intersil, the minimum interval is 2 ms, though 1 ms
931 ms appears to be sufficient and has not caused any problems in testing. 93appears to be sufficient and has not caused any problems in testing. The problem
94The problem is known to affect ZL6100, ZL2105, and ZL2008. It is known not to 94is known to affect all currently supported chips. For manual override, the
95affect ZL2004 and ZL6105. The driver automatically sets the interval to 1 ms 95driver provides a writeable module parameter, 'delay', which can be used to set
96except for ZL2004 and ZL6105. To enable manual override, the driver provides a 96the interval to a value between 0 and 65,535 microseconds.
97writeable module parameter, 'delay', which can be used to set the interval to
98a value between 0 and 65,535 microseconds.
99 97
100 98
101Sysfs entries 99Sysfs 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
1515BLUETOOTH DRIVERS 1515BLUETOOTH DRIVERS
1516M: Marcel Holtmann <marcel@holtmann.org> 1516M: Marcel Holtmann <marcel@holtmann.org>
1517M: "Gustavo F. Padovan" <padovan@profusion.mobi> 1517M: Gustavo Padovan <gustavo@padovan.org>
1518M: Johan Hedberg <johan.hedberg@gmail.com>
1518L: linux-bluetooth@vger.kernel.org 1519L: linux-bluetooth@vger.kernel.org
1519W: http://www.bluez.org/ 1520W: http://www.bluez.org/
1520T: git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6.git 1521T: git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth.git
1522T: git git://git.kernel.org/pub/scm/linux/kernel/git/jh/bluetooth.git
1521S: Maintained 1523S: Maintained
1522F: drivers/bluetooth/ 1524F: drivers/bluetooth/
1523 1525
1524BLUETOOTH SUBSYSTEM 1526BLUETOOTH SUBSYSTEM
1525M: Marcel Holtmann <marcel@holtmann.org> 1527M: Marcel Holtmann <marcel@holtmann.org>
1526M: "Gustavo F. Padovan" <padovan@profusion.mobi> 1528M: Gustavo Padovan <gustavo@padovan.org>
1529M: Johan Hedberg <johan.hedberg@gmail.com>
1527L: linux-bluetooth@vger.kernel.org 1530L: linux-bluetooth@vger.kernel.org
1528W: http://www.bluez.org/ 1531W: http://www.bluez.org/
1529T: git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6.git 1532T: git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth.git
1533T: git git://git.kernel.org/pub/scm/linux/kernel/git/jh/bluetooth.git
1530S: Maintained 1534S: Maintained
1531F: net/bluetooth/ 1535F: net/bluetooth/
1532F: include/net/bluetooth/ 1536F: include/net/bluetooth/
@@ -1717,6 +1721,14 @@ F: include/linux/can/error.h
1717F: include/linux/can/netlink.h 1721F: include/linux/can/netlink.h
1718F: include/linux/can/platform/ 1722F: include/linux/can/platform/
1719 1723
1724CAPABILITIES
1725M: Serge Hallyn <serge.hallyn@canonical.com>
1726L: linux-security-module@vger.kernel.org
1727S: Supported
1728F: include/linux/capability.h
1729F: security/capability.c
1730F: security/commoncap.c
1731
1720CELL BROADBAND ENGINE ARCHITECTURE 1732CELL BROADBAND ENGINE ARCHITECTURE
1721M: Arnd Bergmann <arnd@arndb.de> 1733M: Arnd Bergmann <arnd@arndb.de>
1722L: linuxppc-dev@lists.ozlabs.org 1734L: linuxppc-dev@lists.ozlabs.org
@@ -2352,6 +2364,15 @@ S: Supported
2352F: drivers/gpu/drm/exynos 2364F: drivers/gpu/drm/exynos
2353F: include/drm/exynos* 2365F: include/drm/exynos*
2354 2366
2367EXYNOS MIPI DISPLAY DRIVERS
2368M: Inki Dae <inki.dae@samsung.com>
2369M: Donghwa Lee <dh09.lee@samsung.com>
2370M: Kyungmin Park <kyungmin.park@samsung.com>
2371L: linux-fbdev@vger.kernel.org
2372S: Maintained
2373F: drivers/video/exynos/exynos_mipi*
2374F: include/video/exynos_mipi*
2375
2355DSCC4 DRIVER 2376DSCC4 DRIVER
2356M: Francois Romieu <romieu@fr.zoreil.com> 2377M: Francois Romieu <romieu@fr.zoreil.com>
2357L: netdev@vger.kernel.org 2378L: netdev@vger.kernel.org
@@ -2846,6 +2867,12 @@ S: Maintained
2846F: drivers/media/video/m5mols/ 2867F: drivers/media/video/m5mols/
2847F: include/media/m5mols.h 2868F: include/media/m5mols.h
2848 2869
2870FUJITSU TABLET EXTRAS
2871M: Robert Gerlach <khnz@gmx.de>
2872L: platform-driver-x86@vger.kernel.org
2873S: Maintained
2874F: drivers/platform/x86/fujitsu-tablet.c
2875
2849FUSE: FILESYSTEM IN USERSPACE 2876FUSE: FILESYSTEM IN USERSPACE
2850M: Miklos Szeredi <miklos@szeredi.hu> 2877M: Miklos Szeredi <miklos@szeredi.hu>
2851L: fuse-devel@lists.sourceforge.net 2878L: fuse-devel@lists.sourceforge.net
@@ -5863,6 +5890,7 @@ F: drivers/mmc/host/sdhci-s3c.c
5863 5890
5864SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER 5891SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
5865M: Viresh Kumar <viresh.kumar@st.com> 5892M: Viresh Kumar <viresh.kumar@st.com>
5893L: spear-devel@list.st.com
5866L: linux-mmc@vger.kernel.org 5894L: linux-mmc@vger.kernel.org
5867S: Maintained 5895S: Maintained
5868F: drivers/mmc/host/sdhci-spear.c 5896F: drivers/mmc/host/sdhci-spear.c
@@ -6205,24 +6233,32 @@ F: drivers/tty/serial/sunzilog.h
6205 6233
6206SPEAR PLATFORM SUPPORT 6234SPEAR PLATFORM SUPPORT
6207M: Viresh Kumar <viresh.kumar@st.com> 6235M: Viresh Kumar <viresh.kumar@st.com>
6236L: spear-devel@list.st.com
6237L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
6208W: http://www.st.com/spear 6238W: http://www.st.com/spear
6209S: Maintained 6239S: Maintained
6210F: arch/arm/plat-spear/ 6240F: arch/arm/plat-spear/
6211 6241
6212SPEAR3XX MACHINE SUPPORT 6242SPEAR3XX MACHINE SUPPORT
6213M: Viresh Kumar <viresh.kumar@st.com> 6243M: Viresh Kumar <viresh.kumar@st.com>
6244L: spear-devel@list.st.com
6245L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
6214W: http://www.st.com/spear 6246W: http://www.st.com/spear
6215S: Maintained 6247S: Maintained
6216F: arch/arm/mach-spear3xx/ 6248F: arch/arm/mach-spear3xx/
6217 6249
6218SPEAR6XX MACHINE SUPPORT 6250SPEAR6XX MACHINE SUPPORT
6219M: Rajeev Kumar <rajeev-dlh.kumar@st.com> 6251M: Rajeev Kumar <rajeev-dlh.kumar@st.com>
6252L: spear-devel@list.st.com
6253L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
6220W: http://www.st.com/spear 6254W: http://www.st.com/spear
6221S: Maintained 6255S: Maintained
6222F: arch/arm/mach-spear6xx/ 6256F: arch/arm/mach-spear6xx/
6223 6257
6224SPEAR CLOCK FRAMEWORK SUPPORT 6258SPEAR CLOCK FRAMEWORK SUPPORT
6225M: Viresh Kumar <viresh.kumar@st.com> 6259M: Viresh Kumar <viresh.kumar@st.com>
6260L: spear-devel@list.st.com
6261L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
6226W: http://www.st.com/spear 6262W: http://www.st.com/spear
6227S: Maintained 6263S: Maintained
6228F: arch/arm/mach-spear*/clock.c 6264F: arch/arm/mach-spear*/clock.c
@@ -6231,6 +6267,8 @@ F: arch/arm/plat-spear/include/plat/clock.h
6231 6267
6232SPEAR PAD MULTIPLEXING SUPPORT 6268SPEAR PAD MULTIPLEXING SUPPORT
6233M: Viresh Kumar <viresh.kumar@st.com> 6269M: Viresh Kumar <viresh.kumar@st.com>
6270L: spear-devel@list.st.com
6271L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
6234W: http://www.st.com/spear 6272W: http://www.st.com/spear
6235S: Maintained 6273S: Maintained
6236F: arch/arm/plat-spear/include/plat/padmux.h 6274F: arch/arm/plat-spear/include/plat/padmux.h
diff --git a/Makefile b/Makefile
index 66d13c917bc7..1932984478c1 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1VERSION = 3 1VERSION = 3
2PATCHLEVEL = 3 2PATCHLEVEL = 3
3SUBLEVEL = 0 3SUBLEVEL = 0
4EXTRAVERSION = -rc6 4EXTRAVERSION =
5NAME = Saber-toothed Squirrel 5NAME = 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 = {
794static struct platform_device fsi_ak4643_device = { 794static 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 = {
1352static void __init mackerel_map_io(void) 1352static 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
718ENDPROC(sys_ftruncate64_c6x) 718ENDPROC(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
727ENTRY(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
745ENDPROC(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
67vector = vector + 1 67vector = vector + 1
68 .endr 68 .endr
69vector = 0
69 .rept 256 70 .rept 256
70 .long exception_entry1 + vector * 6 71 .long exception_entry1 + vector * 6
71vector = vector + 1 72vector = 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
82enum { MSTP004, MSTP000, MSTP114, MSTP113, MSTP112, 82enum { 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
136int __init arch_clk_init(void) 138int __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
33KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 33KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7
34KBUILD_AFLAGS += -m32 34KBUILD_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#
6CONFIG_TILE=y
7CONFIG_MMU=y
8CONFIG_GENERIC_CSUM=y
9CONFIG_SEMAPHORE_SLEEPERS=y
10CONFIG_HAVE_ARCH_ALLOC_REMAP=y
11CONFIG_HAVE_SETUP_PER_CPU_AREA=y
12CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
13CONFIG_SYS_SUPPORTS_HUGETLBFS=y
14CONFIG_GENERIC_CLOCKEVENTS=y
15CONFIG_RWSEM_GENERIC_SPINLOCK=y
16CONFIG_DEFAULT_MIGRATION_COST=10000000
17CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
18CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
19CONFIG_ARCH_DMA_ADDR_T_64BIT=y
20CONFIG_LOCKDEP_SUPPORT=y
21CONFIG_STACKTRACE_SUPPORT=y
22CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
23CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
24CONFIG_TRACE_IRQFLAGS_SUPPORT=y
25CONFIG_STRICT_DEVMEM=y
26CONFIG_SMP=y
27# CONFIG_DEBUG_COPY_FROM_USER is not set
28CONFIG_HVC_TILE=y
29CONFIG_TILEGX=y 1CONFIG_TILEGX=y
30CONFIG_64BIT=y
31CONFIG_ARCH_DEFCONFIG="arch/tile/configs/tilegx_defconfig"
32CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
33CONFIG_CONSTRUCTORS=y
34
35#
36# General setup
37#
38CONFIG_EXPERIMENTAL=y 2CONFIG_EXPERIMENTAL=y
39CONFIG_INIT_ENV_ARG_LIMIT=32
40CONFIG_CROSS_COMPILE=""
41CONFIG_LOCALVERSION=""
42# CONFIG_LOCALVERSION_AUTO is not set 3# CONFIG_LOCALVERSION_AUTO is not set
43CONFIG_SWAP=y
44CONFIG_SYSVIPC=y 4CONFIG_SYSVIPC=y
45CONFIG_SYSVIPC_SYSCTL=y
46CONFIG_POSIX_MQUEUE=y 5CONFIG_POSIX_MQUEUE=y
47CONFIG_POSIX_MQUEUE_SYSCTL=y
48CONFIG_BSD_PROCESS_ACCT=y 6CONFIG_BSD_PROCESS_ACCT=y
49CONFIG_BSD_PROCESS_ACCT_V3=y 7CONFIG_BSD_PROCESS_ACCT_V3=y
50# CONFIG_FHANDLE is not set 8CONFIG_FHANDLE=y
51CONFIG_TASKSTATS=y 9CONFIG_TASKSTATS=y
52CONFIG_TASK_DELAY_ACCT=y 10CONFIG_TASK_DELAY_ACCT=y
53CONFIG_TASK_XACCT=y 11CONFIG_TASK_XACCT=y
54CONFIG_TASK_IO_ACCOUNTING=y 12CONFIG_TASK_IO_ACCOUNTING=y
55CONFIG_AUDIT=y 13CONFIG_AUDIT=y
56CONFIG_HAVE_GENERIC_HARDIRQS=y
57
58#
59# IRQ subsystem
60#
61CONFIG_GENERIC_HARDIRQS=y
62CONFIG_GENERIC_IRQ_PROBE=y
63CONFIG_GENERIC_IRQ_SHOW=y
64CONFIG_GENERIC_PENDING_IRQ=y
65
66#
67# RCU Subsystem
68#
69CONFIG_TREE_RCU=y
70# CONFIG_PREEMPT_RCU is not set
71# CONFIG_RCU_TRACE is not set
72CONFIG_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
77CONFIG_LOG_BUF_SHIFT=19 14CONFIG_LOG_BUF_SHIFT=19
78CONFIG_CGROUPS=y 15CONFIG_CGROUPS=y
79CONFIG_CGROUP_DEBUG=y 16CONFIG_CGROUP_DEBUG=y
80CONFIG_CGROUP_NS=y
81# CONFIG_CGROUP_FREEZER is not set
82CONFIG_CGROUP_DEVICE=y 17CONFIG_CGROUP_DEVICE=y
83CONFIG_CPUSETS=y 18CONFIG_CPUSETS=y
84CONFIG_PROC_PID_CPUSET=y
85CONFIG_CGROUP_CPUACCT=y 19CONFIG_CGROUP_CPUACCT=y
86CONFIG_RESOURCE_COUNTERS=y 20CONFIG_RESOURCE_COUNTERS=y
87CONFIG_CGROUP_MEM_RES_CTLR=y 21CONFIG_CGROUP_MEM_RES_CTLR=y
88CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y 22CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
89CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y
90CONFIG_CGROUP_SCHED=y 23CONFIG_CGROUP_SCHED=y
91CONFIG_FAIR_GROUP_SCHED=y
92CONFIG_RT_GROUP_SCHED=y 24CONFIG_RT_GROUP_SCHED=y
93CONFIG_BLK_CGROUP=y 25CONFIG_BLK_CGROUP=y
94# CONFIG_DEBUG_BLK_CGROUP is not set
95CONFIG_NAMESPACES=y 26CONFIG_NAMESPACES=y
96CONFIG_UTS_NS=y
97CONFIG_IPC_NS=y
98CONFIG_USER_NS=y
99CONFIG_PID_NS=y
100CONFIG_NET_NS=y
101# CONFIG_SCHED_AUTOGROUP is not set
102CONFIG_MM_OWNER=y
103# CONFIG_SYSFS_DEPRECATED is not set
104CONFIG_RELAY=y 27CONFIG_RELAY=y
105CONFIG_BLK_DEV_INITRD=y 28CONFIG_BLK_DEV_INITRD=y
106CONFIG_INITRAMFS_SOURCE="usr/contents.txt"
107CONFIG_INITRAMFS_ROOT_UID=0
108CONFIG_INITRAMFS_ROOT_GID=0
109CONFIG_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
114CONFIG_INITRAMFS_COMPRESSION_NONE=y
115# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
116CONFIG_CC_OPTIMIZE_FOR_SIZE=y
117CONFIG_SYSCTL=y
118CONFIG_ANON_INODES=y
119CONFIG_EXPERT=y
120CONFIG_SYSCTL_SYSCALL=y 29CONFIG_SYSCTL_SYSCALL=y
121CONFIG_KALLSYMS=y
122# CONFIG_KALLSYMS_ALL is not set
123# CONFIG_KALLSYMS_EXTRA_PASS is not set
124CONFIG_HOTPLUG=y
125CONFIG_PRINTK=y
126CONFIG_BUG=y
127CONFIG_ELF_CORE=y
128CONFIG_BASE_FULL=y
129CONFIG_FUTEX=y
130CONFIG_EPOLL=y
131CONFIG_SIGNALFD=y
132CONFIG_TIMERFD=y
133CONFIG_EVENTFD=y
134CONFIG_SHMEM=y
135CONFIG_AIO=y
136CONFIG_EMBEDDED=y 30CONFIG_EMBEDDED=y
137
138#
139# Kernel Performance Events And Counters
140#
141CONFIG_VM_EVENT_COUNTERS=y
142CONFIG_PCI_QUIRKS=y
143CONFIG_SLUB_DEBUG=y
144# CONFIG_COMPAT_BRK is not set 31# CONFIG_COMPAT_BRK is not set
145# CONFIG_SLAB is not set
146CONFIG_SLUB=y
147# CONFIG_SLOB is not set
148CONFIG_PROFILING=y 32CONFIG_PROFILING=y
149CONFIG_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
156CONFIG_SLABINFO=y
157CONFIG_RT_MUTEXES=y
158CONFIG_BASE_SMALL=0
159CONFIG_MODULES=y 33CONFIG_MODULES=y
160CONFIG_MODULE_FORCE_LOAD=y 34CONFIG_MODULE_FORCE_LOAD=y
161CONFIG_MODULE_UNLOAD=y 35CONFIG_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
165CONFIG_STOP_MACHINE=y
166CONFIG_BLOCK=y
167CONFIG_BLK_DEV_BSG=y
168CONFIG_BLK_DEV_INTEGRITY=y 36CONFIG_BLK_DEV_INTEGRITY=y
169# CONFIG_BLK_DEV_THROTTLING is not set 37CONFIG_PARTITION_ADVANCED=y
170CONFIG_BLOCK_COMPAT=y 38CONFIG_OSF_PARTITION=y
171 39CONFIG_AMIGA_PARTITION=y
172# 40CONFIG_MAC_PARTITION=y
173# IO Schedulers 41CONFIG_BSD_DISKLABEL=y
174# 42CONFIG_MINIX_SUBPARTITION=y
175CONFIG_IOSCHED_NOOP=y 43CONFIG_SOLARIS_X86_PARTITION=y
176CONFIG_IOSCHED_DEADLINE=y 44CONFIG_UNIXWARE_DISKLABEL=y
177CONFIG_IOSCHED_CFQ=y 45CONFIG_SGI_PARTITION=y
46CONFIG_SUN_PARTITION=y
47CONFIG_KARMA_PARTITION=y
48CONFIG_EFI_PARTITION=y
178CONFIG_CFQ_GROUP_IOSCHED=y 49CONFIG_CFQ_GROUP_IOSCHED=y
179# CONFIG_DEFAULT_DEADLINE is not set
180CONFIG_DEFAULT_CFQ=y
181# CONFIG_DEFAULT_NOOP is not set
182CONFIG_DEFAULT_IOSCHED="cfq"
183CONFIG_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
190CONFIG_INLINE_SPIN_UNLOCK=y
191# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
192CONFIG_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
199CONFIG_INLINE_READ_UNLOCK=y
200# CONFIG_INLINE_READ_UNLOCK_BH is not set
201CONFIG_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
208CONFIG_INLINE_WRITE_UNLOCK=y
209# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
210CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
211# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
212CONFIG_MUTEX_SPIN_ON_OWNER=y
213
214#
215# Tilera-specific configuration
216#
217CONFIG_NR_CPUS=100 50CONFIG_NR_CPUS=100
218CONFIG_TICK_ONESHOT=y
219CONFIG_NO_HZ=y 51CONFIG_NO_HZ=y
220CONFIG_HIGH_RES_TIMERS=y 52CONFIG_HIGH_RES_TIMERS=y
221CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
222CONFIG_HZ_100=y 53CONFIG_HZ_100=y
223# CONFIG_HZ_250 is not set
224# CONFIG_HZ_300 is not set
225# CONFIG_HZ_1000 is not set
226CONFIG_HZ=100
227CONFIG_SCHED_HRTICK=y
228# CONFIG_KEXEC is not set
229CONFIG_COMPAT=y
230CONFIG_SYSVIPC_COMPAT=y
231# CONFIG_HIGHMEM is not set
232CONFIG_NUMA=y
233CONFIG_NODES_SHIFT=2
234CONFIG_PAGE_OFFSET=0xC0000000
235CONFIG_SELECT_MEMORY_MODEL=y
236CONFIG_DISCONTIGMEM_MANUAL=y
237CONFIG_DISCONTIGMEM=y
238CONFIG_FLAT_NODE_MEM_MAP=y
239CONFIG_NEED_MULTIPLE_NODES=y
240CONFIG_PAGEFLAGS_EXTENDED=y
241CONFIG_SPLIT_PTLOCK_CPUS=4
242# CONFIG_COMPACTION is not set
243CONFIG_MIGRATION=y
244CONFIG_PHYS_ADDR_T_64BIT=y
245CONFIG_ZONE_DMA_FLAG=0
246CONFIG_VIRT_TO_BUS=y
247# CONFIG_KSM is not set
248CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
249# CONFIG_CMDLINE_BOOL is not set
250CONFIG_VMALLOC_RESERVE=0x1000000
251CONFIG_HARDWALL=y
252CONFIG_KERNEL_PL=1
253
254#
255# Bus options
256#
257CONFIG_PCI=y
258CONFIG_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
262CONFIG_PCI_DEBUG=y 54CONFIG_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#
270CONFIG_KCORE_ELF=y
271CONFIG_BINFMT_ELF=y
272CONFIG_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
275CONFIG_BINFMT_MISC=y 56CONFIG_BINFMT_MISC=y
276CONFIG_NET=y 57CONFIG_NET=y
277
278#
279# Networking options
280#
281CONFIG_PACKET=y 58CONFIG_PACKET=y
282CONFIG_UNIX=y 59CONFIG_UNIX=y
283CONFIG_XFRM=y
284CONFIG_XFRM_USER=y 60CONFIG_XFRM_USER=y
285CONFIG_XFRM_SUB_POLICY=y 61CONFIG_XFRM_SUB_POLICY=y
286CONFIG_XFRM_MIGRATE=y
287CONFIG_XFRM_STATISTICS=y 62CONFIG_XFRM_STATISTICS=y
288CONFIG_XFRM_IPCOMP=m
289CONFIG_NET_KEY=m 63CONFIG_NET_KEY=m
290CONFIG_NET_KEY_MIGRATE=y 64CONFIG_NET_KEY_MIGRATE=y
291CONFIG_INET=y 65CONFIG_INET=y
292CONFIG_IP_MULTICAST=y 66CONFIG_IP_MULTICAST=y
293CONFIG_IP_ADVANCED_ROUTER=y 67CONFIG_IP_ADVANCED_ROUTER=y
294# CONFIG_IP_FIB_TRIE_STATS is not set
295CONFIG_IP_MULTIPLE_TABLES=y 68CONFIG_IP_MULTIPLE_TABLES=y
296CONFIG_IP_ROUTE_MULTIPATH=y 69CONFIG_IP_ROUTE_MULTIPATH=y
297CONFIG_IP_ROUTE_VERBOSE=y 70CONFIG_IP_ROUTE_VERBOSE=y
298CONFIG_IP_ROUTE_CLASSID=y
299# CONFIG_IP_PNP is not set
300CONFIG_NET_IPIP=m 71CONFIG_NET_IPIP=m
301# CONFIG_NET_IPGRE_DEMUX is not set
302CONFIG_IP_MROUTE=y 72CONFIG_IP_MROUTE=y
303# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
304CONFIG_IP_PIMSM_V1=y 73CONFIG_IP_PIMSM_V1=y
305CONFIG_IP_PIMSM_V2=y 74CONFIG_IP_PIMSM_V2=y
306# CONFIG_ARPD is not set
307CONFIG_SYN_COOKIES=y 75CONFIG_SYN_COOKIES=y
308CONFIG_INET_AH=m 76CONFIG_INET_AH=m
309CONFIG_INET_ESP=m 77CONFIG_INET_ESP=m
310CONFIG_INET_IPCOMP=m 78CONFIG_INET_IPCOMP=m
311CONFIG_INET_XFRM_TUNNEL=m
312CONFIG_INET_TUNNEL=m
313CONFIG_INET_XFRM_MODE_TRANSPORT=m 79CONFIG_INET_XFRM_MODE_TRANSPORT=m
314CONFIG_INET_XFRM_MODE_TUNNEL=m 80CONFIG_INET_XFRM_MODE_TUNNEL=m
315CONFIG_INET_XFRM_MODE_BEET=m 81CONFIG_INET_XFRM_MODE_BEET=m
316CONFIG_INET_LRO=y
317CONFIG_INET_DIAG=m 82CONFIG_INET_DIAG=m
318CONFIG_INET_TCP_DIAG=m
319CONFIG_TCP_CONG_ADVANCED=y 83CONFIG_TCP_CONG_ADVANCED=y
320CONFIG_TCP_CONG_BIC=m
321CONFIG_TCP_CONG_CUBIC=y
322CONFIG_TCP_CONG_WESTWOOD=m
323CONFIG_TCP_CONG_HTCP=m
324CONFIG_TCP_CONG_HSTCP=m 84CONFIG_TCP_CONG_HSTCP=m
325CONFIG_TCP_CONG_HYBLA=m 85CONFIG_TCP_CONG_HYBLA=m
326CONFIG_TCP_CONG_VEGAS=m
327CONFIG_TCP_CONG_SCALABLE=m 86CONFIG_TCP_CONG_SCALABLE=m
328CONFIG_TCP_CONG_LP=m 87CONFIG_TCP_CONG_LP=m
329CONFIG_TCP_CONG_VENO=m 88CONFIG_TCP_CONG_VENO=m
330CONFIG_TCP_CONG_YEAH=m 89CONFIG_TCP_CONG_YEAH=m
331CONFIG_TCP_CONG_ILLINOIS=m 90CONFIG_TCP_CONG_ILLINOIS=m
332CONFIG_DEFAULT_CUBIC=y
333# CONFIG_DEFAULT_RENO is not set
334CONFIG_DEFAULT_TCP_CONG="cubic"
335CONFIG_TCP_MD5SIG=y 91CONFIG_TCP_MD5SIG=y
336CONFIG_IPV6=y 92CONFIG_IPV6=y
337CONFIG_IPV6_PRIVACY=y 93CONFIG_IPV6_PRIVACY=y
@@ -342,108 +98,60 @@ CONFIG_INET6_AH=m
342CONFIG_INET6_ESP=m 98CONFIG_INET6_ESP=m
343CONFIG_INET6_IPCOMP=m 99CONFIG_INET6_IPCOMP=m
344CONFIG_IPV6_MIP6=m 100CONFIG_IPV6_MIP6=m
345CONFIG_INET6_XFRM_TUNNEL=m
346CONFIG_INET6_TUNNEL=m
347CONFIG_INET6_XFRM_MODE_TRANSPORT=m 101CONFIG_INET6_XFRM_MODE_TRANSPORT=m
348CONFIG_INET6_XFRM_MODE_TUNNEL=m 102CONFIG_INET6_XFRM_MODE_TUNNEL=m
349CONFIG_INET6_XFRM_MODE_BEET=m 103CONFIG_INET6_XFRM_MODE_BEET=m
350CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 104CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
351CONFIG_IPV6_SIT=m 105CONFIG_IPV6_SIT=m
352# CONFIG_IPV6_SIT_6RD is not set
353CONFIG_IPV6_NDISC_NODETYPE=y
354CONFIG_IPV6_TUNNEL=m 106CONFIG_IPV6_TUNNEL=m
355CONFIG_IPV6_MULTIPLE_TABLES=y 107CONFIG_IPV6_MULTIPLE_TABLES=y
356# CONFIG_IPV6_SUBTREES is not set
357CONFIG_IPV6_MROUTE=y 108CONFIG_IPV6_MROUTE=y
358# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set
359CONFIG_IPV6_PIMSM_V2=y 109CONFIG_IPV6_PIMSM_V2=y
360CONFIG_NETLABEL=y 110CONFIG_NETLABEL=y
361CONFIG_NETWORK_SECMARK=y
362# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
363CONFIG_NETFILTER=y 111CONFIG_NETFILTER=y
364# CONFIG_NETFILTER_DEBUG is not set 112CONFIG_NF_CONNTRACK=m
365CONFIG_NETFILTER_ADVANCED=y
366CONFIG_BRIDGE_NETFILTER=y
367
368#
369# Core Netfilter Configuration
370#
371CONFIG_NETFILTER_NETLINK=m
372CONFIG_NETFILTER_NETLINK_QUEUE=m
373CONFIG_NETFILTER_NETLINK_LOG=m
374CONFIG_NF_CONNTRACK=y
375CONFIG_NF_CONNTRACK_MARK=y
376CONFIG_NF_CONNTRACK_SECMARK=y 113CONFIG_NF_CONNTRACK_SECMARK=y
377CONFIG_NF_CONNTRACK_ZONES=y 114CONFIG_NF_CONNTRACK_ZONES=y
378CONFIG_NF_CONNTRACK_EVENTS=y 115CONFIG_NF_CONNTRACK_EVENTS=y
379# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
380CONFIG_NF_CT_PROTO_DCCP=m 116CONFIG_NF_CT_PROTO_DCCP=m
381CONFIG_NF_CT_PROTO_GRE=m
382CONFIG_NF_CT_PROTO_SCTP=m
383CONFIG_NF_CT_PROTO_UDPLITE=m 117CONFIG_NF_CT_PROTO_UDPLITE=m
384CONFIG_NF_CONNTRACK_AMANDA=m 118CONFIG_NF_CONNTRACK_AMANDA=m
385CONFIG_NF_CONNTRACK_FTP=m 119CONFIG_NF_CONNTRACK_FTP=m
386CONFIG_NF_CONNTRACK_H323=m 120CONFIG_NF_CONNTRACK_H323=m
387CONFIG_NF_CONNTRACK_IRC=m 121CONFIG_NF_CONNTRACK_IRC=m
388CONFIG_NF_CONNTRACK_BROADCAST=m
389CONFIG_NF_CONNTRACK_NETBIOS_NS=m 122CONFIG_NF_CONNTRACK_NETBIOS_NS=m
390# CONFIG_NF_CONNTRACK_SNMP is not set
391CONFIG_NF_CONNTRACK_PPTP=m 123CONFIG_NF_CONNTRACK_PPTP=m
392CONFIG_NF_CONNTRACK_SANE=m 124CONFIG_NF_CONNTRACK_SANE=m
393CONFIG_NF_CONNTRACK_SIP=m 125CONFIG_NF_CONNTRACK_SIP=m
394CONFIG_NF_CONNTRACK_TFTP=m 126CONFIG_NF_CONNTRACK_TFTP=m
395# CONFIG_NF_CT_NETLINK is not set
396CONFIG_NETFILTER_TPROXY=m 127CONFIG_NETFILTER_TPROXY=m
397CONFIG_NETFILTER_XTABLES=y
398
399#
400# Xtables combined modules
401#
402CONFIG_NETFILTER_XT_MARK=m
403CONFIG_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
410CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 128CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
411CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 129CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
412CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m 130CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
413CONFIG_NETFILTER_XT_TARGET_CT=m 131CONFIG_NETFILTER_XT_TARGET_CT=m
414CONFIG_NETFILTER_XT_TARGET_DSCP=m 132CONFIG_NETFILTER_XT_TARGET_DSCP=m
415CONFIG_NETFILTER_XT_TARGET_HL=m
416CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m 133CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
417CONFIG_NETFILTER_XT_TARGET_MARK=m 134CONFIG_NETFILTER_XT_TARGET_MARK=m
418CONFIG_NETFILTER_XT_TARGET_NFLOG=m 135CONFIG_NETFILTER_XT_TARGET_NFLOG=m
419CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 136CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
420CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 137CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
421CONFIG_NETFILTER_XT_TARGET_RATEEST=m
422CONFIG_NETFILTER_XT_TARGET_TEE=m 138CONFIG_NETFILTER_XT_TARGET_TEE=m
423CONFIG_NETFILTER_XT_TARGET_TPROXY=m 139CONFIG_NETFILTER_XT_TARGET_TPROXY=m
424CONFIG_NETFILTER_XT_TARGET_TRACE=m 140CONFIG_NETFILTER_XT_TARGET_TRACE=m
425CONFIG_NETFILTER_XT_TARGET_SECMARK=m 141CONFIG_NETFILTER_XT_TARGET_SECMARK=m
426CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 142CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
427CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 143CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
428
429#
430# Xtables matches
431#
432# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set
433CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 144CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
434CONFIG_NETFILTER_XT_MATCH_COMMENT=m 145CONFIG_NETFILTER_XT_MATCH_COMMENT=m
435CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 146CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
436CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 147CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
437CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 148CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
438CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y 149CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
439# CONFIG_NETFILTER_XT_MATCH_CPU is not set
440CONFIG_NETFILTER_XT_MATCH_DCCP=m 150CONFIG_NETFILTER_XT_MATCH_DCCP=m
441# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set
442CONFIG_NETFILTER_XT_MATCH_DSCP=m 151CONFIG_NETFILTER_XT_MATCH_DSCP=m
443CONFIG_NETFILTER_XT_MATCH_ESP=m 152CONFIG_NETFILTER_XT_MATCH_ESP=m
444CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 153CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
445CONFIG_NETFILTER_XT_MATCH_HELPER=m 154CONFIG_NETFILTER_XT_MATCH_HELPER=m
446CONFIG_NETFILTER_XT_MATCH_HL=m
447CONFIG_NETFILTER_XT_MATCH_IPRANGE=m 155CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
448CONFIG_NETFILTER_XT_MATCH_IPVS=m 156CONFIG_NETFILTER_XT_MATCH_IPVS=m
449CONFIG_NETFILTER_XT_MATCH_LENGTH=m 157CONFIG_NETFILTER_XT_MATCH_LENGTH=m
@@ -460,55 +168,29 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m
460CONFIG_NETFILTER_XT_MATCH_RATEEST=m 168CONFIG_NETFILTER_XT_MATCH_RATEEST=m
461CONFIG_NETFILTER_XT_MATCH_REALM=m 169CONFIG_NETFILTER_XT_MATCH_REALM=m
462CONFIG_NETFILTER_XT_MATCH_RECENT=m 170CONFIG_NETFILTER_XT_MATCH_RECENT=m
463CONFIG_NETFILTER_XT_MATCH_SCTP=m
464CONFIG_NETFILTER_XT_MATCH_SOCKET=m 171CONFIG_NETFILTER_XT_MATCH_SOCKET=m
465CONFIG_NETFILTER_XT_MATCH_STATE=y 172CONFIG_NETFILTER_XT_MATCH_STATE=m
466CONFIG_NETFILTER_XT_MATCH_STATISTIC=m 173CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
467CONFIG_NETFILTER_XT_MATCH_STRING=m 174CONFIG_NETFILTER_XT_MATCH_STRING=m
468CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 175CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
469CONFIG_NETFILTER_XT_MATCH_TIME=m 176CONFIG_NETFILTER_XT_MATCH_TIME=m
470CONFIG_NETFILTER_XT_MATCH_U32=m 177CONFIG_NETFILTER_XT_MATCH_U32=m
471# CONFIG_IP_SET is not set
472CONFIG_IP_VS=m 178CONFIG_IP_VS=m
473CONFIG_IP_VS_IPV6=y 179CONFIG_IP_VS_IPV6=y
474# CONFIG_IP_VS_DEBUG is not set
475CONFIG_IP_VS_TAB_BITS=12
476
477#
478# IPVS transport protocol load balancing support
479#
480CONFIG_IP_VS_PROTO_TCP=y 180CONFIG_IP_VS_PROTO_TCP=y
481CONFIG_IP_VS_PROTO_UDP=y 181CONFIG_IP_VS_PROTO_UDP=y
482CONFIG_IP_VS_PROTO_AH_ESP=y
483CONFIG_IP_VS_PROTO_ESP=y 182CONFIG_IP_VS_PROTO_ESP=y
484CONFIG_IP_VS_PROTO_AH=y 183CONFIG_IP_VS_PROTO_AH=y
485CONFIG_IP_VS_PROTO_SCTP=y 184CONFIG_IP_VS_PROTO_SCTP=y
486
487#
488# IPVS scheduler
489#
490CONFIG_IP_VS_RR=m 185CONFIG_IP_VS_RR=m
491CONFIG_IP_VS_WRR=m 186CONFIG_IP_VS_WRR=m
492CONFIG_IP_VS_LC=m 187CONFIG_IP_VS_LC=m
493CONFIG_IP_VS_WLC=m 188CONFIG_IP_VS_WLC=m
494CONFIG_IP_VS_LBLC=m 189CONFIG_IP_VS_LBLC=m
495CONFIG_IP_VS_LBLCR=m 190CONFIG_IP_VS_LBLCR=m
496# CONFIG_IP_VS_DH is not set
497# CONFIG_IP_VS_SH is not set
498CONFIG_IP_VS_SED=m 191CONFIG_IP_VS_SED=m
499CONFIG_IP_VS_NQ=m 192CONFIG_IP_VS_NQ=m
500 193CONFIG_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#
510CONFIG_NF_DEFRAG_IPV4=y
511CONFIG_NF_CONNTRACK_IPV4=y
512# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set 194# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
513CONFIG_IP_NF_QUEUE=m 195CONFIG_IP_NF_QUEUE=m
514CONFIG_IP_NF_IPTABLES=y 196CONFIG_IP_NF_IPTABLES=y
@@ -519,9 +201,7 @@ CONFIG_IP_NF_FILTER=y
519CONFIG_IP_NF_TARGET_REJECT=y 201CONFIG_IP_NF_TARGET_REJECT=y
520CONFIG_IP_NF_TARGET_LOG=m 202CONFIG_IP_NF_TARGET_LOG=m
521CONFIG_IP_NF_TARGET_ULOG=m 203CONFIG_IP_NF_TARGET_ULOG=m
522# CONFIG_NF_NAT is not set
523CONFIG_IP_NF_MANGLE=m 204CONFIG_IP_NF_MANGLE=m
524# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
525CONFIG_IP_NF_TARGET_ECN=m 205CONFIG_IP_NF_TARGET_ECN=m
526CONFIG_IP_NF_TARGET_TTL=m 206CONFIG_IP_NF_TARGET_TTL=m
527CONFIG_IP_NF_RAW=m 207CONFIG_IP_NF_RAW=m
@@ -529,11 +209,6 @@ CONFIG_IP_NF_SECURITY=m
529CONFIG_IP_NF_ARPTABLES=m 209CONFIG_IP_NF_ARPTABLES=m
530CONFIG_IP_NF_ARPFILTER=m 210CONFIG_IP_NF_ARPFILTER=m
531CONFIG_IP_NF_ARP_MANGLE=m 211CONFIG_IP_NF_ARP_MANGLE=m
532
533#
534# IPv6: Netfilter Configuration
535#
536CONFIG_NF_DEFRAG_IPV6=m
537CONFIG_NF_CONNTRACK_IPV6=m 212CONFIG_NF_CONNTRACK_IPV6=m
538CONFIG_IP6_NF_QUEUE=m 213CONFIG_IP6_NF_QUEUE=m
539CONFIG_IP6_NF_IPTABLES=m 214CONFIG_IP6_NF_IPTABLES=m
@@ -574,57 +249,20 @@ CONFIG_BRIDGE_EBT_SNAT=m
574CONFIG_BRIDGE_EBT_LOG=m 249CONFIG_BRIDGE_EBT_LOG=m
575CONFIG_BRIDGE_EBT_ULOG=m 250CONFIG_BRIDGE_EBT_ULOG=m
576CONFIG_BRIDGE_EBT_NFLOG=m 251CONFIG_BRIDGE_EBT_NFLOG=m
577# CONFIG_IP_DCCP is not set
578CONFIG_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
583CONFIG_SCTP_HMAC_MD5=y
584CONFIG_RDS=m 252CONFIG_RDS=m
585CONFIG_RDS_TCP=m 253CONFIG_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
590CONFIG_STP=m
591CONFIG_GARP=m
592CONFIG_BRIDGE=m 254CONFIG_BRIDGE=m
593CONFIG_BRIDGE_IGMP_SNOOPING=y
594CONFIG_NET_DSA=y 255CONFIG_NET_DSA=y
595CONFIG_NET_DSA_TAG_DSA=y
596CONFIG_NET_DSA_TAG_EDSA=y
597CONFIG_NET_DSA_TAG_TRAILER=y
598CONFIG_NET_DSA_MV88E6XXX=y
599CONFIG_NET_DSA_MV88E6060=y
600CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
601CONFIG_NET_DSA_MV88E6131=y
602CONFIG_NET_DSA_MV88E6123_61_65=y
603CONFIG_VLAN_8021Q=m 256CONFIG_VLAN_8021Q=m
604CONFIG_VLAN_8021Q_GVRP=y 257CONFIG_VLAN_8021Q_GVRP=y
605# CONFIG_DECNET is not set
606CONFIG_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
614CONFIG_PHONET=m 258CONFIG_PHONET=m
615# CONFIG_IEEE802154 is not set
616CONFIG_NET_SCHED=y 259CONFIG_NET_SCHED=y
617
618#
619# Queueing/Scheduling
620#
621CONFIG_NET_SCH_CBQ=m 260CONFIG_NET_SCH_CBQ=m
622CONFIG_NET_SCH_HTB=m 261CONFIG_NET_SCH_HTB=m
623CONFIG_NET_SCH_HFSC=m 262CONFIG_NET_SCH_HFSC=m
624CONFIG_NET_SCH_PRIO=m 263CONFIG_NET_SCH_PRIO=m
625CONFIG_NET_SCH_MULTIQ=m 264CONFIG_NET_SCH_MULTIQ=m
626CONFIG_NET_SCH_RED=m 265CONFIG_NET_SCH_RED=m
627# CONFIG_NET_SCH_SFB is not set
628CONFIG_NET_SCH_SFQ=m 266CONFIG_NET_SCH_SFQ=m
629CONFIG_NET_SCH_TEQL=m 267CONFIG_NET_SCH_TEQL=m
630CONFIG_NET_SCH_TBF=m 268CONFIG_NET_SCH_TBF=m
@@ -632,14 +270,7 @@ CONFIG_NET_SCH_GRED=m
632CONFIG_NET_SCH_DSMARK=m 270CONFIG_NET_SCH_DSMARK=m
633CONFIG_NET_SCH_NETEM=m 271CONFIG_NET_SCH_NETEM=m
634CONFIG_NET_SCH_DRR=m 272CONFIG_NET_SCH_DRR=m
635# CONFIG_NET_SCH_MQPRIO is not set
636# CONFIG_NET_SCH_CHOKE is not set
637CONFIG_NET_SCH_INGRESS=m 273CONFIG_NET_SCH_INGRESS=m
638
639#
640# Classification
641#
642CONFIG_NET_CLS=y
643CONFIG_NET_CLS_BASIC=m 274CONFIG_NET_CLS_BASIC=m
644CONFIG_NET_CLS_TCINDEX=m 275CONFIG_NET_CLS_TCINDEX=m
645CONFIG_NET_CLS_ROUTE4=m 276CONFIG_NET_CLS_ROUTE4=m
@@ -652,7 +283,6 @@ CONFIG_NET_CLS_RSVP6=m
652CONFIG_NET_CLS_FLOW=m 283CONFIG_NET_CLS_FLOW=m
653CONFIG_NET_CLS_CGROUP=y 284CONFIG_NET_CLS_CGROUP=y
654CONFIG_NET_EMATCH=y 285CONFIG_NET_EMATCH=y
655CONFIG_NET_EMATCH_STACK=32
656CONFIG_NET_EMATCH_CMP=m 286CONFIG_NET_EMATCH_CMP=m
657CONFIG_NET_EMATCH_NBYTE=m 287CONFIG_NET_EMATCH_NBYTE=m
658CONFIG_NET_EMATCH_U32=m 288CONFIG_NET_EMATCH_U32=m
@@ -668,307 +298,46 @@ CONFIG_NET_ACT_NAT=m
668CONFIG_NET_ACT_PEDIT=m 298CONFIG_NET_ACT_PEDIT=m
669CONFIG_NET_ACT_SIMP=m 299CONFIG_NET_ACT_SIMP=m
670CONFIG_NET_ACT_SKBEDIT=m 300CONFIG_NET_ACT_SKBEDIT=m
671# CONFIG_NET_ACT_CSUM is not set
672CONFIG_NET_CLS_IND=y 301CONFIG_NET_CLS_IND=y
673CONFIG_NET_SCH_FIFO=y
674CONFIG_DCB=y 302CONFIG_DCB=y
675CONFIG_DNS_RESOLVER=y
676# CONFIG_BATMAN_ADV is not set
677CONFIG_RPS=y
678CONFIG_RFS_ACCEL=y
679CONFIG_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
690CONFIG_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#
705CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 304CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
706CONFIG_DEVTMPFS=y 305CONFIG_DEVTMPFS=y
707CONFIG_DEVTMPFS_MOUNT=y 306CONFIG_DEVTMPFS_MOUNT=y
708CONFIG_STANDALONE=y
709CONFIG_PREVENT_FIRMWARE_BUILD=y
710CONFIG_FW_LOADER=y
711# CONFIG_FIRMWARE_IN_KERNEL is not set 307# CONFIG_FIRMWARE_IN_KERNEL is not set
712CONFIG_EXTRA_FIRMWARE=""
713# CONFIG_DEBUG_DRIVER is not set
714# CONFIG_DEBUG_DEVRES is not set
715# CONFIG_SYS_HYPERVISOR is not set
716CONFIG_CONNECTOR=y 308CONFIG_CONNECTOR=y
717CONFIG_PROC_EVENTS=y
718# CONFIG_MTD is not set
719# CONFIG_PARPORT is not set
720CONFIG_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
726CONFIG_BLK_DEV_LOOP=y 309CONFIG_BLK_DEV_LOOP=y
727CONFIG_BLK_DEV_CRYPTOLOOP=m 310CONFIG_BLK_DEV_CRYPTOLOOP=m
728# CONFIG_BLK_DEV_DRBD is not set
729# CONFIG_BLK_DEV_NBD is not set
730CONFIG_BLK_DEV_SX8=m 311CONFIG_BLK_DEV_SX8=m
731CONFIG_BLK_DEV_RAM=y 312CONFIG_BLK_DEV_RAM=y
732CONFIG_BLK_DEV_RAM_COUNT=16
733CONFIG_BLK_DEV_RAM_SIZE=16384 313CONFIG_BLK_DEV_RAM_SIZE=16384
734# CONFIG_BLK_DEV_XIP is not set 314CONFIG_ATA_OVER_ETH=m
735# CONFIG_CDROM_PKTCDVD is not set
736CONFIG_ATA_OVER_ETH=y
737# CONFIG_BLK_DEV_RBD is not set
738# CONFIG_SENSORS_LIS3LV02D is not set
739CONFIG_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#
777CONFIG_SCSI_MOD=m
778CONFIG_RAID_ATTRS=m 315CONFIG_RAID_ATTRS=m
779CONFIG_SCSI=m
780CONFIG_SCSI_DMA=y
781CONFIG_SCSI_TGT=m 316CONFIG_SCSI_TGT=m
782# CONFIG_SCSI_NETLINK is not set 317CONFIG_BLK_DEV_SD=y
783CONFIG_SCSI_PROC_FS=y
784
785#
786# SCSI support type (disk, tape, CD-ROM)
787#
788CONFIG_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
795CONFIG_SCSI_CONSTANTS=y 318CONFIG_SCSI_CONSTANTS=y
796CONFIG_SCSI_LOGGING=y 319CONFIG_SCSI_LOGGING=y
797# CONFIG_SCSI_SCAN_ASYNC is not set 320CONFIG_SCSI_SAS_ATA=y
798CONFIG_SCSI_WAIT_SCAN=m 321CONFIG_SCSI_MVSAS=y
799 322# CONFIG_SCSI_MVSAS_DEBUG is not set
800# 323CONFIG_SCSI_MVSAS_TASKLET=y
801# SCSI Transports 324CONFIG_ATA=y
802# 325CONFIG_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
806CONFIG_SCSI_SAS_ATTRS=m
807# CONFIG_SCSI_SAS_LIBSAS is not set
808# CONFIG_SCSI_SRP_ATTRS is not set
809CONFIG_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
861CONFIG_ATA=m
862# CONFIG_ATA_NONSTANDARD is not set
863CONFIG_ATA_VERBOSE_ERROR=y
864CONFIG_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
873CONFIG_SATA_SIL24=m
874CONFIG_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
882CONFIG_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
955CONFIG_MD=y 327CONFIG_MD=y
956CONFIG_BLK_DEV_MD=y 328CONFIG_BLK_DEV_MD=y
957CONFIG_MD_AUTODETECT=y
958CONFIG_MD_LINEAR=m 329CONFIG_MD_LINEAR=m
959CONFIG_MD_RAID0=m 330CONFIG_MD_RAID0=m
960CONFIG_MD_RAID1=m 331CONFIG_MD_RAID1=m
961CONFIG_MD_RAID10=m 332CONFIG_MD_RAID10=m
962CONFIG_MD_RAID456=m 333CONFIG_MD_RAID456=m
963CONFIG_MULTICORE_RAID456=y 334CONFIG_MULTICORE_RAID456=y
964# CONFIG_MD_MULTIPATH is not set
965CONFIG_MD_FAULTY=m 335CONFIG_MD_FAULTY=m
966CONFIG_BLK_DEV_DM=m 336CONFIG_BLK_DEV_DM=m
967CONFIG_DM_DEBUG=y 337CONFIG_DM_DEBUG=y
968CONFIG_DM_CRYPT=m 338CONFIG_DM_CRYPT=m
969CONFIG_DM_SNAPSHOT=m 339CONFIG_DM_SNAPSHOT=m
970CONFIG_DM_MIRROR=m 340CONFIG_DM_MIRROR=m
971# CONFIG_DM_RAID is not set
972CONFIG_DM_LOG_USERSPACE=m 341CONFIG_DM_LOG_USERSPACE=m
973CONFIG_DM_ZERO=m 342CONFIG_DM_ZERO=m
974CONFIG_DM_MULTIPATH=m 343CONFIG_DM_MULTIPATH=m
@@ -976,558 +345,143 @@ CONFIG_DM_MULTIPATH_QL=m
976CONFIG_DM_MULTIPATH_ST=m 345CONFIG_DM_MULTIPATH_ST=m
977CONFIG_DM_DELAY=m 346CONFIG_DM_DELAY=m
978CONFIG_DM_UEVENT=y 347CONFIG_DM_UEVENT=y
979# CONFIG_DM_FLAKEY is not set 348CONFIG_FUSION=y
980# CONFIG_TARGET_CORE is not set 349CONFIG_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
989CONFIG_NETDEVICES=y 350CONFIG_NETDEVICES=y
990CONFIG_IFB=m
991CONFIG_DUMMY=m
992CONFIG_BONDING=m 351CONFIG_BONDING=m
352CONFIG_DUMMY=m
353CONFIG_IFB=m
993CONFIG_MACVLAN=m 354CONFIG_MACVLAN=m
994CONFIG_MACVTAP=m 355CONFIG_MACVTAP=m
995# CONFIG_EQUALIZER is not set 356CONFIG_NETCONSOLE=m
357CONFIG_NETCONSOLE_DYNAMIC=y
358CONFIG_NETPOLL_TRAP=y
996CONFIG_TUN=y 359CONFIG_TUN=y
997CONFIG_VETH=m 360CONFIG_VETH=m
998# CONFIG_ARCNET is not set 361CONFIG_NET_DSA_MV88E6060=y
999# CONFIG_MII is not set 362CONFIG_NET_DSA_MV88E6131=y
1000CONFIG_PHYLIB=y 363CONFIG_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
1023CONFIG_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
1027CONFIG_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#
1077CONFIG_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
1110CONFIG_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
1116CONFIG_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
1133CONFIG_HVC_DRIVER=y
1134# CONFIG_IPMI_HANDLER is not set
1135CONFIG_HW_RANDOM=y 407CONFIG_HW_RANDOM=y
1136CONFIG_HW_RANDOM_TIMERIOMEM=m 408CONFIG_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
1145CONFIG_DEVPORT=y
1146# CONFIG_RAMOOPS is not set
1147CONFIG_I2C=y 409CONFIG_I2C=y
1148CONFIG_I2C_BOARDINFO=y
1149CONFIG_I2C_COMPAT=y
1150CONFIG_I2C_CHARDEV=y 410CONFIG_I2C_CHARDEV=y
1151# CONFIG_I2C_MUX is not set
1152CONFIG_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 412CONFIG_WATCHDOG=y
1214# CONFIG_WATCHDOG is not set 413CONFIG_WATCHDOG_NOWAYOUT=y
1215CONFIG_SSB_POSSIBLE=y
1216
1217#
1218# Sonics Silicon Backplane
1219#
1220# CONFIG_SSB is not set
1221CONFIG_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 416CONFIG_USB=y
1269# CONFIG_UWB is not set 417# CONFIG_USB_DEVICE_CLASS is not set
1270# CONFIG_MMC is not set 418CONFIG_USB_EHCI_HCD=y
1271# CONFIG_MEMSTICK is not set 419CONFIG_USB_OHCI_HCD=y
1272# CONFIG_NEW_LEDS is not set 420CONFIG_USB_STORAGE=y
1273# CONFIG_NFC_DEVICES is not set 421CONFIG_USB_LIBUSUAL=y
1274# CONFIG_ACCESSIBILITY is not set 422CONFIG_EDAC=y
1275# CONFIG_INFINIBAND is not set 423CONFIG_EDAC_MM_EDAC=y
1276# CONFIG_EDAC is not set
1277CONFIG_RTC_LIB=y
1278CONFIG_RTC_CLASS=y 424CONFIG_RTC_CLASS=y
1279CONFIG_RTC_HCTOSYS=y
1280CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1281# CONFIG_RTC_DEBUG is not set
1282
1283#
1284# RTC interfaces
1285#
1286CONFIG_RTC_INTF_SYSFS=y
1287CONFIG_RTC_INTF_PROC=y
1288CONFIG_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#
1336CONFIG_RTC_DRV_TILE=y 425CONFIG_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#
1345CONFIG_EXT2_FS=y 426CONFIG_EXT2_FS=y
1346CONFIG_EXT2_FS_XATTR=y 427CONFIG_EXT2_FS_XATTR=y
1347CONFIG_EXT2_FS_POSIX_ACL=y 428CONFIG_EXT2_FS_POSIX_ACL=y
1348CONFIG_EXT2_FS_SECURITY=y 429CONFIG_EXT2_FS_SECURITY=y
1349CONFIG_EXT2_FS_XIP=y 430CONFIG_EXT2_FS_XIP=y
1350CONFIG_EXT3_FS=y 431CONFIG_EXT3_FS=y
1351CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
1352CONFIG_EXT3_FS_XATTR=y
1353CONFIG_EXT3_FS_POSIX_ACL=y 432CONFIG_EXT3_FS_POSIX_ACL=y
1354CONFIG_EXT3_FS_SECURITY=y 433CONFIG_EXT3_FS_SECURITY=y
1355CONFIG_EXT4_FS=y 434CONFIG_EXT4_FS=y
1356CONFIG_EXT4_FS_XATTR=y
1357CONFIG_EXT4_FS_POSIX_ACL=y 435CONFIG_EXT4_FS_POSIX_ACL=y
1358CONFIG_EXT4_FS_SECURITY=y 436CONFIG_EXT4_FS_SECURITY=y
1359# CONFIG_EXT4_DEBUG is not set 437CONFIG_XFS_FS=y
1360CONFIG_FS_XIP=y
1361CONFIG_JBD=y
1362# CONFIG_JBD_DEBUG is not set
1363CONFIG_JBD2=y
1364CONFIG_JBD2_DEBUG=y
1365CONFIG_FS_MBCACHE=y
1366# CONFIG_REISERFS_FS is not set
1367# CONFIG_JFS_FS is not set
1368CONFIG_XFS_FS=m
1369CONFIG_XFS_QUOTA=y 438CONFIG_XFS_QUOTA=y
1370CONFIG_XFS_POSIX_ACL=y 439CONFIG_XFS_POSIX_ACL=y
1371# CONFIG_XFS_RT is not set
1372# CONFIG_XFS_DEBUG is not set
1373CONFIG_GFS2_FS=m 440CONFIG_GFS2_FS=m
1374CONFIG_GFS2_FS_LOCKING_DLM=y 441CONFIG_GFS2_FS_LOCKING_DLM=y
1375# CONFIG_OCFS2_FS is not set
1376CONFIG_BTRFS_FS=m 442CONFIG_BTRFS_FS=m
1377CONFIG_BTRFS_FS_POSIX_ACL=y 443CONFIG_BTRFS_FS_POSIX_ACL=y
1378# CONFIG_NILFS2_FS is not set
1379CONFIG_FS_POSIX_ACL=y
1380CONFIG_EXPORTFS=y
1381CONFIG_FILE_LOCKING=y
1382CONFIG_FSNOTIFY=y
1383CONFIG_DNOTIFY=y
1384CONFIG_INOTIFY_USER=y
1385# CONFIG_FANOTIFY is not set
1386CONFIG_QUOTA=y 444CONFIG_QUOTA=y
1387CONFIG_QUOTA_NETLINK_INTERFACE=y 445CONFIG_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
1390CONFIG_QUOTA_TREE=y
1391# CONFIG_QFMT_V1 is not set
1392CONFIG_QFMT_V2=y 447CONFIG_QFMT_V2=y
1393CONFIG_QUOTACTL=y 448CONFIG_AUTOFS4_FS=m
1394# CONFIG_AUTOFS4_FS is not set
1395CONFIG_FUSE_FS=y 449CONFIG_FUSE_FS=y
1396CONFIG_CUSE=m 450CONFIG_CUSE=m
1397CONFIG_GENERIC_ACL=y
1398
1399#
1400# Caches
1401#
1402CONFIG_FSCACHE=m 451CONFIG_FSCACHE=m
1403CONFIG_FSCACHE_STATS=y 452CONFIG_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
1407CONFIG_CACHEFILES=m 453CONFIG_CACHEFILES=m
1408# CONFIG_CACHEFILES_DEBUG is not set
1409# CONFIG_CACHEFILES_HISTOGRAM is not set
1410
1411#
1412# CD-ROM/DVD Filesystems
1413#
1414CONFIG_ISO9660_FS=m 454CONFIG_ISO9660_FS=m
1415CONFIG_JOLIET=y 455CONFIG_JOLIET=y
1416CONFIG_ZISOFS=y 456CONFIG_ZISOFS=y
1417CONFIG_UDF_FS=m 457CONFIG_UDF_FS=m
1418CONFIG_UDF_NLS=y
1419
1420#
1421# DOS/FAT/NT Filesystems
1422#
1423CONFIG_FAT_FS=m
1424CONFIG_MSDOS_FS=m 458CONFIG_MSDOS_FS=m
1425CONFIG_VFAT_FS=m 459CONFIG_VFAT_FS=m
1426CONFIG_FAT_DEFAULT_CODEPAGE=437
1427CONFIG_FAT_DEFAULT_IOCHARSET="ascii" 460CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
1428# CONFIG_NTFS_FS is not set
1429
1430#
1431# Pseudo filesystems
1432#
1433CONFIG_PROC_FS=y
1434CONFIG_PROC_KCORE=y 461CONFIG_PROC_KCORE=y
1435CONFIG_PROC_SYSCTL=y
1436CONFIG_PROC_PAGE_MONITOR=y
1437CONFIG_SYSFS=y
1438CONFIG_TMPFS=y 462CONFIG_TMPFS=y
1439CONFIG_TMPFS_POSIX_ACL=y 463CONFIG_TMPFS_POSIX_ACL=y
1440CONFIG_HUGETLBFS=y 464CONFIG_HUGETLBFS=y
1441CONFIG_HUGETLB_PAGE=y
1442CONFIG_CONFIGFS_FS=m
1443CONFIG_MISC_FILESYSTEMS=y
1444# CONFIG_ADFS_FS is not set
1445# CONFIG_AFFS_FS is not set
1446CONFIG_ECRYPT_FS=m 465CONFIG_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
1453CONFIG_CRAMFS=m 466CONFIG_CRAMFS=m
1454CONFIG_SQUASHFS=m 467CONFIG_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
1459CONFIG_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
1469CONFIG_NETWORK_FILESYSTEMS=y
1470CONFIG_NFS_FS=m 468CONFIG_NFS_FS=m
1471CONFIG_NFS_V3=y 469CONFIG_NFS_V3=y
1472CONFIG_NFS_V3_ACL=y 470CONFIG_NFS_V3_ACL=y
1473CONFIG_NFS_V4=y 471CONFIG_NFS_V4=y
1474CONFIG_NFS_V4_1=y 472CONFIG_NFS_V4_1=y
1475CONFIG_PNFS_FILE_LAYOUT=m
1476CONFIG_NFS_FSCACHE=y 473CONFIG_NFS_FSCACHE=y
1477# CONFIG_NFS_USE_LEGACY_DNS is not set
1478CONFIG_NFS_USE_KERNEL_DNS=y
1479# CONFIG_NFS_USE_NEW_IDMAPPER is not set
1480CONFIG_NFSD=m 474CONFIG_NFSD=m
1481CONFIG_NFSD_V2_ACL=y
1482CONFIG_NFSD_V3=y
1483CONFIG_NFSD_V3_ACL=y 475CONFIG_NFSD_V3_ACL=y
1484CONFIG_NFSD_V4=y 476CONFIG_NFSD_V4=y
1485CONFIG_LOCKD=m
1486CONFIG_LOCKD_V4=y
1487CONFIG_NFS_ACL_SUPPORT=m
1488CONFIG_NFS_COMMON=y
1489CONFIG_SUNRPC=m
1490CONFIG_SUNRPC_GSS=m
1491CONFIG_RPCSEC_GSS_KRB5=m
1492# CONFIG_CEPH_FS is not set
1493CONFIG_CIFS=m 477CONFIG_CIFS=m
1494CONFIG_CIFS_STATS=y 478CONFIG_CIFS_STATS=y
1495# CONFIG_CIFS_STATS2 is not set
1496CONFIG_CIFS_WEAK_PW_HASH=y 479CONFIG_CIFS_WEAK_PW_HASH=y
1497CONFIG_CIFS_UPCALL=y 480CONFIG_CIFS_UPCALL=y
1498CONFIG_CIFS_XATTR=y 481CONFIG_CIFS_XATTR=y
1499CONFIG_CIFS_POSIX=y 482CONFIG_CIFS_POSIX=y
1500# CONFIG_CIFS_DEBUG2 is not set
1501CONFIG_CIFS_DFS_UPCALL=y 483CONFIG_CIFS_DFS_UPCALL=y
1502CONFIG_CIFS_FSCACHE=y 484CONFIG_CIFS_FSCACHE=y
1503# CONFIG_CIFS_ACL is not set
1504CONFIG_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#
1512CONFIG_PARTITION_ADVANCED=y
1513# CONFIG_ACORN_PARTITION is not set
1514CONFIG_OSF_PARTITION=y
1515CONFIG_AMIGA_PARTITION=y
1516# CONFIG_ATARI_PARTITION is not set
1517CONFIG_MAC_PARTITION=y
1518CONFIG_MSDOS_PARTITION=y
1519CONFIG_BSD_DISKLABEL=y
1520CONFIG_MINIX_SUBPARTITION=y
1521CONFIG_SOLARIS_X86_PARTITION=y
1522CONFIG_UNIXWARE_DISKLABEL=y
1523# CONFIG_LDM_PARTITION is not set
1524CONFIG_SGI_PARTITION=y
1525# CONFIG_ULTRIX_PARTITION is not set
1526CONFIG_SUN_PARTITION=y
1527CONFIG_KARMA_PARTITION=y
1528CONFIG_EFI_PARTITION=y
1529# CONFIG_SYSV68_PARTITION is not set
1530CONFIG_NLS=y
1531CONFIG_NLS_DEFAULT="utf8" 485CONFIG_NLS_DEFAULT="utf8"
1532CONFIG_NLS_CODEPAGE_437=y 486CONFIG_NLS_CODEPAGE_437=y
1533CONFIG_NLS_CODEPAGE_737=m 487CONFIG_NLS_CODEPAGE_737=m
@@ -1567,185 +521,47 @@ CONFIG_NLS_ISO8859_15=m
1567CONFIG_NLS_KOI8_R=m 521CONFIG_NLS_KOI8_R=m
1568CONFIG_NLS_KOI8_U=m 522CONFIG_NLS_KOI8_U=m
1569CONFIG_NLS_UTF8=m 523CONFIG_NLS_UTF8=m
1570CONFIG_DLM=m
1571CONFIG_DLM_DEBUG=y 524CONFIG_DLM_DEBUG=y
1572
1573#
1574# Kernel hacking
1575#
1576# CONFIG_PRINTK_TIME is not set
1577CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
1578# CONFIG_ENABLE_WARN_DEPRECATED is not set 525# CONFIG_ENABLE_WARN_DEPRECATED is not set
1579CONFIG_ENABLE_MUST_CHECK=y
1580CONFIG_FRAME_WARN=2048
1581CONFIG_MAGIC_SYSRQ=y 526CONFIG_MAGIC_SYSRQ=y
1582CONFIG_STRIP_ASM_SYMS=y 527CONFIG_STRIP_ASM_SYMS=y
1583# CONFIG_UNUSED_SYMBOLS is not set
1584CONFIG_DEBUG_FS=y 528CONFIG_DEBUG_FS=y
1585CONFIG_HEADERS_CHECK=y 529CONFIG_HEADERS_CHECK=y
1586# CONFIG_DEBUG_SECTION_MISMATCH is not set
1587CONFIG_DEBUG_KERNEL=y
1588CONFIG_DEBUG_SHIRQ=y
1589CONFIG_LOCKUP_DETECTOR=y 530CONFIG_LOCKUP_DETECTOR=y
1590# CONFIG_HARDLOCKUP_DETECTOR is not set
1591# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
1592CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
1593# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1594CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1595CONFIG_DETECT_HUNG_TASK=y
1596# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1597CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1598CONFIG_SCHED_DEBUG=y
1599CONFIG_SCHEDSTATS=y 531CONFIG_SCHEDSTATS=y
1600CONFIG_TIMER_STATS=y 532CONFIG_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
1613CONFIG_DEBUG_SPINLOCK_SLEEP=y
1614# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1615CONFIG_STACKTRACE=y
1616# CONFIG_DEBUG_KOBJECT is not set
1617CONFIG_DEBUG_INFO=y 533CONFIG_DEBUG_INFO=y
1618CONFIG_DEBUG_INFO_REDUCED=y 534CONFIG_DEBUG_INFO_REDUCED=y
1619CONFIG_DEBUG_VM=y 535CONFIG_DEBUG_VM=y
1620# CONFIG_DEBUG_WRITECOUNT is not set
1621CONFIG_DEBUG_MEMORY_INIT=y 536CONFIG_DEBUG_MEMORY_INIT=y
1622CONFIG_DEBUG_LIST=y 537CONFIG_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
1626CONFIG_DEBUG_CREDENTIALS=y 538CONFIG_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
1631CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y 539CONFIG_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
1636CONFIG_TRACING_SUPPORT=y
1637CONFIG_FTRACE=y
1638# CONFIG_IRQSOFF_TRACER is not set
1639# CONFIG_SCHED_TRACER is not set
1640# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1641CONFIG_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
1646CONFIG_DYNAMIC_DEBUG=y 540CONFIG_DYNAMIC_DEBUG=y
1647# CONFIG_ATOMIC64_SELFTEST is not set
1648CONFIG_ASYNC_RAID6_TEST=m 541CONFIG_ASYNC_RAID6_TEST=m
1649# CONFIG_SAMPLES is not set
1650# CONFIG_TEST_KSTRTOX is not set
1651CONFIG_EARLY_PRINTK=y
1652CONFIG_DEBUG_STACKOVERFLOW=y 542CONFIG_DEBUG_STACKOVERFLOW=y
1653# CONFIG_DEBUG_STACK_USAGE is not set
1654CONFIG_DEBUG_EXTRA_FLAGS=""
1655
1656#
1657# Security options
1658#
1659CONFIG_KEYS=y
1660CONFIG_KEYS_DEBUG_PROC_KEYS=y 543CONFIG_KEYS_DEBUG_PROC_KEYS=y
1661# CONFIG_SECURITY_DMESG_RESTRICT is not set
1662CONFIG_SECURITY=y 544CONFIG_SECURITY=y
1663CONFIG_SECURITYFS=y 545CONFIG_SECURITYFS=y
1664CONFIG_SECURITY_NETWORK=y 546CONFIG_SECURITY_NETWORK=y
1665CONFIG_SECURITY_NETWORK_XFRM=y 547CONFIG_SECURITY_NETWORK_XFRM=y
1666# CONFIG_SECURITY_PATH is not set
1667CONFIG_LSM_MMAP_MIN_ADDR=65536
1668CONFIG_SECURITY_SELINUX=y 548CONFIG_SECURITY_SELINUX=y
1669CONFIG_SECURITY_SELINUX_BOOTPARAM=y 549CONFIG_SECURITY_SELINUX_BOOTPARAM=y
1670CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
1671CONFIG_SECURITY_SELINUX_DISABLE=y 550CONFIG_SECURITY_SELINUX_DISABLE=y
1672CONFIG_SECURITY_SELINUX_DEVELOP=y
1673CONFIG_SECURITY_SELINUX_AVC_STATS=y
1674CONFIG_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
1680CONFIG_DEFAULT_SECURITY_SELINUX=y
1681# CONFIG_DEFAULT_SECURITY_DAC is not set
1682CONFIG_DEFAULT_SECURITY="selinux"
1683CONFIG_XOR_BLOCKS=m
1684CONFIG_ASYNC_CORE=m
1685CONFIG_ASYNC_MEMCPY=m
1686CONFIG_ASYNC_XOR=m
1687CONFIG_ASYNC_PQ=m
1688CONFIG_ASYNC_RAID6_RECOV=m
1689CONFIG_CRYPTO=y
1690
1691#
1692# Crypto core or helper
1693#
1694CONFIG_CRYPTO_ALGAPI=y
1695CONFIG_CRYPTO_ALGAPI2=y
1696CONFIG_CRYPTO_AEAD=m
1697CONFIG_CRYPTO_AEAD2=y
1698CONFIG_CRYPTO_BLKCIPHER=m
1699CONFIG_CRYPTO_BLKCIPHER2=y
1700CONFIG_CRYPTO_HASH=y
1701CONFIG_CRYPTO_HASH2=y
1702CONFIG_CRYPTO_RNG=m
1703CONFIG_CRYPTO_RNG2=y
1704CONFIG_CRYPTO_PCOMP=m
1705CONFIG_CRYPTO_PCOMP2=y
1706CONFIG_CRYPTO_MANAGER=y
1707CONFIG_CRYPTO_MANAGER2=y
1708CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
1709CONFIG_CRYPTO_GF128MUL=m
1710CONFIG_CRYPTO_NULL=m 551CONFIG_CRYPTO_NULL=m
1711CONFIG_CRYPTO_PCRYPT=m 552CONFIG_CRYPTO_PCRYPT=m
1712CONFIG_CRYPTO_WORKQUEUE=y
1713CONFIG_CRYPTO_CRYPTD=m 553CONFIG_CRYPTO_CRYPTD=m
1714CONFIG_CRYPTO_AUTHENC=m
1715CONFIG_CRYPTO_TEST=m 554CONFIG_CRYPTO_TEST=m
1716
1717#
1718# Authenticated Encryption with Associated Data
1719#
1720CONFIG_CRYPTO_CCM=m 555CONFIG_CRYPTO_CCM=m
1721CONFIG_CRYPTO_GCM=m 556CONFIG_CRYPTO_GCM=m
1722CONFIG_CRYPTO_SEQIV=m
1723
1724#
1725# Block modes
1726#
1727CONFIG_CRYPTO_CBC=m
1728CONFIG_CRYPTO_CTR=m
1729CONFIG_CRYPTO_CTS=m 557CONFIG_CRYPTO_CTS=m
1730CONFIG_CRYPTO_ECB=m
1731CONFIG_CRYPTO_LRW=m 558CONFIG_CRYPTO_LRW=m
1732CONFIG_CRYPTO_PCBC=m 559CONFIG_CRYPTO_PCBC=m
1733CONFIG_CRYPTO_XTS=m 560CONFIG_CRYPTO_XTS=m
1734
1735#
1736# Hash modes
1737#
1738CONFIG_CRYPTO_HMAC=y 561CONFIG_CRYPTO_HMAC=y
1739CONFIG_CRYPTO_XCBC=m 562CONFIG_CRYPTO_XCBC=m
1740CONFIG_CRYPTO_VMAC=m 563CONFIG_CRYPTO_VMAC=m
1741
1742#
1743# Digest
1744#
1745CONFIG_CRYPTO_CRC32C=y 564CONFIG_CRYPTO_CRC32C=y
1746CONFIG_CRYPTO_GHASH=m
1747CONFIG_CRYPTO_MD4=m
1748CONFIG_CRYPTO_MD5=y
1749CONFIG_CRYPTO_MICHAEL_MIC=m 565CONFIG_CRYPTO_MICHAEL_MIC=m
1750CONFIG_CRYPTO_RMD128=m 566CONFIG_CRYPTO_RMD128=m
1751CONFIG_CRYPTO_RMD160=m 567CONFIG_CRYPTO_RMD160=m
@@ -1756,76 +572,16 @@ CONFIG_CRYPTO_SHA256=m
1756CONFIG_CRYPTO_SHA512=m 572CONFIG_CRYPTO_SHA512=m
1757CONFIG_CRYPTO_TGR192=m 573CONFIG_CRYPTO_TGR192=m
1758CONFIG_CRYPTO_WP512=m 574CONFIG_CRYPTO_WP512=m
1759
1760#
1761# Ciphers
1762#
1763CONFIG_CRYPTO_AES=m
1764CONFIG_CRYPTO_ANUBIS=m 575CONFIG_CRYPTO_ANUBIS=m
1765CONFIG_CRYPTO_ARC4=m
1766CONFIG_CRYPTO_BLOWFISH=m 576CONFIG_CRYPTO_BLOWFISH=m
1767CONFIG_CRYPTO_CAMELLIA=m 577CONFIG_CRYPTO_CAMELLIA=m
1768CONFIG_CRYPTO_CAST5=m 578CONFIG_CRYPTO_CAST5=m
1769CONFIG_CRYPTO_CAST6=m 579CONFIG_CRYPTO_CAST6=m
1770CONFIG_CRYPTO_DES=m
1771CONFIG_CRYPTO_FCRYPT=m 580CONFIG_CRYPTO_FCRYPT=m
1772CONFIG_CRYPTO_KHAZAD=m 581CONFIG_CRYPTO_KHAZAD=m
1773# CONFIG_CRYPTO_SALSA20 is not set
1774CONFIG_CRYPTO_SEED=m 582CONFIG_CRYPTO_SEED=m
1775CONFIG_CRYPTO_SERPENT=m 583CONFIG_CRYPTO_SERPENT=m
1776CONFIG_CRYPTO_TEA=m 584CONFIG_CRYPTO_TEA=m
1777CONFIG_CRYPTO_TWOFISH=m 585CONFIG_CRYPTO_TWOFISH=m
1778CONFIG_CRYPTO_TWOFISH_COMMON=m
1779
1780#
1781# Compression
1782#
1783CONFIG_CRYPTO_DEFLATE=m
1784CONFIG_CRYPTO_ZLIB=m 586CONFIG_CRYPTO_ZLIB=m
1785CONFIG_CRYPTO_LZO=m 587CONFIG_CRYPTO_LZO=m
1786
1787#
1788# Random Number Generation
1789#
1790CONFIG_CRYPTO_ANSI_CPRNG=m
1791# CONFIG_CRYPTO_USER_API_HASH is not set
1792# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
1793CONFIG_CRYPTO_HW=y
1794CONFIG_CRYPTO_DEV_HIFN_795X=m
1795CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
1796# CONFIG_BINARY_PRINTF is not set
1797
1798#
1799# Library routines
1800#
1801CONFIG_RAID6_PQ=m
1802CONFIG_BITREVERSE=y
1803CONFIG_GENERIC_FIND_FIRST_BIT=y
1804CONFIG_GENERIC_FIND_NEXT_BIT=y
1805CONFIG_GENERIC_FIND_LAST_BIT=y
1806# CONFIG_CRC_CCITT is not set
1807CONFIG_CRC16=y
1808CONFIG_CRC_T10DIF=y
1809CONFIG_CRC_ITU_T=m
1810CONFIG_CRC32=y
1811# CONFIG_CRC7 is not set
1812CONFIG_LIBCRC32C=m
1813CONFIG_AUDIT_GENERIC=y
1814CONFIG_ZLIB_INFLATE=y
1815CONFIG_ZLIB_DEFLATE=m
1816CONFIG_LZO_COMPRESS=m
1817CONFIG_LZO_DECOMPRESS=m
1818# CONFIG_XZ_DEC is not set
1819# CONFIG_XZ_DEC_BCJ is not set
1820CONFIG_DECOMPRESS_GZIP=y
1821CONFIG_TEXTSEARCH=y
1822CONFIG_TEXTSEARCH_KMP=m
1823CONFIG_TEXTSEARCH_BM=m
1824CONFIG_TEXTSEARCH_FSM=m
1825CONFIG_HAS_IOMEM=y
1826CONFIG_HAS_IOPORT=y
1827CONFIG_HAS_DMA=y
1828CONFIG_CPU_RMAP=y
1829CONFIG_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#
6CONFIG_TILE=y
7CONFIG_MMU=y
8CONFIG_GENERIC_CSUM=y
9CONFIG_SEMAPHORE_SLEEPERS=y
10CONFIG_HAVE_ARCH_ALLOC_REMAP=y
11CONFIG_HAVE_SETUP_PER_CPU_AREA=y
12CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
13CONFIG_SYS_SUPPORTS_HUGETLBFS=y
14CONFIG_GENERIC_CLOCKEVENTS=y
15CONFIG_RWSEM_GENERIC_SPINLOCK=y
16CONFIG_DEFAULT_MIGRATION_COST=10000000
17CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
18CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
19CONFIG_ARCH_DMA_ADDR_T_64BIT=y
20CONFIG_LOCKDEP_SUPPORT=y
21CONFIG_STACKTRACE_SUPPORT=y
22CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
23CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
24CONFIG_TRACE_IRQFLAGS_SUPPORT=y
25CONFIG_STRICT_DEVMEM=y
26CONFIG_SMP=y
27# CONFIG_DEBUG_COPY_FROM_USER is not set
28CONFIG_HVC_TILE=y
29# CONFIG_TILEGX is not set
30CONFIG_ARCH_DEFCONFIG="arch/tile/configs/tile_defconfig"
31CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
32CONFIG_CONSTRUCTORS=y
33
34#
35# General setup
36#
37CONFIG_EXPERIMENTAL=y 1CONFIG_EXPERIMENTAL=y
38CONFIG_INIT_ENV_ARG_LIMIT=32 2# CONFIG_LOCALVERSION_AUTO is not set
39CONFIG_CROSS_COMPILE=""
40CONFIG_LOCALVERSION=""
41CONFIG_LOCALVERSION_AUTO=y
42# CONFIG_SWAP is not set
43CONFIG_SYSVIPC=y 3CONFIG_SYSVIPC=y
44CONFIG_SYSVIPC_SYSCTL=y 4CONFIG_POSIX_MQUEUE=y
45# CONFIG_POSIX_MQUEUE is not set 5CONFIG_BSD_PROCESS_ACCT=y
46# CONFIG_BSD_PROCESS_ACCT is not set 6CONFIG_BSD_PROCESS_ACCT_V3=y
47CONFIG_FHANDLE=y 7CONFIG_FHANDLE=y
48# CONFIG_TASKSTATS is not set 8CONFIG_TASKSTATS=y
49# CONFIG_AUDIT is not set 9CONFIG_TASK_DELAY_ACCT=y
50CONFIG_HAVE_GENERIC_HARDIRQS=y 10CONFIG_TASK_XACCT=y
51 11CONFIG_TASK_IO_ACCOUNTING=y
52# 12CONFIG_AUDIT=y
53# IRQ subsystem 13CONFIG_LOG_BUF_SHIFT=19
54# 14CONFIG_CGROUPS=y
55CONFIG_GENERIC_HARDIRQS=y 15CONFIG_CGROUP_DEBUG=y
56CONFIG_GENERIC_IRQ_PROBE=y 16CONFIG_CGROUP_DEVICE=y
57CONFIG_GENERIC_IRQ_SHOW=y 17CONFIG_CPUSETS=y
58CONFIG_GENERIC_PENDING_IRQ=y 18CONFIG_CGROUP_CPUACCT=y
59 19CONFIG_RESOURCE_COUNTERS=y
60# 20CONFIG_CGROUP_MEM_RES_CTLR=y
61# RCU Subsystem 21CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
62# 22CONFIG_CGROUP_SCHED=y
63CONFIG_TREE_RCU=y 23CONFIG_RT_GROUP_SCHED=y
64# CONFIG_PREEMPT_RCU is not set 24CONFIG_BLK_CGROUP=y
65# CONFIG_RCU_TRACE is not set 25CONFIG_NAMESPACES=y
66CONFIG_RCU_FANOUT=32 26CONFIG_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
71CONFIG_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
77CONFIG_BLK_DEV_INITRD=y 27CONFIG_BLK_DEV_INITRD=y
78CONFIG_INITRAMFS_SOURCE="usr/contents.txt"
79CONFIG_INITRAMFS_ROOT_UID=0
80CONFIG_INITRAMFS_ROOT_GID=0
81CONFIG_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
86CONFIG_INITRAMFS_COMPRESSION_NONE=y
87# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
88CONFIG_CC_OPTIMIZE_FOR_SIZE=y
89CONFIG_SYSCTL=y
90CONFIG_ANON_INODES=y
91CONFIG_EXPERT=y
92CONFIG_SYSCTL_SYSCALL=y 28CONFIG_SYSCTL_SYSCALL=y
93CONFIG_KALLSYMS=y
94# CONFIG_KALLSYMS_ALL is not set
95# CONFIG_KALLSYMS_EXTRA_PASS is not set
96CONFIG_HOTPLUG=y
97CONFIG_PRINTK=y
98CONFIG_BUG=y
99CONFIG_ELF_CORE=y
100CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y
102CONFIG_EPOLL=y
103CONFIG_SIGNALFD=y
104CONFIG_TIMERFD=y
105CONFIG_EVENTFD=y
106CONFIG_SHMEM=y
107CONFIG_AIO=y
108CONFIG_EMBEDDED=y 29CONFIG_EMBEDDED=y
109
110#
111# Kernel Performance Events And Counters
112#
113CONFIG_VM_EVENT_COUNTERS=y
114CONFIG_PCI_QUIRKS=y
115CONFIG_SLUB_DEBUG=y
116# CONFIG_COMPAT_BRK is not set 30# CONFIG_COMPAT_BRK is not set
117# CONFIG_SLAB is not set
118CONFIG_SLUB=y
119# CONFIG_SLOB is not set
120CONFIG_PROFILING=y 31CONFIG_PROFILING=y
121CONFIG_USE_GENERIC_SMP_HELPERS=y
122
123#
124# GCOV-based kernel profiling
125#
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y
129CONFIG_BASE_SMALL=0
130CONFIG_MODULES=y 32CONFIG_MODULES=y
131# CONFIG_MODULE_FORCE_LOAD is not set 33CONFIG_MODULE_FORCE_LOAD=y
132CONFIG_MODULE_UNLOAD=y 34CONFIG_MODULE_UNLOAD=y
133# CONFIG_MODULE_FORCE_UNLOAD is not set 35CONFIG_BLK_DEV_INTEGRITY=y
134# CONFIG_MODVERSIONS is not set 36CONFIG_PARTITION_ADVANCED=y
135# CONFIG_MODULE_SRCVERSION_ALL is not set 37CONFIG_OSF_PARTITION=y
136CONFIG_STOP_MACHINE=y 38CONFIG_AMIGA_PARTITION=y
137CONFIG_BLOCK=y 39CONFIG_MAC_PARTITION=y
138CONFIG_LBDAF=y 40CONFIG_BSD_DISKLABEL=y
139# CONFIG_BLK_DEV_BSG is not set 41CONFIG_MINIX_SUBPARTITION=y
140# CONFIG_BLK_DEV_INTEGRITY is not set 42CONFIG_SOLARIS_X86_PARTITION=y
141 43CONFIG_UNIXWARE_DISKLABEL=y
142# 44CONFIG_SGI_PARTITION=y
143# IO Schedulers 45CONFIG_SUN_PARTITION=y
144# 46CONFIG_KARMA_PARTITION=y
145CONFIG_IOSCHED_NOOP=y 47CONFIG_EFI_PARTITION=y
146# CONFIG_IOSCHED_DEADLINE is not set 48CONFIG_CFQ_GROUP_IOSCHED=y
147# CONFIG_IOSCHED_CFQ is not set
148CONFIG_DEFAULT_NOOP=y
149CONFIG_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
156CONFIG_INLINE_SPIN_UNLOCK=y
157# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
158CONFIG_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
165CONFIG_INLINE_READ_UNLOCK=y
166# CONFIG_INLINE_READ_UNLOCK_BH is not set
167CONFIG_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
174CONFIG_INLINE_WRITE_UNLOCK=y
175# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
176CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
177# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
178CONFIG_MUTEX_SPIN_ON_OWNER=y
179
180#
181# Tilera-specific configuration
182#
183CONFIG_NR_CPUS=64
184CONFIG_TICK_ONESHOT=y
185CONFIG_NO_HZ=y 49CONFIG_NO_HZ=y
186CONFIG_HIGH_RES_TIMERS=y 50CONFIG_HIGH_RES_TIMERS=y
187CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
188CONFIG_HZ_100=y 51CONFIG_HZ_100=y
189# CONFIG_HZ_250 is not set 52CONFIG_PCI_DEBUG=y
190# CONFIG_HZ_300 is not set
191# CONFIG_HZ_1000 is not set
192CONFIG_HZ=100
193CONFIG_SCHED_HRTICK=y
194# CONFIG_KEXEC is not set
195CONFIG_HIGHMEM=y
196CONFIG_NUMA=y
197CONFIG_NODES_SHIFT=2
198# CONFIG_VMSPLIT_3_75G is not set
199# CONFIG_VMSPLIT_3_5G is not set
200CONFIG_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
206CONFIG_PAGE_OFFSET=0xC0000000
207CONFIG_SELECT_MEMORY_MODEL=y
208CONFIG_DISCONTIGMEM_MANUAL=y
209CONFIG_DISCONTIGMEM=y
210CONFIG_FLAT_NODE_MEM_MAP=y
211CONFIG_NEED_MULTIPLE_NODES=y
212CONFIG_PAGEFLAGS_EXTENDED=y
213CONFIG_SPLIT_PTLOCK_CPUS=4
214# CONFIG_COMPACTION is not set
215CONFIG_MIGRATION=y
216CONFIG_PHYS_ADDR_T_64BIT=y
217CONFIG_ZONE_DMA_FLAG=0
218CONFIG_BOUNCE=y
219CONFIG_VIRT_TO_BUS=y
220# CONFIG_KSM is not set
221CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
222# CONFIG_CMDLINE_BOOL is not set
223CONFIG_VMALLOC_RESERVE=0x1000000
224CONFIG_HARDWALL=y
225CONFIG_KERNEL_PL=1
226
227#
228# Bus options
229#
230CONFIG_PCI=y
231CONFIG_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#
243CONFIG_KCORE_ELF=y
244CONFIG_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 54CONFIG_BINFMT_MISC=y
247# CONFIG_BINFMT_MISC is not set
248CONFIG_NET=y 55CONFIG_NET=y
249
250#
251# Networking options
252#
253CONFIG_PACKET=y 56CONFIG_PACKET=y
254CONFIG_UNIX=y 57CONFIG_UNIX=y
255CONFIG_XFRM=y 58CONFIG_XFRM_USER=y
256# CONFIG_XFRM_USER is not set 59CONFIG_XFRM_SUB_POLICY=y
257# CONFIG_XFRM_SUB_POLICY is not set 60CONFIG_XFRM_STATISTICS=y
258# CONFIG_XFRM_MIGRATE is not set 61CONFIG_NET_KEY=m
259# CONFIG_XFRM_STATISTICS is not set 62CONFIG_NET_KEY_MIGRATE=y
260# CONFIG_NET_KEY is not set
261CONFIG_INET=y 63CONFIG_INET=y
262CONFIG_IP_MULTICAST=y 64CONFIG_IP_MULTICAST=y
263# CONFIG_IP_ADVANCED_ROUTER is not set 65CONFIG_IP_ADVANCED_ROUTER=y
264# CONFIG_IP_PNP is not set 66CONFIG_IP_MULTIPLE_TABLES=y
265# CONFIG_NET_IPIP is not set 67CONFIG_IP_ROUTE_MULTIPATH=y
266# CONFIG_NET_IPGRE_DEMUX is not set 68CONFIG_IP_ROUTE_VERBOSE=y
267# CONFIG_IP_MROUTE is not set 69CONFIG_NET_IPIP=m
268# CONFIG_ARPD is not set 70CONFIG_IP_MROUTE=y
269# CONFIG_SYN_COOKIES is not set 71CONFIG_IP_PIMSM_V1=y
270# CONFIG_INET_AH is not set 72CONFIG_IP_PIMSM_V2=y
271# CONFIG_INET_ESP is not set 73CONFIG_SYN_COOKIES=y
272# CONFIG_INET_IPCOMP is not set 74CONFIG_INET_AH=m
273# CONFIG_INET_XFRM_TUNNEL is not set 75CONFIG_INET_ESP=m
274CONFIG_INET_TUNNEL=y 76CONFIG_INET_IPCOMP=m
275# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 77CONFIG_INET_XFRM_MODE_TRANSPORT=m
276# CONFIG_INET_XFRM_MODE_TUNNEL is not set 78CONFIG_INET_XFRM_MODE_TUNNEL=m
277CONFIG_INET_XFRM_MODE_BEET=y 79CONFIG_INET_XFRM_MODE_BEET=m
278# CONFIG_INET_LRO is not set 80CONFIG_INET_DIAG=m
279# CONFIG_INET_DIAG is not set 81CONFIG_TCP_CONG_ADVANCED=y
280# CONFIG_TCP_CONG_ADVANCED is not set 82CONFIG_TCP_CONG_HSTCP=m
281CONFIG_TCP_CONG_CUBIC=y 83CONFIG_TCP_CONG_HYBLA=m
282CONFIG_DEFAULT_TCP_CONG="cubic" 84CONFIG_TCP_CONG_SCALABLE=m
283# CONFIG_TCP_MD5SIG is not set 85CONFIG_TCP_CONG_LP=m
86CONFIG_TCP_CONG_VENO=m
87CONFIG_TCP_CONG_YEAH=m
88CONFIG_TCP_CONG_ILLINOIS=m
89CONFIG_TCP_MD5SIG=y
284CONFIG_IPV6=y 90CONFIG_IPV6=y
285# CONFIG_IPV6_PRIVACY is not set 91CONFIG_IPV6_PRIVACY=y
286# CONFIG_IPV6_ROUTER_PREF is not set 92CONFIG_IPV6_ROUTER_PREF=y
287# CONFIG_IPV6_OPTIMISTIC_DAD is not set 93CONFIG_IPV6_ROUTE_INFO=y
288# CONFIG_INET6_AH is not set 94CONFIG_IPV6_OPTIMISTIC_DAD=y
289# CONFIG_INET6_ESP is not set 95CONFIG_INET6_AH=m
290# CONFIG_INET6_IPCOMP is not set 96CONFIG_INET6_ESP=m
291# CONFIG_IPV6_MIP6 is not set 97CONFIG_INET6_IPCOMP=m
292# CONFIG_INET6_XFRM_TUNNEL is not set 98CONFIG_IPV6_MIP6=m
293# CONFIG_INET6_TUNNEL is not set 99CONFIG_INET6_XFRM_MODE_TRANSPORT=m
294CONFIG_INET6_XFRM_MODE_TRANSPORT=y 100CONFIG_INET6_XFRM_MODE_TUNNEL=m
295CONFIG_INET6_XFRM_MODE_TUNNEL=y 101CONFIG_INET6_XFRM_MODE_BEET=m
296CONFIG_INET6_XFRM_MODE_BEET=y 102CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
297# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set 103CONFIG_IPV6_SIT=m
298CONFIG_IPV6_SIT=y 104CONFIG_IPV6_TUNNEL=m
299# CONFIG_IPV6_SIT_6RD is not set 105CONFIG_IPV6_MULTIPLE_TABLES=y
300CONFIG_IPV6_NDISC_NODETYPE=y 106CONFIG_IPV6_MROUTE=y
301# CONFIG_IPV6_TUNNEL is not set 107CONFIG_IPV6_PIMSM_V2=y
302# CONFIG_IPV6_MULTIPLE_TABLES is not set 108CONFIG_NETLABEL=y
303# CONFIG_IPV6_MROUTE is not set 109CONFIG_NETFILTER=y
304# CONFIG_NETWORK_SECMARK is not set 110CONFIG_NF_CONNTRACK=m
305# CONFIG_NETWORK_PHY_TIMESTAMPING is not set 111CONFIG_NF_CONNTRACK_SECMARK=y
306# CONFIG_NETFILTER is not set 112CONFIG_NF_CONNTRACK_ZONES=y
307# CONFIG_IP_DCCP is not set 113CONFIG_NF_CONNTRACK_EVENTS=y
308# CONFIG_IP_SCTP is not set 114CONFIG_NF_CT_PROTO_DCCP=m
309# CONFIG_RDS is not set 115CONFIG_NF_CT_PROTO_UDPLITE=m
310# CONFIG_TIPC is not set 116CONFIG_NF_CONNTRACK_AMANDA=m
311# CONFIG_ATM is not set 117CONFIG_NF_CONNTRACK_FTP=m
312# CONFIG_L2TP is not set 118CONFIG_NF_CONNTRACK_H323=m
313# CONFIG_BRIDGE is not set 119CONFIG_NF_CONNTRACK_IRC=m
314# CONFIG_NET_DSA is not set 120CONFIG_NF_CONNTRACK_NETBIOS_NS=m
315# CONFIG_VLAN_8021Q is not set 121CONFIG_NF_CONNTRACK_PPTP=m
316# CONFIG_DECNET is not set 122CONFIG_NF_CONNTRACK_SANE=m
317# CONFIG_LLC2 is not set 123CONFIG_NF_CONNTRACK_SIP=m
318# CONFIG_IPX is not set 124CONFIG_NF_CONNTRACK_TFTP=m
319# CONFIG_ATALK is not set 125CONFIG_NETFILTER_TPROXY=m
320# CONFIG_X25 is not set 126CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
321# CONFIG_LAPB is not set 127CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
322# CONFIG_ECONET is not set 128CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
323# CONFIG_WAN_ROUTER is not set 129CONFIG_NETFILTER_XT_TARGET_CT=m
324# CONFIG_PHONET is not set 130CONFIG_NETFILTER_XT_TARGET_DSCP=m
325# CONFIG_IEEE802154 is not set 131CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
326# CONFIG_NET_SCHED is not set 132CONFIG_NETFILTER_XT_TARGET_MARK=m
327# CONFIG_DCB is not set 133CONFIG_NETFILTER_XT_TARGET_NFLOG=m
328# CONFIG_BATMAN_ADV is not set 134CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
329CONFIG_RPS=y 135CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
330CONFIG_RFS_ACCEL=y 136CONFIG_NETFILTER_XT_TARGET_TEE=m
331CONFIG_XPS=y 137CONFIG_NETFILTER_XT_TARGET_TPROXY=m
332 138CONFIG_NETFILTER_XT_TARGET_TRACE=m
333# 139CONFIG_NETFILTER_XT_TARGET_SECMARK=m
334# Network testing 140CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
335# 141CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
336# CONFIG_NET_PKTGEN is not set 142CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
337# CONFIG_HAMRADIO is not set 143CONFIG_NETFILTER_XT_MATCH_COMMENT=m
338# CONFIG_CAN is not set 144CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
339# CONFIG_IRDA is not set 145CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
340# CONFIG_BT is not set 146CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
341# CONFIG_AF_RXRPC is not set 147CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
148CONFIG_NETFILTER_XT_MATCH_DCCP=m
149CONFIG_NETFILTER_XT_MATCH_DSCP=m
150CONFIG_NETFILTER_XT_MATCH_ESP=m
151CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
152CONFIG_NETFILTER_XT_MATCH_HELPER=m
153CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
154CONFIG_NETFILTER_XT_MATCH_IPVS=m
155CONFIG_NETFILTER_XT_MATCH_LENGTH=m
156CONFIG_NETFILTER_XT_MATCH_LIMIT=m
157CONFIG_NETFILTER_XT_MATCH_MAC=m
158CONFIG_NETFILTER_XT_MATCH_MARK=m
159CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
160CONFIG_NETFILTER_XT_MATCH_OSF=m
161CONFIG_NETFILTER_XT_MATCH_OWNER=m
162CONFIG_NETFILTER_XT_MATCH_POLICY=m
163CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
164CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
165CONFIG_NETFILTER_XT_MATCH_QUOTA=m
166CONFIG_NETFILTER_XT_MATCH_RATEEST=m
167CONFIG_NETFILTER_XT_MATCH_REALM=m
168CONFIG_NETFILTER_XT_MATCH_RECENT=m
169CONFIG_NETFILTER_XT_MATCH_SOCKET=m
170CONFIG_NETFILTER_XT_MATCH_STATE=m
171CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
172CONFIG_NETFILTER_XT_MATCH_STRING=m
173CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
174CONFIG_NETFILTER_XT_MATCH_TIME=m
175CONFIG_NETFILTER_XT_MATCH_U32=m
176CONFIG_IP_VS=m
177CONFIG_IP_VS_IPV6=y
178CONFIG_IP_VS_PROTO_TCP=y
179CONFIG_IP_VS_PROTO_UDP=y
180CONFIG_IP_VS_PROTO_ESP=y
181CONFIG_IP_VS_PROTO_AH=y
182CONFIG_IP_VS_PROTO_SCTP=y
183CONFIG_IP_VS_RR=m
184CONFIG_IP_VS_WRR=m
185CONFIG_IP_VS_LC=m
186CONFIG_IP_VS_WLC=m
187CONFIG_IP_VS_LBLC=m
188CONFIG_IP_VS_LBLCR=m
189CONFIG_IP_VS_SED=m
190CONFIG_IP_VS_NQ=m
191CONFIG_NF_CONNTRACK_IPV4=m
192# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
193CONFIG_IP_NF_QUEUE=m
194CONFIG_IP_NF_IPTABLES=y
195CONFIG_IP_NF_MATCH_AH=m
196CONFIG_IP_NF_MATCH_ECN=m
197CONFIG_IP_NF_MATCH_TTL=m
198CONFIG_IP_NF_FILTER=y
199CONFIG_IP_NF_TARGET_REJECT=y
200CONFIG_IP_NF_TARGET_LOG=m
201CONFIG_IP_NF_TARGET_ULOG=m
202CONFIG_IP_NF_MANGLE=m
203CONFIG_IP_NF_TARGET_ECN=m
204CONFIG_IP_NF_TARGET_TTL=m
205CONFIG_IP_NF_RAW=m
206CONFIG_IP_NF_SECURITY=m
207CONFIG_IP_NF_ARPTABLES=m
208CONFIG_IP_NF_ARPFILTER=m
209CONFIG_IP_NF_ARP_MANGLE=m
210CONFIG_NF_CONNTRACK_IPV6=m
211CONFIG_IP6_NF_QUEUE=m
212CONFIG_IP6_NF_IPTABLES=m
213CONFIG_IP6_NF_MATCH_AH=m
214CONFIG_IP6_NF_MATCH_EUI64=m
215CONFIG_IP6_NF_MATCH_FRAG=m
216CONFIG_IP6_NF_MATCH_OPTS=m
217CONFIG_IP6_NF_MATCH_HL=m
218CONFIG_IP6_NF_MATCH_IPV6HEADER=m
219CONFIG_IP6_NF_MATCH_MH=m
220CONFIG_IP6_NF_MATCH_RT=m
221CONFIG_IP6_NF_TARGET_HL=m
222CONFIG_IP6_NF_TARGET_LOG=m
223CONFIG_IP6_NF_FILTER=m
224CONFIG_IP6_NF_TARGET_REJECT=m
225CONFIG_IP6_NF_MANGLE=m
226CONFIG_IP6_NF_RAW=m
227CONFIG_IP6_NF_SECURITY=m
228CONFIG_BRIDGE_NF_EBTABLES=m
229CONFIG_BRIDGE_EBT_BROUTE=m
230CONFIG_BRIDGE_EBT_T_FILTER=m
231CONFIG_BRIDGE_EBT_T_NAT=m
232CONFIG_BRIDGE_EBT_802_3=m
233CONFIG_BRIDGE_EBT_AMONG=m
234CONFIG_BRIDGE_EBT_ARP=m
235CONFIG_BRIDGE_EBT_IP=m
236CONFIG_BRIDGE_EBT_IP6=m
237CONFIG_BRIDGE_EBT_LIMIT=m
238CONFIG_BRIDGE_EBT_MARK=m
239CONFIG_BRIDGE_EBT_PKTTYPE=m
240CONFIG_BRIDGE_EBT_STP=m
241CONFIG_BRIDGE_EBT_VLAN=m
242CONFIG_BRIDGE_EBT_ARPREPLY=m
243CONFIG_BRIDGE_EBT_DNAT=m
244CONFIG_BRIDGE_EBT_MARK_T=m
245CONFIG_BRIDGE_EBT_REDIRECT=m
246CONFIG_BRIDGE_EBT_SNAT=m
247CONFIG_BRIDGE_EBT_LOG=m
248CONFIG_BRIDGE_EBT_ULOG=m
249CONFIG_BRIDGE_EBT_NFLOG=m
250CONFIG_RDS=m
251CONFIG_RDS_TCP=m
252CONFIG_BRIDGE=m
253CONFIG_NET_DSA=y
254CONFIG_VLAN_8021Q=m
255CONFIG_VLAN_8021Q_GVRP=y
256CONFIG_PHONET=m
257CONFIG_NET_SCHED=y
258CONFIG_NET_SCH_CBQ=m
259CONFIG_NET_SCH_HTB=m
260CONFIG_NET_SCH_HFSC=m
261CONFIG_NET_SCH_PRIO=m
262CONFIG_NET_SCH_MULTIQ=m
263CONFIG_NET_SCH_RED=m
264CONFIG_NET_SCH_SFQ=m
265CONFIG_NET_SCH_TEQL=m
266CONFIG_NET_SCH_TBF=m
267CONFIG_NET_SCH_GRED=m
268CONFIG_NET_SCH_DSMARK=m
269CONFIG_NET_SCH_NETEM=m
270CONFIG_NET_SCH_DRR=m
271CONFIG_NET_SCH_INGRESS=m
272CONFIG_NET_CLS_BASIC=m
273CONFIG_NET_CLS_TCINDEX=m
274CONFIG_NET_CLS_ROUTE4=m
275CONFIG_NET_CLS_FW=m
276CONFIG_NET_CLS_U32=m
277CONFIG_CLS_U32_PERF=y
278CONFIG_CLS_U32_MARK=y
279CONFIG_NET_CLS_RSVP=m
280CONFIG_NET_CLS_RSVP6=m
281CONFIG_NET_CLS_FLOW=m
282CONFIG_NET_CLS_CGROUP=y
283CONFIG_NET_EMATCH=y
284CONFIG_NET_EMATCH_CMP=m
285CONFIG_NET_EMATCH_NBYTE=m
286CONFIG_NET_EMATCH_U32=m
287CONFIG_NET_EMATCH_META=m
288CONFIG_NET_EMATCH_TEXT=m
289CONFIG_NET_CLS_ACT=y
290CONFIG_NET_ACT_POLICE=m
291CONFIG_NET_ACT_GACT=m
292CONFIG_GACT_PROB=y
293CONFIG_NET_ACT_MIRRED=m
294CONFIG_NET_ACT_IPT=m
295CONFIG_NET_ACT_NAT=m
296CONFIG_NET_ACT_PEDIT=m
297CONFIG_NET_ACT_SIMP=m
298CONFIG_NET_ACT_SKBEDIT=m
299CONFIG_NET_CLS_IND=y
300CONFIG_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#
356CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 302CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
357# CONFIG_DEVTMPFS is not set 303CONFIG_DEVTMPFS=y
358CONFIG_STANDALONE=y 304CONFIG_DEVTMPFS_MOUNT=y
359CONFIG_PREVENT_FIRMWARE_BUILD=y 305# CONFIG_FIRMWARE_IN_KERNEL is not set
360CONFIG_FW_LOADER=y 306CONFIG_CONNECTOR=y
361CONFIG_FIRMWARE_IN_KERNEL=y 307CONFIG_BLK_DEV_LOOP=y
362CONFIG_EXTRA_FIRMWARE="" 308CONFIG_BLK_DEV_CRYPTOLOOP=m
363# CONFIG_DEBUG_DRIVER is not set 309CONFIG_BLK_DEV_SX8=m
364# CONFIG_DEBUG_DEVRES is not set 310CONFIG_BLK_DEV_RAM=y
365# CONFIG_SYS_HYPERVISOR is not set 311CONFIG_BLK_DEV_RAM_SIZE=16384
366# CONFIG_CONNECTOR is not set 312CONFIG_ATA_OVER_ETH=m
367# CONFIG_MTD is not set 313CONFIG_RAID_ATTRS=m
368# CONFIG_PARPORT is not set 314CONFIG_SCSI_TGT=m
369CONFIG_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
387CONFIG_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#
409CONFIG_SCSI_MOD=y
410# CONFIG_RAID_ATTRS is not set
411CONFIG_SCSI=y
412CONFIG_SCSI_DMA=y
413# CONFIG_SCSI_TGT is not set
414# CONFIG_SCSI_NETLINK is not set
415CONFIG_SCSI_PROC_FS=y
416
417#
418# SCSI support type (disk, tape, CD-ROM)
419#
420CONFIG_BLK_DEV_SD=y 315CONFIG_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
427CONFIG_SCSI_CONSTANTS=y 316CONFIG_SCSI_CONSTANTS=y
428CONFIG_SCSI_LOGGING=y 317CONFIG_SCSI_LOGGING=y
429# CONFIG_SCSI_SCAN_ASYNC is not set 318CONFIG_ATA=y
430CONFIG_SCSI_WAIT_SCAN=m 319CONFIG_SATA_SIL24=y
431 320# CONFIG_ATA_SFF is not set
432# 321CONFIG_MD=y
433# SCSI Transports 322CONFIG_BLK_DEV_MD=y
434# 323CONFIG_MD_LINEAR=m
435# CONFIG_SCSI_SPI_ATTRS is not set 324CONFIG_MD_RAID0=m
436# CONFIG_SCSI_FC_ATTRS is not set 325CONFIG_MD_RAID1=m
437# CONFIG_SCSI_ISCSI_ATTRS is not set 326CONFIG_MD_RAID10=m
438# CONFIG_SCSI_SAS_ATTRS is not set 327CONFIG_MD_RAID456=m
439# CONFIG_SCSI_SAS_LIBSAS is not set 328CONFIG_MULTICORE_RAID456=y
440# CONFIG_SCSI_SRP_ATTRS is not set 329CONFIG_MD_FAULTY=m
441CONFIG_SCSI_LOWLEVEL=y 330CONFIG_BLK_DEV_DM=m
442# CONFIG_ISCSI_TCP is not set 331CONFIG_DM_DEBUG=y
443# CONFIG_ISCSI_BOOT_SYSFS is not set 332CONFIG_DM_CRYPT=m
444# CONFIG_SCSI_CXGB3_ISCSI is not set 333CONFIG_DM_SNAPSHOT=m
445# CONFIG_SCSI_CXGB4_ISCSI is not set 334CONFIG_DM_MIRROR=m
446# CONFIG_SCSI_BNX2_ISCSI is not set 335CONFIG_DM_LOG_USERSPACE=m
447# CONFIG_SCSI_BNX2X_FCOE is not set 336CONFIG_DM_ZERO=m
448# CONFIG_BE2ISCSI is not set 337CONFIG_DM_MULTIPATH=m
449# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 338CONFIG_DM_MULTIPATH_QL=m
450# CONFIG_SCSI_HPSA is not set 339CONFIG_DM_MULTIPATH_ST=m
451# CONFIG_SCSI_3W_9XXX is not set 340CONFIG_DM_DELAY=m
452# CONFIG_SCSI_3W_SAS is not set 341CONFIG_DM_UEVENT=y
453# CONFIG_SCSI_ACARD is not set 342CONFIG_FUSION=y
454# CONFIG_SCSI_AACRAID is not set 343CONFIG_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
504CONFIG_NETDEVICES=y 344CONFIG_NETDEVICES=y
505# CONFIG_DUMMY is not set 345CONFIG_BONDING=m
506# CONFIG_BONDING is not set 346CONFIG_DUMMY=m
507# CONFIG_MACVLAN is not set 347CONFIG_IFB=m
508# CONFIG_EQUALIZER is not set 348CONFIG_MACVLAN=m
349CONFIG_MACVTAP=m
350CONFIG_NETCONSOLE=m
351CONFIG_NETCONSOLE_DYNAMIC=y
352CONFIG_NETPOLL_TRAP=y
509CONFIG_TUN=y 353CONFIG_TUN=y
510# CONFIG_VETH is not set 354CONFIG_VETH=m
511# CONFIG_ARCNET is not set 355CONFIG_NET_DSA_MV88E6060=y
512# CONFIG_MII is not set 356CONFIG_NET_DSA_MV88E6131=y
513# CONFIG_PHYLIB is not set 357CONFIG_NET_DSA_MV88E6123_61_65=y
514# CONFIG_NET_ETHERNET is not set 358# CONFIG_NET_VENDOR_3COM is not set
515CONFIG_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#
553CONFIG_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#
569CONFIG_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
602CONFIG_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 400CONFIG_HW_RANDOM=y
606# CONFIG_NOZOMI is not set 401CONFIG_HW_RANDOM_TIMERIOMEM=m
607# CONFIG_N_GSM is not set 402CONFIG_I2C=y
608CONFIG_DEVKMEM=y 403CONFIG_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
625CONFIG_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
636CONFIG_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
651CONFIG_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
674CONFIG_WATCHDOG=y 405CONFIG_WATCHDOG=y
675CONFIG_WATCHDOG_NOWAYOUT=y 406CONFIG_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
688CONFIG_SSB_POSSIBLE=y
689
690#
691# Sonics Silicon Backplane
692#
693# CONFIG_SSB is not set
694CONFIG_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#
710CONFIG_VGA_ARB=y
711CONFIG_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
725CONFIG_USB_SUPPORT=y 409# CONFIG_USB_SUPPORT is not set
726CONFIG_USB_ARCH_HAS_HCD=y
727CONFIG_USB_ARCH_HAS_OHCI=y
728CONFIG_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
752CONFIG_EDAC=y 410CONFIG_EDAC=y
753
754#
755# Reporting subsystems
756#
757# CONFIG_EDAC_DEBUG is not set
758CONFIG_EDAC_MM_EDAC=y 411CONFIG_EDAC_MM_EDAC=y
759CONFIG_EDAC_TILE=y
760CONFIG_RTC_LIB=y
761CONFIG_RTC_CLASS=y 412CONFIG_RTC_CLASS=y
762CONFIG_RTC_HCTOSYS=y
763CONFIG_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
771CONFIG_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#
798CONFIG_RTC_DRV_TILE=y 413CONFIG_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#
807CONFIG_EXT2_FS=y 414CONFIG_EXT2_FS=y
808# CONFIG_EXT2_FS_XATTR is not set 415CONFIG_EXT2_FS_XATTR=y
809# CONFIG_EXT2_FS_XIP is not set 416CONFIG_EXT2_FS_POSIX_ACL=y
417CONFIG_EXT2_FS_SECURITY=y
418CONFIG_EXT2_FS_XIP=y
810CONFIG_EXT3_FS=y 419CONFIG_EXT3_FS=y
811# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 420CONFIG_EXT3_FS_POSIX_ACL=y
812CONFIG_EXT3_FS_XATTR=y 421CONFIG_EXT3_FS_SECURITY=y
813# CONFIG_EXT3_FS_POSIX_ACL is not set 422CONFIG_EXT4_FS=y
814# CONFIG_EXT3_FS_SECURITY is not set 423CONFIG_EXT4_FS_POSIX_ACL=y
815# CONFIG_EXT4_FS is not set 424CONFIG_EXT4_FS_SECURITY=y
816CONFIG_JBD=y 425CONFIG_XFS_FS=y
817CONFIG_FS_MBCACHE=y 426CONFIG_XFS_QUOTA=y
818# CONFIG_REISERFS_FS is not set 427CONFIG_XFS_POSIX_ACL=y
819# CONFIG_JFS_FS is not set 428CONFIG_GFS2_FS=m
820# CONFIG_XFS_FS is not set 429CONFIG_GFS2_FS_LOCKING_DLM=y
821# CONFIG_GFS2_FS is not set 430CONFIG_BTRFS_FS=m
822# CONFIG_BTRFS_FS is not set 431CONFIG_BTRFS_FS_POSIX_ACL=y
823# CONFIG_NILFS2_FS is not set 432CONFIG_QUOTA=y
824# CONFIG_FS_POSIX_ACL is not set 433CONFIG_QUOTA_NETLINK_INTERFACE=y
825CONFIG_EXPORTFS=y 434# CONFIG_PRINT_QUOTA_WARNING is not set
826CONFIG_FILE_LOCKING=y 435CONFIG_QFMT_V2=y
827CONFIG_FSNOTIFY=y 436CONFIG_AUTOFS4_FS=m
828CONFIG_DNOTIFY=y
829CONFIG_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
834CONFIG_FUSE_FS=y 437CONFIG_FUSE_FS=y
835# CONFIG_CUSE is not set 438CONFIG_CUSE=m
836 439CONFIG_FSCACHE=m
837# 440CONFIG_FSCACHE_STATS=y
838# Caches 441CONFIG_CACHEFILES=m
839# 442CONFIG_ISO9660_FS=m
840# CONFIG_FSCACHE is not set 443CONFIG_JOLIET=y
841 444CONFIG_ZISOFS=y
842# 445CONFIG_UDF_FS=m
843# CD-ROM/DVD Filesystems 446CONFIG_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#
851CONFIG_FAT_FS=y
852CONFIG_MSDOS_FS=y
853CONFIG_VFAT_FS=m 447CONFIG_VFAT_FS=m
854CONFIG_FAT_DEFAULT_CODEPAGE=437 448CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
855CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" 449CONFIG_PROC_KCORE=y
856# CONFIG_NTFS_FS is not set
857
858#
859# Pseudo filesystems
860#
861CONFIG_PROC_FS=y
862# CONFIG_PROC_KCORE is not set
863CONFIG_PROC_SYSCTL=y
864CONFIG_PROC_PAGE_MONITOR=y
865CONFIG_SYSFS=y
866CONFIG_TMPFS=y 450CONFIG_TMPFS=y
867# CONFIG_TMPFS_POSIX_ACL is not set 451CONFIG_TMPFS_POSIX_ACL=y
868CONFIG_HUGETLBFS=y 452CONFIG_HUGETLBFS=y
869CONFIG_HUGETLB_PAGE=y 453CONFIG_ECRYPT_FS=m
870# CONFIG_CONFIGFS_FS is not set 454CONFIG_CRAMFS=m
871CONFIG_MISC_FILESYSTEMS=y 455CONFIG_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
891CONFIG_NETWORK_FILESYSTEMS=y
892CONFIG_NFS_FS=m 456CONFIG_NFS_FS=m
893CONFIG_NFS_V3=y 457CONFIG_NFS_V3=y
894# CONFIG_NFS_V3_ACL is not set 458CONFIG_NFS_V3_ACL=y
895# CONFIG_NFS_V4 is not set 459CONFIG_NFS_V4=y
896# CONFIG_NFSD is not set 460CONFIG_NFS_V4_1=y
897CONFIG_LOCKD=m 461CONFIG_NFS_FSCACHE=y
898CONFIG_LOCKD_V4=y 462CONFIG_NFSD=m
899CONFIG_NFS_COMMON=y 463CONFIG_NFSD_V3_ACL=y
900CONFIG_SUNRPC=m 464CONFIG_NFSD_V4=y
901# CONFIG_RPCSEC_GSS_KRB5 is not set 465CONFIG_CIFS=m
902# CONFIG_CEPH_FS is not set 466CONFIG_CIFS_STATS=y
903# CONFIG_CIFS is not set 467CONFIG_CIFS_WEAK_PW_HASH=y
904# CONFIG_NCP_FS is not set 468CONFIG_CIFS_UPCALL=y
905# CONFIG_CODA_FS is not set 469CONFIG_CIFS_XATTR=y
906# CONFIG_AFS_FS is not set 470CONFIG_CIFS_POSIX=y
907 471CONFIG_CIFS_DFS_UPCALL=y
908# 472CONFIG_CIFS_FSCACHE=y
909# Partition Types
910#
911# CONFIG_PARTITION_ADVANCED is not set
912CONFIG_MSDOS_PARTITION=y
913CONFIG_NLS=y 473CONFIG_NLS=y
914CONFIG_NLS_DEFAULT="iso8859-1" 474CONFIG_NLS_DEFAULT="utf8"
915CONFIG_NLS_CODEPAGE_437=y 475CONFIG_NLS_CODEPAGE_437=y
916# CONFIG_NLS_CODEPAGE_737 is not set 476CONFIG_NLS_CODEPAGE_737=m
917# CONFIG_NLS_CODEPAGE_775 is not set 477CONFIG_NLS_CODEPAGE_775=m
918# CONFIG_NLS_CODEPAGE_850 is not set 478CONFIG_NLS_CODEPAGE_850=m
919# CONFIG_NLS_CODEPAGE_852 is not set 479CONFIG_NLS_CODEPAGE_852=m
920# CONFIG_NLS_CODEPAGE_855 is not set 480CONFIG_NLS_CODEPAGE_855=m
921# CONFIG_NLS_CODEPAGE_857 is not set 481CONFIG_NLS_CODEPAGE_857=m
922# CONFIG_NLS_CODEPAGE_860 is not set 482CONFIG_NLS_CODEPAGE_860=m
923# CONFIG_NLS_CODEPAGE_861 is not set 483CONFIG_NLS_CODEPAGE_861=m
924# CONFIG_NLS_CODEPAGE_862 is not set 484CONFIG_NLS_CODEPAGE_862=m
925# CONFIG_NLS_CODEPAGE_863 is not set 485CONFIG_NLS_CODEPAGE_863=m
926# CONFIG_NLS_CODEPAGE_864 is not set 486CONFIG_NLS_CODEPAGE_864=m
927# CONFIG_NLS_CODEPAGE_865 is not set 487CONFIG_NLS_CODEPAGE_865=m
928# CONFIG_NLS_CODEPAGE_866 is not set 488CONFIG_NLS_CODEPAGE_866=m
929# CONFIG_NLS_CODEPAGE_869 is not set 489CONFIG_NLS_CODEPAGE_869=m
930# CONFIG_NLS_CODEPAGE_936 is not set 490CONFIG_NLS_CODEPAGE_936=m
931# CONFIG_NLS_CODEPAGE_950 is not set 491CONFIG_NLS_CODEPAGE_950=m
932# CONFIG_NLS_CODEPAGE_932 is not set 492CONFIG_NLS_CODEPAGE_932=m
933# CONFIG_NLS_CODEPAGE_949 is not set 493CONFIG_NLS_CODEPAGE_949=m
934# CONFIG_NLS_CODEPAGE_874 is not set 494CONFIG_NLS_CODEPAGE_874=m
935# CONFIG_NLS_ISO8859_8 is not set 495CONFIG_NLS_ISO8859_8=m
936# CONFIG_NLS_CODEPAGE_1250 is not set 496CONFIG_NLS_CODEPAGE_1250=m
937# CONFIG_NLS_CODEPAGE_1251 is not set 497CONFIG_NLS_CODEPAGE_1251=m
938# CONFIG_NLS_ASCII is not set 498CONFIG_NLS_ASCII=y
939CONFIG_NLS_ISO8859_1=y 499CONFIG_NLS_ISO8859_1=m
940# CONFIG_NLS_ISO8859_2 is not set 500CONFIG_NLS_ISO8859_2=m
941# CONFIG_NLS_ISO8859_3 is not set 501CONFIG_NLS_ISO8859_3=m
942# CONFIG_NLS_ISO8859_4 is not set 502CONFIG_NLS_ISO8859_4=m
943# CONFIG_NLS_ISO8859_5 is not set 503CONFIG_NLS_ISO8859_5=m
944# CONFIG_NLS_ISO8859_6 is not set 504CONFIG_NLS_ISO8859_6=m
945# CONFIG_NLS_ISO8859_7 is not set 505CONFIG_NLS_ISO8859_7=m
946# CONFIG_NLS_ISO8859_9 is not set 506CONFIG_NLS_ISO8859_9=m
947# CONFIG_NLS_ISO8859_13 is not set 507CONFIG_NLS_ISO8859_13=m
948# CONFIG_NLS_ISO8859_14 is not set 508CONFIG_NLS_ISO8859_14=m
949# CONFIG_NLS_ISO8859_15 is not set 509CONFIG_NLS_ISO8859_15=m
950# CONFIG_NLS_KOI8_R is not set 510CONFIG_NLS_KOI8_R=m
951# CONFIG_NLS_KOI8_U is not set 511CONFIG_NLS_KOI8_U=m
952# CONFIG_NLS_UTF8 is not set 512CONFIG_NLS_UTF8=m
953 513CONFIG_DLM_DEBUG=y
954# 514# CONFIG_ENABLE_WARN_DEPRECATED is not set
955# Kernel hacking
956#
957# CONFIG_PRINTK_TIME is not set
958CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
959CONFIG_ENABLE_WARN_DEPRECATED=y
960CONFIG_ENABLE_MUST_CHECK=y
961CONFIG_FRAME_WARN=2048 515CONFIG_FRAME_WARN=2048
962CONFIG_MAGIC_SYSRQ=y 516CONFIG_MAGIC_SYSRQ=y
963# CONFIG_STRIP_ASM_SYMS is not set 517CONFIG_STRIP_ASM_SYMS=y
964# CONFIG_UNUSED_SYMBOLS is not set 518CONFIG_DEBUG_FS=y
965# CONFIG_DEBUG_FS is not set 519CONFIG_HEADERS_CHECK=y
966# CONFIG_HEADERS_CHECK is not set 520CONFIG_LOCKUP_DETECTOR=y
967# CONFIG_DEBUG_SECTION_MISMATCH is not set 521CONFIG_SCHEDSTATS=y
968CONFIG_DEBUG_KERNEL=y 522CONFIG_TIMER_STATS=y
969# CONFIG_DEBUG_SHIRQ is not set
970# CONFIG_LOCKUP_DETECTOR is not set
971# CONFIG_HARDLOCKUP_DETECTOR is not set
972CONFIG_DETECT_HUNG_TASK=y
973# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
974CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
975CONFIG_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
990CONFIG_DEBUG_SPINLOCK_SLEEP=y
991# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
992CONFIG_STACKTRACE=y
993# CONFIG_DEBUG_KOBJECT is not set
994# CONFIG_DEBUG_HIGHMEM is not set
995CONFIG_DEBUG_INFO=y 523CONFIG_DEBUG_INFO=y
996# CONFIG_DEBUG_INFO_REDUCED is not set 524CONFIG_DEBUG_INFO_REDUCED=y
997CONFIG_DEBUG_VM=y 525CONFIG_DEBUG_VM=y
998# CONFIG_DEBUG_WRITECOUNT is not set 526CONFIG_DEBUG_MEMORY_INIT=y
999# CONFIG_DEBUG_MEMORY_INIT is not set 527CONFIG_DEBUG_LIST=y
1000# CONFIG_DEBUG_LIST is not set 528CONFIG_DEBUG_CREDENTIALS=y
1001# CONFIG_TEST_LIST_SORT is not set 529CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
1002# CONFIG_DEBUG_SG is not set 530CONFIG_DYNAMIC_DEBUG=y
1003# CONFIG_DEBUG_NOTIFIERS is not set 531CONFIG_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
1013CONFIG_TRACING_SUPPORT=y
1014CONFIG_FTRACE=y
1015# CONFIG_IRQSOFF_TRACER is not set
1016# CONFIG_SCHED_TRACER is not set
1017# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1018CONFIG_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
1025CONFIG_EARLY_PRINTK=y
1026CONFIG_DEBUG_STACKOVERFLOW=y 532CONFIG_DEBUG_STACKOVERFLOW=y
1027# CONFIG_DEBUG_STACK_USAGE is not set 533CONFIG_KEYS_DEBUG_PROC_KEYS=y
1028CONFIG_DEBUG_EXTRA_FLAGS="-femit-struct-debug-baseonly" 534CONFIG_SECURITY=y
1029 535CONFIG_SECURITYFS=y
1030# 536CONFIG_SECURITY_NETWORK=y
1031# Security options 537CONFIG_SECURITY_NETWORK_XFRM=y
1032# 538CONFIG_SECURITY_SELINUX=y
1033# CONFIG_KEYS is not set 539CONFIG_SECURITY_SELINUX_BOOTPARAM=y
1034# CONFIG_SECURITY_DMESG_RESTRICT is not set 540CONFIG_SECURITY_SELINUX_DISABLE=y
1035# CONFIG_SECURITY is not set 541CONFIG_CRYPTO_NULL=m
1036# CONFIG_SECURITYFS is not set 542CONFIG_CRYPTO_PCRYPT=m
1037CONFIG_DEFAULT_SECURITY_DAC=y 543CONFIG_CRYPTO_CRYPTD=m
1038CONFIG_DEFAULT_SECURITY="" 544CONFIG_CRYPTO_TEST=m
1039CONFIG_CRYPTO=y 545CONFIG_CRYPTO_CCM=m
1040 546CONFIG_CRYPTO_GCM=m
1041# 547CONFIG_CRYPTO_CTS=m
1042# Crypto core or helper 548CONFIG_CRYPTO_LRW=m
1043# 549CONFIG_CRYPTO_PCBC=m
1044# CONFIG_CRYPTO_FIPS is not set 550CONFIG_CRYPTO_XTS=m
1045CONFIG_CRYPTO_ALGAPI=m 551CONFIG_CRYPTO_HMAC=y
1046CONFIG_CRYPTO_ALGAPI2=m 552CONFIG_CRYPTO_XCBC=m
1047CONFIG_CRYPTO_RNG=m 553CONFIG_CRYPTO_VMAC=m
1048CONFIG_CRYPTO_RNG2=m 554CONFIG_CRYPTO_CRC32C=y
1049# CONFIG_CRYPTO_MANAGER is not set 555CONFIG_CRYPTO_MICHAEL_MIC=m
1050# CONFIG_CRYPTO_MANAGER2 is not set 556CONFIG_CRYPTO_RMD128=m
1051# CONFIG_CRYPTO_GF128MUL is not set 557CONFIG_CRYPTO_RMD160=m
1052# CONFIG_CRYPTO_NULL is not set 558CONFIG_CRYPTO_RMD256=m
1053# CONFIG_CRYPTO_PCRYPT is not set 559CONFIG_CRYPTO_RMD320=m
1054# CONFIG_CRYPTO_CRYPTD is not set 560CONFIG_CRYPTO_SHA1=y
1055# CONFIG_CRYPTO_AUTHENC is not set 561CONFIG_CRYPTO_SHA256=m
1056# CONFIG_CRYPTO_TEST is not set 562CONFIG_CRYPTO_SHA512=m
1057 563CONFIG_CRYPTO_TGR192=m
1058# 564CONFIG_CRYPTO_WP512=m
1059# Authenticated Encryption with Associated Data 565CONFIG_CRYPTO_ANUBIS=m
1060# 566CONFIG_CRYPTO_BLOWFISH=m
1061# CONFIG_CRYPTO_CCM is not set 567CONFIG_CRYPTO_CAMELLIA=m
1062# CONFIG_CRYPTO_GCM is not set 568CONFIG_CRYPTO_CAST5=m
1063# CONFIG_CRYPTO_SEQIV is not set 569CONFIG_CRYPTO_CAST6=m
1064 570CONFIG_CRYPTO_FCRYPT=m
1065# 571CONFIG_CRYPTO_KHAZAD=m
1066# Block modes 572CONFIG_CRYPTO_SEED=m
1067# 573CONFIG_CRYPTO_SERPENT=m
1068# CONFIG_CRYPTO_CBC is not set 574CONFIG_CRYPTO_TEA=m
1069# CONFIG_CRYPTO_CTR is not set 575CONFIG_CRYPTO_TWOFISH=m
1070# CONFIG_CRYPTO_CTS is not set 576CONFIG_CRYPTO_ZLIB=m
1071# CONFIG_CRYPTO_ECB is not set 577CONFIG_CRYPTO_LZO=m
1072# CONFIG_CRYPTO_LRW is not set 578CONFIG_CRC_CCITT=m
1073# CONFIG_CRYPTO_PCBC is not set 579CONFIG_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#
1104CONFIG_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#
1130CONFIG_CRYPTO_ANSI_CPRNG=m
1131# CONFIG_CRYPTO_USER_API_HASH is not set
1132# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
1133CONFIG_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#
1140CONFIG_BITREVERSE=y
1141CONFIG_GENERIC_FIND_FIRST_BIT=y
1142CONFIG_GENERIC_FIND_NEXT_BIT=y
1143CONFIG_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
1148CONFIG_CRC32=y
1149# CONFIG_CRC7 is not set
1150# CONFIG_LIBCRC32C is not set
1151CONFIG_ZLIB_INFLATE=y
1152# CONFIG_XZ_DEC is not set
1153# CONFIG_XZ_DEC_BCJ is not set
1154CONFIG_DECOMPRESS_GZIP=y
1155CONFIG_HAS_IOMEM=y
1156CONFIG_HAS_IOPORT=y
1157CONFIG_HAS_DMA=y
1158CONFIG_CPU_RMAP=y
1159CONFIG_NLATTR=y
1160# CONFIG_AVERAGE is not set
1161CONFIG_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(&current->sighand->siglock); 306 set_current_blocked(&set);
307 current->blocked = set;
308 recalc_sigpending();
309 spin_unlock_irq(&current->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(&current->sighand->siglock); 100 set_current_blocked(&set);
101 current->blocked = set;
102 recalc_sigpending();
103 spin_unlock_irq(&current->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(&current->sighand->siglock); 286 block_sigmask(ka, sig);
290 sigorsets(&current->blocked,
291 &current->blocked, &ka->sa.sa_mask);
292 if (!(ka->sa.sa_flags & SA_NODEFER))
293 sigaddset(&current->blocked, sig);
294 recalc_sigpending();
295 spin_unlock_irq(&current->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
398static __initconst const u64 nehalem_hw_cache_extra_regs 399static __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 */
42static void ioc_exit_icq(struct io_cq *icq) 40static 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. */
54static 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)
145void put_io_context(struct io_context *ioc) 130void 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}
165EXPORT_SYMBOL(put_io_context); 156EXPORT_SYMBOL(put_io_context);
166 157
@@ -168,13 +159,41 @@ EXPORT_SYMBOL(put_io_context);
168void exit_io_context(struct task_struct *task) 159void 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 */
181retry:
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
366void ioc_set_changed(struct io_context *ioc, int which) 385void 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}
410EXPORT_SYMBOL(ioc_cgroup_changed); 429EXPORT_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 */
438unsigned 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}
451EXPORT_SYMBOL(icq_get_changed);
452
412static int __init blk_ioc_init(void) 453static 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
3488new_queue: 3488new_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
36static struct device_type disk_type; 36static struct device_type disk_type;
37 37
38static void disk_alloc_events(struct gendisk *disk);
38static void disk_add_events(struct gendisk *disk); 39static void disk_add_events(struct gendisk *disk);
39static void disk_del_events(struct gendisk *disk); 40static void disk_del_events(struct gendisk *disk);
40static void disk_release_events(struct gendisk *disk); 41static 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);
1481out_unlock: 1484out_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 */
1738static void disk_add_events(struct gendisk *disk) 1741static 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
1765static 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
392int rescan_partitions(struct gendisk *disk, struct block_device *bdev) 392static 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;
398rescan:
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
412int 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;
417rescan:
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
530int 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
518unsigned char *read_dev_sector(struct block_device *bdev, sector_t n, Sector *p) 550unsigned 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
49static 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
75static struct fb_ops exynos_drm_fb_ops = { 49static 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
2494exit_remove: 2495exit_remove:
2495 w83627ehf_device_remove_files(dev); 2496 w83627ehf_device_remove_files(dev);
2496 kfree(data);
2497 platform_set_drvdata(pdev, NULL);
2498exit_release: 2497exit_release:
2498 platform_set_drvdata(pdev, NULL);
2499 release_region(res->start, IOREGION_LENGTH); 2499 release_region(res->start, IOREGION_LENGTH);
2500exit: 2500exit:
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}
1393EXPORT_SYMBOL(i2c_master_send); 1395EXPORT_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}
1421EXPORT_SYMBOL(i2c_master_recv); 1425EXPORT_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 */
1182static inline u8 bnx2x_stats_id(struct bnx2x_fastpath *fp) 1182static 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
1190static inline void bnx2x_init_vlan_mac_fp_objs(struct bnx2x_fastpath *fp, 1196static 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
10908int bnx2x_init_firmware(struct bnx2x *bp) 10908int 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);
10985request_firmware_exit: 10983request_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
983static 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 */
984static const struct proto_ops tun_socket_ops = { 991static 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
989static struct proto tun_proto = { 997static 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) {
383drop:
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);
398error_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);
1863out:
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}
438EXPORT_SYMBOL_GPL(rt2x00lib_txdone); 442EXPORT_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
146config 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
163config 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
146config TC1100_WMI 170config 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
17obj-$(CONFIG_ACERHDF) += acerhdf.o 17obj-$(CONFIG_ACERHDF) += acerhdf.o
18obj-$(CONFIG_HP_ACCEL) += hp_accel.o 18obj-$(CONFIG_HP_ACCEL) += hp_accel.o
19obj-$(CONFIG_HP_WMI) += hp-wmi.o 19obj-$(CONFIG_HP_WMI) += hp-wmi.o
20obj-$(CONFIG_AMILO_RFKILL) += amilo-rfkill.o
20obj-$(CONFIG_TC1100_WMI) += tc1100-wmi.o 21obj-$(CONFIG_TC1100_WMI) += tc1100-wmi.o
21obj-$(CONFIG_SONY_LAPTOP) += sony-laptop.o 22obj-$(CONFIG_SONY_LAPTOP) += sony-laptop.o
22obj-$(CONFIG_IDEAPAD_LAPTOP) += ideapad-laptop.o 23obj-$(CONFIG_IDEAPAD_LAPTOP) += ideapad-laptop.o
23obj-$(CONFIG_THINKPAD_ACPI) += thinkpad_acpi.o 24obj-$(CONFIG_THINKPAD_ACPI) += thinkpad_acpi.o
24obj-$(CONFIG_SENSORS_HDAPS) += hdaps.o 25obj-$(CONFIG_SENSORS_HDAPS) += hdaps.o
25obj-$(CONFIG_FUJITSU_LAPTOP) += fujitsu-laptop.o 26obj-$(CONFIG_FUJITSU_LAPTOP) += fujitsu-laptop.o
27obj-$(CONFIG_FUJITSU_TABLET) += fujitsu-tablet.o
26obj-$(CONFIG_PANASONIC_LAPTOP) += panasonic-laptop.o 28obj-$(CONFIG_PANASONIC_LAPTOP) += panasonic-laptop.o
27obj-$(CONFIG_INTEL_MENLOW) += intel_menlow.o 29obj-$(CONFIG_INTEL_MENLOW) += intel_menlow.o
28obj-$(CONFIG_ACPI_WMI) += wmi.o 30obj-$(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
682static int AMW0_set_cap_acpi_check_device_found;
683
684static 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
691static const struct acpi_device_id norfkill_ids[] = {
692 { "VPC2004", 0},
693 { "IBM0068", 0},
694 { "LEN0068", 0},
695 { "", 0},
696};
697
698static 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
682static acpi_status AMW0_set_capabilities(void) 708static 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
32static 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(&param, A1655_WIFI_COMMAND);
39 i8042_unlock_chip();
40 return rc;
41}
42
43static 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
58static 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
73static const struct rfkill_ops amilo_m7440_rfkill_ops = {
74 .set_block = amilo_m7440_rfkill_set_block
75};
76
77static 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
95static struct platform_device *amilo_rfkill_pdev;
96static struct rfkill *amilo_rfkill_dev;
97
98static 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
116fail:
117 rfkill_destroy(amilo_rfkill_dev);
118 return rc;
119}
120
121static 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
128static 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
137static 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
157fail:
158 platform_driver_unregister(&amilo_rfkill_driver);
159 return rc;
160}
161
162static void __exit amilo_rfkill_exit(void)
163{
164 platform_device_unregister(amilo_rfkill_pdev);
165 platform_driver_unregister(&amilo_rfkill_driver);
166}
167
168MODULE_AUTHOR("Ben Hutchings <ben@decadent.org.uk>");
169MODULE_LICENSE("GPL");
170MODULE_DEVICE_TABLE(dmi, amilo_rfkill_id_table);
171
172module_init(amilo_rfkill_init);
173module_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
41static const struct acpi_device_id fujitsu_ids[] = {
42 { .id = "FUJ02BD" },
43 { .id = "FUJ02BF" },
44 { .id = "" }
45};
46
47struct fujitsu_config {
48 unsigned short keymap[KEYMAP_LEN];
49 unsigned int quirks;
50};
51
52static 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
71static 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
90static 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
109static 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
128static 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
140static u8 fujitsu_ack(void)
141{
142 return inb(fujitsu.io_base + 2);
143}
144
145static u8 fujitsu_status(void)
146{
147 return inb(fujitsu.io_base + 6);
148}
149
150static u8 fujitsu_read_register(const u8 addr)
151{
152 outb(addr, fujitsu.io_base);
153 return inb(fujitsu.io_base + 4);
154}
155
156static 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
178static 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
190static 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
237static void input_fujitsu_remove(void)
238{
239 input_unregister_device(fujitsu.idev);
240}
241
242static 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
278static 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
286static 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
294static 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
361static acpi_status __devinit
362fujitsu_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
385static 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
427static 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
435static int acpi_fujitsu_resume(struct acpi_device *adev)
436{
437 fujitsu_reset();
438 return 0;
439}
440
441static 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
452static 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
465static void __exit fujitsu_module_exit(void)
466{
467 acpi_bus_unregister_driver(&acpi_fujitsu_driver);
468}
469
470module_init(fujitsu_module_init);
471module_exit(fujitsu_module_exit);
472
473MODULE_AUTHOR("Robert Gerlach <khnz@gmx.de>");
474MODULE_DESCRIPTION("Fujitsu tablet pc extras driver");
475MODULE_LICENSE("GPL");
476MODULE_VERSION("2.4");
477
478MODULE_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 *);
118static void core_scsi3_put_pr_reg(struct t10_pr_registration *); 118static void core_scsi3_put_pr_reg(struct t10_pr_registration *);
119 119
120static int target_check_scsi2_reservation_conflict(struct se_cmd *cmd, int *ret) 120static 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
198int target_scsi2_reservation_release(struct se_task *task) 196int 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
1742static unsigned int sci_scbrr_calc(unsigned int algo_id, unsigned int bps, 1746static 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
381error_do_abort: 382error_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;
385error_kill_call: 388error_kill_call:
diff --git a/fs/aio.c b/fs/aio.c
index 67e4b9047cc9..b9d64d89a043 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -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
231static inline void get_ioctx(struct kioctx *kioctx)
232{
233 BUG_ON(atomic_read(&kioctx->users) <= 0);
234 atomic_inc(&kioctx->users);
235}
236
237static inline int try_get_ioctx(struct kioctx *kioctx) 231static 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 */
609again: 609again:
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
923struct 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
923static int 932static int
924cifs_push_posix_locks(struct cifsFileInfo *cfile) 933cifs_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
965send_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
1018out:
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;
1024err_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
989static int 1032static 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
989static int path_count_inc(int nests) 989static 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:
201static int udf_release_file(struct inode *inode, struct file *filp) 201static 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
597extern int disk_expand_part_tbl(struct gendisk *disk, int target); 597extern int disk_expand_part_tbl(struct gendisk *disk, int target);
598extern int rescan_partitions(struct gendisk *disk, struct block_device *bdev); 598extern int rescan_partitions(struct gendisk *disk, struct block_device *bdev);
599extern int invalidate_partitions(struct gendisk *disk, struct block_device *bdev);
599extern struct hd_struct * __must_check add_partition(struct gendisk *disk, 600extern 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
8enum { 8enum {
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);
140void ioc_ioprio_changed(struct io_context *ioc, int ioprio); 143void ioc_ioprio_changed(struct io_context *ioc, int ioprio);
141void ioc_cgroup_changed(struct io_context *ioc); 144void ioc_cgroup_changed(struct io_context *ioc);
145unsigned int icq_get_changed(struct io_cq *icq);
142#else 146#else
143struct io_context; 147struct io_context;
144static inline void put_io_context(struct io_context *ioc) { } 148static 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 */
293extern struct workqueue_struct *system_wq; 296extern struct workqueue_struct *system_wq;
294extern struct workqueue_struct *system_long_wq; 297extern struct workqueue_struct *system_long_wq;
295extern struct workqueue_struct *system_nrt_wq; 298extern struct workqueue_struct *system_nrt_wq;
296extern struct workqueue_struct *system_unbound_wq; 299extern struct workqueue_struct *system_unbound_wq;
297extern struct workqueue_struct *system_freezable_wq; 300extern struct workqueue_struct *system_freezable_wq;
301extern struct workqueue_struct *system_nrt_freezable_wq;
298 302
299extern struct workqueue_struct * 303extern 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;
253struct workqueue_struct *system_nrt_wq __read_mostly; 253struct workqueue_struct *system_nrt_wq __read_mostly;
254struct workqueue_struct *system_unbound_wq __read_mostly; 254struct workqueue_struct *system_unbound_wq __read_mostly;
255struct workqueue_struct *system_freezable_wq __read_mostly; 255struct workqueue_struct *system_freezable_wq __read_mostly;
256struct workqueue_struct *system_nrt_freezable_wq __read_mostly;
256EXPORT_SYMBOL_GPL(system_wq); 257EXPORT_SYMBOL_GPL(system_wq);
257EXPORT_SYMBOL_GPL(system_long_wq); 258EXPORT_SYMBOL_GPL(system_long_wq);
258EXPORT_SYMBOL_GPL(system_nrt_wq); 259EXPORT_SYMBOL_GPL(system_nrt_wq);
259EXPORT_SYMBOL_GPL(system_unbound_wq); 260EXPORT_SYMBOL_GPL(system_unbound_wq);
260EXPORT_SYMBOL_GPL(system_freezable_wq); 261EXPORT_SYMBOL_GPL(system_freezable_wq);
262EXPORT_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}
3840early_initcall(init_workqueues); 3845early_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 */
4807static 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}
4814static 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
4810static void mem_cgroup_get(struct mem_cgroup *memcg) 4851static 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;
376out: return ret; 378out: 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
249LIB_H += util/include/dwarf-regs.h 249LIB_H += util/include/dwarf-regs.h
250LIB_H += util/include/asm/dwarf2.h 250LIB_H += util/include/asm/dwarf2.h
251LIB_H += util/include/asm/cpufeature.h 251LIB_H += util/include/asm/cpufeature.h
252LIB_H += util/include/asm/unistd_32.h
253LIB_H += util/include/asm/unistd_64.h
252LIB_H += perf.h 254LIB_H += perf.h
253LIB_H += util/annotate.h 255LIB_H += util/annotate.h
254LIB_H += util/cache.h 256LIB_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
3int prefixcmp(const char *str, const char *prefix) 4int 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