aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-05-05 21:52:13 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-05-05 21:52:13 -0400
commit2a171aa21afcd43f6cee574154d8c8db905351e5 (patch)
tree4dbf5b0927c3337dd706cdc9d3c050e072005f53
parent3ce05a4e740539a3e9d48456e2b046b7240df3ff (diff)
parent489405fe5ed38e65f6f82f131a39c67f3bae6045 (diff)
Merge branch 'akpm' (patches from Andrew)
Merge misc fixes from Andrew Morton: "16 patches This includes a new rtc driver for the Abracon AB x80x and isn't very appropriate for -rc2. It was still being fiddled with a bit during the merge window and I fell asleep during -rc1" [ So I took the new driver, it seems small and won't regress anything. I'm a softy. - Linus ] * emailed patches from Andrew Morton <akpm@linux-foundation.org>: rtc: armada38x: fix concurrency access in armada38x_rtc_set_time ocfs2: dlm: fix race between purge and get lock resource nilfs2: fix sanity check of btree level in nilfs_btree_root_broken() util_macros.h: have array pointer point to array of constants configfs: init configfs module earlier at boot time mm/hwpoison-inject: check PageLRU of hpage mm/hwpoison-inject: fix refcounting in no-injection case mm: soft-offline: fix num_poisoned_pages counting on concurrent events rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtc Documentation: bindings: add abracon,abx80x kasan: show gcc version requirements in Kconfig and Documentation mm/memory-failure: call shake_page() when error hits thp tail page lib: delete lib/find_last_bit.c MAINTAINERS: add co-maintainer for LED subsystem zram: add Designated Reviewer for zram in MAINTAINERS revert "zram: move compact_store() to sysfs functions area"
-rw-r--r--Documentation/devicetree/bindings/rtc/abracon,abx80x.txt30
-rw-r--r--Documentation/kasan.txt8
-rw-r--r--MAINTAINERS2
-rw-r--r--drivers/block/zram/zram_drv.c23
-rw-r--r--drivers/rtc/Kconfig10
-rw-r--r--drivers/rtc/Makefile1
-rw-r--r--drivers/rtc/rtc-abx80x.c307
-rw-r--r--drivers/rtc/rtc-armada38x.c24
-rw-r--r--fs/configfs/mount.c2
-rw-r--r--fs/nilfs2/btree.c2
-rw-r--r--fs/ocfs2/dlm/dlmmaster.c13
-rw-r--r--include/linux/nilfs2_fs.h2
-rw-r--r--include/linux/util_macros.h2
-rw-r--r--lib/Kconfig.kasan8
-rw-r--r--lib/find_last_bit.c41
-rw-r--r--mm/hwpoison-inject.c13
-rw-r--r--mm/memory-failure.c16
17 files changed, 429 insertions, 75 deletions
diff --git a/Documentation/devicetree/bindings/rtc/abracon,abx80x.txt b/Documentation/devicetree/bindings/rtc/abracon,abx80x.txt
new file mode 100644
index 000000000000..be789685a1c2
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/abracon,abx80x.txt
@@ -0,0 +1,30 @@
1Abracon ABX80X I2C ultra low power RTC/Alarm chip
2
3The Abracon ABX80X family consist of the ab0801, ab0803, ab0804, ab0805, ab1801,
4ab1803, ab1804 and ab1805. The ab0805 is the superset of ab080x and the ab1805
5is the superset of ab180x.
6
7Required properties:
8
9 - "compatible": should one of:
10 "abracon,abx80x"
11 "abracon,ab0801"
12 "abracon,ab0803"
13 "abracon,ab0804"
14 "abracon,ab0805"
15 "abracon,ab1801"
16 "abracon,ab1803"
17 "abracon,ab1804"
18 "abracon,ab1805"
19 Using "abracon,abx80x" will enable chip autodetection.
20 - "reg": I2C bus address of the device
21
22Optional properties:
23
24The abx804 and abx805 have a trickle charger that is able to charge the
25connected battery or supercap. Both the following properties have to be defined
26and valid to enable charging:
27
28 - "abracon,tc-diode": should be "standard" (0.6V) or "schottky" (0.3V)
29 - "abracon,tc-resistor": should be <0>, <3>, <6> or <11>. 0 disables the output
30 resistor, the other values are in ohm.
diff --git a/Documentation/kasan.txt b/Documentation/kasan.txt
index 092fc10961fe..4692241789b1 100644
--- a/Documentation/kasan.txt
+++ b/Documentation/kasan.txt
@@ -9,7 +9,9 @@ a fast and comprehensive solution for finding use-after-free and out-of-bounds
9bugs. 9bugs.
10 10
11KASan uses compile-time instrumentation for checking every memory access, 11KASan uses compile-time instrumentation for checking every memory access,
12therefore you will need a certain version of GCC > 4.9.2 12therefore you will need a gcc version of 4.9.2 or later. KASan could detect out
13of bounds accesses to stack or global variables, but only if gcc 5.0 or later was
14used to built the kernel.
13 15
14Currently KASan is supported only for x86_64 architecture and requires that the 16Currently KASan is supported only for x86_64 architecture and requires that the
15kernel be built with the SLUB allocator. 17kernel be built with the SLUB allocator.
@@ -23,8 +25,8 @@ To enable KASAN configure kernel with:
23 25
24and choose between CONFIG_KASAN_OUTLINE and CONFIG_KASAN_INLINE. Outline/inline 26and choose between CONFIG_KASAN_OUTLINE and CONFIG_KASAN_INLINE. Outline/inline
25is compiler instrumentation types. The former produces smaller binary the 27is compiler instrumentation types. The former produces smaller binary the
26latter is 1.1 - 2 times faster. Inline instrumentation requires GCC 5.0 or 28latter is 1.1 - 2 times faster. Inline instrumentation requires a gcc version
27latter. 29of 5.0 or later.
28 30
29Currently KASAN works only with the SLUB memory allocator. 31Currently KASAN works only with the SLUB memory allocator.
30For better bug detection and nicer report, enable CONFIG_STACKTRACE and put 32For better bug detection and nicer report, enable CONFIG_STACKTRACE and put
diff --git a/MAINTAINERS b/MAINTAINERS
index 781e099495d3..b399b34a2496 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5805,6 +5805,7 @@ F: drivers/scsi/53c700*
5805LED SUBSYSTEM 5805LED SUBSYSTEM
5806M: Bryan Wu <cooloney@gmail.com> 5806M: Bryan Wu <cooloney@gmail.com>
5807M: Richard Purdie <rpurdie@rpsys.net> 5807M: Richard Purdie <rpurdie@rpsys.net>
5808M: Jacek Anaszewski <j.anaszewski@samsung.com>
5808L: linux-leds@vger.kernel.org 5809L: linux-leds@vger.kernel.org
5809T: git git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds.git 5810T: git git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds.git
5810S: Maintained 5811S: Maintained
@@ -11037,6 +11038,7 @@ F: drivers/media/pci/zoran/
11037ZRAM COMPRESSED RAM BLOCK DEVICE DRVIER 11038ZRAM COMPRESSED RAM BLOCK DEVICE DRVIER
11038M: Minchan Kim <minchan@kernel.org> 11039M: Minchan Kim <minchan@kernel.org>
11039M: Nitin Gupta <ngupta@vflare.org> 11040M: Nitin Gupta <ngupta@vflare.org>
11041R: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
11040L: linux-kernel@vger.kernel.org 11042L: linux-kernel@vger.kernel.org
11041S: Maintained 11043S: Maintained
11042F: drivers/block/zram/ 11044F: drivers/block/zram/
diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
index c94386aa563d..8dcbced0eafd 100644
--- a/drivers/block/zram/zram_drv.c
+++ b/drivers/block/zram/zram_drv.c
@@ -74,6 +74,27 @@ static inline struct zram *dev_to_zram(struct device *dev)
74 return (struct zram *)dev_to_disk(dev)->private_data; 74 return (struct zram *)dev_to_disk(dev)->private_data;
75} 75}
76 76
77static ssize_t compact_store(struct device *dev,
78 struct device_attribute *attr, const char *buf, size_t len)
79{
80 unsigned long nr_migrated;
81 struct zram *zram = dev_to_zram(dev);
82 struct zram_meta *meta;
83
84 down_read(&zram->init_lock);
85 if (!init_done(zram)) {
86 up_read(&zram->init_lock);
87 return -EINVAL;
88 }
89
90 meta = zram->meta;
91 nr_migrated = zs_compact(meta->mem_pool);
92 atomic64_add(nr_migrated, &zram->stats.num_migrated);
93 up_read(&zram->init_lock);
94
95 return len;
96}
97
77static ssize_t disksize_show(struct device *dev, 98static ssize_t disksize_show(struct device *dev,
78 struct device_attribute *attr, char *buf) 99 struct device_attribute *attr, char *buf)
79{ 100{
@@ -1038,6 +1059,7 @@ static const struct block_device_operations zram_devops = {
1038 .owner = THIS_MODULE 1059 .owner = THIS_MODULE
1039}; 1060};
1040 1061
1062static DEVICE_ATTR_WO(compact);
1041static DEVICE_ATTR_RW(disksize); 1063static DEVICE_ATTR_RW(disksize);
1042static DEVICE_ATTR_RO(initstate); 1064static DEVICE_ATTR_RO(initstate);
1043static DEVICE_ATTR_WO(reset); 1065static DEVICE_ATTR_WO(reset);
@@ -1114,6 +1136,7 @@ static struct attribute *zram_disk_attrs[] = {
1114 &dev_attr_num_writes.attr, 1136 &dev_attr_num_writes.attr,
1115 &dev_attr_failed_reads.attr, 1137 &dev_attr_failed_reads.attr,
1116 &dev_attr_failed_writes.attr, 1138 &dev_attr_failed_writes.attr,
1139 &dev_attr_compact.attr,
1117 &dev_attr_invalid_io.attr, 1140 &dev_attr_invalid_io.attr,
1118 &dev_attr_notify_free.attr, 1141 &dev_attr_notify_free.attr,
1119 &dev_attr_zero_pages.attr, 1142 &dev_attr_zero_pages.attr,
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 6149ae01e11f..0fe4ad8826b2 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -164,6 +164,16 @@ config RTC_DRV_ABB5ZES3
164 This driver can also be built as a module. If so, the module 164 This driver can also be built as a module. If so, the module
165 will be called rtc-ab-b5ze-s3. 165 will be called rtc-ab-b5ze-s3.
166 166
167config RTC_DRV_ABX80X
168 tristate "Abracon ABx80x"
169 help
170 If you say yes here you get support for Abracon AB080X and AB180X
171 families of ultra-low-power battery- and capacitor-backed real-time
172 clock chips.
173
174 This driver can also be built as a module. If so, the module
175 will be called rtc-abx80x.
176
167config RTC_DRV_AS3722 177config RTC_DRV_AS3722
168 tristate "ams AS3722 RTC driver" 178 tristate "ams AS3722 RTC driver"
169 depends on MFD_AS3722 179 depends on MFD_AS3722
diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile
index c31731c29762..2b82e2b0311b 100644
--- a/drivers/rtc/Makefile
+++ b/drivers/rtc/Makefile
@@ -25,6 +25,7 @@ obj-$(CONFIG_RTC_DRV_88PM80X) += rtc-88pm80x.o
25obj-$(CONFIG_RTC_DRV_AB3100) += rtc