summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin M. Forbes <jforbes@fedoraproject.org>2017-09-18 14:14:22 -0500
committerJustin M. Forbes <jforbes@fedoraproject.org>2017-09-18 14:14:22 -0500
commitab0c52a53b37cd572e5b8d68c74d71360a33ecc7 (patch)
treef0292b2ee67dd4b3016de88fbac40db069c40680
parent77c153240f961fc67098ce5febeb22b299b73247 (diff)
downloadkernel-ab0c52a53b37cd572e5b8d68c74d71360a33ecc7.tar.gz
kernel-ab0c52a53b37cd572e5b8d68c74d71360a33ecc7.tar.xz
kernel-ab0c52a53b37cd572e5b8d68c74d71360a33ecc7.zip
Linux v4.14-rc1
-rw-r--r--0011-Input-goodix-Add-support-for-capacitive-home-button.patch53
-rw-r--r--HID-rmi-Make-sure-the-HID-device-is-opened-on-resume.patch74
-rw-r--r--baseconfig/CONFIG_INPUT_PWM_VIBRA1
-rw-r--r--baseconfig/CONFIG_SQUASHFS_ZSTD1
-rw-r--r--baseconfig/arm/arm64/CONFIG_ARM_TEGRA186_CPUFREQ1
-rw-r--r--baseconfig/s390x/CONFIG_MFD_BD9571MWV1
-rw-r--r--baseconfig/s390x/CONFIG_MFD_RTSX_USB1
-rw-r--r--baseconfig/s390x/CONFIG_MFD_TPS684701
-rw-r--r--baseconfig/s390x/CONFIG_MFD_VIPERBOARD1
-rw-r--r--input-rmi4-remove-the-need-for-artifical-IRQ.patch331
-rw-r--r--kernel-aarch64-debug.config2
-rw-r--r--kernel-aarch64.config2
-rw-r--r--kernel-armv7hl-debug.config2
-rw-r--r--kernel-armv7hl-lpae-debug.config2
-rw-r--r--kernel-armv7hl-lpae.config2
-rw-r--r--kernel-armv7hl.config2
-rw-r--r--kernel-i686-PAE.config2
-rw-r--r--kernel-i686-PAEdebug.config2
-rw-r--r--kernel-i686-debug.config2
-rw-r--r--kernel-i686.config2
-rw-r--r--kernel-ppc64-debug.config2
-rw-r--r--kernel-ppc64.config2
-rw-r--r--kernel-ppc64le-debug.config2
-rw-r--r--kernel-ppc64le.config2
-rw-r--r--kernel-ppc64p7-debug.config2
-rw-r--r--kernel-ppc64p7.config2
-rw-r--r--kernel-s390x-debug.config10
-rw-r--r--kernel-s390x.config10
-rw-r--r--kernel-x86_64-debug.config2
-rw-r--r--kernel-x86_64.config2
-rw-r--r--kernel.spec14
-rw-r--r--silence-fbcon-logo.patch19
-rw-r--r--sources2
33 files changed, 480 insertions, 76 deletions
diff --git a/0011-Input-goodix-Add-support-for-capacitive-home-button.patch b/0011-Input-goodix-Add-support-for-capacitive-home-button.patch
deleted file mode 100644
index 162357c21..000000000
--- a/0011-Input-goodix-Add-support-for-capacitive-home-button.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 2a99775c336303d2efc43eab4f24b34722a28faa Mon Sep 17 00:00:00 2001
-From: "Sergei A. Trusov" <sergei.a.trusov@ya.ru>
-Date: Tue, 20 Jun 2017 18:08:35 +0200
-Subject: [PATCH 11/16] Input: goodix: Add support for capacitive home button
-
-On some x86 tablets with a Goodix touchscreen, the Windows logo on the
-front is a capacitive home button. Touching this button results in a touch
-with bit 4 of the first byte set, while only the lower 4 bits (0-3) are
-used to indicate the number of touches.
-
-Report a KEY_LEFTMETA press when this happens.
-
-Note that the hardware might support more than one button, in which
-case the "id" byte of coor_data would identify the button in question.
-This is not implemented as we don't have access to hardware with
-multiple buttons.
-
-Signed-off-by: Sergei A. Trusov <sergei.a.trusov@ya.ru>
-Acked-by: Bastien Nocera <hadess@hadess.net>
----
- drivers/input/touchscreen/goodix.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
-index 240b16f3ee97..903137d9cf7d 100644
---- a/drivers/input/touchscreen/goodix.c
-+++ b/drivers/input/touchscreen/goodix.c
-@@ -267,6 +267,12 @@ static void goodix_process_events(struct goodix_ts_data *ts)
- if (touch_num < 0)
- return;
-
-+ /*
-+ * Bit 4 of the first byte reports the status of the capacitive
-+ * Windows/Home button.
-+ */
-+ input_report_key(ts->input_dev, KEY_LEFTMETA, !!(point_data[0] & BIT(4)));
-+
- for (i = 0; i < touch_num; i++)
- goodix_ts_report_touch(ts,
- &point_data[1 + GOODIX_CONTACT_SIZE * i]);
-@@ -612,6 +618,9 @@ static int goodix_request_input_dev(struct goodix_ts_data *ts)
- ts->input_dev->id.product = ts->id;
- ts->input_dev->id.version = ts->version;
-
-+ /* Capacitive Windows/Home button on some devices */
-+ input_set_capability(ts->input_dev, EV_KEY, KEY_LEFTMETA);
-+
- error = input_register_device(ts->input_dev);
- if (error) {
- dev_err(&ts->client->dev,
---
-2.13.0
-
diff --git a/HID-rmi-Make-sure-the-HID-device-is-opened-on-resume.patch b/HID-rmi-Make-sure-the-HID-device-is-opened-on-resume.patch
new file mode 100644
index 000000000..d7d626972
--- /dev/null
+++ b/HID-rmi-Make-sure-the-HID-device-is-opened-on-resume.patch
@@ -0,0 +1,74 @@
+From patchwork Sun Jul 23 01:15:09 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: HID: rmi: Make sure the HID device is opened on resume
+From: Lyude <lyude@redhat.com>
+X-Patchwork-Id: 9858267
+Message-Id: <20170723011509.23651-1-lyude@redhat.com>
+To: linux-input@vger.kernel.org
+Cc: Lyude <lyude@redhat.com>, Andrew Duggan <aduggan@synaptics.com>,
+ stable@vger.kernel.org, Jiri Kosina <jikos@kernel.org>,
+ Benjamin Tissoires <benjamin.tissoires@redhat.com>,
+ linux-kernel@vger.kernel.org
+Date: Sat, 22 Jul 2017 21:15:09 -0400
+
+So it looks like that suspend/resume has actually always been broken on
+hid-rmi. The fact it worked was a rather silly coincidence that was
+relying on the HID device to already be opened upon resume. This means
+that so long as anything was reading the /dev/input/eventX node for for
+an RMI device, it would suspend and resume correctly. As well, if
+nothing happened to be keeping the HID device away it would shut off,
+then the RMI driver would get confused on resume when it stopped
+responding and explode.
+
+So, call hid_hw_open() in rmi_post_resume() so we make sure that the
+device is alive before we try talking to it.
+
+This fixes RMI device suspend/resume over HID.
+
+Signed-off-by: Lyude <lyude@redhat.com>
+Cc: Andrew Duggan <aduggan@synaptics.com>
+Cc: stable@vger.kernel.org
+---
+ drivers/hid/hid-rmi.c | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
+index 5b40c2614599..e7d124f9a27f 100644
+--- a/drivers/hid/hid-rmi.c
++++ b/drivers/hid/hid-rmi.c
+@@ -431,22 +431,29 @@ static int rmi_post_resume(struct hid_device *hdev)
+ {
+ struct rmi_data *data = hid_get_drvdata(hdev);
+ struct rmi_device *rmi_dev = data->xport.rmi_dev;
+- int ret;
++ int ret = 0;
+
+ if (!(data->device_flags & RMI_DEVICE))
+ return 0;
+
+- ret = rmi_reset_attn_mode(hdev);
++ /* Make sure the HID device is ready to receive events */
++ ret = hid_hw_open(hdev);
+ if (ret)
+ return ret;
+
++ ret = rmi_reset_attn_mode(hdev);
++ if (ret)
++ goto out;
++
+ ret = rmi_driver_resume(rmi_dev, false);
+ if (ret) {
+ hid_warn(hdev, "Failed to resume device: %d\n", ret);
+- return ret;
++ goto out;
+ }
+
+- return 0;
++out:
++ hid_hw_close(hdev);
++ return ret;
+ }
+ #endif /* CONFIG_PM */
+
diff --git a/baseconfig/CONFIG_INPUT_PWM_VIBRA b/baseconfig/CONFIG_INPUT_PWM_VIBRA
new file mode 100644
index 000000000..39a51b490
--- /dev/null
+++ b/baseconfig/CONFIG_INPUT_PWM_VIBRA
@@ -0,0 +1 @@
+# CONFIG_INPUT_PWM_VIBRA is not set
diff --git a/baseconfig/CONFIG_SQUASHFS_ZSTD b/baseconfig/CONFIG_SQUASHFS_ZSTD
new file mode 100644
index 000000000..023fb21e0
--- /dev/null
+++ b/baseconfig/CONFIG_SQUASHFS_ZSTD
@@ -0,0 +1 @@
+CONFIG_SQUASHFS_ZSTD=y
diff --git a/baseconfig/arm/arm64/CONFIG_ARM_TEGRA186_CPUFREQ b/baseconfig/arm/arm64/CONFIG_ARM_TEGRA186_CPUFREQ
new file mode 100644
index 000000000..f0e165dfb
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_ARM_TEGRA186_CPUFREQ
@@ -0,0 +1 @@
+CONFIG_ARM_TEGRA186_CPUFREQ=m
diff --git a/baseconfig/s390x/CONFIG_MFD_BD9571MWV b/baseconfig/s390x/CONFIG_MFD_BD9571MWV
new file mode 100644
index 000000000..d321ad3c6
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_MFD_BD9571MWV
@@ -0,0 +1 @@
+# CONFIG_MFD_BD9571MWV is not set
diff --git a/baseconfig/s390x/CONFIG_MFD_RTSX_USB b/baseconfig/s390x/CONFIG_MFD_RTSX_USB
new file mode 100644
index 000000000..b6efa65e7
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_MFD_RTSX_USB
@@ -0,0 +1 @@
+# CONFIG_MFD_RTSX_USB is not set
diff --git a/baseconfig/s390x/CONFIG_MFD_TPS68470 b/baseconfig/s390x/CONFIG_MFD_TPS68470
new file mode 100644
index 000000000..e82f415aa
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_MFD_TPS68470
@@ -0,0 +1 @@
+# CONFIG_MFD_TPS68470 is not set
diff --git a/baseconfig/s390x/CONFIG_MFD_VIPERBOARD b/baseconfig/s390x/CONFIG_MFD_VIPERBOARD
new file mode 100644
index 000000000..1d4d00579
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_MFD_VIPERBOARD
@@ -0,0 +1 @@
+# CONFIG_MFD_VIPERBOARD is not set
diff --git a/input-rmi4-remove-the-need-for-artifical-IRQ.patch b/input-rmi4-remove-the-need-for-artifical-IRQ.patch
new file mode 100644
index 000000000..01b1a4660
--- /dev/null
+++ b/input-rmi4-remove-the-need-for-artifical-IRQ.patch
@@ -0,0 +1,331 @@
+From 47c84357d95eccd77c1320b4bca74bbec649ef3c Mon Sep 17 00:00:00 2001
+From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Date: Mon, 3 Apr 2017 18:18:21 +0200
+Subject: [PATCH] Input: rmi4 - remove the need for artificial IRQ in case of
+ HID
+
+The IRQ from rmi4 may interfere with the one we currently use on i2c-hid.
+Given that there is already a need for an external API from rmi4 to
+forward the attention data, we can, in this particular case rely on a
+separate workqueue to prevent cursor jumps.
+
+Reported-by: Cameron Gutman <aicommander@gmail.com>
+Reported-by: Thorsten Leemhuis <linux@leemhuis.info>
+Reported-by: Jason Ekstrand <jason@jlekstrand.net>
+Tested-by: Andrew Duggan <aduggan@synaptics.com>
+Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Signed-off-by: Lyude <lyude@redhat.com>
+---
+ drivers/hid/hid-rmi.c | 64 ---------------------
+ drivers/input/rmi4/rmi_driver.c | 122 ++++++++++++++++++++++++----------------
+ include/linux/rmi.h | 1 +
+ 3 files changed, 75 insertions(+), 112 deletions(-)
+
+diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
+index 5b40c26..4aa882c 100644
+--- a/drivers/hid/hid-rmi.c
++++ b/drivers/hid/hid-rmi.c
+@@ -316,19 +316,12 @@ static int rmi_input_event(struct hid_device *hdev, u8 *data, int size)
+ {
+ struct rmi_data *hdata = hid_get_drvdata(hdev);
+ struct rmi_device *rmi_dev = hdata->xport.rmi_dev;
+- unsigned long flags;
+
+ if (!(test_bit(RMI_STARTED, &hdata->flags)))
+ return 0;
+
+- local_irq_save(flags);
+-
+ rmi_set_attn_data(rmi_dev, data[1], &data[2], size - 2);
+
+- generic_handle_irq(hdata->rmi_irq);
+-
+- local_irq_restore(flags);
+-
+ return 1;
+ }
+
+@@ -556,56 +549,6 @@ static const struct rmi_transport_ops hid_rmi_ops = {
+ .reset = rmi_hid_reset,
+ };
+
+-static void rmi_irq_teardown(void *data)
+-{
+- struct rmi_data *hdata = data;
+- struct irq_domain *domain = hdata->domain;
+-
+- if (!domain)
+- return;
+-
+- irq_dispose_mapping(irq_find_mapping(domain, 0));
+-
+- irq_domain_remove(domain);
+- hdata->domain = NULL;
+- hdata->rmi_irq = 0;
+-}
+-
+-static int rmi_irq_map(struct irq_domain *h, unsigned int virq,
+- irq_hw_number_t hw_irq_num)
+-{
+- irq_set_chip_and_handler(virq, &dummy_irq_chip, handle_simple_irq);
+-
+- return 0;
+-}
+-
+-static const struct irq_domain_ops rmi_irq_ops = {
+- .map = rmi_irq_map,
+-};
+-
+-static int rmi_setup_irq_domain(struct hid_device *hdev)
+-{
+- struct rmi_data *hdata = hid_get_drvdata(hdev);
+- int ret;
+-
+- hdata->domain = irq_domain_create_linear(hdev->dev.fwnode, 1,
+- &rmi_irq_ops, hdata);
+- if (!hdata->domain)
+- return -ENOMEM;
+-
+- ret = devm_add_action_or_reset(&hdev->dev, &rmi_irq_teardown, hdata);
+- if (ret)
+- return ret;
+-
+- hdata->rmi_irq = irq_create_mapping(hdata->domain, 0);
+- if (hdata->rmi_irq <= 0) {
+- hid_err(hdev, "Can't allocate an IRQ\n");
+- return hdata->rmi_irq < 0 ? hdata->rmi_irq : -ENXIO;
+- }
+-
+- return 0;
+-}
+-
+ static int rmi_probe(struct hid_device *hdev, const struct hid_device_id *id)
+ {
+ struct rmi_data *data = NULL;
+@@ -677,18 +620,11 @@ static int rmi_probe(struct hid_device *hdev, const struct hid_device_id *id)
+
+ mutex_init(&data->page_mutex);
+
+- ret = rmi_setup_irq_domain(hdev);
+- if (ret) {
+- hid_err(hdev, "failed to allocate IRQ domain\n");
+- return ret;
+- }
+-
+ if (data->device_flags & RMI_DEVICE_HAS_PHYS_BUTTONS)
+ rmi_hid_pdata.f30_data.disable = true;
+
+ data->xport.dev = hdev->dev.parent;
+ data->xport.pdata = rmi_hid_pdata;
+- data->xport.pdata.irq = data->rmi_irq;
+ data->xport.proto_name = "hid";
+ data->xport.ops = &hid_rmi_ops;
+
+diff --git a/drivers/input/rmi4/rmi_driver.c b/drivers/input/rmi4/rmi_driver.c
+index 4f2bb59..6d7da84 100644
+--- a/drivers/input/rmi4/rmi_driver.c
++++ b/drivers/input/rmi4/rmi_driver.c
+@@ -209,32 +209,46 @@ void rmi_set_attn_data(struct rmi_device *rmi_dev, unsigned long irq_status,
+ attn_data.data = fifo_data;
+
+ kfifo_put(&drvdata->attn_fifo, attn_data);
++
++ schedule_work(&drvdata->attn_work);
+ }
+ EXPORT_SYMBOL_GPL(rmi_set_attn_data);
+
+-static irqreturn_t rmi_irq_fn(int irq, void *dev_id)
++static void attn_callback(struct work_struct *work)
+ {
+- struct rmi_device *rmi_dev = dev_id;
+- struct rmi_driver_data *drvdata = dev_get_drvdata(&rmi_dev->dev);
++ struct rmi_driver_data *drvdata = container_of(work,
++ struct rmi_driver_data,
++ attn_work);
+ struct rmi4_attn_data attn_data = {0};
+ int ret, count;
+
+ count = kfifo_get(&drvdata->attn_fifo, &attn_data);
+- if (count) {
+- *(drvdata->irq_status) = attn_data.irq_status;
+- drvdata->attn_data = attn_data;
+- }
++ if (!count)
++ return;
+
+- ret = rmi_process_interrupt_requests(rmi_dev);
++ *(drvdata->irq_status) = attn_data.irq_status;
++ drvdata->attn_data = attn_data;
++
++ ret = rmi_process_interrupt_requests(drvdata->rmi_dev);
+ if (ret)
+- rmi_dbg(RMI_DEBUG_CORE, &rmi_dev->dev,
++ rmi_dbg(RMI_DEBUG_CORE, &drvdata->rmi_dev->dev,
+ "Failed to process interrupt request: %d\n", ret);
+
+- if (count)
+- kfree(attn_data.data);
++ kfree(attn_data.data);
+
+ if (!kfifo_is_empty(&drvdata->attn_fifo))
+- return rmi_irq_fn(irq, dev_id);
++ schedule_work(&drvdata->attn_work);
++}
++
++static irqreturn_t rmi_irq_fn(int irq, void *dev_id)
++{
++ struct rmi_device *rmi_dev = dev_id;
++ int ret;
++
++ ret = rmi_process_interrupt_requests(rmi_dev);
++ if (ret)
++ rmi_dbg(RMI_DEBUG_CORE, &rmi_dev->dev,
++ "Failed to process interrupt request: %d\n", ret);
+
+ return IRQ_HANDLED;
+ }
+@@ -242,7 +256,6 @@ static irqreturn_t rmi_irq_fn(int irq, void *dev_id)
+ static int rmi_irq_init(struct rmi_device *rmi_dev)
+ {
+ struct rmi_device_platform_data *pdata = rmi_get_platform_data(rmi_dev);
+- struct rmi_driver_data *data = dev_get_drvdata(&rmi_dev->dev);
+ int irq_flags = irq_get_trigger_type(pdata->irq);
+ int ret;
+
+@@ -260,8 +273,6 @@ static int rmi_irq_init(struct rmi_device *rmi_dev)
+ return ret;
+ }
+
+- data->enabled = true;
+-
+ return 0;
+ }
+
+@@ -910,23 +921,27 @@ void rmi_enable_irq(struct rmi_device *rmi_dev, bool clear_wake)
+ if (data->enabled)
+ goto out;
+
+- enable_irq(irq);
+- data->enabled = true;
+- if (clear_wake && device_may_wakeup(rmi_dev->xport->dev)) {
+- retval = disable_irq_wake(irq);
+- if (retval)
+- dev_warn(&rmi_dev->dev,
+- "Failed to disable irq for wake: %d\n",
+- retval);
+- }
++ if (irq) {
++ enable_irq(irq);
++ data->enabled = true;
++ if (clear_wake && device_may_wakeup(rmi_dev->xport->dev)) {
++ retval = disable_irq_wake(irq);
++ if (retval)
++ dev_warn(&rmi_dev->dev,
++ "Failed to disable irq for wake: %d\n",
++ retval);
++ }
+
+- /*
+- * Call rmi_process_interrupt_requests() after enabling irq,
+- * otherwise we may lose interrupt on edge-triggered systems.
+- */
+- irq_flags = irq_get_trigger_type(pdata->irq);
+- if (irq_flags & IRQ_TYPE_EDGE_BOTH)
+- rmi_process_interrupt_requests(rmi_dev);
++ /*
++ * Call rmi_process_interrupt_requests() after enabling irq,
++ * otherwise we may lose interrupt on edge-triggered systems.
++ */
++ irq_flags = irq_get_trigger_type(pdata->irq);
++ if (irq_flags & IRQ_TYPE_EDGE_BOTH)
++ rmi_process_interrupt_requests(rmi_dev);
++ } else {
++ data->enabled = true;
++ }
+
+ out:
+ mutex_unlock(&data->enabled_mutex);
+@@ -946,20 +961,22 @@ void rmi_disable_irq(struct rmi_device *rmi_dev, bool enable_wake)
+ goto out;
+
+ data->enabled = false;
+- disable_irq(irq);
+- if (enable_wake && device_may_wakeup(rmi_dev->xport->dev)) {
+- retval = enable_irq_wake(irq);
+- if (retval)
+- dev_warn(&rmi_dev->dev,
+- "Failed to enable irq for wake: %d\n",
+- retval);
+- }
+-
+- /* make sure the fifo is clean */
+- while (!kfifo_is_empty(&data->attn_fifo)) {
+- count = kfifo_get(&data->attn_fifo, &attn_data);
+- if (count)
+- kfree(attn_data.data);
++ if (irq) {
++ disable_irq(irq);
++ if (enable_wake && device_may_wakeup(rmi_dev->xport->dev)) {
++ retval = enable_irq_wake(irq);
++ if (retval)
++ dev_warn(&rmi_dev->dev,
++ "Failed to enable irq for wake: %d\n",
++ retval);
++ }
++ } else {
++ /* make sure the fifo is clean */
++ while (!kfifo_is_empty(&data->attn_fifo)) {
++ count = kfifo_get(&data->attn_fifo, &attn_data);
++ if (count)
++ kfree(attn_data.data);
++ }
+ }
+
+ out:
+@@ -998,9 +1015,12 @@ EXPORT_SYMBOL_GPL(rmi_driver_resume);
+ static int rmi_driver_remove(struct device *dev)
+ {
+ struct rmi_device *rmi_dev = to_rmi_device(dev);
++ struct rmi_driver_data *data = dev_get_drvdata(&rmi_dev->dev);
+
+ rmi_disable_irq(rmi_dev, false);
+
++ cancel_work_sync(&data->attn_work);
++
+ rmi_f34_remove_sysfs(rmi_dev);
+ rmi_free_function_list(rmi_dev);
+
+@@ -1230,9 +1250,15 @@ static int rmi_driver_probe(struct device *dev)
+ }
+ }
+
+- retval = rmi_irq_init(rmi_dev);
+- if (retval < 0)
+- goto err_destroy_functions;
++ if (pdata->irq) {
++ retval = rmi_irq_init(rmi_dev);
++ if (retval < 0)
++ goto err_destroy_functions;
++ }
++
++ data->enabled = true;
++
++ INIT_WORK(&data->attn_work, attn_callback);
+
+ if (data->f01_container->dev.driver) {
+ /* Driver already bound, so enable ATTN now. */
+diff --git a/include/linux/rmi.h b/include/linux/rmi.h
+index 64125443..dc90178 100644
+--- a/include/linux/rmi.h
++++ b/include/linux/rmi.h
+@@ -364,6 +364,7 @@ struct rmi_driver_data {
+
+ struct rmi4_attn_data attn_data;
+ DECLARE_KFIFO(attn_fifo, struct rmi4_attn_data, 16);
++ struct work_struct attn_work;
+ };
+
+ int rmi_register_transport_device(struct rmi_transport_dev *xport);
+--
+2.9.4
+
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index e71dee8e4..8e71f5184 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -2261,6 +2261,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
@@ -5463,6 +5464,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
CONFIG_SRAM=y
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-aarch64.config b/kernel-aarch64.config
index 5c21f402e..0caaf8d28 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -2244,6 +2244,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
@@ -5440,6 +5441,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
CONFIG_SRAM=y
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config
index 5d78d222d..78ac44492 100644
--- a/kernel-armv7hl-debug.config
+++ b/kernel-armv7hl-debug.config
@@ -2412,6 +2412,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
@@ -5934,6 +5935,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
CONFIG_SRAM=y
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config
index 428e841be..1bcd4a572 100644
--- a/kernel-armv7hl-lpae-debug.config
+++ b/kernel-armv7hl-lpae-debug.config
@@ -2285,6 +2285,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
@@ -5544,6 +5545,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
CONFIG_SRAM=y
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config
index 53abb459b..6d48fd7bd 100644
--- a/kernel-armv7hl-lpae.config
+++ b/kernel-armv7hl-lpae.config
@@ -2268,6 +2268,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
@@ -5521,6 +5522,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
CONFIG_SRAM=y
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config
index 9f60d1ab2..fb5cf3254 100644
--- a/kernel-armv7hl.config
+++ b/kernel-armv7hl.config
@@ -2395,6 +2395,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
@@ -5911,6 +5912,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
CONFIG_SRAM=y
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config
index 1a6f15594..13c5db0c4 100644
--- a/kernel-i686-PAE.config
+++ b/kernel-i686-PAE.config
@@ -2125,6 +2125,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
@@ -5151,6 +5152,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-i686-PAEdebug.config b/kernel-i686-PAEdebug.config
index 723354136..25f47f624 100644
--- a/kernel-i686-PAEdebug.config
+++ b/kernel-i686-PAEdebug.config
@@ -2143,6 +2143,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
@@ -5173,6 +5174,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config
index 8517821d5..291cee7a0 100644
--- a/kernel-i686-debug.config
+++ b/kernel-i686-debug.config
@@ -2143,6 +2143,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
@@ -5173,6 +5174,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-i686.config b/kernel-i686.config
index 58ef108b4..42991c6b5 100644
--- a/kernel-i686.config
+++ b/kernel-i686.config
@@ -2125,6 +2125,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
@@ -5151,6 +5152,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-ppc64-debug.config b/kernel-ppc64-debug.config
index e48a7f486..3d82e62f5 100644
--- a/kernel-ppc64-debug.config
+++ b/kernel-ppc64-debug.config
@@ -2038,6 +2038,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SPARSEKMAP=m
@@ -4960,6 +4961,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-ppc64.config b/kernel-ppc64.config
index ee0039893..f3434f5dc 100644
--- a/kernel-ppc64.config
+++ b/kernel-ppc64.config
@@ -2020,6 +2020,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SPARSEKMAP=m
@@ -4936,6 +4937,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config
index 5d1b63293..6ffe76755 100644
--- a/kernel-ppc64le-debug.config
+++ b/kernel-ppc64le-debug.config
@@ -1983,6 +1983,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SPARSEKMAP=m
@@ -4888,6 +4889,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-ppc64le.config b/kernel-ppc64le.config
index 6cb35e167..5cfc41a10 100644
--- a/kernel-ppc64le.config
+++ b/kernel-ppc64le.config
@@ -1965,6 +1965,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SPARSEKMAP=m
@@ -4864,6 +4865,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-ppc64p7-debug.config b/kernel-ppc64p7-debug.config
index 195f1b2e7..5871cc209 100644
--- a/kernel-ppc64p7-debug.config
+++ b/kernel-ppc64p7-debug.config
@@ -1982,6 +1982,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SPARSEKMAP=m
@@ -4887,6 +4888,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-ppc64p7.config b/kernel-ppc64p7.config
index b7250ff06..df57b6443 100644
--- a/kernel-ppc64p7.config
+++ b/kernel-ppc64p7.config
@@ -1964,6 +1964,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SPARSEKMAP=m
@@ -4863,6 +4864,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config
index db042495c..74e917abe 100644
--- a/kernel-s390x-debug.config
+++ b/kernel-s390x-debug.config
@@ -1935,6 +1935,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
# CONFIG_INPUT_POLLDEV is not set
CONFIG_INPUT_POWERMATE=m
# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
# CONFIG_INPUT_SPARSEKMAP is not set
@@ -2625,7 +2626,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
-CONFIG_MFD_BD9571MWV=m
+# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2665,7 +2666,7 @@ CONFIG_MFD_BD9571MWV=m
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RTSX_PCI is not set
-CONFIG_MFD_RTSX_USB=m
+# CONFIG_MFD_RTSX_USB is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2690,9 +2691,9 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
-CONFIG_MFD_TPS68470=y
+# CONFIG_MFD_TPS68470 is not set
# CONFIG_MFD_TPS80031 is not set
-CONFIG_MFD_VIPERBOARD=m
+# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_WM831X_I2C is not set
@@ -4784,6 +4785,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-s390x.config b/kernel-s390x.config
index ef3e6d686..3e532ae5b 100644
--- a/kernel-s390x.config
+++ b/kernel-s390x.config
@@ -1917,6 +1917,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
# CONFIG_INPUT_POLLDEV is not set
CONFIG_INPUT_POWERMATE=m
# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
# CONFIG_INPUT_SPARSEKMAP is not set
@@ -2604,7 +2605,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
-CONFIG_MFD_BD9571MWV=m
+# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2644,7 +2645,7 @@ CONFIG_MFD_BD9571MWV=m
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RTSX_PCI is not set
-CONFIG_MFD_RTSX_USB=m
+# CONFIG_MFD_RTSX_USB is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2669,9 +2670,9 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
-CONFIG_MFD_TPS68470=y
+# CONFIG_MFD_TPS68470 is not set
# CONFIG_MFD_TPS80031 is not set
-CONFIG_MFD_VIPERBOARD=m
+# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_WM831X_I2C is not set
@@ -4760,6 +4761,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config
index e252a494d..0d60def84 100644
--- a/kernel-x86_64-debug.config
+++ b/kernel-x86_64-debug.config
@@ -2191,6 +2191,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
@@ -5225,6 +5226,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel-x86_64.config b/kernel-x86_64.config
index 7b940e7fa..6126b1c2a 100644
--- a/kernel-x86_64.config
+++ b/kernel-x86_64.config
@@ -2173,6 +2173,7 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
@@ -5203,6 +5204,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
diff --git a/kernel.spec b/kernel.spec
index 7ae844a08..d392360d3 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -67,9 +67,9 @@ Summary: The Linux kernel
# The next upstream release sublevel (base_sublevel+1)
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
# The rc snapshot level
-%global rcrev 0
+%global rcrev 1
# The git snapshot level
-%define gitrev 6
+%define gitrev 0
# Set rpm version accordingly
%define rpmversion 4.%{upstream_sublevel}.0
%endif
@@ -322,7 +322,7 @@ Summary: The Linux kernel
%else
%define listnewconfig_fail 1
#FIXME
-%define configmismatch_fail 0
+%define configmismatch_fail 1
%endif
# To temporarily exclude an architecture from being built, add it to
@@ -632,11 +632,14 @@ Patch502: CVE-2017-7477.patch
Patch601: 0001-Input-gpio_keys-Allow-suppression-of-input-events-fo.patch
Patch602: 0002-Input-soc_button_array-Suppress-power-button-presses.patch
Patch610: 0010-Input-silead-Add-support-for-capactive-home-button-f.patch
-Patch611: 0011-Input-goodix-Add-support-for-capacitive-home-button.patch
# rhbz 1476467
Patch617: Fix-for-module-sig-verification.patch
+# rhbz 1431375
+Patch618: HID-rmi-Make-sure-the-HID-device-is-opened-on-resume.patch
+Patch619: input-rmi4-remove-the-need-for-artifical-IRQ.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -2191,6 +2194,9 @@ fi
#
#
%changelog
+* Mon Sep 18 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc1.git0.1
+- Linux v4.14-rc1
+
* Mon Sep 18 2017 Justin M. Forbes <jforbes@fedoraproject.org>
- Disable debugging options.
diff --git a/silence-fbcon-logo.patch b/silence-fbcon-logo.patch
index b8f099679..2054b3c6b 100644
--- a/silence-fbcon-logo.patch
+++ b/silence-fbcon-logo.patch
@@ -6,13 +6,13 @@ Subject: [PATCH] silence fbcon logo
Bugzilla: N/A
Upstream-status: Fedora mustard
---
- drivers/video/console/fbcon.c | 26 +++++++++++++++++++-------
+ drivers/video/fbdev/core/fbcon.c | 26 +++++++++++++++++++-------
1 file changed, 19 insertions(+), 7 deletions(-)
-diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
+diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
index afd3301ac40c..2e08ba0ade3e 100644
---- a/drivers/video/console/fbcon.c
-+++ b/drivers/video/console/fbcon.c
+--- a/drivers/video/fbdev/core/fbcon.c
++++ b/drivers/video/fbdev/core/fbcon.c
@@ -634,13 +634,15 @@ static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info,
kfree(save);
}
@@ -36,10 +36,11 @@ index afd3301ac40c..2e08ba0ade3e 100644
}
}
#endif /* MODULE */
-@@ -3654,6 +3656,16 @@ static void __exit fb_console_exit(void)
-
- module_exit(fb_console_exit);
-
+@@ -3671,4 +3671,15 @@ void __exit fb_console_exit(void)
+ do_unregister_con_driver(&fb_con);
+ console_unlock();
+ }
++
+#else
+
+static int __init quiet_logo(char *str)
@@ -51,8 +52,6 @@ index afd3301ac40c..2e08ba0ade3e 100644
+early_param("quiet", quiet_logo);
+
#endif
-
- MODULE_LICENSE("GPL");
--
2.7.4
diff --git a/sources b/sources
index 9514e5ab1..43ff880dc 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
SHA512 (linux-4.13.tar.xz) = a557c2f0303ae618910b7106ff63d9978afddf470f03cb72aa748213e099a0ecd5f3119aea6cbd7b61df30ca6ef3ec57044d524b7babbaabddf8b08b8bafa7d2
SHA512 (perf-man-4.13.tar.gz) = 9bcc2cd8e56ec583ed2d8e0b0c88e7a94035a1915e40b3177bb02d6c0f10ddd4df9b097b1f5af59efc624226b613e240ddba8ddc2156f3682f992d5455fc5c03
-SHA512 (patch-4.13-git6.xz) = 58de784cb0c2d14acfd1f1711bb960cc0d1dd2607931bf7ed4561661f0f69e9fde29644a78944d215fc70a5c6471a56435f57c055d1f0686a992be18580cea59
+SHA512 (patch-4.14-rc1.xz) = b74b27279197aa81bd5d906a7da83ecfecf23231b7889bd280b071920bb0094b4aef37ff86a9bbe47c13bd23ee80db81acfb2e49ce25d77b8b3ae3c8c203ae22