summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2017-08-31 21:12:25 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2017-08-31 21:12:25 +0200
commit0439b679504e0332347681689f0db2644a91a8ee (patch)
tree5d648b45cbce2e4154f7b69b6989e993a13e868b
parentb598e5a3efbf789c588b47414c2533c57c20c426 (diff)
parentd2b200b4e99076bb6fa33df89644f3ccf98bf9d5 (diff)
downloadkernel-0439b679504e0332347681689f0db2644a91a8ee.tar.gz
kernel-0439b679504e0332347681689f0db2644a91a8ee.tar.xz
kernel-0439b679504e0332347681689f0db2644a91a8ee.zip
Merge remote-tracking branch 'origin/master'kernel-4.13.0-0.rc7.git3.1.vanilla.knurd.1.fc26
-rw-r--r--0001-Input-gpio_keys-Allow-suppression-of-input-events-fo.patch163
-rw-r--r--0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch78
-rw-r--r--0002-Input-soc_button_array-Suppress-power-button-presses.patch62
-rw-r--r--0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch80
-rw-r--r--0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch150
-rw-r--r--0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch54
-rw-r--r--baseconfig/CONFIG_INFINIBAND_VMWARE_PVRDMA2
-rw-r--r--baseconfig/arm/armv7/CONFIG_CGROUP_RDMA1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB31
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB41
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_I40IW1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_CM1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG_DATA1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_ISER1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_ISERT1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_MTHCA1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_NES1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_OCRDMA1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_ON_DEMAND_PAGING1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB_DCA1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_RDMAVT1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_SRP1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_SRPT1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_ACCESS1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_MAD1
-rw-r--r--baseconfig/arm/armv7/CONFIG_INFINIBAND_USNIC1
-rw-r--r--baseconfig/arm/armv7/CONFIG_MLX4_INFINIBAND1
-rw-r--r--baseconfig/arm/armv7/CONFIG_MLX5_INFINIBAND1
-rw-r--r--baseconfig/arm/armv7/CONFIG_NET_9P_RDMA1
-rw-r--r--baseconfig/arm/armv7/CONFIG_NVME_RDMA1
-rw-r--r--baseconfig/arm/armv7/CONFIG_NVME_TARGET_RDMA1
-rw-r--r--baseconfig/arm/armv7/CONFIG_RDMA_RXE1
-rw-r--r--baseconfig/arm/armv7/CONFIG_RDS_RDMA1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SECURITY_INFINIBAND1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SUNRPC_XPRT_RDMA1
-rw-r--r--baseconfig/x86/CONFIG_INFINIBAND_VMWARE_PVRDMA1
-rw-r--r--gitrev2
-rw-r--r--kernel-aarch64-debug.config2
-rw-r--r--kernel-aarch64.config2
-rw-r--r--kernel-armv7hl-debug.config64
-rw-r--r--kernel-armv7hl-lpae-debug.config64
-rw-r--r--kernel-armv7hl-lpae.config64
-rw-r--r--kernel-armv7hl.config64
-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.config2
-rw-r--r--kernel-s390x.config2
-rw-r--r--kernel.spec21
-rw-r--r--sources2
57 files changed, 573 insertions, 350 deletions
diff --git a/0001-Input-gpio_keys-Allow-suppression-of-input-events-fo.patch b/0001-Input-gpio_keys-Allow-suppression-of-input-events-fo.patch
new file mode 100644
index 000000000..1f03d710b
--- /dev/null
+++ b/0001-Input-gpio_keys-Allow-suppression-of-input-events-fo.patch
@@ -0,0 +1,163 @@
+From 25bb14c1e78e641049fd1ee0c404a9ccd2755e44 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Sat, 22 Jul 2017 13:00:05 +0200
+Subject: [PATCH 1/2] Input: gpio_keys - Allow suppression of input events for
+ wakeup button presses
+
+In some cases it is undesirable for a wakeup button to send input events
+to userspace if pressed to wakeup the system (if pressed during suspend).
+
+A typical example of this is the power-button on laptops / tablets,
+sending a KEY_POWER event to userspace when woken up with the power-button
+will cause userspace to immediately suspend the system again which is
+undesirable.
+
+For power-buttons attached to a PMIC, or handled by e.g. ACPI, not sending
+an input event in this case is take care of by the PMIC / ACPI hardware /
+code. But in the case of a GPIO button we need to explicitly suppress the
+sending of the input event.
+
+This commit adds support for this by adding a no_wakeup_events bool to
+struct gpio_keys_button, which platform code can set to suppress the
+input events for presses of wakeup keys during suspend.
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+Changes in v2:
+-This is a rewrite if my "Input: gpio_keys - Do not report wake button
+ presses as evdev events" patch.
+-Instead of unconditionally ignoring presses of all wake-up buttons during
+ suspend, this rewrite makes this configurable per button
+-This version uses a timer to delay clearing the suspended flag for software
+ debouncing, rather then jiffy compare magic
+---
+ drivers/input/keyboard/gpio_keys.c | 33 +++++++++++++++++++++++++++++++--
+ include/linux/gpio_keys.h | 3 +++
+ 2 files changed, 34 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
+index a047b9af8369..fa3a58620407 100644
+--- a/drivers/input/keyboard/gpio_keys.c
++++ b/drivers/input/keyboard/gpio_keys.c
+@@ -38,6 +38,7 @@ struct gpio_button_data {
+
+ unsigned short *code;
+
++ struct timer_list unsuspend_timer;
+ struct timer_list release_timer;
+ unsigned int release_delay; /* in msecs, for IRQ-only buttons */
+
+@@ -371,6 +372,9 @@ static void gpio_keys_gpio_report_event(struct gpio_button_data *bdata)
+ return;
+ }
+
++ if (state && bdata->button->no_wakeup_events && bdata->suspended)
++ return;
++
+ if (type == EV_ABS) {
+ if (state)
+ input_event(input, type, button->code, button->value);
+@@ -400,6 +404,9 @@ static irqreturn_t gpio_keys_gpio_isr(int irq, void *dev_id)
+ if (bdata->button->wakeup) {
+ const struct gpio_keys_button *button = bdata->button;
+
++ if (bdata->button->no_wakeup_events && bdata->suspended)
++ return IRQ_HANDLED;
++
+ pm_stay_awake(bdata->input->dev.parent);
+ if (bdata->suspended &&
+ (button->type == 0 || button->type == EV_KEY)) {
+@@ -445,9 +452,13 @@ static irqreturn_t gpio_keys_irq_isr(int irq, void *dev_id)
+ spin_lock_irqsave(&bdata->lock, flags);
+
+ if (!bdata->key_pressed) {
+- if (bdata->button->wakeup)
++ if (bdata->button->wakeup) {
+ pm_wakeup_event(bdata->input->dev.parent, 0);
+
++ if (bdata->button->no_wakeup_events && bdata->suspended)
++ goto out;
++ }
++
+ input_event(input, EV_KEY, *bdata->code, 1);
+ input_sync(input);
+
+@@ -468,6 +479,13 @@ static irqreturn_t gpio_keys_irq_isr(int irq, void *dev_id)
+ return IRQ_HANDLED;
+ }
+
++static void gpio_keys_unsuspend_timer(unsigned long _data)
++{
++ struct gpio_button_data *bdata = (struct gpio_button_data *)_data;
++
++ bdata->suspended = false;
++}
++
+ static void gpio_keys_quiesce_key(void *data)
+ {
+ struct gpio_button_data *bdata = data;
+@@ -476,6 +494,8 @@ static void gpio_keys_quiesce_key(void *data)
+ cancel_delayed_work_sync(&bdata->work);
+ else
+ del_timer_sync(&bdata->release_timer);
++
++ del_timer_sync(&bdata->unsuspend_timer);
+ }
+
+ static int gpio_keys_setup_key(struct platform_device *pdev,
+@@ -496,6 +516,8 @@ static int gpio_keys_setup_key(struct platform_device *pdev,
+ bdata->input = input;
+ bdata->button = button;
+ spin_lock_init(&bdata->lock);
++ setup_timer(&bdata->unsuspend_timer, gpio_keys_unsuspend_timer,
++ (unsigned long)bdata);
+
+ if (child) {
+ bdata->gpiod = devm_fwnode_get_gpiod_from_child(dev, NULL,
+@@ -868,6 +890,7 @@ static int __maybe_unused gpio_keys_suspend(struct device *dev)
+ struct gpio_button_data *bdata = &ddata->data[i];
+ if (bdata->button->wakeup)
+ enable_irq_wake(bdata->irq);
++ del_timer_sync(&bdata->unsuspend_timer);
+ bdata->suspended = true;
+ }
+ } else {
+@@ -892,7 +915,13 @@ static int __maybe_unused gpio_keys_resume(struct device *dev)
+ struct gpio_button_data *bdata = &ddata->data[i];
+ if (bdata->button->wakeup)
+ disable_irq_wake(bdata->irq);
+- bdata->suspended = false;
++ if (bdata->button->no_wakeup_events) {
++ mod_timer(&bdata->unsuspend_timer, jiffies +
++ msecs_to_jiffies(
++ bdata->software_debounce));
++ } else {
++ bdata->suspended = false;
++ }
+ }
+ } else {
+ mutex_lock(&input->mutex);
+diff --git a/include/linux/gpio_keys.h b/include/linux/gpio_keys.h
+index 0b71024c082c..d8a85e52b6bb 100644
+--- a/include/linux/gpio_keys.h
++++ b/include/linux/gpio_keys.h
+@@ -15,6 +15,8 @@ struct device;
+ * @debounce_interval: debounce ticks interval in msecs
+ * @can_disable: %true indicates that userspace is allowed to
+ * disable button via sysfs
++ * @no_wakeup_events: For wake-up source buttons only, if %true then no input
++ * events will be generated if pressed while suspended
+ * @value: axis value for %EV_ABS
+ * @irq: Irq number in case of interrupt keys
+ */
+@@ -27,6 +29,7 @@ struct gpio_keys_button {
+ int wakeup;
+ int debounce_interval;
+ bool can_disable;
++ bool no_wakeup_events;
+ int value;
+ unsigned int irq;
+ };
+--
+2.13.4
+
diff --git a/0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch b/0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch
new file mode 100644
index 000000000..858cd5a34
--- /dev/null
+++ b/0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch
@@ -0,0 +1,78 @@
+From 075bb90dbb4d894938c5859e3850987238db9cd8 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Fri, 11 Aug 2017 22:30:55 +0200
+Subject: [PATCH 1/2] power: supply: max17042_battery: Add support for ACPI
+ enumeration
+
+Some x86 devices enumerate a max17047 fuel-gauge through a MAX17047
+ACPI firmware-node, add support for this.
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ drivers/power/supply/max17042_battery.c | 22 +++++++++++++++++++++-
+ 1 file changed, 21 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
+index aecaaa2b0586..b2ddb7eb69c6 100644
+--- a/drivers/power/supply/max17042_battery.c
++++ b/drivers/power/supply/max17042_battery.c
+@@ -22,6 +22,7 @@
+ * This driver is based on max17040_battery.c
+ */
+
++#include <linux/acpi.h>
+ #include <linux/init.h>
+ #include <linux/module.h>
+ #include <linux/slab.h>
+@@ -982,6 +983,8 @@ static int max17042_probe(struct i2c_client *client,
+ struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent);
+ const struct power_supply_desc *max17042_desc = &max17042_psy_desc;
+ struct power_supply_config psy_cfg = {};
++ const struct acpi_device_id *acpi_id;
++ struct device *dev = &client->dev;
+ struct max17042_chip *chip;
+ int ret;
+ int i;
+@@ -995,7 +998,15 @@ static int max17042_probe(struct i2c_client *client,
+ return -ENOMEM;
+
+ chip->client = client;
+- chip->chip_type = id->driver_data;
++ if (id) {
++ chip->chip_type = id->driver_data;
++ } else {
++ acpi_id = acpi_match_device(dev->driver->acpi_match_table, dev);
++ if (!acpi_id)
++ return -ENODEV;
++
++ chip->chip_type = acpi_id->driver_data;
++ }
+ chip->regmap = devm_regmap_init_i2c(client, &max17042_regmap_config);
+ if (IS_ERR(chip->regmap)) {
+ dev_err(&client->dev, "Failed to initialize regmap\n");
+@@ -1104,6 +1115,14 @@ static int max17042_resume(struct device *dev)
+ static SIMPLE_DEV_PM_OPS(max17042_pm_ops, max17042_suspend,
+ max17042_resume);
+
++#ifdef CONFIG_ACPI
++static const struct acpi_device_id max17042_acpi_match[] = {
++ { "MAX17047", MAXIM_DEVICE_TYPE_MAX17047 },
++ { }
++};
++MODULE_DEVICE_TABLE(acpi, max17042_acpi_match);
++#endif
++
+ #ifdef CONFIG_OF
+ static const struct of_device_id max17042_dt_match[] = {
+ { .compatible = "maxim,max17042" },
+@@ -1125,6 +1144,7 @@ MODULE_DEVICE_TABLE(i2c, max17042_id);
+ static struct i2c_driver max17042_i2c_driver = {
+ .driver = {
+ .name = "max17042",
++ .acpi_match_table = ACPI_PTR(max17042_acpi_match),
+ .of_match_table = of_match_ptr(max17042_dt_match),
+ .pm = &max17042_pm_ops,
+ },
+--
+2.13.4
+
diff --git a/0002-Input-soc_button_array-Suppress-power-button-presses.patch b/0002-Input-soc_button_array-Suppress-power-button-presses.patch
new file mode 100644
index 000000000..d95aeb36c
--- /dev/null
+++ b/0002-Input-soc_button_array-Suppress-power-button-presses.patch
@@ -0,0 +1,62 @@
+From d561f0543506bc12e7b3355efddb0bfd7ca83c74 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Sat, 22 Jul 2017 13:17:36 +0200
+Subject: [PATCH 2/2] Input: soc_button_array - Suppress power button presses
+ during suspend
+
+If the power-button is pressed to wakeup the laptop/tablet from suspend
+and we report a KEY_POWER event to userspace when woken up this will cause
+userspace to immediately suspend the system again which is undesirable.
+
+This commit sets the new no_wakeup_events flag in the gpio_keys_button
+struct for the power-button suppressing the undesirable KEY_POWER input
+events on wake-up.
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+Changes in v2:
+-New patch in v2 of this patch-set
+---
+ drivers/input/misc/soc_button_array.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/input/misc/soc_button_array.c b/drivers/input/misc/soc_button_array.c
+index f600f3a7a3c6..27b99831cb97 100644
+--- a/drivers/input/misc/soc_button_array.c
++++ b/drivers/input/misc/soc_button_array.c
+@@ -27,6 +27,7 @@ struct soc_button_info {
+ unsigned int event_code;
+ bool autorepeat;
+ bool wakeup;
++ bool no_wakeup_events;
+ };
+
+ /*
+@@ -100,6 +101,7 @@ soc_button_device_create(struct platform_device *pdev,
+ gpio_keys[n_buttons].active_low = 1;
+ gpio_keys[n_buttons].desc = info->name;
+ gpio_keys[n_buttons].wakeup = info->wakeup;
++ gpio_keys[n_buttons].no_wakeup_events = info->no_wakeup_events;
+ /* These devices often use cheap buttons, use 50 ms debounce */
+ gpio_keys[n_buttons].debounce_interval = 50;
+ n_buttons++;
+@@ -185,6 +187,7 @@ static int soc_button_parse_btn_desc(struct device *dev,
+ info->name = "power";
+ info->event_code = KEY_POWER;
+ info->wakeup = true;
++ info->no_wakeup_events = true;
+ } else if (upage == 0x07 && usage == 0xe3) {
+ info->name = "home";
+ info->event_code = KEY_LEFTMETA;
+@@ -369,7 +372,7 @@ static int soc_button_probe(struct platform_device *pdev)
+ * Platforms"
+ */
+ static struct soc_button_info soc_button_PNP0C40[] = {
+- { "power", 0, EV_KEY, KEY_POWER, false, true },
++ { "power", 0, EV_KEY, KEY_POWER, false, true, true },
+ { "home", 1, EV_KEY, KEY_LEFTMETA, false, true },
+ { "volume_up", 2, EV_KEY, KEY_VOLUMEUP, true, false },
+ { "volume_down", 3, EV_KEY, KEY_VOLUMEDOWN, true, false },
+--
+2.13.4
+
diff --git a/0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch b/0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch
new file mode 100644
index 000000000..6daecaf4d
--- /dev/null
+++ b/0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch
@@ -0,0 +1,80 @@
+From 27b9d46d25c873b351757c44ce523bf0ede1d08e Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Mon, 14 Aug 2017 11:02:59 +0200
+Subject: [PATCH 2/2] power: supply: max17042_battery: Fix ACPI interrupt
+ issues
+
+On some x86/ACPI boards the DSDT defines an ACPI event handler for
+the max17047 IRQ, this causes several problems:
+
+1) We need to share the IRQ to avoid an error getting it
+
+2) Even of we are willing to share, we may fail to share because some
+ DSDTs claim it exclusivly
+
+3) If we are unable to share the IRQ, or the IRQ is only listed as an
+ ACPI event source and not in the max1704 firmware node, then the
+ charge threshold IRQ (which is used to give an IRQ every 1 percent
+ charge change) becomes a problem, the ACPI event handler will not
+ update this to the next 1 percent threshold, so the IRQ keeps firing
+ and we get an IRQ storm pegging 1 CPU core.
+
+ This happens despite the max17042 driver not setting the charge
+ threshold because Windows uses it and leaves it set on reboot.
+
+ So if we are unable to get the IRQ we need to reprogram the
+ charge threshold to its disabled setting.
+
+This commit fixes al of the above, while at it it also makes the error
+msg when being unable to get the IRQ consistent with other messages.
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ drivers/power/supply/max17042_battery.c | 20 +++++++++++++++-----
+ 1 file changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
+index b2ddb7eb69c6..18a44e4ed6ff 100644
+--- a/drivers/power/supply/max17042_battery.c
++++ b/drivers/power/supply/max17042_battery.c
+@@ -1050,11 +1050,18 @@ static int max17042_probe(struct i2c_client *client,
+ }
+
+ if (client->irq) {
++ unsigned int flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT;
++
++ /*
++ * On ACPI systems the IRQ may be handled by ACPI-event code,
++ * so we need to share (if the ACPI code is willing to share).
++ */
++ if (acpi_id)
++ flags |= IRQF_SHARED | IRQF_PROBE_SHARED;
++
+ ret = devm_request_threaded_irq(&client->dev, client->irq,
+ NULL,
+- max17042_thread_handler,
+- IRQF_TRIGGER_FALLING |
+- IRQF_ONESHOT,
++ max17042_thread_handler, flags,
+ chip->battery->desc->name,
+ chip);
+ if (!ret) {
+@@ -1064,10 +1071,13 @@ static int max17042_probe(struct i2c_client *client,
+ max17042_set_soc_threshold(chip, 1);
+ } else {
+ client->irq = 0;
+- dev_err(&client->dev, "%s(): cannot get IRQ\n",
+- __func__);
++ if (ret != -EBUSY)
++ dev_err(&client->dev, "Failed to get IRQ\n");
+ }
+ }
++ /* Not able to update the charge threshold when exceeded? -> disable */
++ if (!client->irq)
++ regmap_write(chip->regmap, MAX17042_SALRT_Th, 0xff00);
+
+ regmap_read(chip->regmap, MAX17042_STATUS, &val);
+ if (val & STATUS_POR_BIT) {
+--
+2.13.4
+
diff --git a/0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch b/0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch
deleted file mode 100644
index 9b52e3908..000000000
--- a/0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-From 02b823a4d28ffb5fde5192799abd934d9de95630 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Fri, 6 Jan 2017 20:08:11 +0100
-Subject: [PATCH 12/16] Input: gpio_keys - Do not report wake button presses as
- evdev events
-
-If a button is a wake button, it may still be bouncing from the press
-to wakeup the device by the time the gpio interrupts get enabled again
-and / or the gpio_keys_report_state call from gpio_keys_resume may
-find the button still pressed and report this as a new press.
-
-This is undesirable, esp. since the powerbutton on tablets is typically
-a wakeup source and uses the gpio_keys driver on some tablets, leading
-to userspace immediately re-suspending the tablet after the powerbutton
-is pressed, due to it seeing a powerbutton press.
-
-This commit ignores wakeup button presses for the first 1 second after
-resume (and while resumed, as the workqueue may run before the resume
-function runs), avoiding this problem.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
-Note: maybe we should make WAKE_DEBOUNCE part of gpio_keys_button and
-only do this when drivers / platform-data set this to a non-zero value ?
----
- drivers/input/keyboard/gpio_keys.c | 49 ++++++++++++++++++++++++++++++++++++--
- 1 file changed, 47 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
-index da3d362f21b1..e1488b534e7d 100644
---- a/drivers/input/keyboard/gpio_keys.c
-+++ b/drivers/input/keyboard/gpio_keys.c
-@@ -31,6 +31,8 @@
- #include <linux/of_irq.h>
- #include <linux/spinlock.h>
-
-+#define WAKE_DEBOUNCE msecs_to_jiffies(1000)
-+
- struct gpio_button_data {
- const struct gpio_keys_button *button;
- struct input_dev *input;
-@@ -44,10 +46,14 @@ struct gpio_button_data {
- struct delayed_work work;
- unsigned int software_debounce; /* in msecs, for GPIO-driven buttons */
-
-+ unsigned long resume_time; /* in jiffies, for wakeup buttons */
-+
- unsigned int irq;
- spinlock_t lock;
- bool disabled;
- bool key_pressed;
-+ bool suspended;
-+ bool resume_time_valid;
- };
-
- struct gpio_keys_drvdata {
-@@ -356,6 +362,27 @@ static struct attribute_group gpio_keys_attr_group = {
- .attrs = gpio_keys_attrs,
- };
-
-+static bool gpio_keys_ignore_wakeup_button_press(struct gpio_button_data *bdata)
-+{
-+ unsigned long flags;
-+ bool ret = false;
-+
-+ if (!bdata->button->wakeup)
-+ return ret;
-+
-+ spin_lock_irqsave(&bdata->lock, flags);
-+
-+ if (bdata->suspended)
-+ ret = true; /* Our resume method did not run yet */
-+ else if (bdata->resume_time_valid &&
-+ time_before(jiffies, bdata->resume_time + WAKE_DEBOUNCE))
-+ ret = true; /* Assume this is a wakeup press and ignore */
-+
-+ spin_unlock_irqrestore(&bdata->lock, flags);
-+
-+ return ret;
-+}
-+
- static void gpio_keys_gpio_report_event(struct gpio_button_data *bdata)
- {
- const struct gpio_keys_button *button = bdata->button;
-@@ -370,6 +397,9 @@ static void gpio_keys_gpio_report_event(struct gpio_button_data *bdata)
- return;
- }
-
-+ if (state && gpio_keys_ignore_wakeup_button_press(bdata))
-+ return;
-+
- if (type == EV_ABS) {
- if (state)
- input_event(input, type, button->code, button->value);
-@@ -429,6 +459,9 @@ static irqreturn_t gpio_keys_irq_isr(int irq, void *dev_id)
-
- BUG_ON(irq != bdata->irq);
-
-+ if (gpio_keys_ignore_wakeup_button_press(bdata))
-+ return IRQ_HANDLED;
-+
- spin_lock_irqsave(&bdata->lock, flags);
-
- if (!bdata->key_pressed) {
-@@ -848,13 +881,18 @@ static int __maybe_unused gpio_keys_suspend(struct device *dev)
- {
- struct gpio_keys_drvdata *ddata = dev_get_drvdata(dev);
- struct input_dev *input = ddata->input;
-+ unsigned long flags;
- int i;
-
- if (device_may_wakeup(dev)) {
- for (i = 0; i < ddata->pdata->nbuttons; i++) {
- struct gpio_button_data *bdata = &ddata->data[i];
-- if (bdata->button->wakeup)
-+ if (bdata->button->wakeup) {
-+ spin_lock_irqsave(&bdata->lock, flags);
-+ bdata->suspended = true;
-+ spin_unlock_irqrestore(&bdata->lock, flags);
- enable_irq_wake(bdata->irq);
-+ }
- }
- } else {
- mutex_lock(&input->mutex);
-@@ -870,14 +908,21 @@ static int __maybe_unused gpio_keys_resume(struct device *dev)
- {
- struct gpio_keys_drvdata *ddata = dev_get_drvdata(dev);
- struct input_dev *input = ddata->input;
-+ unsigned long flags;
- int error = 0;
- int i;
-
- if (device_may_wakeup(dev)) {
- for (i = 0; i < ddata->pdata->nbuttons; i++) {
- struct gpio_button_data *bdata = &ddata->data[i];
-- if (bdata->button->wakeup)
-+ if (bdata->button->wakeup) {
- disable_irq_wake(bdata->irq);
-+ spin_lock_irqsave(&bdata->lock, flags);
-+ bdata->resume_time = jiffies;
-+ bdata->resume_time_valid = true;
-+ bdata->suspended = false;
-+ spin_unlock_irqrestore(&bdata->lock, flags);
-+ }
- }
- } else {
- mutex_lock(&input->mutex);
---
-2.13.0
-
diff --git a/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch b/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch
deleted file mode 100644
index 14b4c27bf..000000000
--- a/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From fd4fb1f6633b21042ff084868323e15e708fe1cd Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 1 Jan 2017 22:11:20 +0100
-Subject: [PATCH 16/16] Input: silead: Do not try to directly access the GPIO
- when using ACPI pm
-
-On some x86 tablets we cannot directly access the GPIOs as they are
-claimed by the ACPI tables, so check it the i2c client is not being
-power-managed by ACPI before trying to get the power pin GPIO.
-
-Note this is a workaround patch to fix this until Andy' gpiolib-ACPI
-patches which make gpiolib more strict land, once those are landed this
-patch is no longer needed.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/input/touchscreen/silead.c | 22 ++++++++++++++++------
- 1 file changed, 16 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/input/touchscreen/silead.c b/drivers/input/touchscreen/silead.c
-index c0ba40c09699..30fba3cbe277 100644
---- a/drivers/input/touchscreen/silead.c
-+++ b/drivers/input/touchscreen/silead.c
-@@ -517,12 +518,21 @@ static int silead_ts_probe(struct i2c_client *client,
- if (error)
- return error;
-
-- /* Power GPIO pin */
-- data->gpio_power = devm_gpiod_get_optional(dev, "power", GPIOD_OUT_LOW);
-- if (IS_ERR(data->gpio_power)) {
-- if (PTR_ERR(data->gpio_power) != -EPROBE_DEFER)
-- dev_err(dev, "Shutdown GPIO request failed\n");
-- return PTR_ERR(data->gpio_power);
-+ /*
-+ * If device power is not managed by ACPI, get the power_gpio
-+ * and manage it ourselves.
-+ */
-+#ifdef CONFIG_ACPI
-+ if (!acpi_bus_power_manageable(ACPI_HANDLE(dev)))
-+#endif
-+ {
-+ data->gpio_power = devm_gpiod_get_optional(dev, "power",
-+ GPIOD_OUT_LOW);
-+ if (IS_ERR(data->gpio_power)) {
-+ if (PTR_ERR(data->gpio_power) != -EPROBE_DEFER)
-+ dev_err(dev, "Power GPIO request failed\n");
-+ return PTR_ERR(data->gpio_power);
-+ }
- }
-
- error = silead_ts_setup(client);
---
-2.13.0
-
diff --git a/baseconfig/CONFIG_INFINIBAND_VMWARE_PVRDMA b/baseconfig/CONFIG_INFINIBAND_VMWARE_PVRDMA
index 164f3b26c..0743f41a5 100644
--- a/baseconfig/CONFIG_INFINIBAND_VMWARE_PVRDMA
+++ b/baseconfig/CONFIG_INFINIBAND_VMWARE_PVRDMA
@@ -1 +1 @@
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
diff --git a/baseconfig/arm/armv7/CONFIG_CGROUP_RDMA b/baseconfig/arm/armv7/CONFIG_CGROUP_RDMA
new file mode 100644
index 000000000..94ae4f4bc
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_CGROUP_RDMA
@@ -0,0 +1 @@
+# CONFIG_CGROUP_RDMA is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND b/baseconfig/arm/armv7/CONFIG_INFINIBAND
new file mode 100644
index 000000000..b475048ed
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB3 b/baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB3
new file mode 100644
index 000000000..f06c87360
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB3
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_CXGB3 is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB4 b/baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB4
new file mode 100644
index 000000000..40ff06894
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB4
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_CXGB4 is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_I40IW b/baseconfig/arm/armv7/CONFIG_INFINIBAND_I40IW
new file mode 100644
index 000000000..39998dbd7
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_I40IW
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_I40IW is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB
new file mode 100644
index 000000000..5f27e681e
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_IPOIB is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_CM b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_CM
new file mode 100644
index 000000000..b26396a7e
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_CM
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_IPOIB_CM is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG
new file mode 100644
index 000000000..f1a19d66a
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG_DATA b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG_DATA
new file mode 100644
index 000000000..00e419c17
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG_DATA
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_ISER b/baseconfig/arm/armv7/CONFIG_INFINIBAND_ISER
new file mode 100644
index 000000000..89d63b0a5
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_ISER
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_ISER is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_ISERT b/baseconfig/arm/armv7/CONFIG_INFINIBAND_ISERT
new file mode 100644
index 000000000..a8c9bda68
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_ISERT
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_ISERT is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_MTHCA b/baseconfig/arm/armv7/CONFIG_INFINIBAND_MTHCA
new file mode 100644
index 000000000..a134e36a3
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_MTHCA
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_MTHCA is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_NES b/baseconfig/arm/armv7/CONFIG_INFINIBAND_NES
new file mode 100644
index 000000000..eee505590
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_NES
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_NES is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_OCRDMA b/baseconfig/arm/armv7/CONFIG_INFINIBAND_OCRDMA
new file mode 100644
index 000000000..12ff35161
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_OCRDMA
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_OCRDMA is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_ON_DEMAND_PAGING b/baseconfig/arm/armv7/CONFIG_INFINIBAND_ON_DEMAND_PAGING
new file mode 100644
index 000000000..80be02a8b
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_ON_DEMAND_PAGING
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_ON_DEMAND_PAGING is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB b/baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB
new file mode 100644
index 000000000..591f4e962
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_QIB is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB_DCA b/baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB_DCA
new file mode 100644
index 000000000..810520ecc
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB_DCA
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_QIB_DCA is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_RDMAVT b/baseconfig/arm/armv7/CONFIG_INFINIBAND_RDMAVT
new file mode 100644
index 000000000..b32d29489
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_RDMAVT
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_RDMAVT is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_SRP b/baseconfig/arm/armv7/CONFIG_INFINIBAND_SRP
new file mode 100644
index 000000000..27e9c13e6
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_SRP
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_SRP is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_SRPT b/baseconfig/arm/armv7/CONFIG_INFINIBAND_SRPT
new file mode 100644
index 000000000..ad99ea1ea
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_SRPT
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_SRPT is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_ACCESS b/baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_ACCESS
new file mode 100644
index 000000000..e59e563c4
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_ACCESS
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_USER_ACCESS is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_MAD b/baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_MAD
new file mode 100644
index 000000000..2dd5ad05d
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_MAD
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_USER_MAD is not set
diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_USNIC b/baseconfig/arm/armv7/CONFIG_INFINIBAND_USNIC
new file mode 100644
index 000000000..3624c0fd6
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_USNIC
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_USNIC is not set
diff --git a/baseconfig/arm/armv7/CONFIG_MLX4_INFINIBAND b/baseconfig/arm/armv7/CONFIG_MLX4_INFINIBAND
new file mode 100644
index 000000000..84f627ee6
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_MLX4_INFINIBAND
@@ -0,0 +1 @@
+# CONFIG_MLX4_INFINIBAND is not set
diff --git a/baseconfig/arm/armv7/CONFIG_MLX5_INFINIBAND b/baseconfig/arm/armv7/CONFIG_MLX5_INFINIBAND
new file mode 100644
index 000000000..c09ba1a61
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_MLX5_INFINIBAND
@@ -0,0 +1 @@
+# CONFIG_MLX5_INFINIBAND is not set
diff --git a/baseconfig/arm/armv7/CONFIG_NET_9P_RDMA b/baseconfig/arm/armv7/CONFIG_NET_9P_RDMA
new file mode 100644
index 000000000..fce5acb9a
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_NET_9P_RDMA
@@ -0,0 +1 @@
+# CONFIG_NET_9P_RDMA is not set
diff --git a/baseconfig/arm/armv7/CONFIG_NVME_RDMA b/baseconfig/arm/armv7/CONFIG_NVME_RDMA
new file mode 100644
index 000000000..5815bee55
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_NVME_RDMA
@@ -0,0 +1 @@
+# CONFIG_NVME_RDMA is not set
diff --git a/baseconfig/arm/armv7/CONFIG_NVME_TARGET_RDMA b/baseconfig/arm/armv7/CONFIG_NVME_TARGET_RDMA
new file mode 100644
index 000000000..e57c5b285
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_NVME_TARGET_RDMA
@@ -0,0 +1 @@
+# CONFIG_NVME_TARGET_RDMA is not set
diff --git a/baseconfig/arm/armv7/CONFIG_RDMA_RXE b/baseconfig/arm/armv7/CONFIG_RDMA_RXE
new file mode 100644
index 000000000..66d4cbe32
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_RDMA_RXE
@@ -0,0 +1 @@
+# CONFIG_RDMA_RXE is not set
diff --git a/baseconfig/arm/armv7/CONFIG_RDS_RDMA b/baseconfig/arm/armv7/CONFIG_RDS_RDMA
new file mode 100644
index 000000000..169ffb921
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_RDS_RDMA
@@ -0,0 +1 @@
+# CONFIG_RDS_RDMA is not set
diff --git a/baseconfig/arm/armv7/CONFIG_SECURITY_INFINIBAND b/baseconfig/arm/armv7/CONFIG_SECURITY_INFINIBAND
new file mode 100644
index 000000000..8bcc67164
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SECURITY_INFINIBAND
@@ -0,0 +1 @@
+# CONFIG_SECURITY_INFINIBAND is not set
diff --git a/baseconfig/arm/armv7/CONFIG_SUNRPC_XPRT_RDMA b/baseconfig/arm/armv7/CONFIG_SUNRPC_XPRT_RDMA
new file mode 100644
index 000000000..f0616cc93
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SUNRPC_XPRT_RDMA
@@ -0,0 +1 @@
+# CONFIG_SUNRPC_XPRT_RDMA is not set
diff --git a/baseconfig/x86/CONFIG_INFINIBAND_VMWARE_PVRDMA b/baseconfig/x86/CONFIG_INFINIBAND_VMWARE_PVRDMA
new file mode 100644
index 000000000..164f3b26c
--- /dev/null
+++ b/baseconfig/x86/CONFIG_INFINIBAND_VMWARE_PVRDMA
@@ -0,0 +1 @@
+CONFIG_INFINIBAND_VMWARE_PVRDMA=m
diff --git a/gitrev b/gitrev
index 298ebc065..6a2ff68b4 100644
--- a/gitrev
+++ b/gitrev
@@ -1 +1 @@
-36fde05f3fb51edea879636db590d70e11f16c82
+42ff72cf27027fa28dd79acabe01d9196f1480a7
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index 358e0274f..9cc528648 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -2185,7 +2185,7 @@ CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
diff --git a/kernel-aarch64.config b/kernel-aarch64.config
index 7ddff1919..151f383ed 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -2168,7 +2168,7 @@ CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config
index 925fd0f15..e83a8732a 100644
--- a/kernel-armv7hl-debug.config
+++ b/kernel-armv7hl-debug.config
@@ -2306,31 +2306,31 @@ CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
-CONFIG_INFINIBAND_CXGB3=m
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_INFINIBAND_I40IW=m
-CONFIG_INFINIBAND_IPOIB_CM=y
-CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-CONFIG_INFINIBAND_IPOIB=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_INFINIBAND_ISERT=m
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_MTHCA=m
+# CONFIG_INFINIBAND_CXGB3 is not set
+# CONFIG_INFINIBAND_CXGB4 is not set
+# CONFIG_INFINIBAND_I40IW is not set
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
+# CONFIG_INFINIBAND_IPOIB is not set
+# CONFIG_INFINIBAND_ISER is not set
+# CONFIG_INFINIBAND_ISERT is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_NES=m
-CONFIG_INFINIBAND_OCRDMA=m
-CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
+# CONFIG_INFINIBAND_NES is not set
+# CONFIG_INFINIBAND_OCRDMA is not set
+# CONFIG_INFINIBAND_ON_DEMAND_PAGING is not set
# CONFIG_INFINIBAND_QEDR is not set
-CONFIG_INFINIBAND_QIB_DCA=y
-CONFIG_INFINIBAND_QIB=m
-CONFIG_INFINIBAND_RDMAVT=m
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_SRPT=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_QIB_DCA is not set
+# CONFIG_INFINIBAND_QIB is not set
+# CONFIG_INFINIBAND_RDMAVT is not set
+# CONFIG_INFINIBAND_SRP is not set
+# CONFIG_INFINIBAND_SRPT is not set
+# CONFIG_INFINIBAND_USER_ACCESS is not set
+# CONFIG_INFINIBAND_USER_MAD is not set
+# CONFIG_INFINIBAND_USNIC is not set
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
@@ -3264,14 +3264,14 @@ CONFIG_MKISS=m
CONFIG_MLX4_CORE=m
CONFIG_MLX4_EN_DCB=y
CONFIG_MLX4_EN=m
-CONFIG_MLX4_INFINIBAND=m
+# CONFIG_MLX4_INFINIBAND is not set
CONFIG_MLX5_CORE_EN_DCB=y
CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
# CONFIG_MLX5_FPGA is not set
-CONFIG_MLX5_INFINIBAND=m
+# CONFIG_MLX5_INFINIBAND is not set
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3557,7 +3557,7 @@ CONFIG_NE2K_PCI=m
CONFIG_NEON=y
# CONFIG_NET_9P_DEBUG is not set
CONFIG_NET_9P=m
-CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_RDMA is not set
CONFIG_NET_9P_VIRTIO=m
CONFIG_NET_9P_XEN=m
CONFIG_NET_ACT_BPF=m
@@ -4062,12 +4062,12 @@ CONFIG_NVMEM_IMX_IIM=m
CONFIG_NVMEM_IMX_OCOTP=m
CONFIG_NVMEM=m
CONFIG_NVMEM_SUNXI_SID=m
-CONFIG_NVME_RDMA=m
+# CONFIG_NVME_RDMA is not set
CONFIG_NVME_TARGET_FCLOOP=m
CONFIG_NVME_TARGET_FC=m
CONFIG_NVME_TARGET_LOOP=m
CONFIG_NVME_TARGET=m
-CONFIG_NVME_TARGET_RDMA=m
+# CONFIG_NVME_TARGET_RDMA is not set
# CONFIG_NVM is not set
# CONFIG_NVRAM is not set
# CONFIG_OABI_COMPAT is not set
@@ -4625,10 +4625,10 @@ CONFIG_RD_GZIP=y
CONFIG_RD_LZ4=y
CONFIG_RD_LZMA=y
CONFIG_RD_LZO=y
-CONFIG_RDMA_RXE=m
+# CONFIG_RDMA_RXE is not set
# CONFIG_RDS_DEBUG is not set
# CONFIG_RDS is not set
-CONFIG_RDS_RDMA=m
+# CONFIG_RDS_RDMA is not set
CONFIG_RDS_TCP=m
CONFIG_RD_XZ=y
# CONFIG_READABLE_ASM is not set
@@ -5089,7 +5089,7 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITYFS=y
-CONFIG_SECURITY_INFINIBAND=y
+# CONFIG_SECURITY_INFINIBAND is not set
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_NETWORK=y
@@ -5953,7 +5953,7 @@ CONFIG_SUN_PARTITION=y
CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
-CONFIG_SUNRPC_XPRT_RDMA=m
+# CONFIG_SUNRPC_XPRT_RDMA is not set
CONFIG_SUNXI_CCU=y
CONFIG_SUNXI_RSB=m
CONFIG_SUNXI_SRAM=y
diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config
index 7a2b1481f..af3e2a1da 100644
--- a/kernel-armv7hl-lpae-debug.config
+++ b/kernel-armv7hl-lpae-debug.config
@@ -2186,31 +2186,31 @@ CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
-CONFIG_INFINIBAND_CXGB3=m
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_INFINIBAND_I40IW=m
-CONFIG_INFINIBAND_IPOIB_CM=y
-CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-CONFIG_INFINIBAND_IPOIB=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_INFINIBAND_ISERT=m
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_MTHCA=m
+# CONFIG_INFINIBAND_CXGB3 is not set
+# CONFIG_INFINIBAND_CXGB4 is not set
+# CONFIG_INFINIBAND_I40IW is not set
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
+# CONFIG_INFINIBAND_IPOIB is not set
+# CONFIG_INFINIBAND_ISER is not set
+# CONFIG_INFINIBAND_ISERT is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_NES=m
-CONFIG_INFINIBAND_OCRDMA=m
-CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
+# CONFIG_INFINIBAND_NES is not set
+# CONFIG_INFINIBAND_OCRDMA is not set
+# CONFIG_INFINIBAND_ON_DEMAND_PAGING is not set
# CONFIG_INFINIBAND_QEDR is not set
-CONFIG_INFINIBAND_QIB_DCA=y
-CONFIG_INFINIBAND_QIB=m
-CONFIG_INFINIBAND_RDMAVT=m
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_SRPT=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_QIB_DCA is not set
+# CONFIG_INFINIBAND_QIB is not set
+# CONFIG_INFINIBAND_RDMAVT is not set
+# CONFIG_INFINIBAND_SRP is not set
+# CONFIG_INFINIBAND_SRPT is not set
+# CONFIG_INFINIBAND_USER_ACCESS is not set
+# CONFIG_INFINIBAND_USER_MAD is not set
+# CONFIG_INFINIBAND_USNIC is not set
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
@@ -3118,14 +3118,14 @@ CONFIG_MKISS=m
CONFIG_MLX4_CORE=m
CONFIG_MLX4_EN_DCB=y
CONFIG_MLX4_EN=m
-CONFIG_MLX4_INFINIBAND=m
+# CONFIG_MLX4_INFINIBAND is not set
CONFIG_MLX5_CORE_EN_DCB=y
CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
# CONFIG_MLX5_FPGA is not set
-CONFIG_MLX5_INFINIBAND=m
+# CONFIG_MLX5_INFINIBAND is not set
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3386,7 +3386,7 @@ CONFIG_NE2K_PCI=m
CONFIG_NEON=y
# CONFIG_NET_9P_DEBUG is not set
CONFIG_NET_9P=m
-CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_RDMA is not set
CONFIG_NET_9P_VIRTIO=m
CONFIG_NET_9P_XEN=m
CONFIG_NET_ACT_BPF=m
@@ -3885,12 +3885,12 @@ CONFIG_NVME_FC=m
CONFIG_NVMEM_IMX_IIM=m
CONFIG_NVMEM=m
CONFIG_NVMEM_SUNXI_SID=m
-CONFIG_NVME_RDMA=m
+# CONFIG_NVME_RDMA is not set
CONFIG_NVME_TARGET_FCLOOP=m
CONFIG_NVME_TARGET_FC=m
CONFIG_NVME_TARGET_LOOP=m
CONFIG_NVME_TARGET=m
-CONFIG_NVME_TARGET_RDMA=m
+# CONFIG_NVME_TARGET_RDMA is not set
# CONFIG_NVM is not set
# CONFIG_NVRAM is not set
# CONFIG_OABI_COMPAT is not set
@@ -4352,10 +4352,10 @@ CONFIG_RD_GZIP=y
CONFIG_RD_LZ4=y
CONFIG_RD_LZMA=y
CONFIG_RD_LZO=y
-CONFIG_RDMA_RXE=m
+# CONFIG_RDMA_RXE is not set
# CONFIG_RDS_DEBUG is not set
# CONFIG_RDS is not set
-CONFIG_RDS_RDMA=m
+# CONFIG_RDS_RDMA is not set
CONFIG_RDS_TCP=m
CONFIG_RD_XZ=y
# CONFIG_READABLE_ASM is not set
@@ -4787,7 +4787,7 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITYFS=y
-CONFIG_SECURITY_INFINIBAND=y
+# CONFIG_SECURITY_INFINIBAND is not set
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_NETWORK=y
@@ -5556,7 +5556,7 @@ CONFIG_SUN_PARTITION=y
CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
-CONFIG_SUNRPC_XPRT_RDMA=m
+# CONFIG_SUNRPC_XPRT_RDMA is not set
CONFIG_SUNXI_CCU=y
CONFIG_SUNXI_RSB=m
CONFIG_SUNXI_SRAM=y
diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config
index b323fd88a..984e00189 100644
--- a/kernel-armv7hl-lpae.config
+++ b/kernel-armv7hl-lpae.config
@@ -2169,31 +2169,31 @@ CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
-CONFIG_INFINIBAND_CXGB3=m
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_INFINIBAND_I40IW=m
-CONFIG_INFINIBAND_IPOIB_CM=y
-CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-CONFIG_INFINIBAND_IPOIB=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_INFINIBAND_ISERT=m
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_MTHCA=m
+# CONFIG_INFINIBAND_CXGB3 is not set
+# CONFIG_INFINIBAND_CXGB4 is not set
+# CONFIG_INFINIBAND_I40IW is not set
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
+# CONFIG_INFINIBAND_IPOIB is not set
+# CONFIG_INFINIBAND_ISER is not set
+# CONFIG_INFINIBAND_ISERT is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_NES=m
-CONFIG_INFINIBAND_OCRDMA=m
-CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
+# CONFIG_INFINIBAND_NES is not set
+# CONFIG_INFINIBAND_OCRDMA is not set
+# CONFIG_INFINIBAND_ON_DEMAND_PAGING is not set
# CONFIG_INFINIBAND_QEDR is not set
-CONFIG_INFINIBAND_QIB_DCA=y
-CONFIG_INFINIBAND_QIB=m
-CONFIG_INFINIBAND_RDMAVT=m
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_SRPT=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_QIB_DCA is not set
+# CONFIG_INFINIBAND_QIB is not set
+# CONFIG_INFINIBAND_RDMAVT is not set
+# CONFIG_INFINIBAND_SRP is not set
+# CONFIG_INFINIBAND_SRPT is not set
+# CONFIG_INFINIBAND_USER_ACCESS is not set
+# CONFIG_INFINIBAND_USER_MAD is not set
+# CONFIG_INFINIBAND_USNIC is not set
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
@@ -3098,14 +3098,14 @@ CONFIG_MKISS=m
CONFIG_MLX4_CORE=m
CONFIG_MLX4_EN_DCB=y
CONFIG_MLX4_EN=m
-CONFIG_MLX4_INFINIBAND=m
+# CONFIG_MLX4_INFINIBAND is not set
CONFIG_MLX5_CORE_EN_DCB=y
CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
# CONFIG_MLX5_FPGA is not set
-CONFIG_MLX5_INFINIBAND=m
+# CONFIG_MLX5_INFINIBAND is not set
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3365,7 +3365,7 @@ CONFIG_NE2K_PCI=m
CONFIG_NEON=y
# CONFIG_NET_9P_DEBUG is not set
CONFIG_NET_9P=m
-CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_RDMA is not set
CONFIG_NET_9P_VIRTIO=m
CONFIG_NET_9P_XEN=m
CONFIG_NET_ACT_BPF=m
@@ -3864,12 +3864,12 @@ CONFIG_NVME_FC=m
CONFIG_NVMEM_IMX_IIM=m
CONFIG_NVMEM=m
CONFIG_NVMEM_SUNXI_SID=m
-CONFIG_NVME_RDMA=m
+# CONFIG_NVME_RDMA is not set
CONFIG_NVME_TARGET_FCLOOP=m
CONFIG_NVME_TARGET_FC=m
CONFIG_NVME_TARGET_LOOP=m
CONFIG_NVME_TARGET=m
-CONFIG_NVME_TARGET_RDMA=m
+# CONFIG_NVME_TARGET_RDMA is not set
# CONFIG_NVM is not set
# CONFIG_NVRAM is not set
# CONFIG_OABI_COMPAT is not set
@@ -4330,10 +4330,10 @@ CONFIG_RD_GZIP=y
CONFIG_RD_LZ4=y
CONFIG_RD_LZMA=y
CONFIG_RD_LZO=y
-CONFIG_RDMA_RXE=m
+# CONFIG_RDMA_RXE is not set
# CONFIG_RDS_DEBUG is not set
# CONFIG_RDS is not set
-CONFIG_RDS_RDMA=m
+# CONFIG_RDS_RDMA is not set
CONFIG_RDS_TCP=m
CONFIG_RD_XZ=y
# CONFIG_READABLE_ASM is not set
@@ -4765,7 +4765,7 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITYFS=y
-CONFIG_SECURITY_INFINIBAND=y
+# CONFIG_SECURITY_INFINIBAND is not set
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_NETWORK=y
@@ -5533,7 +5533,7 @@ CONFIG_SUN_PARTITION=y
CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
-CONFIG_SUNRPC_XPRT_RDMA=m
+# CONFIG_SUNRPC_XPRT_RDMA is not set
CONFIG_SUNXI_CCU=y
CONFIG_SUNXI_RSB=m
CONFIG_SUNXI_SRAM=y
diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config
index 8a5dace29..73ff3c694 100644
--- a/kernel-armv7hl.config
+++ b/kernel-armv7hl.config
@@ -2289,31 +2289,31 @@ CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
-CONFIG_INFINIBAND_CXGB3=m
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_INFINIBAND_I40IW=m
-CONFIG_INFINIBAND_IPOIB_CM=y
-CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-CONFIG_INFINIBAND_IPOIB=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_INFINIBAND_ISERT=m
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_MTHCA=m
+# CONFIG_INFINIBAND_CXGB3 is not set
+# CONFIG_INFINIBAND_CXGB4 is not set
+# CONFIG_INFINIBAND_I40IW is not set
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
+# CONFIG_INFINIBAND_IPOIB is not set
+# CONFIG_INFINIBAND_ISER is not set
+# CONFIG_INFINIBAND_ISERT is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_NES=m
-CONFIG_INFINIBAND_OCRDMA=m
-CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
+# CONFIG_INFINIBAND_NES is not set
+# CONFIG_INFINIBAND_OCRDMA is not set
+# CONFIG_INFINIBAND_ON_DEMAND_PAGING is not set
# CONFIG_INFINIBAND_QEDR is not set
-CONFIG_INFINIBAND_QIB_DCA=y
-CONFIG_INFINIBAND_QIB=m
-CONFIG_INFINIBAND_RDMAVT=m
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_SRPT=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_QIB_DCA is not set
+# CONFIG_INFINIBAND_QIB is not set
+# CONFIG_INFINIBAND_RDMAVT is not set
+# CONFIG_INFINIBAND_SRP is not set
+# CONFIG_INFINIBAND_SRPT is not set
+# CONFIG_INFINIBAND_USER_ACCESS is not set
+# CONFIG_INFINIBAND_USER_MAD is not set
+# CONFIG_INFINIBAND_USNIC is not set
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
@@ -3244,14 +3244,14 @@ CONFIG_MKISS=m
CONFIG_MLX4_CORE=m
CONFIG_MLX4_EN_DCB=y
CONFIG_MLX4_EN=m
-CONFIG_MLX4_INFINIBAND=m
+# CONFIG_MLX4_INFINIBAND is not set
CONFIG_MLX5_CORE_EN_DCB=y
CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
# CONFIG_MLX5_FPGA is not set
-CONFIG_MLX5_INFINIBAND=m
+# CONFIG_MLX5_INFINIBAND is not set
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3536,7 +3536,7 @@ CONFIG_NE2K_PCI=m
CONFIG_NEON=y
# CONFIG_NET_9P_DEBUG is not set
CONFIG_NET_9P=m
-CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_RDMA is not set
CONFIG_NET_9P_VIRTIO=m
CONFIG_NET_9P_XEN=m
CONFIG_NET_ACT_BPF=m
@@ -4041,12 +4041,12 @@ CONFIG_NVMEM_IMX_IIM=m
CONFIG_NVMEM_IMX_OCOTP=m
CONFIG_NVMEM=m
CONFIG_NVMEM_SUNXI_SID=m
-CONFIG_NVME_RDMA=m
+# CONFIG_NVME_RDMA is not set
CONFIG_NVME_TARGET_FCLOOP=m
CONFIG_NVME_TARGET_FC=m
CONFIG_NVME_TARGET_LOOP=m
CONFIG_NVME_TARGET=m
-CONFIG_NVME_TARGET_RDMA=m
+# CONFIG_NVME_TARGET_RDMA is not set
# CONFIG_NVM is not set
# CONFIG_NVRAM is not set
# CONFIG_OABI_COMPAT is not set
@@ -4603,10 +4603,10 @@ CONFIG_RD_GZIP=y
CONFIG_RD_LZ4=y
CONFIG_RD_LZMA=y
CONFIG_RD_LZO=y
-CONFIG_RDMA_RXE=m
+# CONFIG_RDMA_RXE is not set
# CONFIG_RDS_DEBUG is not set
# CONFIG_RDS is not set
-CONFIG_RDS_RDMA=m
+# CONFIG_RDS_RDMA is not set
CONFIG_RDS_TCP=m
CONFIG_RD_XZ=y
# CONFIG_READABLE_ASM is not set
@@ -5067,7 +5067,7 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITYFS=y
-CONFIG_SECURITY_INFINIBAND=y
+# CONFIG_SECURITY_INFINIBAND is not set
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_NETWORK=y
@@ -5930,7 +5930,7 @@ CONFIG_SUN_PARTITION=y
CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
-CONFIG_SUNRPC_XPRT_RDMA=m
+# CONFIG_SUNRPC_XPRT_RDMA is not set
CONFIG_SUNXI_CCU=y
CONFIG_SUNXI_RSB=m
CONFIG_SUNXI_SRAM=y
diff --git a/kernel-ppc64-debug.config b/kernel-ppc64-debug.config
index c17813d6b..3f5b1379e 100644
--- a/kernel-ppc64-debug.config
+++ b/kernel-ppc64-debug.config
@@ -1970,7 +1970,7 @@ CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
diff --git a/kernel-ppc64.config b/kernel-ppc64.config
index d368edd1f..915cdedf9 100644
--- a/kernel-ppc64.config
+++ b/kernel-ppc64.config
@@ -1952,7 +1952,7 @@ CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config
index c76b90fb2..c370527a6 100644
--- a/kernel-ppc64le-debug.config
+++ b/kernel-ppc64le-debug.config
@@ -1916,7 +1916,7 @@ CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
diff --git a/kernel-ppc64le.config b/kernel-ppc64le.config
index de68e7c9d..7fce767f1 100644
--- a/kernel-ppc64le.config
+++ b/kernel-ppc64le.config
@@ -1898,7 +1898,7 @@ CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
diff --git a/kernel-ppc64p7-debug.config b/kernel-ppc64p7-debug.config
index 0ae90d5fe..1c0c9440c 100644
--- a/kernel-ppc64p7-debug.config
+++ b/kernel-ppc64p7-debug.config
@@ -1915,7 +1915,7 @@ CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
diff --git a/kernel-ppc64p7.config b/kernel-ppc64p7.config
index 0c2a27ff0..02ca43cfc 100644
--- a/kernel-ppc64p7.config
+++ b/kernel-ppc64p7.config
@@ -1897,7 +1897,7 @@ CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config
index 25977b5f7..78b40ced0 100644
--- a/kernel-s390x-debug.config
+++ b/kernel-s390x-debug.config
@@ -1864,7 +1864,7 @@ CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
diff --git a/kernel-s390x.config b/kernel-s390x.config
index 7f0886fc8..2b85deb10 100644
--- a/kernel-s390x.config
+++ b/kernel-s390x.config
@@ -1846,7 +1846,7 @@ CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
+# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
diff --git a/kernel.spec b/kernel.spec
index b58e08aef..7dd6fc8dc 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -77,7 +77,7 @@ Summary: The Linux kernel
# The rc snapshot level
%global rcrev 7
# The git snapshot level
-%define gitrev 2
+%define gitrev 3
# Set rpm version accordingly
%define rpmversion 4.%{upstream_sublevel}.0
%endif
@@ -654,14 +654,15 @@ Patch502: CVE-2017-7477.patch
# 600 - Patches for improved Bay and Cherry Trail device support
# Below patches are submitted upstream, awaiting review / merging
+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
-# This either needs to be removed or rebased
-# Patch612: 0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch
+# These patches are queued for 4.14 and can be dropped on rebase to 4.14-rc1
+Patch603: 0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch
+Patch604: 0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch
Patch613: 0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch
Patch615: 0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch
-# Small workaround patches for issues with a more comprehensive fix in -next
-Patch616: 0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch
# rhbz 1476467
Patch617: Fix-for-module-sig-verification.patch
@@ -2229,6 +2230,16 @@ fi
#
#
%changelog
+* Thu Aug 31 2017 Peter Robinson <pbrobinson@fedoraproject.org>
+- Disable Infiniband/RDMA on ARMv7 as we no longer have userspace tools
+
+* Thu Aug 31 2017 Laura Abbott <labbott@redhat.com> - 4.13.0-0.rc7.git3.1
+- Linux v4.13-rc7-37-g42ff72cf2702
+
+* Thu Aug 31 2017 Hans de Goede <jwrdegoede@fedoraproject.org>
+- Update patches for power-button wakeup issues on Bay / Cherry Trail devices
+- Add patches to fix an IRQ storm on devices with a MAX17042 fuel-gauge
+
* Wed Aug 30 2017 Peter Robinson <pbrobinson@fedoraproject.org>
- Fix for QCom Dragonboard USB
diff --git a/sources b/sources
index 36037a277..cef86c261 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
SHA512 (perf-man-4.12.tar.gz) = 4d3bbda1f520dba0007c351af46f45085fe4842074eb2e01aee736fd369df595f8f72ed6c1192715f1120bf3353279777f9dca1178fe93bffe5be2de700d409c
SHA512 (linux-4.12.tar.xz) = 8e81b41b253e63233e92948941f44c6482acb52aa3a3fd172f03a38a86f2c35b2ad4fd407acd1bc3964673eba344fe104d3a03e3ff4bf9cd1f22bd44263bd728
SHA512 (patch-4.13-rc7.xz) = 6e4d86d7342d2f89c694d39ca5254f03dcdea239492753febff5a15bd7475ebfbb29461727f46c7df5f24edd5da25b9da91eb4d3a6250f83bf9876a8c1e36aa1
-SHA512 (patch-4.13-rc7-git2.xz) = b1fdcb7dc52bcea32324c9aab800042bf069d089d6d8719f7a0725d82897a23fe582ac4a0740c4dbd7ad3cfd68954fecc299f34b97c265e46ce8ed8a08be5d6c
+SHA512 (patch-4.13-rc7-git3.xz) = 9c61d0d8e79d60dc8c49bf131472c2eee658b71f5ca222ced6375af6cf80b4d05620006c8749f5c3aa8693bab5bbadeafb46677f50944a8cdbc7db94d3924135