diff options
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 @@ -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 |