Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a171aa2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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"
parents 3ce05a4e 489405fe
Loading
Loading
Loading
Loading
+30 −0
Original line number Original line Diff line number Diff line
Abracon ABX80X I2C ultra low power RTC/Alarm chip

The Abracon ABX80X family consist of the ab0801, ab0803, ab0804, ab0805, ab1801,
ab1803, ab1804 and ab1805. The ab0805 is the superset of ab080x and the ab1805
is the superset of ab180x.

Required properties:

 - "compatible": should one of:
        "abracon,abx80x"
        "abracon,ab0801"
        "abracon,ab0803"
        "abracon,ab0804"
        "abracon,ab0805"
        "abracon,ab1801"
        "abracon,ab1803"
        "abracon,ab1804"
        "abracon,ab1805"
	Using "abracon,abx80x" will enable chip autodetection.
 - "reg": I2C bus address of the device

Optional properties:

The abx804 and abx805 have a trickle charger that is able to charge the
connected battery or supercap. Both the following properties have to be defined
and valid to enable charging:

 - "abracon,tc-diode": should be "standard" (0.6V) or "schottky" (0.3V)
 - "abracon,tc-resistor": should be <0>, <3>, <6> or <11>. 0 disables the output
                          resistor, the other values are in ohm.
+5 −3
Original line number Original line Diff line number Diff line
@@ -9,7 +9,9 @@ a fast and comprehensive solution for finding use-after-free and out-of-bounds
bugs.
bugs.


KASan uses compile-time instrumentation for checking every memory access,
KASan uses compile-time instrumentation for checking every memory access,
therefore you will need a certain version of GCC > 4.9.2
therefore you will need a gcc version of 4.9.2 or later. KASan could detect out
of bounds accesses to stack or global variables, but only if gcc 5.0 or later was
used to built the kernel.


Currently KASan is supported only for x86_64 architecture and requires that the
Currently KASan is supported only for x86_64 architecture and requires that the
kernel be built with the SLUB allocator.
kernel be built with the SLUB allocator.
@@ -23,8 +25,8 @@ To enable KASAN configure kernel with:


and choose between CONFIG_KASAN_OUTLINE and CONFIG_KASAN_INLINE. Outline/inline
and choose between CONFIG_KASAN_OUTLINE and CONFIG_KASAN_INLINE. Outline/inline
is compiler instrumentation types. The former produces smaller binary the
is compiler instrumentation types. The former produces smaller binary the
latter is 1.1 - 2 times faster. Inline instrumentation requires GCC 5.0 or
latter is 1.1 - 2 times faster. Inline instrumentation requires a gcc version
latter.
of 5.0 or later.


Currently KASAN works only with the SLUB memory allocator.
Currently KASAN works only with the SLUB memory allocator.
For better bug detection and nicer report, enable CONFIG_STACKTRACE and put
For better bug detection and nicer report, enable CONFIG_STACKTRACE and put
+2 −0
Original line number Original line Diff line number Diff line
@@ -5805,6 +5805,7 @@ F: drivers/scsi/53c700*
LED SUBSYSTEM
LED SUBSYSTEM
M:	Bryan Wu <cooloney@gmail.com>
M:	Bryan Wu <cooloney@gmail.com>
M:	Richard Purdie <rpurdie@rpsys.net>
M:	Richard Purdie <rpurdie@rpsys.net>
M:	Jacek Anaszewski <j.anaszewski@samsung.com>
L:	linux-leds@vger.kernel.org
L:	linux-leds@vger.kernel.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds.git
S:	Maintained
S:	Maintained
@@ -11037,6 +11038,7 @@ F: drivers/media/pci/zoran/
ZRAM COMPRESSED RAM BLOCK DEVICE DRVIER
ZRAM COMPRESSED RAM BLOCK DEVICE DRVIER
M:	Minchan Kim <minchan@kernel.org>
M:	Minchan Kim <minchan@kernel.org>
M:	Nitin Gupta <ngupta@vflare.org>
M:	Nitin Gupta <ngupta@vflare.org>
R:	Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
L:	linux-kernel@vger.kernel.org
L:	linux-kernel@vger.kernel.org
S:	Maintained
S:	Maintained
F:	drivers/block/zram/
F:	drivers/block/zram/
+23 −0
Original line number Original line Diff line number Diff line
@@ -74,6 +74,27 @@ static inline struct zram *dev_to_zram(struct device *dev)
	return (struct zram *)dev_to_disk(dev)->private_data;
	return (struct zram *)dev_to_disk(dev)->private_data;
}
}


static ssize_t compact_store(struct device *dev,
		struct device_attribute *attr, const char *buf, size_t len)
{
	unsigned long nr_migrated;
	struct zram *zram = dev_to_zram(dev);
	struct zram_meta *meta;

	down_read(&zram->init_lock);
	if (!init_done(zram)) {
		up_read(&zram->init_lock);
		return -EINVAL;
	}

	meta = zram->meta;
	nr_migrated = zs_compact(meta->mem_pool);
	atomic64_add(nr_migrated, &zram->stats.num_migrated);
	up_read(&zram->init_lock);

	return len;
}

static ssize_t disksize_show(struct device *dev,
static ssize_t disksize_show(struct device *dev,
		struct device_attribute *attr, char *buf)
		struct device_attribute *attr, char *buf)
{
{
@@ -1038,6 +1059,7 @@ static const struct block_device_operations zram_devops = {
	.owner = THIS_MODULE
	.owner = THIS_MODULE
};
};


static DEVICE_ATTR_WO(compact);
static DEVICE_ATTR_RW(disksize);
static DEVICE_ATTR_RW(disksize);
static DEVICE_ATTR_RO(initstate);
static DEVICE_ATTR_RO(initstate);
static DEVICE_ATTR_WO(reset);
static DEVICE_ATTR_WO(reset);
@@ -1114,6 +1136,7 @@ static struct attribute *zram_disk_attrs[] = {
	&dev_attr_num_writes.attr,
	&dev_attr_num_writes.attr,
	&dev_attr_failed_reads.attr,
	&dev_attr_failed_reads.attr,
	&dev_attr_failed_writes.attr,
	&dev_attr_failed_writes.attr,
	&dev_attr_compact.attr,
	&dev_attr_invalid_io.attr,
	&dev_attr_invalid_io.attr,
	&dev_attr_notify_free.attr,
	&dev_attr_notify_free.attr,
	&dev_attr_zero_pages.attr,
	&dev_attr_zero_pages.attr,
+10 −0
Original line number Original line Diff line number Diff line
@@ -164,6 +164,16 @@ config RTC_DRV_ABB5ZES3
	  This driver can also be built as a module. If so, the module
	  This driver can also be built as a module. If so, the module
	  will be called rtc-ab-b5ze-s3.
	  will be called rtc-ab-b5ze-s3.


config RTC_DRV_ABX80X
	tristate "Abracon ABx80x"
	help
	  If you say yes here you get support for Abracon AB080X and AB180X
	  families of ultra-low-power  battery- and capacitor-backed real-time
	  clock chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-abx80x.

config RTC_DRV_AS3722
config RTC_DRV_AS3722
	tristate "ams AS3722 RTC driver"
	tristate "ams AS3722 RTC driver"
	depends on MFD_AS3722
	depends on MFD_AS3722
Loading