diff options
399 files changed, 9637 insertions, 13166 deletions
diff --git a/0001-ACPI-LPSS-Only-call-pwm_add_table-for-the-first-PWM-.patch b/0001-ACPI-LPSS-Only-call-pwm_add_table-for-the-first-PWM-.patch deleted file mode 100644 index ecfc34c6d..000000000 --- a/0001-ACPI-LPSS-Only-call-pwm_add_table-for-the-first-PWM-.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 92fe05e58babf15d7ddadfccd8bc383ea7e46e55 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Wed, 5 Jul 2017 22:02:59 +0200 -Subject: [PATCH] ACPI / LPSS: Only call pwm_add_table for the first PWM - controller - -At least on the UP board SBC both PWMs are enabled leading to us -trying to add the same pwm_lookup twice, which leads to the following: - -[ 0.902224] list_add double add: new=ffffffffb8efd400, - prev=ffffffffb8efd400, next=ffffffffb8eeede0. -[ 0.912466] ------------[ cut here ]------------ -[ 0.917624] kernel BUG at lib/list_debug.c:31! -[ 0.922588] invalid opcode: 0000 [#1] SMP -... -[ 1.027450] Call Trace: -[ 1.030185] pwm_add_table+0x4c/0x90 -[ 1.034181] bsw_pwm_setup+0x1a/0x20 -[ 1.038175] acpi_lpss_create_device+0xfe/0x420 -... - -This commit fixes this by only calling pwm_add_table for the first -PWM controller (which is the one used for the backlight). - -Cc: stable@vger.kernel.org -BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1458599 -Fixes: bf7696a12071 ("acpi: lpss: call pwm_add_table() for BSW...") -Fixes: 04434ab5120a ("ACPI / LPSS: Call pwm_add_table() for Bay Trail...") -[labbott@redhat.com: Rebase to 4.11] -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/acpi/acpi_lpss.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c -index 5edfd9c..d973e56 100644 ---- a/drivers/acpi/acpi_lpss.c -+++ b/drivers/acpi/acpi_lpss.c -@@ -85,6 +85,7 @@ static const struct lpss_device_desc lpss_dma_desc = { - }; - - struct lpss_private_data { -+ struct acpi_device *adev; - void __iomem *mmio_base; - resource_size_t mmio_size; - unsigned int fixed_clk_rate; -@@ -164,6 +165,12 @@ static struct pwm_lookup bsw_pwm_lookup[] = { - - static void bsw_pwm_setup(struct lpss_private_data *pdata) - { -+ struct acpi_device *adev = pdata->adev; -+ -+ /* Only call pwm_add_table for the first PWM controller */ -+ if (!adev->pnp.unique_id || strcmp(adev->pnp.unique_id, "1")) -+ return; -+ - pwm_add_table(bsw_pwm_lookup, ARRAY_SIZE(bsw_pwm_lookup)); - } - -@@ -439,6 +446,7 @@ static int acpi_lpss_create_device(struct acpi_device *adev, - goto err_out; - } - -+ pdata->adev = adev; - pdata->dev_desc = dev_desc; - - if (dev_desc->setup) --- -2.7.5 - diff --git a/0001-SUNRPC-Refactor-svc_set_num_threads.patch b/0001-SUNRPC-Refactor-svc_set_num_threads.patch deleted file mode 100644 index d29b5fc4d..000000000 --- a/0001-SUNRPC-Refactor-svc_set_num_threads.patch +++ /dev/null @@ -1,156 +0,0 @@ -From 9e0d87680d689f1758185851c3da6eafb16e71e1 Mon Sep 17 00:00:00 2001 -From: Trond Myklebust <trond.myklebust@primarydata.com> -Date: Wed, 26 Apr 2017 11:55:26 -0400 -Subject: [PATCH] SUNRPC: Refactor svc_set_num_threads() - -Refactor to separate out the functions of starting and stopping threads -so that they can be used in other helpers. - -Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> -Tested-and-reviewed-by: Kinglong Mee <kinglongmee@gmail.com> -Signed-off-by: J. Bruce Fields <bfields@redhat.com> ---- - net/sunrpc/svc.c | 96 ++++++++++++++++++++++++++++++++++---------------------- - 1 file changed, 58 insertions(+), 38 deletions(-) - -diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c -index a08aeb5..98dc33a 100644 ---- a/net/sunrpc/svc.c -+++ b/net/sunrpc/svc.c -@@ -702,59 +702,32 @@ choose_victim(struct svc_serv *serv, struct svc_pool *pool, unsigned int *state) - return task; - } - --/* -- * Create or destroy enough new threads to make the number -- * of threads the given number. If `pool' is non-NULL, applies -- * only to threads in that pool, otherwise round-robins between -- * all pools. Caller must ensure that mutual exclusion between this and -- * server startup or shutdown. -- * -- * Destroying threads relies on the service threads filling in -- * rqstp->rq_task, which only the nfs ones do. Assumes the serv -- * has been created using svc_create_pooled(). -- * -- * Based on code that used to be in nfsd_svc() but tweaked -- * to be pool-aware. -- */ --int --svc_set_num_threads(struct svc_serv *serv, struct svc_pool *pool, int nrservs) -+/* create new threads */ -+static int -+svc_start_kthreads(struct svc_serv *serv, struct svc_pool *pool, int nrservs) - { - struct svc_rqst *rqstp; - struct task_struct *task; - struct svc_pool *chosen_pool; -- int error = 0; - unsigned int state = serv->sv_nrthreads-1; - int node; - -- if (pool == NULL) { -- /* The -1 assumes caller has done a svc_get() */ -- nrservs -= (serv->sv_nrthreads-1); -- } else { -- spin_lock_bh(&pool->sp_lock); -- nrservs -= pool->sp_nrthreads; -- spin_unlock_bh(&pool->sp_lock); -- } -- -- /* create new threads */ -- while (nrservs > 0) { -+ do { - nrservs--; - chosen_pool = choose_pool(serv, pool, &state); - - node = svc_pool_map_get_node(chosen_pool->sp_id); - rqstp = svc_prepare_thread(serv, chosen_pool, node); -- if (IS_ERR(rqstp)) { -- error = PTR_ERR(rqstp); -- break; -- } -+ if (IS_ERR(rqstp)) -+ return PTR_ERR(rqstp); - - __module_get(serv->sv_ops->svo_module); - task = kthread_create_on_node(serv->sv_ops->svo_function, rqstp, - node, "%s", serv->sv_name); - if (IS_ERR(task)) { -- error = PTR_ERR(task); - module_put(serv->sv_ops->svo_module); - svc_exit_thread(rqstp); -- break; -+ return PTR_ERR(task); - } - - rqstp->rq_task = task; -@@ -763,15 +736,62 @@ svc_set_num_threads(struct svc_serv *serv, struct svc_pool *pool, int nrservs) - - svc_sock_update_bufs(serv); - wake_up_process(task); -- } -+ } while (nrservs > 0); -+ -+ return 0; -+} -+ -+ -+/* destroy old threads */ -+static int -+svc_signal_kthreads(struct svc_serv *serv, struct svc_pool *pool, int nrservs) -+{ -+ struct task_struct *task; -+ unsigned int state = serv->sv_nrthreads-1; -+ - /* destroy old threads */ -- while (nrservs < 0 && -- (task = choose_victim(serv, pool, &state)) != NULL) { -+ do { -+ task = choose_victim(serv, pool, &state); -+ if (task == NULL) -+ break; - send_sig(SIGINT, task, 1); - nrservs++; -+ } while (nrservs < 0); -+ -+ return 0; -+} -+ -+/* -+ * Create or destroy enough new threads to make the number -+ * of threads the given number. If `pool' is non-NULL, applies -+ * only to threads in that pool, otherwise round-robins between -+ * all pools. Caller must ensure that mutual exclusion between this and -+ * server startup or shutdown. -+ * -+ * Destroying threads relies on the service threads filling in -+ * rqstp->rq_task, which only the nfs ones do. Assumes the serv -+ * has been created using svc_create_pooled(). -+ * -+ * Based on code that used to be in nfsd_svc() but tweaked -+ * to be pool-aware. -+ */ -+int -+svc_set_num_threads(struct svc_serv *serv, struct svc_pool *pool, int nrservs) -+{ -+ if (pool == NULL) { -+ /* The -1 assumes caller has done a svc_get() */ -+ nrservs -= (serv->sv_nrthreads-1); -+ } else { -+ spin_lock_bh(&pool->sp_lock); -+ nrservs -= pool->sp_nrthreads; -+ spin_unlock_bh(&pool->sp_lock); - } - -- return error; -+ if (nrservs > 0) -+ return svc_start_kthreads(serv, pool, nrservs); -+ if (nrservs < 0) -+ return svc_signal_kthreads(serv, pool, nrservs); -+ return 0; - } - EXPORT_SYMBOL_GPL(svc_set_num_threads); - --- -2.9.4 - diff --git a/0001-ipv6-avoid-overflow-of-offset-in-ip6_find_1stfragopt.patch b/0001-ipv6-avoid-overflow-of-offset-in-ip6_find_1stfragopt.patch new file mode 100644 index 000000000..be8b6c6a0 --- /dev/null +++ b/0001-ipv6-avoid-overflow-of-offset-in-ip6_find_1stfragopt.patch @@ -0,0 +1,54 @@ +From 6399f1fae4ec29fab5ec76070435555e256ca3a6 Mon Sep 17 00:00:00 2001 +From: Sabrina Dubroca <sd@queasysnail.net> +Date: Wed, 19 Jul 2017 22:28:55 +0200 +Subject: [PATCH] ipv6: avoid overflow of offset in ip6_find_1stfragopt + +In some cases, offset can overflow and can cause an infinite loop in +ip6_find_1stfragopt(). Make it unsigned int to prevent the overflow, and +cap it at IPV6_MAXPLEN, since packets larger than that should be invalid. + +This problem has been here since before the beginning of git history. + +Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> +Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org> +Signed-off-by: David S. Miller <davem@davemloft.net> +--- + net/ipv6/output_core.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/net/ipv6/output_core.c b/net/ipv6/output_core.c +index e9065b8..abb2c30 100644 +--- a/net/ipv6/output_core.c ++++ b/net/ipv6/output_core.c +@@ -78,7 +78,7 @@ EXPORT_SYMBOL(ipv6_select_ident); + + int ip6_find_1stfragopt(struct sk_buff *skb, u8 **nexthdr) + { +- u16 offset = sizeof(struct ipv6hdr); ++ unsigned int offset = sizeof(struct ipv6hdr); + unsigned int packet_len = skb_tail_pointer(skb) - + skb_network_header(skb); + int found_rhdr = 0; +@@ -86,6 +86,7 @@ int ip6_find_1stfragopt(struct sk_buff *skb, u8 **nexthdr) + + while (offset <= packet_len) { + struct ipv6_opt_hdr *exthdr; ++ unsigned int len; + + switch (**nexthdr) { + +@@ -111,7 +112,10 @@ int ip6_find_1stfragopt(struct sk_buff *skb, u8 **nexthdr) + + exthdr = (struct ipv6_opt_hdr *)(skb_network_header(skb) + + offset); +- offset += ipv6_optlen(exthdr); ++ len = ipv6_optlen(exthdr); ++ if (len + offset >= IPV6_MAXPLEN) ++ return -EINVAL; ++ offset += len; + *nexthdr = &exthdr->nexthdr; + } + +-- +2.9.4 + diff --git a/0001-platform-x86-Add-driver-for-ACPI-INT0002-Virtual-GPI.patch b/0001-platform-x86-Add-driver-for-ACPI-INT0002-Virtual-GPI.patch new file mode 100644 index 000000000..a0b6ff03e --- /dev/null +++ b/0001-platform-x86-Add-driver-for-ACPI-INT0002-Virtual-GPI.patch @@ -0,0 +1,339 @@ +From 3bbfe49a1d965b951527cde0da48f5d7677db264 Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Sun, 21 May 2017 13:15:11 +0200 +Subject: [PATCH 01/16] platform/x86: Add driver for ACPI INT0002 Virtual GPIO + device + +Some peripherals on Bay Trail and Cherry Trail platforms signal a +Power Management Event (PME) to the Power Management Controller (PMC) +to wakeup the system. When this happens software needs to explicitly +clear the PME bus 0 status bit in the GPE0a_STS register to avoid an +IRQ storm on IRQ 9. + +This is modelled in ACPI through the INT0002 ACPI device, which is +called a "Virtual GPIO controller" in ACPI because it defines the +event handler to call when the PME triggers through _AEI and _L02 +methods as would be done for a real GPIO interrupt in ACPI. + +This commit adds a driver which registers the Virtual GPIOs expected +by the DSDT on these devices, letting gpiolib-acpi claim the +virtual GPIO and install a GPIO-interrupt handler which call the _L02 +handler as it would for a real GPIO controller. + +Cc: joeyli <jlee@suse.com> +Cc: Takashi Iwai <tiwai@suse.de> +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> +Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> +Reviewed-by: Linus Walleij <linus.walleij@linaro.org> +--- +Changes in v2: +-Remove dev_err after malloc failure +-Remove unused empty runtime pm callbacks +-s/GPE0A_PME_/GPE0A_PME_B0_/ +-Fixed some checkpatch warnings (I forgot to run checkpatch on v1) + +Changes in v3: +-Rewrite as gpiochip driver letting gpiolib-acpi deal with claiming the pin + 0x0002 and calling the _L02 event handler when the virtual gpio-irq triggers +-Rebase on 4.12-rc1 + +Changes in v4: +-Drop device_init_wakeup() from _probe(), use pm_system_wakeup() instead + of pm_wakeup_hard_event(chip->parent) +-Improve commit message + +Changes in v5: +-Use BIT() macro for FOO_BIT defines +-Drop unneeded ACPI_PTR macro usage + +Changes in v6: +-Move back to drivers/platform/x86 +-Expand certain acronyms (PME, PMC) +-Use linux/gpio/driver.h include instead of linux/gpio.h +-Document why the get / set / direction_output functions are dummys +-No functional changes + +Changes in v7: +-Some minor cleanups from Andy: + -Move asm/ includes below linux/ includes + -s/APCI/ACPI/ + -Use bitmap_clear on chip->irq_valid_mask +-Add Linus Walleij's Reviewed-by +--- + drivers/platform/x86/Kconfig | 19 +++ + drivers/platform/x86/Makefile | 1 + + drivers/platform/x86/intel_int0002_vgpio.c | 219 +++++++++++++++++++++++++++++ + 3 files changed, 239 insertions(+) + create mode 100644 drivers/platform/x86/intel_int0002_vgpio.c + +diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig +index 8489020ecf44..a3ccc3c795a5 100644 +--- a/drivers/platform/x86/Kconfig ++++ b/drivers/platform/x86/Kconfig +@@ -794,6 +794,25 @@ config INTEL_CHT_INT33FE + This driver instantiates i2c-clients for these, so that standard + i2c drivers for these chips can bind to the them. + ++config INTEL_INT0002_VGPIO ++ tristate "Intel ACPI INT0002 Virtual GPIO driver" ++ depends on GPIOLIB && ACPI ++ select GPIOLIB_IRQCHIP ++ ---help--- ++ Some peripherals on Bay Trail and Cherry Trail platforms signal a ++ Power Management Event (PME) to the Power Management Controller (PMC) ++ to wakeup the system. When this happens software needs to explicitly ++ clear the PME bus 0 status bit in the GPE0a_STS register to avoid an ++ IRQ storm on IRQ 9. ++ ++ This is modelled in ACPI through the INT0002 ACPI device, which is ++ called a "Virtual GPIO controller" in ACPI because it defines the ++ event handler to call when the PME triggers through _AEI and _L02 ++ methods as would be done for a real GPIO interrupt in ACPI. ++ ++ To compile this driver as a module, choose M here: the module will ++ be called intel_int0002_vgpio. ++ + config INTEL_HID_EVENT + tristate "INTEL HID Event" + depends on ACPI +diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile +index 182a3ed6605a..ab22ce77fb66 100644 +--- a/drivers/platform/x86/Makefile ++++ b/drivers/platform/x86/Makefile +@@ -46,6 +46,7 @@ obj-$(CONFIG_TOSHIBA_BT_RFKILL) += toshiba_bluetooth.o + obj-$(CONFIG_TOSHIBA_HAPS) += toshiba_haps.o + obj-$(CONFIG_TOSHIBA_WMI) += toshiba-wmi.o + obj-$(CONFIG_INTEL_CHT_INT33FE) += intel_cht_int33fe.o ++obj-$(CONFIG_INTEL_INT0002_VGPIO) += intel_int0002_vgpio.o + obj-$(CONFIG_INTEL_HID_EVENT) += intel-hid.o + obj-$(CONFIG_INTEL_VBTN) += intel-vbtn.o + obj-$(CONFIG_INTEL_SCU_IPC) += intel_scu_ipc.o +diff --git a/drivers/platform/x86/intel_int0002_vgpio.c b/drivers/platform/x86/intel_int0002_vgpio.c +new file mode 100644 +index 000000000000..92dc230ef5b2 +--- /dev/null ++++ b/drivers/platform/x86/intel_int0002_vgpio.c +@@ -0,0 +1,219 @@ ++/* ++ * Intel INT0002 "Virtual GPIO" driver ++ * ++ * Copyright (C) 2017 Hans de Goede <hdegoede@redhat.com> ++ * ++ * Loosely based on android x86 kernel code which is: ++ * ++ * Copyright (c) 2014, Intel Corporation. ++ * ++ * Author: Dyut Kumar Sil <dyut.k.sil@intel.com> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ * Some peripherals on Bay Trail and Cherry Trail platforms signal a Power ++ * Management Event (PME) to the Power Management Controller (PMC) to wakeup ++ * the system. When this happens software needs to clear the PME bus 0 status ++ * bit in the GPE0a_STS register to avoid an IRQ storm on IRQ 9. ++ * ++ * This is modelled in ACPI through the INT0002 ACPI device, which is ++ * called a "Virtual GPIO controller" in ACPI because it defines the event ++ * handler to call when the PME triggers through _AEI and _L02 / _E02 ++ * methods as would be done for a real GPIO interrupt in ACPI. Note this ++ * is a hack to define an AML event handler for the PME while using existing ++ * ACPI mechanisms, this is not a real GPIO at all. ++ * ++ * This driver will bind to the INT0002 device, and register as a GPIO ++ * controller, letting gpiolib-acpi.c call the _L02 handler as it would ++ * for a real GPIO controller. ++ */ ++ ++#include <linux/acpi.h> ++#include <linux/bitmap.h> ++#include <linux/gpio/driver.h> ++#include <linux/interrupt.h> ++#include <linux/io.h> ++#include <linux/kernel.h> ++#include <linux/module.h> ++#include <linux/platform_device.h> ++#include <linux/slab.h> ++#include <linux/suspend.h> ++ ++#include <asm/cpu_device_id.h> ++#include <asm/intel-family.h> ++ ++#define DRV_NAME "INT0002 Virtual GPIO" ++ ++/* For some reason the virtual GPIO pin tied to the GPE is numbered pin 2 */ ++#define GPE0A_PME_B0_VIRT_GPIO_PIN 2 ++ ++#define GPE0A_PME_B0_STS_BIT BIT(13) ++#define GPE0A_PME_B0_EN_BIT BIT(13) ++#define GPE0A_STS_PORT 0x420 ++#define GPE0A_EN_PORT 0x428 ++ ++#define ICPU(model) { X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, } ++ ++static const struct x86_cpu_id int0002_cpu_ids[] = { ++/* ++ * Limit ourselves to Cherry Trail for now, until testing shows we ++ * need to handle the INT0002 device on Baytrail too. ++ * ICPU(INTEL_FAM6_ATOM_SILVERMONT1), * Valleyview, Bay Trail * ++ */ ++ ICPU(INTEL_FAM6_ATOM_AIRMONT), /* Braswell, Cherry Trail */ ++ {} ++}; ++ ++/* ++ * As this is not a real GPIO at all, but just a hack to model an event in ++ * ACPI the get / set functions are dummy functions. ++ */ ++ ++static int int0002_gpio_get(struct gpio_chip *chip, unsigned int offset) ++{ ++ return 0; ++} ++ ++static void int0002_gpio_set(struct gpio_chip *chip, unsigned int offset, ++ int value) ++{ ++} ++ ++static int int0002_gpio_direction_output(struct gpio_chip *chip, ++ unsigned int offset, int value) ++{ ++ return 0; ++} ++ ++static void int0002_irq_ack(struct irq_data *data) ++{ ++ outl(GPE0A_PME_B0_STS_BIT, GPE0A_STS_PORT); ++} ++ ++static void int0002_irq_unmask(struct irq_data *data) ++{ ++ u32 gpe_en_reg; ++ ++ gpe_en_reg = inl(GPE0A_EN_PORT); ++ gpe_en_reg |= GPE0A_PME_B0_EN_BIT; ++ outl(gpe_en_reg, GPE0A_EN_PORT); ++} ++ ++static void int0002_irq_mask(struct irq_data *data) ++{ ++ u32 gpe_en_reg; ++ ++ gpe_en_reg = inl(GPE0A_EN_PORT); ++ gpe_en_reg &= ~GPE0A_PME_B0_EN_BIT; ++ outl(gpe_en_reg, GPE0A_EN_PORT); ++} ++ ++static irqreturn_t int0002_irq(int irq, void *data) ++{ ++ struct gpio_chip *chip = data; ++ u32 gpe_sts_reg; ++ ++ gpe_sts_reg = inl(GPE0A_STS_PORT); ++ if (!(gpe_sts_reg & GPE0A_PME_B0_STS_BIT)) ++ return IRQ_NONE; ++ ++ generic_handle_irq(irq_find_mapping(chip->irqdomain, ++ GPE0A_PME_B0_VIRT_GPIO_PIN)); ++ ++ pm_system_wakeup(); ++ ++ return IRQ_HANDLED; ++} ++ ++static struct irq_chip int0002_irqchip = { ++ .name = DRV_NAME, ++ .irq_ack = int0002_irq_ack, ++ .irq_mask = int0002_irq_mask, ++ .irq_unmask = int0002_irq_unmask, ++}; ++ ++static int int0002_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ const struct x86_cpu_id *cpu_id; ++ struct gpio_chip *chip; ++ int irq, ret; ++ ++ /* Menlow has a different INT0002 device? <sigh> */ ++ cpu_id = x86_match_cpu(int0002_cpu_ids); ++ if (!cpu_id) ++ return -ENODEV; ++ ++ irq = platform_get_irq(pdev, 0); ++ if (irq < 0) { ++ dev_err(dev, "Error getting IRQ: %d\n", irq); ++ return irq; ++ } ++ ++ chip = devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL); ++ if (!chip) ++ return -ENOMEM; ++ ++ chip->label = DRV_NAME; ++ chip->parent = dev; ++ chip->owner = THIS_MODULE; ++ chip->get = int0002_gpio_get; ++ chip->set = int0002_gpio_set; ++ chip->direction_input = int0002_gpio_get; ++ chip->direction_output = int0002_gpio_direction_output; ++ chip->base = -1; ++ chip->ngpio = GPE0A_PME_B0_VIRT_GPIO_PIN + 1; ++ chip->irq_need_valid_mask = true; ++ ++ ret = devm_gpiochip_add_data(&pdev->dev, chip, NULL); ++ if (ret) { ++ dev_err(dev, "Error adding gpio chip: %d\n", ret); ++ return ret; ++ } ++ ++ bitmap_clear(chip->irq_valid_mask, 0, GPE0A_PME_B0_VIRT_GPIO_PIN); ++ ++ /* ++ * We manually request the irq here instead of passing a flow-handler ++ * to gpiochip_set_chained_irqchip, because the irq is shared. ++ */ ++ ret = devm_request_irq(dev, irq, int0002_irq, ++ IRQF_SHARED | IRQF_NO_THREAD, "INT0002", chip); ++ if (ret) { ++ dev_err(dev, "Error requesting IRQ %d: %d\n", irq, ret); ++ return ret; ++ } ++ ++ ret = gpiochip_irqchip_add(chip, &int0002_irqchip, 0, handle_edge_irq, ++ IRQ_TYPE_NONE); ++ if (ret) { ++ dev_err(dev, "Error adding irqchip: %d\n", ret); ++ return ret; ++ } ++ ++ gpiochip_set_chained_irqchip(chip, &int0002_irqchip, irq, NULL); ++ ++ return 0; ++} ++ ++static const struct acpi_device_id int0002_acpi_ids[] = { ++ { "INT0002", 0 }, ++ { }, ++}; ++MODULE_DEVICE_TABLE(acpi, int0002_acpi_ids); ++ ++static struct platform_driver int0002_driver = { ++ .driver = { ++ .name = DRV_NAME, ++ .acpi_match_table = int0002_acpi_ids, ++ }, ++ .probe = int0002_probe, ++}; ++ ++module_platform_driver(int0002_driver); ++ ++MODULE_AUTHOR("Hans de Goede <hdegoede@redhat.com>"); ++MODULE_DESCRIPTION("Intel INT0002 Virtual GPIO driver"); ++MODULE_LICENSE("GPL"); +-- +2.13.0 + diff --git a/0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch b/0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch deleted file mode 100644 index 847c70ce8..000000000 --- a/0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 6bb84c0f9da1144e0d443798a76d5769b7d554af Mon Sep 17 00:00:00 2001 -From: Christian Kellner <christian@kellner.me> -Date: Tue, 28 Feb 2017 17:10:56 +0100 -Subject: [PATCH 1/2] platform/x86: thinkpad_acpi: guard generic hotkey case - -Currently when dispatching hotkeys we check if the scancode is in -the range of 0 and TPACPI_HOTKEY_MAP_LEN, although the bottom 20 -entries in the hotkey keymap are already adaptive keycodes. -Therefore we introduce a TP_ACPI_HOTKEYSCAN_ADAPTIVE_START and -ensure that we are in the range 0 and ADAPTIVE_START for the generic -keycode case. - -Signed-off-by: Christian Kellner <ckellner@redhat.com> -Reviewed-by: Hans de Goede <hdegoede@redhat.com> -Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> -Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> ---- - drivers/platform/x86/thinkpad_acpi.c | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c -index 1d18b32..e2b962f 100644 ---- a/drivers/platform/x86/thinkpad_acpi.c -+++ b/drivers/platform/x86/thinkpad_acpi.c -@@ -1922,7 +1922,9 @@ enum { /* hot key scan codes (derived from ACPI DSDT) */ - TP_ACPI_HOTKEYSCAN_UNK7, - TP_ACPI_HOTKEYSCAN_UNK8, - -- TP_ACPI_HOTKEYSCAN_MUTE2, -+ /* Adaptive keyboard keycodes */ -+ TP_ACPI_HOTKEYSCAN_ADAPTIVE_START, -+ TP_ACPI_HOTKEYSCAN_MUTE2 = TP_ACPI_HOTKEYSCAN_ADAPTIVE_START, - TP_ACPI_HOTKEYSCAN_BRIGHTNESS_ZERO, - TP_ACPI_HOTKEYSCAN_CLIPPING_TOOL, - TP_ACPI_HOTKEYSCAN_CLOUD, -@@ -3656,7 +3658,6 @@ static const int adaptive_keyboard_modes[] = { - #define DFR_CHANGE_ROW 0x101 - #define DFR_SHOW_QUICKVIEW_ROW 0x102 - #define FIRST_ADAPTIVE_KEY 0x103 --#define ADAPTIVE_KEY_OFFSET 0x020 - - /* press Fn key a while second, it will switch to Function Mode. Then - * release Fn key, previous mode be restored. -@@ -3747,12 +3748,13 @@ static bool adaptive_keyboard_hotkey_notify_hotkey(unsigned int scancode) - default: - if (scancode < FIRST_ADAPTIVE_KEY || - scancode >= FIRST_ADAPTIVE_KEY + TPACPI_HOTKEY_MAP_LEN - -- ADAPTIVE_KEY_OFFSET) { -+ TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) { - pr_info("Unhandled adaptive keyboard key: 0x%x\n", - scancode); - return false; - } -- keycode = hotkey_keycode_map[scancode - FIRST_ADAPTIVE_KEY + ADAPTIVE_KEY_OFFSET]; -+ keycode = hotkey_keycode_map[scancode - FIRST_ADAPTIVE_KEY + -+ TP_ACPI_HOTKEYSCAN_ADAPTIVE_START]; - if (keycode != KEY_RESERVED) { - mutex_lock(&tpacpi_inputdev_send_mutex); - -@@ -3778,7 +3780,7 @@ static bool hotkey_notify_hotkey(const u32 hkey, - *ignore_acpi_ev = false; - - /* HKEY event 0x1001 is scancode 0x00 */ -- if (scancode > 0 && scancode <= TPACPI_HOTKEY_MAP_LEN) { -+ if (scancode > 0 && scancode <= TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) { - scancode--; - if (!(hotkey_source_mask & (1 << scancode))) { - tpacpi_input_send_key_masked(scancode); --- -2.9.4 - diff --git a/0002-NFSv4-Fix-callback-server-shutdown.patch b/0002-NFSv4-Fix-callback-server-shutdown.patch deleted file mode 100644 index e5745bf01..000000000 --- a/0002-NFSv4-Fix-callback-server-shutdown.patch +++ /dev/null @@ -1,155 +0,0 @@ -From ed6473ddc704a2005b9900ca08e236ebb2d8540a Mon Sep 17 00:00:00 2001 -From: Trond Myklebust <trond.myklebust@primarydata.com> -Date: Wed, 26 Apr 2017 11:55:27 -0400 -Subject: [PATCH] NFSv4: Fix callback server shutdown - -We want to use kthread_stop() in order to ensure the threads are -shut down before we tear down the nfs_callback_info in nfs_callback_down. - -Tested-and-reviewed-by: Kinglong Mee <kinglongmee@gmail.com> -Reported-by: Kinglong Mee <kinglongmee@gmail.com> -Fixes: bb6aeba736ba9 ("NFSv4.x: Switch to using svc_set_num_threads()...") -Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> -Signed-off-by: J. Bruce Fields <bfields@redhat.com> ---- - fs/nfs/callback.c | 24 ++++++++++++++++-------- - include/linux/sunrpc/svc.h | 1 + - net/sunrpc/svc.c | 38 ++++++++++++++++++++++++++++++++++++++ - 3 files changed, 55 insertions(+), 8 deletions(-) - -diff --git a/fs/nfs/callback.c b/fs/nfs/callback.c -index c5e27eb..73a1f92 100644 ---- a/fs/nfs/callback.c -+++ b/fs/nfs/callback.c -@@ -76,7 +76,10 @@ nfs4_callback_svc(void *vrqstp) - - set_freezable(); - -- while (!kthread_should_stop()) { -+ while (!kthread_freezable_should_stop(NULL)) { -+ -+ if (signal_pending(current)) -+ flush_signals(current); - /* - * Listen for a request on the socket - */ -@@ -85,6 +88,8 @@ nfs4_callback_svc(void *vrqstp) - continue; - svc_process(rqstp); - } -+ svc_exit_thread(rqstp); -+ module_put_and_exit(0); - return 0; - } - -@@ -103,9 +108,10 @@ nfs41_callback_svc(void *vrqstp) - - set_freezable(); - -- while (!kthread_should_stop()) { -- if (try_to_freeze()) -- continue; -+ while (!kthread_freezable_should_stop(NULL)) { -+ -+ if (signal_pending(current)) -+ flush_signals(current); - - prepare_to_wait(&serv->sv_cb_waitq, &wq, TASK_INTERRUPTIBLE); - spin_lock_bh(&serv->sv_cb_lock); -@@ -121,11 +127,13 @@ nfs41_callback_svc(void *vrqstp) - error); - } else { - spin_unlock_bh(&serv->sv_cb_lock); -- schedule(); -+ if (!kthread_should_stop()) -+ schedule(); - finish_wait(&serv->sv_cb_waitq, &wq); - } -- flush_signals(current); - } -+ svc_exit_thread(rqstp); -+ module_put_and_exit(0); - return 0; - } - -@@ -221,14 +229,14 @@ static int nfs_callback_up_net(int minorversion, struct svc_serv *serv, - static struct svc_serv_ops nfs40_cb_sv_ops = { - .svo_function = nfs4_callback_svc, - .svo_enqueue_xprt = svc_xprt_do_enqueue, -- .svo_setup = svc_set_num_threads, -+ .svo_setup = svc_set_num_threads_sync, - .svo_module = THIS_MODULE, - }; - #if defined(CONFIG_NFS_V4_1) - static struct svc_serv_ops nfs41_cb_sv_ops = { - .svo_function = nfs41_callback_svc, - .svo_enqueue_xprt = svc_xprt_do_enqueue, -- .svo_setup = svc_set_num_threads, -+ .svo_setup = svc_set_num_threads_sync, - .svo_module = THIS_MODULE, - }; - -diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h -index 6ef19cf..9463102 100644 ---- a/include/linux/sunrpc/svc.h -+++ b/include/linux/sunrpc/svc.h -@@ -473,6 +473,7 @@ void svc_pool_map_put(void); - struct svc_serv * svc_create_pooled(struct svc_program *, unsigned int, - struct svc_serv_ops *); - int svc_set_num_threads(struct svc_serv *, struct svc_pool *, int); -+int svc_set_num_threads_sync(struct svc_serv *, struct svc_pool *, int); - int svc_pool_stats_open(struct svc_serv *serv, struct file *file); - void svc_destroy(struct svc_serv *); - void svc_shutdown_net(struct svc_serv *, struct net *); -diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c -index 98dc33a..bc0f5a0 100644 ---- a/net/sunrpc/svc.c -+++ b/net/sunrpc/svc.c -@@ -795,6 +795,44 @@ svc_set_num_threads(struct svc_serv *serv, struct svc_pool *pool, int nrservs) - } - EXPORT_SYMBOL_GPL(svc_set_num_threads); - -+/* destroy old threads */ -+static int -+svc_stop_kthreads(struct svc_serv *serv, struct svc_pool *pool, int nrservs) -+{ -+ struct task_struct *task; -+ unsigned int state = serv->sv_nrthreads-1; -+ -+ /* destroy old threads */ -+ do { -+ task = choose_victim(serv, pool, &state); -+ if (task == NULL) -+ break; -+ kthread_stop(task); -+ nrservs++; -+ } while (nrservs < 0); -+ return 0; -+} -+ -+int -+svc_set_num_threads_sync(struct svc_serv *serv, struct svc_pool *pool, int nrservs) -+{ -+ if (pool == NULL) { -+ /* The -1 assumes caller has done a svc_get() */ -+ nrservs -= (serv->sv_nrthreads-1); -+ } else { -+ spin_lock_bh(&pool->sp_lock); -+ nrservs -= pool->sp_nrthreads; -+ spin_unlock_bh(&pool->sp_lock); -+ } -+ -+ if (nrservs > 0) -+ return svc_start_kthreads(serv, pool, nrservs); -+ if (nrservs < 0) -+ return svc_stop_kthreads(serv, pool, nrservs); -+ return 0; -+} -+EXPORT_SYMBOL_GPL(svc_set_num_threads_sync); -+ - /* - * Called from a server thread as it's exiting. Caller must hold the "service - * mutex" for the service. --- -2.9.4 - diff --git a/0002-mfd-Add-Cherry-Trail-Whiskey-Cove-PMIC-driver.patch b/0002-mfd-Add-Cherry-Trail-Whiskey-Cove-PMIC-driver.patch new file mode 100644 index 000000000..49975811b --- /dev/null +++ b/0002-mfd-Add-Cherry-Trail-Whiskey-Cove-PMIC-driver.patch @@ -0,0 +1,355 @@ +From c0f9254fdd0703ade018b2ff3a8cca433f781a11 Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Sun, 26 Feb 2017 21:07:29 +0100 +Subject: [PATCH 02/16] mfd: Add Cherry Trail Whiskey Cove PMIC driver + +Add mfd driver for Intel CHT Whiskey Cove PMIC, based on various non +upstreamed CHT Whiskey Cove PMIC patches. + +This is a somewhat minimal version which adds irqchip support and cells +for: ACPI PMIC opregion support, the i2c-controller driving the external +charger irc and the pwrsrc/extcon block. + +Further cells can be added in the future if/when drivers are upstreamed +for them. + +Cc: Bin Gao <bin.gao@intel.com> +Cc: Felipe Balbi <felipe.balbi@linux.intel.com> +Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> +--- +Changes in v2: +-Since this uses plain mfd and not the intel_soc_pmic stuff give it + its own Kconfig and allow this to be built as a module +-Add missing #include <acpi/acpi_bus.h> + +Changes in v3: +-Drop #include <acpi/acpi_bus.h> again, not the right fix for the build errors +-Error out when the upper byte of the register-address passed to the regmap + functions is 0 rather then hardcoding an address in that case +-Various minor style tweaks / cleanups +-Move defines of regulator register addresses to intel_pmic_chtwc.c, + it is the only place where they are used +-Drop now empty include/linux/mfd/intel_chtwc.h +-Rename intel_soc_pmic_chtwc.c to intel_cht_wc.c to match Kconfig option name +-Add irqchip support +-Add external charger cell +-Add pwrsrc cell + +Changes in v4: +-Use PLATFORM_DEVID_NONE + +Changes in v5: +-Change Kconfig option from tristate to boolean and add a select for the + i2c-bus driver, this is necessary because the chtwc PMIC provides an ACPI + OPRegion handler, which must be available before other drivers using it + are loaded, which can only be ensured if the mfd, opregion and i2c-bus + drivers are built in. This fixes errors like these during boot: + mmc0: SDHCI controller on ACPI [80860F14:00] using ADMA + ACPI Error: No handler for Region [REGS] (ffff93543b0cc3a8) [UserDefinedRegion] (20170119/evregion-166) + ACPI Error: Region UserDefinedRegion (ID=143) has no handler (20170119/exfldio-299) + ACPI Error: Method parse/execution failed [\_SB.PCI0.I2C7.PMI5.GET] (Node ffff93543b0cde10), AE_NOT_EXIST (20170119/psparse-543) + ACPI Error: Method parse/execution failed [\_SB.PCI0.SHC1._PS0] (Node ffff93543b0b5cd0), AE_NOT_EXIST (20170119/psparse-543) + acpi 80860F14:02: Failed to change power state to D0 +-Some minor style and capitalization fixes from review by Lee Jones + +Changes in v6: +-Fix Kconfig depends and selects to fix warning reported by kbuild test robot + +Changes in v7: +-Add explanation why this is a bool and why it selects i2c-designwaree + to the help text rather then as comments in the Kconfig + +Changes in v8: +-Remove MODULE macros, etc. now that this driver is a bool in Kconfig + +Changes in v9: +-Some whitespace tweaks +-Return -EINVAL from probe on invalid irq +-Use probe_new i2c_driver callback +--- + drivers/mfd/Kconfig | 16 +++ + drivers/mfd/Makefile | 1 + + drivers/mfd/intel_soc_pmic_chtwc.c | 230 +++++++++++++++++++++++++++++++++++++ + 3 files changed, 247 insertions(+) + create mode 100644 drivers/mfd/intel_soc_pmic_chtwc.c + +diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig +index 3eb5c93595f6..5203a86b8f6c 100644 +--- a/drivers/mfd/Kconfig ++++ b/drivers/mfd/Kconfig +@@ -470,6 +470,22 @@ config INTEL_SOC_PMIC_BXTWC + thermal, charger and related power management functions + on these systems. + ++config INTEL_SOC_PMIC_CHTWC ++ bool "Support for Intel Cherry Trail Whiskey Cove PMIC" ++ depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK ++ depends on X86 || COMPILE_TEST ++ select MFD_CORE ++ select REGMAP_I2C ++ select REGMAP_IRQ ++ select I2C_DESIGNWARE_PLATFORM ++ help ++ Select this option to enable support for the Intel Cherry Trail ++ Whiskey Cove PMIC found on some Intel Cherry Trail systems. ++ ++ This option is a bool as it provides an ACPI OpRegion which must be ++ available before any devices using it are probed. This option also ++ causes the designware-i2c driver to be builtin for the same reason. ++ + config MFD_INTEL_LPSS + tristate + select COMMON_CLK +diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile +index c16bf1ea0ea9..6f6aed8cfccc 100644 +--- a/drivers/mfd/Makefile ++++ b/drivers/mfd/Makefile +@@ -214,6 +214,7 @@ obj-$(CONFIG_MFD_SKY81452) += sky81452.o + intel-soc-pmic-objs := intel_soc_pmic_core.o intel_soc_pmic_crc.o + obj-$(CONFIG_INTEL_SOC_PMIC) += intel-soc-pmic.o + obj-$(CONFIG_INTEL_SOC_PMIC_BXTWC) += intel_soc_pmic_bxtwc.o ++obj-$(CONFIG_INTEL_SOC_PMIC_CHTWC) += intel_soc_pmic_chtwc.o + obj-$(CONFIG_MFD_MT6397) += mt6397-core.o + + obj-$(CONFIG_MFD_ALTERA_A10SR) += altera-a10sr.o +diff --git a/drivers/mfd/intel_soc_pmic_chtwc.c b/drivers/mfd/intel_soc_pmic_chtwc.c +new file mode 100644 +index 000000000000..b35da01d5bcf +--- /dev/null ++++ b/drivers/mfd/intel_soc_pmic_chtwc.c +@@ -0,0 +1,230 @@ ++/* ++ * MFD core driver for Intel Cherrytrail Whiskey Cove PMIC ++ * ++ * Copyright (C) 2017 Hans de Goede <hdegoede@redhat.com> ++ * ++ * Based on various non upstream patches to support the CHT Whiskey Cove PMIC: ++ * Copyright (C) 2013-2015 Intel Corporation. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#include <linux/acpi.h> ++#include <linux/delay.h> ++#include <linux/err.h> ++#include <linux/i2c.h> ++#include <linux/interrupt.h> ++#include <linux/kernel.h> ++#include <linux/mfd/core.h> ++#include <linux/mfd/intel_soc_pmic.h> ++#include <linux/regmap.h> ++ ++/* PMIC device registers */ ++#define REG_OFFSET_MASK GENMASK(7, 0) ++#define REG_ADDR_MASK GENMASK(15, 8) ++#define REG_ADDR_SHIFT 8 ++ ++#define CHT_WC_IRQLVL1 0x6e02 ++#define CHT_WC_IRQLVL1_MASK 0x6e0e ++ ++/* Whiskey Cove PMIC share same ACPI ID between different platforms */ ++#define CHT_WC_HRV 3 ++ ++/* Level 1 IRQs (level 2 IRQs are handled in the child device drivers) */ ++enum { ++ CHT_WC_PWRSRC_IRQ = 0, ++ CHT_WC_THRM_IRQ, ++ CHT_WC_BCU_IRQ, ++ CHT_WC_ADC_IRQ, ++ CHT_WC_EXT_CHGR_IRQ, ++ CHT_WC_GPIO_IRQ, ++ /* There is no irq 6 */ ++ CHT_WC_CRIT_IRQ = 7, ++}; ++ ++static struct resource cht_wc_pwrsrc_resources[] = { ++ DEFINE_RES_IRQ(CHT_WC_PWRSRC_IRQ), ++}; ++ ++static struct resource cht_wc_ext_charger_resources[] = { ++ DEFINE_RES_IRQ(CHT_WC_EXT_CHGR_IRQ), ++}; ++ ++static struct mfd_cell cht_wc_dev[] = { ++ { ++ .name = "cht_wcove_pwrsrc", ++ .num_resources = ARRAY_SIZE(cht_wc_pwrsrc_resources), ++ .resources = cht_wc_pwrsrc_resources, ++ }, { ++ .name = "cht_wcove_ext_chgr", ++ .num_resources = ARRAY_SIZE(cht_wc_ext_charger_resources), ++ .resources = cht_wc_ext_charger_resources, ++ }, ++ { .name = "cht_wcove_region", }, ++}; ++ ++/* ++ * The CHT Whiskey Cove covers multiple I2C addresses, with a 1 Byte ++ * register address space per I2C address, so we use 16 bit register ++ * addresses where the high 8 bits contain the I2C client address. ++ */ ++static int cht_wc_byte_reg_read(void *context, unsigned int reg, ++ unsigned int *val) ++{ ++ struct i2c_client *client = context; ++ int ret, orig_addr = client->addr; ++ ++ if (!(reg & REG_ADDR_MASK)) { ++ dev_err(&client->dev, "Error I2C address not specified\n"); ++ return -EINVAL; ++ } ++ ++ client->addr = (reg & REG_ADDR_MASK) >> REG_ADDR_SHIFT; ++ ret = i2c_smbus_read_byte_data(client, reg & REG_OFFSET_MASK); ++ client->addr = orig_addr; ++ ++ if (ret < 0) ++ return ret; ++ ++ *val = ret; ++ return 0; ++} ++ ++static int cht_wc_byte_reg_write(void *context, unsigned int reg, ++ unsigned int val) ++{ ++ struct i2c_client *client = context; ++ int ret, orig_addr = client->addr; ++ ++ if (!(reg & REG_ADDR_MASK)) { ++ dev_err(&client->dev, "Error I2C address not specified\n"); ++ return -EINVAL; ++ } ++ ++ client->addr = (reg & REG_ADDR_MASK) >> REG_ADDR_SHIFT; ++ ret = i2c_smbus_write_byte_data(client, reg & REG_OFFSET_MASK, val); ++ client->addr = orig_addr; ++ ++ return ret; ++} ++ ++static const struct regmap_config cht_wc_regmap_cfg = { ++ .reg_bits = 16, ++ .val_bits = 8, ++ .reg_write = cht_wc_byte_reg_write, ++ .reg_read = cht_wc_byte_reg_read, ++}; ++ ++static const struct regmap_irq cht_wc_regmap_irqs[] = { ++ REGMAP_IRQ_REG(CHT_WC_PWRSRC_IRQ, 0, BIT(CHT_WC_PWRSRC_IRQ)), ++ REGMAP_IRQ_REG(CHT_WC_THRM_IRQ, 0, BIT(CHT_WC_THRM_IRQ)), ++ REGMAP_IRQ_REG(CHT_WC_BCU_IRQ, 0, BIT(CHT_WC_BCU_IRQ)), ++ REGMAP_IRQ_REG(CHT_WC_ADC_IRQ, 0, BIT(CHT_WC_ADC_IRQ)), ++ REGMAP_IRQ_REG(CHT_WC_EXT_CHGR_IRQ, 0, BIT(CHT_WC_EXT_CHGR_IRQ)), ++ REGMAP_IRQ_REG(CHT_WC_GPIO_IRQ, 0, BIT(CHT_WC_GPIO_IRQ)), ++ REGMAP_IRQ_REG(CHT_WC_CRIT_IRQ, 0, BIT(CHT_WC_CRIT_IRQ)), ++}; ++ ++static const struct regmap_irq_chip cht_wc_regmap_irq_chip = { ++ .name = "cht_wc_irq_chip", ++ .status_base = CHT_WC_IRQLVL1, ++ .mask_base = CHT_WC_IRQLVL1_MASK, ++ .irqs = cht_wc_regmap_irqs, ++ .num_irqs = ARRAY_SIZE(cht_wc_regmap_irqs), ++ .num_regs = 1, ++}; ++ ++static int cht_wc_probe(struct i2c_client *client) ++{ ++ struct device *dev = &client->dev; ++ struct intel_soc_pmic *pmic; ++ acpi_status status; ++ unsigned long long hrv; ++ int ret; ++ ++ status = acpi_evaluate_integer(ACPI_HANDLE(dev), "_HRV", NULL, &hrv); ++ if (ACPI_FAILURE(status)) { ++ dev_err(dev, "Failed to get PMIC hardware revision\n"); ++ return -ENODEV; ++ } ++ if (hrv != CHT_WC_HRV) { ++ dev_err(dev, "Invalid PMIC hardware revision: %llu\n", hrv); ++ return -ENODEV; ++ } ++ if (client->irq < 0) { ++ dev_err(dev, "Invalid IRQ\n"); ++ return -EINVAL; ++ } ++ ++ pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); ++ if (!pmic) ++ return -ENOMEM; ++ ++ pmic->irq = client->irq; ++ pmic->dev = dev; ++ i2c_set_clientdata(client, pmic); ++ ++ pmic->regmap = devm_regmap_init(dev, NULL, client, &cht_wc_regmap_cfg); ++ if (IS_ERR(pmic->regmap)) ++ return PTR_ERR(pmic->regmap); ++ ++ ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq, ++ IRQF_ONESHOT | IRQF_SHARED, 0, ++ &cht_wc_regmap_irq_chip, ++ &pmic->irq_chip_data); ++ if (ret) ++ return ret; ++ ++ return devm_mfd_add_devices(dev, PLATFORM_DEVID_NONE, ++ cht_wc_dev, ARRAY_SIZE(cht_wc_dev), NULL, 0, ++ regmap_irq_get_domain(pmic->irq_chip_data)); ++} ++ ++static void cht_wc_shutdown(struct i2c_client *client) ++{ ++ struct intel_soc_pmic *pmic = i2c_get_clientdata(client); ++ ++ disable_irq(pmic->irq); ++} ++ ++static int __maybe_unused cht_wc_suspend(struct device *dev) ++{ ++ struct intel_soc_pmic *pmic = dev_get_drvdata(dev); ++ ++ disable_irq(pmic->irq); ++ ++ return 0; ++} ++ ++static int __maybe_unused cht_wc_resume(struct device *dev) ++{ ++ struct intel_soc_pmic *pmic = dev_get_drvdata(dev); ++ ++ enable_irq(pmic->irq); ++ ++ return 0; ++} ++static SIMPLE_DEV_PM_OPS(cht_wc_pm_ops, cht_wc_suspend, cht_wc_resume); ++ ++static const struct i2c_device_id cht_wc_i2c_id[] = { ++ { } ++}; ++ ++static const struct acpi_device_id cht_wc_acpi_ids[] = { ++ { "INT34D3", }, ++ { } ++}; ++ ++static struct i2c_driver cht_wc_driver = { ++ .driver = { ++ .name = "CHT Whiskey Cove PMIC", ++ .pm = &cht_wc_pm_ops, ++ .acpi_match_table = cht_wc_acpi_ids, ++ }, ++ .probe_new = cht_wc_probe, ++ .shutdown = cht_wc_shutdown, ++ .id_table = cht_wc_i2c_id, ++}; ++builtin_i2c_driver(cht_wc_driver); +-- +2.13.0 + diff --git a/0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch b/0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch deleted file mode 100644 index 2c9bcbbeb..000000000 --- a/0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch +++ /dev/null @@ -1,158 +0,0 @@ -From 82e71b57b1b4347126b1ffd7b2beed2bc8b795bd Mon Sep 17 00:00:00 2001 -From: Christian Kellner <christian@kellner.me> -Date: Tue, 28 Feb 2017 17:10:57 +0100 -Subject: [PATCH 2/2] platform/x86: thinkpad_acpi: add mapping for new hotkeys - -The T470, X270 emits new hkey events in the 0x1311 - 0x1315 range. -According to the user manual they should launch a user selected -favorite application (star icon, 0x1311), snipping tool (0x1312, -currently ignored), enable/disable bluetooth (0x1314) and open they -keyboard settings (0x1315). - -The third nibble (0xf00) is used to differentiate between the original -hotkeys, the adaptive keyboard codes and the new, additional ones. - -Signed-off-by: Christian Kellner <ckellner@redhat.com> -Reviewed-by: Hans de Goede <hdegoede@redhat.com> -Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> -Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> ---- - drivers/platform/x86/thinkpad_acpi.c | 91 +++++++++++++++++++++++++++++++----- - 1 file changed, 79 insertions(+), 12 deletions(-) - -diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c -index e2b962f..7b6cb0c 100644 ---- a/drivers/platform/x86/thinkpad_acpi.c -+++ b/drivers/platform/x86/thinkpad_acpi.c -@@ -1945,6 +1945,15 @@ enum { /* hot key scan codes (derived from ACPI DSDT) */ - TP_ACPI_HOTKEYSCAN_CAMERA_MODE, - TP_ACPI_HOTKEYSCAN_ROTATE_DISPLAY, - -+ /* Lenovo extended keymap, starting at 0x1300 */ -+ TP_ACPI_HOTKEYSCAN_EXTENDED_START, -+ /* first new observed key (star, favorites) is 0x1311 */ -+ TP_ACPI_HOTKEYSCAN_STAR = 69, -+ TP_ACPI_HOTKEYSCAN_CLIPPING_TOOL2, -+ TP_ACPI_HOTKEYSCAN_UNK25, -+ TP_ACPI_HOTKEYSCAN_BLUETOOTH, -+ TP_ACPI_HOTKEYSCAN_KEYBOARD, -+ - /* Hotkey keymap size */ - TPACPI_HOTKEY_MAP_LEN - }; -@@ -3252,6 +3261,15 @@ static int __init hotkey_init(struct ibm_init_struct *iibm) - KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, - KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, - KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, -+ -+ /* No assignment, used for newer Lenovo models */ -+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, -+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, -+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, -+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, -+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, -+ KEY_UNKNOWN, KEY_UNKNOWN -+ - }, - - /* Generic keymap for Lenovo ThinkPads */ -@@ -3337,6 +3355,29 @@ static int __init hotkey_init(struct ibm_init_struct *iibm) - KEY_RESERVED, /* Microphone cancellation */ - KEY_RESERVED, /* Camera mode */ - KEY_RESERVED, /* Rotate display, 0x116 */ -+ -+ /* -+ * These are found in 2017 models (e.g. T470s, X270). -+ * The lowest known value is 0x311, which according to -+ * the manual should launch a user defined favorite -+ * application. -+ * -+ * The offset for these is TP_ACPI_HOTKEYSCAN_EXTENDED_START, -+ * corresponding to 0x34. -+ */ -+ -+ /* (assignments unknown, please report if found) */ -+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, -+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, -+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, -+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, -+ KEY_UNKNOWN, -+ -+ KEY_FAVORITES, /* Favorite app, 0x311 */ -+ KEY_RESERVED, /* Clipping tool */ -+ KEY_RESERVED, -+ KEY_BLUETOOTH, /* Bluetooth */ -+ KEY_KEYBOARD /* Keyboard, 0x315 */ - }, - }; - -@@ -3747,8 +3788,9 @@ static bool adaptive_keyboard_hotkey_notify_hotkey(unsigned int scancode) - - default: - if (scancode < FIRST_ADAPTIVE_KEY || -- scancode >= FIRST_ADAPTIVE_KEY + TPACPI_HOTKEY_MAP_LEN - -- TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) { -+ scancode >= FIRST_ADAPTIVE_KEY + -+ TP_ACPI_HOTKEYSCAN_EXTENDED_START - -+ TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) { - pr_info("Unhandled adaptive keyboard key: 0x%x\n", - scancode); - return false; -@@ -3779,19 +3821,44 @@ static bool hotkey_notify_hotkey(const u32 hkey, - *send_acpi_ev = true; - *ignore_acpi_ev = false; - -- /* HKEY event 0x1001 is scancode 0x00 */ -- if (scancode > 0 && scancode <= TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) { -- scancode--; -- if (!(hotkey_source_mask & (1 << scancode))) { -- tpacpi_input_send_key_masked(scancode); -- *send_acpi_ev = false; -- } else { -- *ignore_acpi_ev = true; -+ /* -+ * Original events are in the 0x10XX range, the adaptive keyboard -+ * found in 2014 X1 Carbon emits events are of 0x11XX. In 2017 -+ * models, additional keys are emitted through 0x13XX. -+ */ -+ switch ((hkey >> 8) & 0xf) { -+ case 0: -+ if (scancode > 0 && -+ scancode <= TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) { -+ /* HKEY event 0x1001 is scancode 0x00 */ -+ scancode--; -+ if (!(hotkey_source_mask & (1 << scancode))) { -+ tpacpi_input_send_key_masked(scancode); -+ *send_acpi_ev = false; -+ } else { -+ *ignore_acpi_ev = true; -+ } -+ return true; - } -- return true; -- } else { -+ break; -+ -+ case 1: - return adaptive_keyboard_hotkey_notify_hotkey(scancode); -+ -+ case 3: -+ /* Extended keycodes start at 0x300 and our offset into the map -+ * TP_ACPI_HOTKEYSCAN_EXTENDED_START. The calculated scancode -+ * will be positive, but might not be in the correct range. -+ */ -+ scancode -= (0x300 - TP_ACPI_HOTKEYSCAN_EXTENDED_START); -+ if (scancode >= TP_ACPI_HOTKEYSCAN_EXTENDED_START && -+ scancode < TPACPI_HOTKEY_MAP_LEN) { -+ tpacpi_input_send_key(scancode); -+ return true; -+ } -+ break; - } -+ - return false; - } - --- -2.9.4 - diff --git a/0003-power-supply-core-Add-support-for-supplied-from-devi.patch b/0003-power-supply-core-Add-support-for-supplied-from-devi.patch new file mode 100644 index 000000000..ab646e2e5 --- /dev/null +++ b/0003-power-supply-core-Add-support-for-supplied-from-devi.patch @@ -0,0 +1,57 @@ +From 69dd0606a0d8680fe0a5e9b959f6662e582e1674 Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Tue, 2 May 2017 13:43:34 +0200 +Subject: [PATCH 03/16] power: supply: core: Add support for supplied-from + device-property + +On devicetree using platforms the devicetree can provide info on which +power-supplies supply another power-supply through phandles. + +This commit adds support for providing this info on non devicetree +platforms through the platform code setting a supplied-from +device-property on the power-supplies parent device. + +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +--- + drivers/power/supply/power_supply_core.c | 24 +++++++++++++++++++++++- + 1 file changed, 23 insertions(+), 1 deletion(-) + +diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c +index 7ec7c7c202bd..0c09144193a6 100644 +--- a/drivers/power/supply/power_supply_core.c ++++ b/drivers/power/supply/power_supply_core.c +@@ -274,8 +274,30 @@ static int power_supply_check_supplies(struct power_supply *psy) + return power_supply_populate_supplied_from(psy); + } + #else +-static inline int power_supply_check_supplies(struct power_supply *psy) ++static int power_supply_check_supplies(struct power_supply *psy) + { ++ int nval, ret; ++ ++ if (!psy->dev.parent) ++ return 0; ++ ++ nval = device_property_read_string_array(psy->dev.parent, ++ "supplied-from", NULL, 0); ++ if (nval <= 0) ++ return 0; ++ ++ psy->supplied_from = devm_kmalloc_array(&psy->dev, nval, ++ sizeof(char *), GFP_KERNEL); ++ if (!psy->supplied_from) ++ return -ENOMEM; ++ ++ ret = device_property_read_string_array(psy->dev.parent, ++ "supplied-from", (const char **)psy->supplied_from, nval); ++ if (ret < 0) ++ return ret; ++ ++ psy->num_supplies = nval; ++ + return 0; + } + #endif +-- +2.13.0 + diff --git a/0004-platform-x86-intel_cht_int33fe-Set-supplied-from-pro.patch b/0004-platform-x86-intel_cht_int33fe-Set-supplied-from-pro.patch new file mode 100644 index 000000000..342a48c54 --- /dev/null +++ b/0004-platform-x86-intel_cht_int33fe-Set-supplied-from-pro.patch @@ -0,0 +1,48 @@ +From 99c44df299d96db6a170ccce9b8108fc2e7f8bae Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Tue, 2 May 2017 13:40:44 +0200 +Subject: [PATCH 04/16] platform/x86: intel_cht_int33fe: Set supplied-from + property on max17047 dev + +Devices with the intel_cht_int33fe ACPI device use a max17047 fuel-gauge +combined with a bq24272i charger, in order for the fuel-gauge driver to +correctly display charging / discharging status it needs to know which +charger is supplying the battery. + +This commit sets the supplied-from device property to the name of the +bq24272i charger for this. + +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +--- + drivers/platform/x86/intel_cht_int33fe.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/drivers/platform/x86/intel_cht_int33fe.c b/drivers/platform/x86/intel_cht_int33fe.c +index 6a1b2ca5b6fe..da706e2c4232 100644 +--- a/drivers/platform/x86/intel_cht_int33fe.c ++++ b/drivers/platform/x86/intel_cht_int33fe.c +@@ -34,6 +34,13 @@ struct cht_int33fe_data { + struct i2c_client *pi3usb30532; + }; + ++static const char * const max17047_suppliers[] = { "bq24190-charger" }; ++ ++static const struct property_entry max17047_props[] = { ++ PROPERTY_ENTRY_STRING_ARRAY("supplied-from", max17047_suppliers), ++ { } ++}; ++ + static int cht_int33fe_probe(struct i2c_client *client) + { + struct device *dev = &client->dev; +@@ -70,6 +77,7 @@ static int cht_int33fe_probe(struct i2c_client *client) + + memset(&board_info, 0, sizeof(board_info)); + strlcpy(board_info.type, "max17047", I2C_NAME_SIZE); ++ board_info.properties = max17047_props; + + data->max17047 = i2c_acpi_new_device(dev, 1, &board_info); + if (!data->max17047) +-- +2.13.0 + diff --git a/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch b/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch new file mode 100644 index 000000000..c6f299c29 --- /dev/null +++ b/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch @@ -0,0 +1,80 @@ +From cc2b0e2c164d02ab42efa736f91f53baf8d8bc36 Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Thu, 20 Apr 2017 22:41:20 +0200 +Subject: [PATCH 05/16] ACPI / PMIC: xpower: Add support for the GPI1 regulator + to the OpRegion handler + +Some Bay Trail devices use a GPI1 regulator field (address 0x4c) in +their 0x8d power OpRegion, add support for this. + +This fixes AE_BAD_PARAMETER errors getting thrown on these devices and +fixes these errors causing these devices to not suspend. + +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> +--- +Changes in v2: +-Simplify reg == 0x92 handling (suggested by Andy Shevchenko) +-Add special handling for reg == 0x92 to intel_xpower_pmic_get_power() too +Changes in v3: +-Use defines for GPI1 reg and bits, rather then hardcoded hex values +--- + drivers/acpi/pmic/intel_pmic_xpower.c | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/drivers/acpi/pmic/intel_pmic_xpower.c b/drivers/acpi/pmic/intel_pmic_xpower.c +index 1a76c784cd4c..3b7d5be5b7ed 100644 +--- a/drivers/acpi/pmic/intel_pmic_xpower.c ++++ b/drivers/acpi/pmic/intel_pmic_xpower.c +@@ -21,6 +21,11 @@ + #include "intel_pmic.h" + + #define XPOWER_GPADC_LOW 0x5b ++#define XPOWER_GPI1_CTRL 0x92 ++ ++#define GPI1_LDO_MASK GENMASK(2, 0) ++#define GPI1_LDO_ON (3 << 0) ++#define GPI1_LDO_OFF (4 << 0) + + static struct pmic_table power_table[] = { + { +@@ -118,6 +123,10 @@ static struct pmic_table power_table[] = { + .reg = 0x10, + .bit = 0x00 + }, /* BUC6 */ ++ { ++ .address = 0x4c, ++ .reg = 0x92, ++ }, /* GPI1 */ + }; + + /* TMP0 - TMP5 are the same, all from GPADC */ +@@ -156,7 +165,12 @@ static int intel_xpower_pmic_get_power(struct regmap *regmap, int reg, + if (regmap_read(regmap, reg, &data)) + return -EIO; + +- *value = (data & BIT(bit)) ? 1 : 0; ++ /* GPIO1 LDO regulator needs special handling */ ++ if (reg == XPOWER_GPI1_CTRL) ++ *value = ((data & GPI1_LDO_MASK) == GPI1_LDO_ON); ++ else ++ *value = (data & BIT(bit)) ? 1 : 0; ++ + return 0; + } + +@@ -165,6 +179,11 @@ static int intel_xpower_pmic_update_power(struct regmap *regmap, int reg, + { + int data; + ++ /* GPIO1 LDO regulator needs special handling */ ++ if (reg == XPOWER_GPI1_CTRL) ++ return regmap_update_bits(regmap, reg, GPI1_LDO_MASK, ++ on ? GPI1_LDO_ON : GPI1_LDO_OFF); ++ + if (regmap_read(regmap, reg, &data)) + return -EIO; + +-- +2.13.0 + diff --git a/0006-Input-axp20x-pek-Add-wakeup-support.patch b/0006-Input-axp20x-pek-Add-wakeup-support.patch new file mode 100644 index 000000000..1ec9659bd --- /dev/null +++ b/0006-Input-axp20x-pek-Add-wakeup-support.patch @@ -0,0 +1,67 @@ +From fbac4c05ec1d7c2d949f50baf1e934cbfbb6a494 Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Mon, 17 Apr 2017 22:06:25 +0200 +Subject: [PATCH 06/16] Input: axp20x-pek - Add wakeup support + +At least on devices with the AXP288 PMIC the device is expected to +wakeup from suspend when the power-button gets pressed, add support +for this. + +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +--- + drivers/input/misc/axp20x-pek.c | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + +diff --git a/drivers/input/misc/axp20x-pek.c b/drivers/input/misc/axp20x-pek.c +index 400869e61a06..5f16fceaae83 100644 +--- a/drivers/input/misc/axp20x-pek.c ++++ b/drivers/input/misc/axp20x-pek.c +@@ -253,6 +253,9 @@ static int axp20x_pek_probe_input_device(struct axp20x_pek *axp20x_pek, + return error; + } + ++ if (axp20x_pek->axp20x->variant == AXP288_ID) ++ enable_irq_wake(axp20x_pek->irq_dbr); ++ + return 0; + } + +@@ -331,10 +334,35 @@ static int axp20x_pek_probe(struct platform_device *pdev) + return 0; + } + ++static int __maybe_unused axp20x_pek_resume_noirq(struct device *dev) ++{ ++ struct axp20x_pek *axp20x_pek = dev_get_drvdata(dev); ++ ++ if (axp20x_pek->axp20x->variant != AXP288_ID) ++ return 0; ++ ++ /* ++ * Clear interrupts from button presses during suspend, to avoid ++ * a wakeup power-button press getting reported to userspace. ++ */ ++ regmap_write(axp20x_pek->axp20x->regmap, ++ AXP20X_IRQ1_STATE + AXP288_IRQ_POKN / 8, ++ BIT(AXP288_IRQ_POKN % 8)); ++ ++ return 0; ++} ++ ++const struct dev_pm_ops axp20x_pek_pm_ops = { ++#ifdef CONFIG_PM_SLEEP ++ .resume_noirq = axp20x_pek_resume_noirq, ++#endif ++}; ++ + static struct platform_driver axp20x_pek_driver = { + .probe = axp20x_pek_probe, + .driver = { + .name = "axp20x-pek", ++ .pm = &axp20x_pek_pm_ops, + }, + }; + module_platform_driver(axp20x_pek_driver); +-- +2.13.0 + diff --git a/0007-platform-x86-silead_dmi-Add-touchscreen-info-for-GP-.patch b/0007-platform-x86-silead_dmi-Add-touchscreen-info-for-GP-.patch new file mode 100644 index 000000000..0b7633459 --- /dev/null +++ b/0007-platform-x86-silead_dmi-Add-touchscreen-info-for-GP-.patch @@ -0,0 +1,56 @@ +From d95c127c48ef784214671359a41ac505ac30098a Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Sun, 7 May 2017 12:32:11 +0200 +Subject: [PATCH 07/16] platform/x86: silead_dmi: Add touchscreen info for + GP-electronic T701 + +Add touchscreen info for the GP-electronic T701 tablet. + +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +--- + drivers/platform/x86/silead_dmi.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +diff --git a/drivers/platform/x86/silead_dmi.c b/drivers/platform/x86/silead_dmi.c +index a3a57d93cf06..db3a877d2160 100644 +--- a/drivers/platform/x86/silead_dmi.c ++++ b/drivers/platform/x86/silead_dmi.c +@@ -80,6 +80,19 @@ static const struct silead_ts_dmi_data surftab_wintron70_st70416_6_data = { + .properties = surftab_wintron70_st70416_6_props, + }; + ++static const struct property_entry gp_electronic_t701_props[] = { ++ PROPERTY_ENTRY_U32("touchscreen-size-x", 960), ++ PROPERTY_ENTRY_U32("touchscreen-size-y", 640), ++ PROPERTY_ENTRY_STRING("firmware-name", ++ "gsl1680-gp-electronic-t701.fw"), ++ { } ++}; ++ ++static const struct silead_ts_dmi_data gp_electronic_t701_data = { ++ .acpi_name = "MSSL1680:00", ++ .properties = gp_electronic_t701_props, ++}; ++ + static const struct dmi_system_id silead_ts_dmi_table[] = { + { + /* CUBE iwork8 Air */ +@@ -117,6 +130,15 @@ static const struct dmi_system_id silead_ts_dmi_table[] = { + DMI_MATCH(DMI_BIOS_VERSION, "TREK.G.WI71C.JGBMRBA04"), + }, + }, ++ { ++ /* GP-electronic T701 */ ++ .driver_data = (void *)&gp_electronic_t701_data, ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Insyde"), ++ DMI_MATCH(DMI_PRODUCT_NAME, "T701"), ++ DMI_MATCH(DMI_BIOS_VERSION, "BYT70A.YNCHENG.WIN.007"), ++ }, ++ }, + { }, + }; + +-- +2.13.0 + diff --git a/0008-platform-x86-silead_dmi-Add-touchscreen-info-for-PoV.patch b/0008-platform-x86-silead_dmi-Add-touchscreen-info-for-PoV.patch new file mode 100644 index 000000000..975deb8f0 --- /dev/null +++ b/0008-platform-x86-silead_dmi-Add-touchscreen-info-for-PoV.patch @@ -0,0 +1,59 @@ +From 55b347c61b2850d1e11e159ab02dc71f13b06481 Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Sun, 11 Jun 2017 17:42:31 +0200 +Subject: [PATCH 08/16] platform/x86: silead_dmi: Add touchscreen info for PoV + mobii wintab p800w + +Add touchscreen info for the Point of View mobii wintab p800w tablet. + +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +--- + drivers/platform/x86/silead_dmi.c | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/drivers/platform/x86/silead_dmi.c b/drivers/platform/x86/silead_dmi.c +index db3a877d2160..46c5e1ebfb53 100644 +--- a/drivers/platform/x86/silead_dmi.c ++++ b/drivers/platform/x86/silead_dmi.c +@@ -93,6 +93,20 @@ static const struct silead_ts_dmi_data gp_electronic_t701_data = { + .properties = gp_electronic_t701_props, + }; + ++static const struct property_entry pov_mobii_wintab_p800w_props[] = { ++ PROPERTY_ENTRY_U32("touchscreen-size-x", 1800), ++ PROPERTY_ENTRY_U32("touchscreen-size-y", 1150), ++ PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), ++ PROPERTY_ENTRY_STRING("firmware-name", ++ "gsl3692-pov-mobii-wintab-p800w.fw"), ++ { } ++}; ++ ++static const struct silead_ts_dmi_data pov_mobii_wintab_p800w_data = { ++ .acpi_name = "MSSL1680:00", ++ .properties = pov_mobii_wintab_p800w_props, ++}; ++ + static const struct dmi_system_id silead_ts_dmi_table[] = { + { + /* CUBE iwork8 Air */ +@@ -139,6 +153,17 @@ static const struct dmi_system_id silead_ts_dmi_table[] = { + DMI_MATCH(DMI_BIOS_VERSION, "BYT70A.YNCHENG.WIN.007"), + }, + }, ++ { ++ /* Point of View mobii wintab p800w */ ++ .driver_data = (void *)&pov_mobii_wintab_p800w_data, ++ .matches = { ++ DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"), ++ DMI_MATCH(DMI_BOARD_NAME, "Aptio CRB"), ++ DMI_MATCH(DMI_BIOS_VERSION, "3BAIR1013"), ++ /* Above matches are too generic, add bios-date match */ ++ DMI_MATCH(DMI_BIOS_DATE, "08/22/2014"), ++ }, ++ }, + { }, + }; + +-- +2.13.0 + diff --git a/0009-platform-x86-silead_dmi-Add-touchscreen-info-for-Pip.patch b/0009-platform-x86-silead_dmi-Add-touchscreen-info-for-Pip.patch new file mode 100644 index 000000000..0770395d9 --- /dev/null +++ b/0009-platform-x86-silead_dmi-Add-touchscreen-info-for-Pip.patch @@ -0,0 +1,57 @@ +From b239a7a0c2a1435aa5cbab3f233e0c37e82943dd Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Tue, 13 Jun 2017 18:17:07 +0200 +Subject: [PATCH 09/16] platform/x86: silead_dmi: Add touchscreen info for Pipo + W2S tablet + +Add touchscreen info for Pipo W2S tablet. + +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +--- + drivers/platform/x86/silead_dmi.c | 23 +++++++++++++++++++++++ + 1 file changed, 23 insertions(+) + +diff --git a/drivers/platform/x86/silead_dmi.c b/drivers/platform/x86/silead_dmi.c +index 46c5e1ebfb53..25cbea307a5e 100644 +--- a/drivers/platform/x86/silead_dmi.c ++++ b/drivers/platform/x86/silead_dmi.c +@@ -107,6 +107,21 @@ static const struct silead_ts_dmi_data pov_mobii_wintab_p800w_data = { + .properties = pov_mobii_wintab_p800w_props, + }; + ++static const struct property_entry pipo_w2s_props[] = { ++ PROPERTY_ENTRY_U32("touchscreen-size-x", 1660), ++ PROPERTY_ENTRY_U32("touchscreen-size-y", 880), ++ PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"), ++ PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), ++ PROPERTY_ENTRY_STRING("firmware-name", ++ "gsl1680-pipo-w2s.fw"), ++ { } ++}; ++ ++static const struct silead_ts_dmi_data pipo_w2s_data = { ++ .acpi_name = "MSSL1680:00", ++ .properties = pipo_w2s_props, ++}; ++ + static const struct dmi_system_id silead_ts_dmi_table[] = { + { + /* CUBE iwork8 Air */ +@@ -164,6 +179,14 @@ static const struct dmi_system_id silead_ts_dmi_table[] = { + DMI_MATCH(DMI_BIOS_DATE, "08/22/2014"), + }, + }, ++ { ++ /* Pipo W2S */ ++ .driver_data = (void *)&pipo_w2s_data, ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "PIPO"), ++ DMI_MATCH(DMI_PRODUCT_NAME, "W2S"), ++ }, ++ }, + { }, + }; + +-- +2.13.0 + diff --git a/0010-Input-silead-Add-support-for-capactive-home-button-f.patch b/0010-Input-silead-Add-support-for-capactive-home-button-f.patch new file mode 100644 index 000000000..ce9be3760 --- /dev/null +++ b/0010-Input-silead-Add-support-for-capactive-home-button-f.patch @@ -0,0 +1,114 @@ +From 33fc16fd8aa3684e19b1d1f0a712593e2e570ab1 Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Sun, 11 Jun 2017 21:24:50 +0200 +Subject: [PATCH 10/16] Input: silead: Add support for capactive home button + found on some x86 tablets + +On some x86 tablets with a silead touchscreen the windows logo on the +front is a capacitive home button. Touching this button results in a touch +with bits 12-15 of the Y coordinates set, while normally only the lower 12 +are used. + +Detect this and report a KEY_LEFTMETA press when this happens. Note for +now we only respond to the Y coordinate bits 12-15 containing 0x01, on some +tablets *without* a capacative button I've noticed these bits containing +0x04 when crossing the edges of the screen. + +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +--- + drivers/input/touchscreen/silead.c | 45 ++++++++++++++++++++++++++++---------- + 1 file changed, 34 insertions(+), 11 deletions(-) + +diff --git a/drivers/input/touchscreen/silead.c b/drivers/input/touchscreen/silead.c +index 0dbcf105f7db..c0ba40c09699 100644 +--- a/drivers/input/touchscreen/silead.c ++++ b/drivers/input/touchscreen/silead.c +@@ -56,7 +56,7 @@ + #define SILEAD_POINT_Y_MSB_OFF 0x01 + #define SILEAD_POINT_X_OFF 0x02 + #define SILEAD_POINT_X_MSB_OFF 0x03 +-#define SILEAD_TOUCH_ID_MASK 0xF0 ++#define SILEAD_EXTRA_DATA_MASK 0xF0 + + #define SILEAD_CMD_SLEEP_MIN 10000 + #define SILEAD_CMD_SLEEP_MAX 20000 +@@ -109,6 +109,8 @@ static int silead_ts_request_input_dev(struct silead_ts_data *data) + INPUT_MT_DIRECT | INPUT_MT_DROP_UNUSED | + INPUT_MT_TRACK); + ++ input_set_capability(data->input, EV_KEY, KEY_LEFTMETA); ++ + data->input->name = SILEAD_TS_NAME; + data->input->phys = "input/ts"; + data->input->id.bustype = BUS_I2C; +@@ -139,7 +141,8 @@ static void silead_ts_read_data(struct i2c_client *client) + struct input_dev *input = data->input; + struct device *dev = &client->dev; + u8 *bufp, buf[SILEAD_TS_DATA_LEN]; +- int touch_nr, error, i; ++ int touch_nr, softbutton, error, i; ++ bool softbutton_pressed = false; + + error = i2c_smbus_read_i2c_block_data(client, SILEAD_REG_DATA, + SILEAD_TS_DATA_LEN, buf); +@@ -148,21 +151,40 @@ static void silead_ts_read_data(struct i2c_client *client) + return; + } + +- touch_nr = buf[0]; +- if (touch_nr > data->max_fingers) { ++ if (buf[0] > data->max_fingers) { + dev_warn(dev, "More touches reported then supported %d > %d\n", +- touch_nr, data->max_fingers); +- touch_nr = data->max_fingers; ++ buf[0], data->max_fingers); ++ buf[0] = data->max_fingers; + } + ++ touch_nr = 0; + bufp = buf + SILEAD_POINT_DATA_LEN; +- for (i = 0; i < touch_nr; i++, bufp += SILEAD_POINT_DATA_LEN) { +- /* Bits 4-7 are the touch id */ +- data->id[i] = (bufp[SILEAD_POINT_X_MSB_OFF] & +- SILEAD_TOUCH_ID_MASK) >> 4; +- touchscreen_set_mt_pos(&data->pos[i], &data->prop, ++ for (i = 0; i < buf[0]; i++, bufp += SILEAD_POINT_DATA_LEN) { ++ softbutton = (bufp[SILEAD_POINT_Y_MSB_OFF] & ++ SILEAD_EXTRA_DATA_MASK) >> 4; ++ ++ if (softbutton) { ++ /* ++ * For now only respond to softbutton == 0x01, some ++ * tablets *without* a capacative button send 0x04 ++ * when crossing the edges of the screen. ++ */ ++ if (softbutton == 0x01) ++ softbutton_pressed = true; ++ ++ continue; ++ } ++ ++ /* ++ * Bits 4-7 are the touch id, note not all models have ++ * hardware touch ids so atm we don't use these. ++ */ ++ data->id[touch_nr] = (bufp[SILEAD_POINT_X_MSB_OFF] & ++ SILEAD_EXTRA_DATA_MASK) >> 4; ++ touchscreen_set_mt_pos(&data->pos[touch_nr], &data->prop, + get_unaligned_le16(&bufp[SILEAD_POINT_X_OFF]) & 0xfff, + get_unaligned_le16(&bufp[SILEAD_POINT_Y_OFF]) & 0xfff); ++ touch_nr++; + } + + input_mt_assign_slots(input, data->slots, data->pos, touch_nr, 0); +@@ -178,6 +200,7 @@ static void silead_ts_read_data(struct i2c_client *client) + } + + input_mt_sync_frame(input); ++ input_report_key(input, KEY_LEFTMETA, softbutton_pressed); + input_sync(input); + } + +-- +2.13.0 + diff --git a/0011-Input-goodix-Add-support-for-capacitive-home-button.patch b/0011-Input-goodix-Add-support-for-capacitive-home-button.patch new file mode 100644 index 000000000..162357c21 --- /dev/null +++ b/0011-Input-goodix-Add-support-for-capacitive-home-button.patch @@ -0,0 +1,53 @@ +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/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 new file mode 100644 index 000000000..9b52e3908 --- /dev/null +++ b/0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch @@ -0,0 +1,150 @@ +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/0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch b/0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch new file mode 100644 index 000000000..8eb41ee3f --- /dev/null +++ b/0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch @@ -0,0 +1,32 @@ +From bf3e9581e10a19b2ce77a45fe001116d269b4c7f Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Sun, 18 Jun 2017 12:47:38 +0200 +Subject: [PATCH 13/16] iio: accel: bmc150: Add support for BOSC0200 ACPI + device id + +Add support for the BOSC0200 ACPI device id used on some x86 tablets. +note driver_data is not set to a specific model, driver_data is not +used anyways (instead detection is done on the chip_id reg) and the +2 tablets with a BOSC0200 ACPI device id I've have 2 different chips, +one has a BMA250E, the other a BMA222E. + +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +--- + drivers/iio/accel/bmc150-accel-i2c.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/iio/accel/bmc150-accel-i2c.c b/drivers/iio/accel/bmc150-accel-i2c.c +index 8ca8041267ef..f85014fbaa12 100644 +--- a/drivers/iio/accel/bmc150-accel-i2c.c ++++ b/drivers/iio/accel/bmc150-accel-i2c.c +@@ -64,6 +64,7 @@ static const struct acpi_device_id bmc150_accel_acpi_match[] = { + {"BMA250E", bma250e}, + {"BMA222E", bma222e}, + {"BMA0280", bma280}, ++ {"BOSC0200"}, + { }, + }; + MODULE_DEVICE_TABLE(acpi, bmc150_accel_acpi_match); +-- +2.13.0 + diff --git a/0014-mmc-sdhci-acpi-Workaround-conflict-with-PCI-wifi-on-.patch b/0014-mmc-sdhci-acpi-Workaround-conflict-with-PCI-wifi-on-.patch new file mode 100644 index 000000000..b5c717c64 --- /dev/null +++ b/0014-mmc-sdhci-acpi-Workaround-conflict-with-PCI-wifi-on-.patch @@ -0,0 +1,143 @@ +From 51eb7454942c68c84b82782e47637de3ba37f113 Mon Sep 17 00:00:00 2001 +From: Adrian Hunter <adrian.hunter@intel.com> +Date: Wed, 21 Jun 2017 15:08:39 +0300 +Subject: [PATCH 14/16] mmc: sdhci-acpi: Workaround conflict with PCI wifi on + GPD Win handheld + +GPDwin uses PCI wifi which conflicts with SDIO's use of +acpi_device_fix_up_power() on child device nodes. Specifically +acpi_device_fix_up_power() causes the wifi module to get turned off. +Identifying GPDwin is problematic, but since SDIO is only used for wifi, +the presence of the PCI wifi card in the expected slot with an ACPI +companion node, is used to indicate that acpi_device_fix_up_power() should +be avoided. + +Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> +Acked-by: Hans de Goede <hdegoede@redhat.com> +Tested-by: Hans de Goede <hdegoede@redhat.com> +Cc: stable@vger.kernel.org +--- + drivers/mmc/host/sdhci-acpi.c | 70 +++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 64 insertions(+), 6 deletions(-) + +diff --git a/drivers/mmc/host/sdhci-acpi.c b/drivers/mmc/host/sdhci-acpi.c +index c6a9a1bfaa22..b3fb155f50e4 100644 +--- a/drivers/mmc/host/sdhci-acpi.c ++++ b/drivers/mmc/host/sdhci-acpi.c +@@ -45,6 +45,7 @@ + #include <asm/cpu_device_id.h> + #include <asm/intel-family.h> + #include <asm/iosf_mbi.h> ++#include <linux/pci.h> + #endif + + #include "sdhci.h" +@@ -134,6 +135,16 @@ static bool sdhci_acpi_byt(void) + return x86_match_cpu(byt); + } + ++static bool sdhci_acpi_cht(void) ++{ ++ static const struct x86_cpu_id cht[] = { ++ { X86_VENDOR_INTEL, 6, INTEL_FAM6_ATOM_AIRMONT }, ++ {} ++ }; ++ ++ return x86_match_cpu(cht); ++} ++ + #define BYT_IOSF_SCCEP 0x63 + #define BYT_IOSF_OCP_NETCTRL0 0x1078 + #define BYT_IOSF_OCP_TIMEOUT_BASE GENMASK(10, 8) +@@ -178,6 +189,45 @@ static bool sdhci_acpi_byt_defer(struct device *dev) + return false; + } + ++static bool sdhci_acpi_cht_pci_wifi(unsigned int vendor, unsigned int device, ++ unsigned int slot, unsigned int parent_slot) ++{ ++ struct pci_dev *dev, *parent, *from = NULL; ++ ++ while (1) { ++ dev = pci_get_device(vendor, device, from); ++ pci_dev_put(from); ++ if (!dev) ++ break; ++ parent = pci_upstream_bridge(dev); ++ if (ACPI_COMPANION(&dev->dev) && PCI_SLOT(dev->devfn) == slot && ++ parent && PCI_SLOT(parent->devfn) == parent_slot && ++ !pci_upstream_bridge(parent)) { ++ pci_dev_put(dev); ++ return true; ++ } ++ from = dev; ++ } ++ ++ return false; ++} ++ ++/* ++ * GPDwin uses PCI wifi which conflicts with SDIO's use of ++ * acpi_device_fix_up_power() on child device nodes. Identifying GPDwin is ++ * problematic, but since SDIO is only used for wifi, the presence of the PCI ++ * wifi card in the expected slot with an ACPI companion node, is used to ++ * indicate that acpi_device_fix_up_power() should be avoided. ++ */ ++static inline bool sdhci_acpi_no_fixup_child_power(const char *hid, ++ const char *uid) ++{ ++ return sdhci_acpi_cht() && ++ !strcmp(hid, "80860F14") && ++ !strcmp(uid, "2") && ++ sdhci_acpi_cht_pci_wifi(0x14e4, 0x43ec, 0, 28); ++} ++ + #else + + static inline void sdhci_acpi_byt_setting(struct device *dev) +@@ -189,6 +239,12 @@ static inline bool sdhci_acpi_byt_defer(struct device *dev) + return false; + } + ++static inline bool sdhci_acpi_no_fixup_child_power(const char *hid, ++ const char *uid) ++{ ++ return false; ++} ++ + #endif + + static int bxt_get_cd(struct mmc_host *mmc) +@@ -390,11 +446,16 @@ static int sdhci_acpi_probe(struct platform_device *pdev) + if (acpi_bus_get_device(handle, &device)) + return -ENODEV; + ++ hid = acpi_device_hid(device); ++ uid = device->pnp.unique_id; ++ + /* Power on the SDHCI controller and its children */ + acpi_device_fix_up_power(device); +- list_for_each_entry(child, &device->children, node) +- if (child->status.present && child->status.enabled) +- acpi_device_fix_up_power(child); ++ if (!sdhci_acpi_no_fixup_child_power(hid, uid)) { ++ list_for_each_entry(child, &device->children, node) ++ if (child->status.present && child->status.enabled) ++ acpi_device_fix_up_power(child); ++ } + + if (acpi_bus_get_status(device) || !device->status.present) + return -ENODEV; +@@ -402,9 +463,6 @@ static int sdhci_acpi_probe(struct platform_device *pdev) + if (sdhci_acpi_byt_defer(dev)) + return -EPROBE_DEFER; + +- hid = acpi_device_hid(device); +- uid = device->pnp.unique_id; +- + iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!iomem) + return -ENOMEM; +-- +2.13.0 + diff --git a/0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch b/0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch new file mode 100644 index 000000000..5d7497ce1 --- /dev/null +++ b/0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch @@ -0,0 +1,410 @@ +From bd0d7169342e47919f68e75d659968f02b62f84b Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Fri, 3 Mar 2017 23:48:50 +0100 +Subject: [PATCH 15/16] i2c-cht-wc: Add Intel Cherry Trail Whiskey Cove SMBUS + controller driver + +The Intel Cherry Trail Whiskey Cove PMIC does not contain a builtin +battery charger, instead boards with this PMIC use an external TI +bq24292i charger IC, which is connected to a SMBUS controller built into +the PMIC. + +This commit adds an i2c-bus driver for the PMIC's builtin SMBUS +controller. The probe function for this i2c-bus will also register an +i2c-client for the TI bq24292i charger after the i2c-bus has been +registered. + +Note that several device-properties are set on the client-device to +tell the bq24190 power-supply driver to integrate the Whiskey Cove PMIC +and e.g. use the PMIC's BC1.2 detection (through extcon) to determine +the maximum input current. + +Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +--- +Changes in v2: +-Various style (mostly captialization and variable name) fixes +-Use device-properties instead of platform_data for the i2c_board_info +--- + drivers/i2c/busses/Kconfig | 8 + + drivers/i2c/busses/Makefile | 1 + + drivers/i2c/busses/i2c-cht-wc.c | 336 ++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 345 insertions(+) + create mode 100644 drivers/i2c/busses/i2c-cht-wc.c + +diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig +index 144cbadc7c72..18c96178b177 100644 +--- a/drivers/i2c/busses/Kconfig ++++ b/drivers/i2c/busses/Kconfig +@@ -187,6 +187,14 @@ config I2C_PIIX4 + This driver can also be built as a module. If so, the module + will be called i2c-piix4. + ++config I2C_CHT_WC ++ tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller" ++ depends on INTEL_SOC_PMIC_CHTWC ++ help ++ If you say yes to this option, support will be included for the ++ SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC ++ found on some Intel Cherry Trail systems. ++ + config I2C_NFORCE2 + tristate "Nvidia nForce2, nForce3 and nForce4" + depends on PCI +diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile +index 30b60855fbcd..f6443fa44f61 100644 +--- a/drivers/i2c/busses/Makefile ++++ b/drivers/i2c/busses/Makefile +@@ -12,6 +12,7 @@ obj-$(CONFIG_I2C_ALI15X3) += i2c-ali15x3.o + obj-$(CONFIG_I2C_AMD756) += i2c-amd756.o + obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o + obj-$(CONFIG_I2C_AMD8111) += i2c-amd8111.o ++obj-$(CONFIG_I2C_CHT_WC) += i2c-cht-wc.o + obj-$(CONFIG_I2C_I801) += i2c-i801.o + obj-$(CONFIG_I2C_ISCH) += i2c-isch.o + obj-$(CONFIG_I2C_ISMT) += i2c-ismt.o +diff --git a/drivers/i2c/busses/i2c-cht-wc.c b/drivers/i2c/busses/i2c-cht-wc.c +new file mode 100644 +index 000000000000..ccf0785bcb75 +--- /dev/null ++++ b/drivers/i2c/busses/i2c-cht-wc.c +@@ -0,0 +1,336 @@ ++/* ++ * Intel CHT Whiskey Cove PMIC I2C Master driver ++ * Copyright (C) 2017 Hans de Goede <hdegoede@redhat.com> ++ * ++ * Based on various non upstream patches to support the CHT Whiskey Cove PMIC: ++ * Copyright (C) 2011 - 2014 Intel Corporation. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License version ++ * 2 as published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ */ ++ ++#include <linux/completion.h> ++#include <linux/delay.h> ++#include <linux/i2c.h> ++#include <linux/interrupt.h> ++#include <linux/irq.h> ++#include <linux/irqdomain.h> ++#include <linux/mfd/intel_soc_pmic.h> ++#include <linux/module.h> ++#include <linux/platform_device.h> ++#include <linux/slab.h> ++ ++#define CHT_WC_I2C_CTRL 0x5e24 ++#define CHT_WC_I2C_CTRL_WR BIT(0) ++#define CHT_WC_I2C_CTRL_RD BIT(1) ++#define CHT_WC_I2C_CLIENT_ADDR 0x5e25 ++#define CHT_WC_I2C_REG_OFFSET 0x5e26 ++#define CHT_WC_I2C_WRDATA 0x5e27 ++#define CHT_WC_I2C_RDDATA 0x5e28 ++ ++#define CHT_WC_EXTCHGRIRQ 0x6e0a ++#define CHT_WC_EXTCHGRIRQ_CLIENT_IRQ BIT(0) ++#define CHT_WC_EXTCHGRIRQ_WRITE_IRQ BIT(1) ++#define CHT_WC_EXTCHGRIRQ_READ_IRQ BIT(2) ++#define CHT_WC_EXTCHGRIRQ_NACK_IRQ BIT(3) ++#define CHT_WC_EXTCHGRIRQ_ADAP_IRQMASK ((u8)GENMASK(3, 1)) ++#define CHT_WC_EXTCHGRIRQ_MSK 0x6e17 ++ ++struct cht_wc_i2c_adap { ++ struct i2c_adapter adapter; ++ wait_queue_head_t wait; ++ struct irq_chip irqchip; ++ struct mutex irqchip_lock; ++ struct regmap *regmap; ++ struct irq_domain *irq_domain; ++ struct i2c_client *client; ++ int client_irq; ++ u8 irq_mask; ++ u8 old_irq_mask; ++ bool nack; ++ bool done; ++}; ++ ++static irqreturn_t cht_wc_i2c_adap_thread_handler(int id, void *data) ++{ ++ struct cht_wc_i2c_adap *adap = data; ++ int ret, reg; ++ ++ /* Read IRQs */ ++ ret = regmap_read(adap->regmap, CHT_WC_EXTCHGRIRQ, ®); ++ if (ret) { ++ dev_err(&adap->adapter.dev, "Error reading extchgrirq reg\n"); ++ return IRQ_NONE; ++ } ++ ++ reg &= ~adap->irq_mask; ++ ++ /* ++ * Immediately ack IRQs, so that if new IRQs arrives while we're ++ * handling the previous ones our irq will re-trigger when we're done. ++ */ ++ ret = regmap_write(adap->regmap, CHT_WC_EXTCHGRIRQ, reg); ++ if (ret) ++ dev_err(&adap->adapter.dev, "Error writing extchgrirq reg\n"); ++ ++ /* ++ * Do NOT use handle_nested_irq here, the client irq handler will ++ * likely want to do i2c transfers and the i2c controller uses this ++ * interrupt handler as well, so running the client irq handler from ++ * this thread will cause things to lock up. ++ */ ++ if (reg & CHT_WC_EXTCHGRIRQ_CLIENT_IRQ) { ++ /* ++ * generic_handle_irq expects local IRQs to be disabled ++ * as normally it is called from interrupt context. ++ */ ++ local_irq_disable(); ++ generic_handle_irq(adap->client_irq); ++ local_irq_enable(); ++ } ++ ++ if (reg & CHT_WC_EXTCHGRIRQ_ADAP_IRQMASK) { ++ adap->nack = !!(reg & CHT_WC_EXTCHGRIRQ_NACK_IRQ); ++ adap->done = true; ++ wake_up(&adap->wait); ++ } ++ ++ return IRQ_HANDLED; ++} ++ ++static u32 cht_wc_i2c_adap_master_func(struct i2c_adapter *adap) ++{ ++ /* This i2c adapter only supports SMBUS byte transfers */ ++ return I2C_FUNC_SMBUS_BYTE_DATA; ++} ++ ++static int cht_wc_i2c_adap_smbus_xfer(struct i2c_adapter *_adap, u16 addr, ++ unsigned short flags, char read_write, ++ u8 command, int size, ++ union i2c_smbus_data *data) ++{ ++ struct cht_wc_i2c_adap *adap = i2c_get_adapdata(_adap); ++ int ret, reg; ++ ++ adap->nack = false; ++ adap->done = false; ++ ++ ret = regmap_write(adap->regmap, CHT_WC_I2C_CLIENT_ADDR, addr); ++ if (ret) ++ return ret; ++ ++ if (read_write == I2C_SMBUS_WRITE) { ++ ret = regmap_write(adap->regmap, CHT_WC_I2C_WRDATA, data->byte); ++ if (ret) ++ return ret; ++ } ++ ++ ret = regmap_write(adap->regmap, CHT_WC_I2C_REG_OFFSET, command); ++ if (ret) ++ return ret; ++ ++ ret = regmap_write(adap->regmap, CHT_WC_I2C_CTRL, ++ (read_write == I2C_SMBUS_WRITE) ? ++ CHT_WC_I2C_CTRL_WR : CHT_WC_I2C_CTRL_RD); ++ if (ret) ++ return ret; ++ ++ /* 3 second timeout, during cable plug the PMIC responds quite slow */ ++ ret = wait_event_timeout(adap->wait, adap->done, 3 * HZ); ++ if (ret == 0) ++ return -ETIMEDOUT; ++ if (adap->nack) ++ return -EIO; ++ ++ if (read_write == I2C_SMBUS_READ) { ++ ret = regmap_read(adap->regmap, CHT_WC_I2C_RDDATA, ®); ++ if (ret) ++ return ret; ++ ++ data->byte = reg; ++ } ++ ++ return 0; ++} ++ ++static const struct i2c_algorithm cht_wc_i2c_adap_algo = { ++ .functionality = cht_wc_i2c_adap_master_func, ++ .smbus_xfer = cht_wc_i2c_adap_smbus_xfer, ++}; ++ ++/**** irqchip for the client connected to the extchgr i2c adapter ****/ ++static void cht_wc_i2c_irq_lock(struct irq_data *data) ++{ ++ struct cht_wc_i2c_adap *adap = irq_data_get_irq_chip_data(data); ++ ++ mutex_lock(&adap->irqchip_lock); ++} ++ ++static void cht_wc_i2c_irq_sync_unlock(struct irq_data *data) ++{ ++ struct cht_wc_i2c_adap *adap = irq_data_get_irq_chip_data(data); ++ int ret; ++ ++ if (adap->irq_mask != adap->old_irq_mask) { ++ ret = regmap_write(adap->regmap, CHT_WC_EXTCHGRIRQ_MSK, ++ adap->irq_mask); ++ if (ret == 0) ++ adap->old_irq_mask = adap->irq_mask; ++ else ++ dev_err(&adap->adapter.dev, "Error writing EXTCHGRIRQ_MSK\n"); ++ } ++ ++ mutex_unlock(&adap->irqchip_lock); ++} ++ ++static void cht_wc_i2c_irq_enable(struct irq_data *data) ++{ ++ struct cht_wc_i2c_adap *adap = irq_data_get_irq_chip_data(data); ++ ++ adap->irq_mask &= ~CHT_WC_EXTCHGRIRQ_CLIENT_IRQ; ++} ++ ++static void cht_wc_i2c_irq_disable(struct irq_data *data) ++{ ++ struct cht_wc_i2c_adap *adap = irq_data_get_irq_chip_data(data); ++ ++ adap->irq_mask |= CHT_WC_EXTCHGRIRQ_CLIENT_IRQ; ++} ++ ++static const struct irq_chip cht_wc_i2c_irq_chip = { ++ .irq_bus_lock = cht_wc_i2c_irq_lock, ++ .irq_bus_sync_unlock = cht_wc_i2c_irq_sync_unlock, ++ .irq_disable = cht_wc_i2c_irq_disable, ++ .irq_enable = cht_wc_i2c_irq_enable, ++ .name = "cht_wc_ext_chrg_irq_chip", ++}; ++ ++static const struct property_entry bq24190_props[] = { ++ PROPERTY_ENTRY_STRING("extcon-name", "cht_wcove_pwrsrc"), ++ PROPERTY_ENTRY_BOOL("omit-battery-class"), ++ PROPERTY_ENTRY_BOOL("disable-reset"), ++ { } ++}; ++ ++static int cht_wc_i2c_adap_i2c_probe(struct platform_device *pdev) ++{ ++ struct intel_soc_pmic *pmic = dev_get_drvdata(pdev->dev.parent); ++ struct cht_wc_i2c_adap *adap; ++ struct i2c_board_info board_info = { ++ .type = "bq24190", ++ .addr = 0x6b, ++ .properties = bq24190_props, ++ }; ++ int ret, irq; ++ ++ irq = platform_get_irq(pdev, 0); ++ if (irq < 0) { ++ dev_err(&pdev->dev, "Error missing irq resource\n"); ++ return -EINVAL; ++ } ++ ++ adap = devm_kzalloc(&pdev->dev, sizeof(*adap), GFP_KERNEL); ++ if (!adap) ++ return -ENOMEM; ++ ++ init_waitqueue_head(&adap->wait); ++ mutex_init(&adap->irqchip_lock); ++ adap->irqchip = cht_wc_i2c_irq_chip; ++ adap->regmap = pmic->regmap; ++ adap->adapter.owner = THIS_MODULE; ++ adap->adapter.class = I2C_CLASS_HWMON; ++ adap->adapter.algo = &cht_wc_i2c_adap_algo; ++ strlcpy(adap->adapter.name, "PMIC I2C Adapter", ++ sizeof(adap->adapter.name)); ++ adap->adapter.dev.parent = &pdev->dev; ++ ++ /* Clear and activate i2c-adapter interrupts, disable client IRQ */ ++ adap->old_irq_mask = adap->irq_mask = ~CHT_WC_EXTCHGRIRQ_ADAP_IRQMASK; ++ ret = regmap_write(adap->regmap, CHT_WC_EXTCHGRIRQ, ~adap->irq_mask); ++ if (ret) ++ return ret; ++ ++ ret = regmap_write(adap->regmap, CHT_WC_EXTCHGRIRQ_MSK, adap->irq_mask); ++ if (ret) ++ return ret; ++ ++ /* Alloc and register client IRQ */ ++ adap->irq_domain = irq_domain_add_linear(pdev->dev.of_node, 1, ++ &irq_domain_simple_ops, NULL); ++ if (!adap->irq_domain) ++ return -ENOMEM; ++ ++ adap->client_irq = irq_create_mapping(adap->irq_domain, 0); ++ if (!adap->client_irq) { ++ ret = -ENOMEM; ++ goto remove_irq_domain; ++ } ++ ++ irq_set_chip_data(adap->client_irq, adap); ++ irq_set_chip_and_handler(adap->client_irq, &adap->irqchip, ++ handle_simple_irq); ++ ++ ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, ++ cht_wc_i2c_adap_thread_handler, ++ IRQF_ONESHOT, "PMIC I2C Adapter", adap); ++ if (ret) ++ goto remove_irq_domain; ++ ++ i2c_set_adapdata(&adap->adapter, adap); ++ ret = i2c_add_adapter(&adap->adapter); ++ if (ret) ++ goto remove_irq_domain; ++ ++ board_info.irq = adap->client_irq; ++ adap->client = i2c_new_device(&adap->adapter, &board_info); ++ if (!adap->client) { ++ ret = -ENOMEM; ++ goto del_adapter; ++ } ++ ++ platform_set_drvdata(pdev, adap); ++ return 0; ++ ++del_adapter: ++ i2c_del_adapter(&adap->adapter); ++remove_irq_domain: ++ irq_domain_remove(adap->irq_domain); ++ return ret; ++} ++ ++static int cht_wc_i2c_adap_i2c_remove(struct platform_device *pdev) ++{ ++ struct cht_wc_i2c_adap *adap = platform_get_drvdata(pdev); ++ ++ i2c_unregister_device(adap->client); ++ i2c_del_adapter(&adap->adapter); ++ irq_domain_remove(adap->irq_domain); ++ ++ return 0; ++} ++ ++static struct platform_device_id cht_wc_i2c_adap_id_table[] = { ++ { .name = "cht_wcove_ext_chgr" }, ++ {}, ++}; ++MODULE_DEVICE_TABLE(platform, cht_wc_i2c_adap_id_table); ++ ++struct platform_driver cht_wc_i2c_adap_driver = { ++ .probe = cht_wc_i2c_adap_i2c_probe, ++ .remove = cht_wc_i2c_adap_i2c_remove, ++ .driver = { ++ .name = "cht_wcove_ext_chgr", ++ }, ++ .id_table = cht_wc_i2c_adap_id_table, ++}; ++module_platform_driver(cht_wc_i2c_adap_driver); ++ ++MODULE_DESCRIPTION("Intel CHT Whiskey Cove PMIC I2C Master driver"); ++MODULE_AUTHOR("Hans de Goede <hdegoede@redhat.com>"); ++MODULE_LICENSE("GPL"); +-- +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 new file mode 100644 index 000000000..14b4c27bf --- /dev/null +++ b/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch @@ -0,0 +1,54 @@ +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/2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch b/2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch deleted file mode 100644 index 088d921a7..000000000 --- a/2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 596bbd8d3752b0a922b7a5a059f47607a36ecc2e Mon Sep 17 00:00:00 2001 -From: Andrew Lutomirski <luto@kernel.org> -Date: Wed, 24 May 2017 15:06:31 -0700 -Subject: [PATCH] nvme: Quirk APST on Intel 600P/P3100 devices - -They have known firmware bugs. A fix is apparently in the works -- -once fixed firmware is available, someone from Intel (Hi, Keith!) -can adjust the quirk accordingly. - -Cc: stable@vger.kernel.org # v4.11 -Cc: Kai-Heng Feng <kai.heng.feng@canonical.com> -Cc: Mario Limonciello <mario_limonciello@dell.com> -Signed-off-by: Andy Lutomirski <luto@kernel.org> ---- - drivers/nvme/host/pci.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c -index d8a1707..993d16c 100644 ---- a/drivers/nvme/host/pci.c -+++ b/drivers/nvme/host/pci.c -@@ -2171,6 +2171,8 @@ static const struct pci_device_id nvme_id_table[] = { - { PCI_VDEVICE(INTEL, 0x0a54), - .driver_data = NVME_QUIRK_STRIPE_SIZE | - NVME_QUIRK_DISCARD_ZEROES, }, -+ { PCI_VDEVICE(INTEL, 0xf1a5), /* Intel 600P/P3100 */ -+ .driver_data = NVME_QUIRK_NO_DEEPEST_PS }, - { PCI_VDEVICE(INTEL, 0x5845), /* Qemu emulated controller */ - .driver_data = NVME_QUIRK_IDENTIFY_CNS, }, - { PCI_DEVICE(0x1c58, 0x0003), /* HGST adapter */ --- -2.7.5 - diff --git a/Add-EFI-signature-data-types.patch b/Add-EFI-signature-data-types.patch index 40d14f949..f7f7c36d3 100644 --- a/Add-EFI-signature-data-types.patch +++ b/Add-EFI-signature-data-types.patch @@ -1,37 +1,36 @@ -From ba3f737b8521314b62edaa7d4cc4bdc9aeefe394 Mon Sep 17 00:00:00 2001 +From 0451d4e795929a69a0fda6d960aa4b077c5bd179 Mon Sep 17 00:00:00 2001 From: Dave Howells <dhowells@redhat.com> -Date: Tue, 23 Oct 2012 09:30:54 -0400 -Subject: [PATCH 15/20] Add EFI signature data types +Date: Fri, 5 May 2017 08:21:58 +0100 +Subject: [PATCH 1/4] efi: Add EFI signature data types -Add the data types that are used for containing hashes, keys and certificates -for cryptographic verification. - -Bugzilla: N/A -Upstream-status: Fedora mustard for now +Add the data types that are used for containing hashes, keys and +certificates for cryptographic verification along with their corresponding +type GUIDs. Signed-off-by: David Howells <dhowells@redhat.com> --- - include/linux/efi.h | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) + include/linux/efi.h | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) diff --git a/include/linux/efi.h b/include/linux/efi.h -index 5af91b58afae..190858d62fe3 100644 +index ec36f42..3259ad6 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h -@@ -603,6 +603,9 @@ void efi_native_runtime_setup(void); - #define LINUX_EFI_LOADER_ENTRY_GUID EFI_GUID(0x4a67b082, 0x0a4c, 0x41cf, 0xb6, 0xc7, 0x44, 0x0b, 0x29, 0xbb, 0x8c, 0x4f) - #define LINUX_EFI_RANDOM_SEED_TABLE_GUID EFI_GUID(0x1ce1e5bc, 0x7ceb, 0x42f2, 0x81, 0xe5, 0x8a, 0xad, 0xf1, 0x80, 0xf5, 0x7b) - -+#define EFI_CERT_SHA256_GUID EFI_GUID(0xc1c41626, 0x504c, 0x4092, 0xac, 0xa9, 0x41, 0xf9, 0x36, 0x93, 0x43, 0x28) -+#define EFI_CERT_X509_GUID EFI_GUID(0xa5c059a1, 0x94e4, 0x4aa7, 0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72) +@@ -614,6 +614,10 @@ void efi_native_runtime_setup(void); + #define EFI_IMAGE_SECURITY_DATABASE_GUID EFI_GUID(0xd719b2cb, 0x3d3a, 0x4596, 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f) + #define EFI_SHIM_LOCK_GUID EFI_GUID(0x605dab50, 0xe046, 0x4300, 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23) + ++#define EFI_CERT_SHA256_GUID EFI_GUID(0xc1c41626, 0x504c, 0x4092, 0xac, 0xa9, 0x41, 0xf9, 0x36, 0x93, 0x43, 0x28) ++#define EFI_CERT_X509_GUID EFI_GUID(0xa5c059a1, 0x94e4, 0x4aa7, 0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72) ++#define EFI_CERT_X509_SHA256_GUID EFI_GUID(0x3bd2a492, 0x96c0, 0x4079, 0xb4, 0x20, 0xfc, 0xf9, 0x8e, 0xf1, 0x03, 0xed) + - typedef struct { - efi_guid_t guid; - u64 table; -@@ -853,6 +856,20 @@ typedef struct { + /* + * This GUID is used to pass to the kernel proper the struct screen_info + * structure that was populated by the stub based on the GOP protocol instance +@@ -873,6 +877,27 @@ typedef struct { efi_memory_desc_t entry[0]; } efi_memory_attributes_table_t; - + +typedef struct { + efi_guid_t signature_owner; + u8 signature_data[]; @@ -46,6 +45,13 @@ index 5af91b58afae..190858d62fe3 100644 + /* efi_signature_data_t signatures[][] */ +} efi_signature_list_t; + ++typedef u8 efi_sha256_hash_t[32]; ++ ++typedef struct { ++ efi_sha256_hash_t to_be_signed_hash; ++ efi_time_t time_of_revocation; ++} efi_cert_x509_sha256_t; ++ /* * All runtime access to EFI goes through this structure: */ diff --git a/Add-an-EFI-signature-blob-parser-and-key-loader.patch b/Add-an-EFI-signature-blob-parser-and-key-loader.patch index f57abc9f2..e3941eeaa 100644 --- a/Add-an-EFI-signature-blob-parser-and-key-loader.patch +++ b/Add-an-EFI-signature-blob-parser-and-key-loader.patch @@ -1,29 +1,38 @@ -From 822b4b3eb76ca451a416a51f0a7bfedfa5c5ea39 Mon Sep 17 00:00:00 2001 +From e4c62c12635a371e43bd17e8d33a936668264491 Mon Sep 17 00:00:00 2001 From: Dave Howells <dhowells@redhat.com> -Date: Tue, 23 Oct 2012 09:36:28 -0400 -Subject: [PATCH 16/20] Add an EFI signature blob parser and key loader. +Date: Fri, 5 May 2017 08:21:58 +0100 +Subject: [PATCH 2/4] efi: Add an EFI signature blob parser -X.509 certificates are loaded into the specified keyring as asymmetric type -keys. +Add a function to parse an EFI signature blob looking for elements of +interest. A list is made up of a series of sublists, where all the +elements in a sublist are of the same type, but sublists can be of +different types. + +For each sublist encountered, the function pointed to by the +get_handler_for_guid argument is called with the type specifier GUID and +returns either a pointer to a function to handle elements of that type or +NULL if the type is not of interest. + +If the sublist is of interest, each element is passed to the handler +function in turn. -[labbott@fedoraproject.org: Drop KEY_ALLOC_TRUSTED] Signed-off-by: David Howells <dhowells@redhat.com> --- - crypto/asymmetric_keys/Kconfig | 8 +++ - crypto/asymmetric_keys/Makefile | 1 + - crypto/asymmetric_keys/efi_parser.c | 108 ++++++++++++++++++++++++++++++++++++ - include/linux/efi.h | 4 ++ - 4 files changed, 121 insertions(+) - create mode 100644 crypto/asymmetric_keys/efi_parser.c + certs/Kconfig | 8 ++++ + certs/Makefile | 1 + + certs/efi_parser.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + include/linux/efi.h | 9 +++++ + 4 files changed, 130 insertions(+) + create mode 100644 certs/efi_parser.c + +diff --git a/certs/Kconfig b/certs/Kconfig +index 6ce51ed..630ae09 100644 +--- a/certs/Kconfig ++++ b/certs/Kconfig +@@ -82,4 +82,12 @@ config SYSTEM_BLACKLIST_HASH_LIST + wrapper to incorporate the list into the kernel. Each <hash> should + be a string of hex digits. -diff --git a/crypto/asymmetric_keys/Kconfig b/crypto/asymmetric_keys/Kconfig -index 331f6baf2df8..5f9002d3192e 100644 ---- a/crypto/asymmetric_keys/Kconfig -+++ b/crypto/asymmetric_keys/Kconfig -@@ -61,4 +61,12 @@ config SIGNED_PE_FILE_VERIFICATION - This option provides support for verifying the signature(s) on a - signed PE binary. - +config EFI_SIGNATURE_LIST_PARSER + bool "EFI signature list parser" + depends on EFI @@ -32,28 +41,28 @@ index 331f6baf2df8..5f9002d3192e 100644 + This option provides support for parsing EFI signature lists for + X.509 certificates and turning them into keys. + - endif # ASYMMETRIC_KEY_TYPE -diff --git a/crypto/asymmetric_keys/Makefile b/crypto/asymmetric_keys/Makefile -index 6516855bec18..c099fe15ed6d 100644 ---- a/crypto/asymmetric_keys/Makefile -+++ b/crypto/asymmetric_keys/Makefile -@@ -10,6 +10,7 @@ asymmetric_keys-y := \ - signature.o - - obj-$(CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o + endmenu +diff --git a/certs/Makefile b/certs/Makefile +index 4119bb3..738151a 100644 +--- a/certs/Makefile ++++ b/certs/Makefile +@@ -9,6 +9,7 @@ obj-$(CONFIG_SYSTEM_BLACKLIST_KEYRING) += blacklist_hashes.o + else + obj-$(CONFIG_SYSTEM_BLACKLIST_KEYRING) += blacklist_nohashes.o + endif +obj-$(CONFIG_EFI_SIGNATURE_LIST_PARSER) += efi_parser.o - - # - # X.509 Certificate handling -diff --git a/crypto/asymmetric_keys/efi_parser.c b/crypto/asymmetric_keys/efi_parser.c + + ifeq ($(CONFIG_SYSTEM_TRUSTED_KEYRING),y) + +diff --git a/certs/efi_parser.c b/certs/efi_parser.c new file mode 100644 -index 000000000000..636feb18b733 +index 0000000..4e396f9 --- /dev/null -+++ b/crypto/asymmetric_keys/efi_parser.c -@@ -0,0 +1,108 @@ ++++ b/certs/efi_parser.c +@@ -0,0 +1,112 @@ +/* EFI signature/key/certificate list parser + * -+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved. ++ * Copyright (C) 2012, 2016 Red Hat, Inc. All Rights Reserved. + * Written by David Howells (dhowells@redhat.com) + * + * This program is free software; you can redistribute it and/or @@ -67,27 +76,44 @@ index 000000000000..636feb18b733 +#include <linux/printk.h> +#include <linux/err.h> +#include <linux/efi.h> -+#include <keys/asymmetric-type.h> -+ -+static __initdata efi_guid_t efi_cert_x509_guid = EFI_CERT_X509_GUID; + +/** + * parse_efi_signature_list - Parse an EFI signature list for certificates ++ * @source: The source of the key + * @data: The data blob to parse + * @size: The size of the data blob -+ * @keyring: The keyring to add extracted keys to ++ * @get_handler_for_guid: Get the handler func for the sig type (or NULL) ++ * ++ * Parse an EFI signature list looking for elements of interest. A list is ++ * made up of a series of sublists, where all the elements in a sublist are of ++ * the same type, but sublists can be of different types. ++ * ++ * For each sublist encountered, the @get_handler_for_guid function is called ++ * with the type specifier GUID and returns either a pointer to a function to ++ * handle elements of that type or NULL if the type is not of interest. ++ * ++ * If the sublist is of interest, each element is passed to the handler ++ * function in turn. ++ * ++ * Error EBADMSG is returned if the list doesn't parse correctly and 0 is ++ * returned if the list was parsed correctly. No error can be returned from ++ * the @get_handler_for_guid function or the element handler function it ++ * returns. + */ -+int __init parse_efi_signature_list(const void *data, size_t size, struct key *keyring) ++int __init parse_efi_signature_list( ++ const char *source, ++ const void *data, size_t size, ++ efi_element_handler_t (*get_handler_for_guid)(const efi_guid_t *)) +{ ++ efi_element_handler_t handler; + unsigned offs = 0; -+ size_t lsize, esize, hsize, elsize; + + pr_devel("-->%s(,%zu)\n", __func__, size); + + while (size > 0) { -+ efi_signature_list_t list; + const efi_signature_data_t *elem; -+ key_ref_t key; ++ efi_signature_list_t list; ++ size_t lsize, esize, hsize, elsize; + + if (size < sizeof(list)) + return -EBADMSG; @@ -108,6 +134,7 @@ index 000000000000..636feb18b733 + __func__, offs); + return -EBADMSG; + } ++ + if (lsize < sizeof(list) || + lsize - sizeof(list) < hsize || + esize < sizeof(*elem) || @@ -117,7 +144,8 @@ index 000000000000..636feb18b733 + return -EBADMSG; + } + -+ if (efi_guidcmp(list.signature_type, efi_cert_x509_guid) != 0) { ++ handler = get_handler_for_guid(&list.signature_type); ++ if (!handler) { + data += lsize; + size -= lsize; + offs += lsize; @@ -132,24 +160,9 @@ index 000000000000..636feb18b733 + elem = data; + + pr_devel("ELEM[%04x]\n", offs); -+ -+ key = key_create_or_update( -+ make_key_ref(keyring, 1), -+ "asymmetric", -+ NULL, ++ handler(source, + &elem->signature_data, -+ esize - sizeof(*elem), -+ (KEY_POS_ALL & ~KEY_POS_SETATTR) | -+ KEY_USR_VIEW, -+ KEY_ALLOC_NOT_IN_QUOTA); -+ -+ if (IS_ERR(key)) -+ pr_err("Problem loading in-kernel X.509 certificate (%ld)\n", -+ PTR_ERR(key)); -+ else -+ pr_notice("Loaded cert '%s' linked to '%s'\n", -+ key_ref_to_ptr(key)->description, -+ keyring->description); ++ esize - sizeof(*elem)); + + data += esize; + size -= esize; @@ -160,16 +173,21 @@ index 000000000000..636feb18b733 + return 0; +} diff --git a/include/linux/efi.h b/include/linux/efi.h -index 190858d62fe3..668aa1244885 100644 +index 3259ad6..08024c6 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h -@@ -1025,6 +1025,10 @@ extern int efi_memattr_apply_permissions(struct mm_struct *mm, +@@ -1055,6 +1055,15 @@ extern int efi_memattr_apply_permissions(struct mm_struct *mm, char * __init efi_md_typeattr_format(char *buf, size_t size, const efi_memory_desc_t *md); - -+struct key; -+extern int __init parse_efi_signature_list(const void *data, size_t size, -+ struct key *keyring); + ++ ++typedef void (*efi_element_handler_t)(const char *source, ++ const void *element_data, ++ size_t element_size); ++extern int __init parse_efi_signature_list( ++ const char *source, ++ const void *data, size_t size, ++ efi_element_handler_t (*get_handler_for_guid)(const efi_guid_t *)); + /** * efi_range_is_wc - check the WC bit on an address range diff --git a/AllWinner-h3.patch b/AllWinner-h3.patch deleted file mode 100644 index c75da8aa8..000000000 --- a/AllWinner-h3.patch +++ /dev/null @@ -1,1080 +0,0 @@ -From patchwork Mon Mar 6 17:17:45 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v8, 1/6] ARM: dts: sun8i: h3: drop skeleton.dtsi inclusion in H3 DTSI -From: Icenowy Zheng <icenowy@aosc.xyz> -X-Patchwork-Id: 9607205 -Message-Id: <20170306171750.7491-2-icenowy@aosc.xyz> -To: Rob Herring <robh+dt@kernel.org>, - Maxime Ripard <maxime.ripard@free-electrons.com>, - Chen-Yu Tsai <wens@csie.org> -Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com, - linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Icenowy Zheng <icenowy@aosc.xyz> -Date: Tue, 7 Mar 2017 01:17:45 +0800 - -The skeleton.dtsi file is now deprecated, and do not exist in ARM64 -environment. - -Since we will soon reuse most part of H3 DTSI for H5, which is an ARM64 -chip, drop skeleton.dtsi inclusion now. - -Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> ---- -Changes in v8: -- Add h3: in commit message. - - arch/arm/boot/dts/sun8i-h3.dtsi | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -index 27780b97c863..9a3435527fde 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sun8i-h3.dtsi -@@ -40,8 +40,6 @@ - * OTHER DEALINGS IN THE SOFTWARE. - */ - --#include "skeleton.dtsi" -- - #include <dt-bindings/clock/sun8i-h3-ccu.h> - #include <dt-bindings/interrupt-controller/arm-gic.h> - #include <dt-bindings/pinctrl/sun4i-a10.h> -From patchwork Mon Mar 6 17:17:46 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v8, - 2/6] ARM: dts: sun8i: h3: drop pinctrl-a10.h inclusion for H3 DTSI -From: Icenowy Zheng <icenowy@aosc.xyz> -X-Patchwork-Id: 9607207 -Message-Id: <20170306171750.7491-3-icenowy@aosc.xyz> -To: Rob Herring <robh+dt@kernel.org>, - Maxime Ripard <maxime.ripard@free-electrons.com>, - Chen-Yu Tsai <wens@csie.org> -Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com, - linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Icenowy Zheng <icenowy@aosc.xyz> -Date: Tue, 7 Mar 2017 01:17:46 +0800 - -After converting to generic pinconf binding, pinctrl-a10.h is now not -used at all. - -Drop its inclusion for H3 DTSI. - -Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> ---- -Changes in v8: -- Add h3: in commit message. - - arch/arm/boot/dts/sun8i-h3.dtsi | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -index 9a3435527fde..b250e6d03b57 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sun8i-h3.dtsi -@@ -42,7 +42,6 @@ - - #include <dt-bindings/clock/sun8i-h3-ccu.h> - #include <dt-bindings/interrupt-controller/arm-gic.h> --#include <dt-bindings/pinctrl/sun4i-a10.h> - #include <dt-bindings/reset/sun8i-h3-ccu.h> - - / { -From patchwork Mon Mar 6 17:17:47 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v8, - 3/6] ARM: dts: sun8i: h3: correct the GIC compatible in H3 to gic-400 -From: Icenowy Zheng <icenowy@aosc.xyz> -X-Patchwork-Id: 9607209 -Message-Id: <20170306171750.7491-4-icenowy@aosc.xyz> -To: Rob Herring <robh+dt@kernel.org>, - Maxime Ripard <maxime.ripard@free-electrons.com>, - Chen-Yu Tsai <wens@csie.org> -Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com, - linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Icenowy Zheng <icenowy@aosc.xyz> -Date: Tue, 7 Mar 2017 01:17:47 +0800 - -According to the datasheets provided by Allwinner, both Allwinner H3 and -H5 use GIC-400 as their interrupt controller. - -For better device tree reusing, correct the GIC compatible in H3 DTSI to -"arm,gic-400", thus this node can be reused in H5. - -Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> ---- -Changes in v8: -- Add h3: in commit message. - - arch/arm/boot/dts/sun8i-h3.dtsi | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -index b250e6d03b57..c13fbfb92592 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sun8i-h3.dtsi -@@ -586,7 +586,7 @@ - }; - - gic: interrupt-controller@01c81000 { -- compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; -+ compatible = "arm,gic-400"; - reg = <0x01c81000 0x1000>, - <0x01c82000 0x2000>, - <0x01c84000 0x2000>, -From patchwork Mon Mar 6 17:17:48 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v8,4/6] arm: dts: sun8i: h3: split Allwinner H3 .dtsi -From: Icenowy Zheng <icenowy@aosc.xyz> -X-Patchwork-Id: 9607211 -Message-Id: <20170306171750.7491-5-icenowy@aosc.xyz> -To: Rob Herring <robh+dt@kernel.org>, - Maxime Ripard <maxime.ripard@free-electrons.com>, - Chen-Yu Tsai <wens@csie.org> -Cc: devicetree@vger.kernel.org, Andre Przywara <andre.przywara@arm.com>, - linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com, - Icenowy Zheng <icenowy@aosc.xyz>, linux-arm-kernel@lists.infradead.org -Date: Tue, 7 Mar 2017 01:17:48 +0800 - -From: Andre Przywara <andre.przywara@arm.com> - -The new Allwinner H5 SoC is pin-compatible to the H3 SoC, but with the -Cortex-A7 cores replaced by Cortex-A53 cores and the MMC controller -updated. So we should really share almost the whole .dtsi. -In preparation for that move the peripheral parts of the existing -sun8i-h3.dtsi into a new sunxi-h3-h5.dtsi. -The actual sun8i-h3.dtsi then includes that and defines the H3 specific -parts on top of it. - -Signed-off-by: Andre Przywara <andre.przywara@arm.com> -[Icenowy: also split out mmc and gic, as well as pio and ccu's - compatible, and make drop of skeleton into a seperated patch] -Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> ---- -Changes in v8: -- Add h3: in commit message. -Changes in v7: -- Extract GIC, skeleton.dtsi and pinctrl-a10.h changes to seperate patches. -Changes in v6: -- Extract GIC device node to sunxi-h3-h5.dtsi and correct its compatible - as "arm,gic-400". -Changes in v3: -- Use label-based syntax to reference nodes in H3 DTSI file. -Changes in v2: -- Rebase on current linux-next (because of the add of audio codec) - - arch/arm/boot/dts/sun8i-h3.dtsi | 771 ++++----------------- - .../boot/dts/{sun8i-h3.dtsi => sunxi-h3-h5.dtsi} | 73 +- - 2 files changed, 133 insertions(+), 711 deletions(-) - rewrite arch/arm/boot/dts/sun8i-h3.dtsi (83%) - copy arch/arm/boot/dts/{sun8i-h3.dtsi => sunxi-h3-h5.dtsi} (90%) - -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -dissimilarity index 83% -index c13fbfb92592..b36f9f423c39 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sun8i-h3.dtsi -@@ -1,645 +1,126 @@ --/* -- * Copyright (C) 2015 Jens Kuske <jenskuske@gmail.com> -- * -- * This file is dual-licensed: you can use it either under the terms -- * of the GPL or the X11 license, at your option. Note that this dual -- * licensing only applies to this file, and not this project as a -- * whole. -- * -- * a) This file is free software; you can redistribute it and/or -- * modify it under the terms of the GNU General Public License as -- * published by the Free Software Foundation; either version 2 of the -- * License, or (at your option) any later version. -- * -- * This file is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU General Public License for more details. -- * -- * Or, alternatively, -- * -- * b) Permission is hereby granted, free of charge, to any person -- * obtaining a copy of this software and associated documentation -- * files (the "Software"), to deal in the Software without -- * restriction, including without limitation the rights to use, -- * copy, modify, merge, publish, distribute, sublicense, and/or -- * sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following -- * conditions: -- * -- * The above copyright notice and this permission notice shall be -- * included in all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- */ -- --#include <dt-bindings/clock/sun8i-h3-ccu.h> --#include <dt-bindings/interrupt-controller/arm-gic.h> --#include <dt-bindings/reset/sun8i-h3-ccu.h> -- --/ { -- interrupt-parent = <&gic>; -- -- cpus { -- #address-cells = <1>; -- #size-cells = <0>; -- -- cpu@0 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <0>; -- }; -- -- cpu@1 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <1>; -- }; -- -- cpu@2 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <2>; -- }; -- -- cpu@3 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <3>; -- }; -- }; -- -- timer { -- compatible = "arm,armv7-timer"; -- interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, -- <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, -- <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, -- <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; -- }; -- -- clocks { -- #address-cells = <1>; -- #size-cells = <1>; -- ranges; -- -- osc24M: osc24M_clk { -- #clock-cells = <0>; -- compatible = "fixed-clock"; -- clock-frequency = <24000000>; -- clock-output-names = "osc24M"; -- }; -- -- osc32k: osc32k_clk { -- #clock-cells = <0>; -- compatible = "fixed-clock"; -- clock-frequency = <32768>; -- clock-output-names = "osc32k"; -- }; -- -- apb0: apb0_clk { -- compatible = "fixed-factor-clock"; -- #clock-cells = <0>; -- clock-div = <1>; -- clock-mult = <1>; -- clocks = <&osc24M>; -- clock-output-names = "apb0"; -- }; -- -- apb0_gates: clk@01f01428 { -- compatible = "allwinner,sun8i-h3-apb0-gates-clk", -- "allwinner,sun4i-a10-gates-clk"; -- reg = <0x01f01428 0x4>; -- #clock-cells = <1>; -- clocks = <&apb0>; -- clock-indices = <0>, <1>; -- clock-output-names = "apb0_pio", "apb0_ir"; -- }; -- -- ir_clk: ir_clk@01f01454 { -- compatible = "allwinner,sun4i-a10-mod0-clk"; -- reg = <0x01f01454 0x4>; -- #clock-cells = <0>; -- clocks = <&osc32k>, <&osc24M>; -- clock-output-names = "ir"; -- }; -- }; -- -- soc { -- compatible = "simple-bus"; -- #address-cells = <1>; -- #size-cells = <1>; -- ranges; -- -- dma: dma-controller@01c02000 { -- compatible = "allwinner,sun8i-h3-dma"; -- reg = <0x01c02000 0x1000>; -- interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_DMA>; -- resets = <&ccu RST_BUS_DMA>; -- #dma-cells = <1>; -- }; -- -- mmc0: mmc@01c0f000 { -- compatible = "allwinner,sun7i-a20-mmc"; -- reg = <0x01c0f000 0x1000>; -- clocks = <&ccu CLK_BUS_MMC0>, -- <&ccu CLK_MMC0>, -- <&ccu CLK_MMC0_OUTPUT>, -- <&ccu CLK_MMC0_SAMPLE>; -- clock-names = "ahb", -- "mmc", -- "output", -- "sample"; -- resets = <&ccu RST_BUS_MMC0>; -- reset-names = "ahb"; -- interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- mmc1: mmc@01c10000 { -- compatible = "allwinner,sun7i-a20-mmc"; -- reg = <0x01c10000 0x1000>; -- clocks = <&ccu CLK_BUS_MMC1>, -- <&ccu CLK_MMC1>, -- <&ccu CLK_MMC1_OUTPUT>, -- <&ccu CLK_MMC1_SAMPLE>; -- clock-names = "ahb", -- "mmc", -- "output", -- "sample"; -- resets = <&ccu RST_BUS_MMC1>; -- reset-names = "ahb"; -- interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- mmc2: mmc@01c11000 { -- compatible = "allwinner,sun7i-a20-mmc"; -- reg = <0x01c11000 0x1000>; -- clocks = <&ccu CLK_BUS_MMC2>, -- <&ccu CLK_MMC2>, -- <&ccu CLK_MMC2_OUTPUT>, -- <&ccu CLK_MMC2_SAMPLE>; -- clock-names = "ahb", -- "mmc", -- "output", -- "sample"; -- resets = <&ccu RST_BUS_MMC2>; -- reset-names = "ahb"; -- interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- usbphy: phy@01c19400 { -- compatible = "allwinner,sun8i-h3-usb-phy"; -- reg = <0x01c19400 0x2c>, -- <0x01c1a800 0x4>, -- <0x01c1b800 0x4>, -- <0x01c1c800 0x4>, -- <0x01c1d800 0x4>; -- reg-names = "phy_ctrl", -- "pmu0", -- "pmu1", -- "pmu2", -- "pmu3"; -- clocks = <&ccu CLK_USB_PHY0>, -- <&ccu CLK_USB_PHY1>, -- <&ccu CLK_USB_PHY2>, -- <&ccu CLK_USB_PHY3>; -- clock-names = "usb0_phy", -- "usb1_phy", -- "usb2_phy", -- "usb3_phy"; -- resets = <&ccu RST_USB_PHY0>, -- <&ccu RST_USB_PHY1>, -- <&ccu RST_USB_PHY2>, -- <&ccu RST_USB_PHY3>; -- reset-names = "usb0_reset", -- "usb1_reset", -- "usb2_reset", -- "usb3_reset"; -- status = "disabled"; -- #phy-cells = <1>; -- }; -- -- ehci1: usb@01c1b000 { -- compatible = "allwinner,sun8i-h3-ehci", "generic-ehci"; -- reg = <0x01c1b000 0x100>; -- interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_EHCI1>, <&ccu CLK_BUS_OHCI1>; -- resets = <&ccu RST_BUS_EHCI1>, <&ccu RST_BUS_OHCI1>; -- phys = <&usbphy 1>; -- phy-names = "usb"; -- status = "disabled"; -- }; -- -- ohci1: usb@01c1b400 { -- compatible = "allwinner,sun8i-h3-ohci", "generic-ohci"; -- reg = <0x01c1b400 0x100>; -- interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_EHCI1>, <&ccu CLK_BUS_OHCI1>, -- <&ccu CLK_USB_OHCI1>; -- resets = <&ccu RST_BUS_EHCI1>, <&ccu RST_BUS_OHCI1>; -- phys = <&usbphy 1>; -- phy-names = "usb"; -- status = "disabled"; -- }; -- -- ehci2: usb@01c1c000 { -- compatible = "allwinner,sun8i-h3-ehci", "generic-ehci"; -- reg = <0x01c1c000 0x100>; -- interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_EHCI2>, <&ccu CLK_BUS_OHCI2>; -- resets = <&ccu RST_BUS_EHCI2>, <&ccu RST_BUS_OHCI2>; -- phys = <&usbphy 2>; -- phy-names = "usb"; -- status = "disabled"; -- }; -- -- ohci2: usb@01c1c400 { -- compatible = "allwinner,sun8i-h3-ohci", "generic-ohci"; -- reg = <0x01c1c400 0x100>; -- interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_EHCI2>, <&ccu CLK_BUS_OHCI2>, -- <&ccu CLK_USB_OHCI2>; -- resets = <&ccu RST_BUS_EHCI2>, <&ccu RST_BUS_OHCI2>; -- phys = <&usbphy 2>; -- phy-names = "usb"; -- status = "disabled"; -- }; -- -- ehci3: usb@01c1d000 { -- compatible = "allwinner,sun8i-h3-ehci", "generic-ehci"; -- reg = <0x01c1d000 0x100>; -- interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_EHCI3>, <&ccu CLK_BUS_OHCI3>; -- resets = <&ccu RST_BUS_EHCI3>, <&ccu RST_BUS_OHCI3>; -- phys = <&usbphy 3>; -- phy-names = "usb"; -- status = "disabled"; -- }; -- -- ohci3: usb@01c1d400 { -- compatible = "allwinner,sun8i-h3-ohci", "generic-ohci"; -- reg = <0x01c1d400 0x100>; -- interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_EHCI3>, <&ccu CLK_BUS_OHCI3>, -- <&ccu CLK_USB_OHCI3>; -- resets = <&ccu RST_BUS_EHCI3>, <&ccu RST_BUS_OHCI3>; -- phys = <&usbphy 3>; -- phy-names = "usb"; -- status = "disabled"; -- }; -- -- ccu: clock@01c20000 { -- compatible = "allwinner,sun8i-h3-ccu"; -- reg = <0x01c20000 0x400>; -- clocks = <&osc24M>, <&osc32k>; -- clock-names = "hosc", "losc"; -- #clock-cells = <1>; -- #reset-cells = <1>; -- }; -- -- pio: pinctrl@01c20800 { -- compatible = "allwinner,sun8i-h3-pinctrl"; -- reg = <0x01c20800 0x400>; -- interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, -- <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>; -- clock-names = "apb", "hosc", "losc"; -- gpio-controller; -- #gpio-cells = <3>; -- interrupt-controller; -- #interrupt-cells = <3>; -- -- i2c0_pins: i2c0 { -- pins = "PA11", "PA12"; -- function = "i2c0"; -- }; -- -- i2c1_pins: i2c1 { -- pins = "PA18", "PA19"; -- function = "i2c1"; -- }; -- -- i2c2_pins: i2c2 { -- pins = "PE12", "PE13"; -- function = "i2c2"; -- }; -- -- mmc0_pins_a: mmc0@0 { -- pins = "PF0", "PF1", "PF2", "PF3", -- "PF4", "PF5"; -- function = "mmc0"; -- drive-strength = <30>; -- bias-pull-up; -- }; -- -- mmc0_cd_pin: mmc0_cd_pin@0 { -- pins = "PF6"; -- function = "gpio_in"; -- bias-pull-up; -- }; -- -- mmc1_pins_a: mmc1@0 { -- pins = "PG0", "PG1", "PG2", "PG3", -- "PG4", "PG5"; -- function = "mmc1"; -- drive-strength = <30>; -- bias-pull-up; -- }; -- -- mmc2_8bit_pins: mmc2_8bit { -- pins = "PC5", "PC6", "PC8", -- "PC9", "PC10", "PC11", -- "PC12", "PC13", "PC14", -- "PC15", "PC16"; -- function = "mmc2"; -- drive-strength = <30>; -- bias-pull-up; -- }; -- -- spdif_tx_pins_a: spdif@0 { -- pins = "PA17"; -- function = "spdif"; -- }; -- -- spi0_pins: spi0 { -- pins = "PC0", "PC1", "PC2", "PC3"; -- function = "spi0"; -- }; -- -- spi1_pins: spi1 { -- pins = "PA15", "PA16", "PA14", "PA13"; -- function = "spi1"; -- }; -- -- uart0_pins_a: uart0@0 { -- pins = "PA4", "PA5"; -- function = "uart0"; -- }; -- -- uart1_pins: uart1 { -- pins = "PG6", "PG7"; -- function = "uart1"; -- }; -- -- uart1_rts_cts_pins: uart1_rts_cts { -- pins = "PG8", "PG9"; -- function = "uart1"; -- }; -- -- uart2_pins: uart2 { -- pins = "PA0", "PA1"; -- function = "uart2"; -- }; -- -- uart3_pins: uart3 { -- pins = "PA13", "PA14"; -- function = "uart3"; -- }; -- }; -- -- timer@01c20c00 { -- compatible = "allwinner,sun4i-a10-timer"; -- reg = <0x01c20c00 0xa0>; -- interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, -- <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&osc24M>; -- }; -- -- spi0: spi@01c68000 { -- compatible = "allwinner,sun8i-h3-spi"; -- reg = <0x01c68000 0x1000>; -- interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; -- clock-names = "ahb", "mod"; -- dmas = <&dma 23>, <&dma 23>; -- dma-names = "rx", "tx"; -- pinctrl-names = "default"; -- pinctrl-0 = <&spi0_pins>; -- resets = <&ccu RST_BUS_SPI0>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- spi1: spi@01c69000 { -- compatible = "allwinner,sun8i-h3-spi"; -- reg = <0x01c69000 0x1000>; -- interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; -- clock-names = "ahb", "mod"; -- dmas = <&dma 24>, <&dma 24>; -- dma-names = "rx", "tx"; -- pinctrl-names = "default"; -- pinctrl-0 = <&spi1_pins>; -- resets = <&ccu RST_BUS_SPI1>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- wdt0: watchdog@01c20ca0 { -- compatible = "allwinner,sun6i-a31-wdt"; -- reg = <0x01c20ca0 0x20>; -- interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; -- }; -- -- spdif: spdif@01c21000 { -- #sound-dai-cells = <0>; -- compatible = "allwinner,sun8i-h3-spdif"; -- reg = <0x01c21000 0x400>; -- interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>; -- resets = <&ccu RST_BUS_SPDIF>; -- clock-names = "apb", "spdif"; -- dmas = <&dma 2>; -- dma-names = "tx"; -- status = "disabled"; -- }; -- -- pwm: pwm@01c21400 { -- compatible = "allwinner,sun8i-h3-pwm"; -- reg = <0x01c21400 0x8>; -- clocks = <&osc24M>; -- #pwm-cells = <3>; -- status = "disabled"; -- }; -- -- codec: codec@01c22c00 { -- #sound-dai-cells = <0>; -- compatible = "allwinner,sun8i-h3-codec"; -- reg = <0x01c22c00 0x400>; -- interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>; -- clock-names = "apb", "codec"; -- resets = <&ccu RST_BUS_CODEC>; -- dmas = <&dma 15>, <&dma 15>; -- dma-names = "rx", "tx"; -- allwinner,codec-analog-controls = <&codec_analog>; -- status = "disabled"; -- }; -- -- uart0: serial@01c28000 { -- compatible = "snps,dw-apb-uart"; -- reg = <0x01c28000 0x400>; -- interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; -- reg-shift = <2>; -- reg-io-width = <4>; -- clocks = <&ccu CLK_BUS_UART0>; -- resets = <&ccu RST_BUS_UART0>; -- dmas = <&dma 6>, <&dma 6>; -- dma-names = "rx", "tx"; -- status = "disabled"; -- }; -- -- uart1: serial@01c28400 { -- compatible = "snps,dw-apb-uart"; -- reg = <0x01c28400 0x400>; -- interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; -- reg-shift = <2>; -- reg-io-width = <4>; -- clocks = <&ccu CLK_BUS_UART1>; -- resets = <&ccu RST_BUS_UART1>; -- dmas = <&dma 7>, <&dma 7>; -- dma-names = "rx", "tx"; -- status = "disabled"; -- }; -- -- uart2: serial@01c28800 { -- compatible = "snps,dw-apb-uart"; -- reg = <0x01c28800 0x400>; -- interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; -- reg-shift = <2>; -- reg-io-width = <4>; -- clocks = <&ccu CLK_BUS_UART2>; -- resets = <&ccu RST_BUS_UART2>; -- dmas = <&dma 8>, <&dma 8>; -- dma-names = "rx", "tx"; -- status = "disabled"; -- }; -- -- uart3: serial@01c28c00 { -- compatible = "snps,dw-apb-uart"; -- reg = <0x01c28c00 0x400>; -- interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; -- reg-shift = <2>; -- reg-io-width = <4>; -- clocks = <&ccu CLK_BUS_UART3>; -- resets = <&ccu RST_BUS_UART3>; -- dmas = <&dma 9>, <&dma 9>; -- dma-names = "rx", "tx"; -- status = "disabled"; -- }; -- -- i2c0: i2c@01c2ac00 { -- compatible = "allwinner,sun6i-a31-i2c"; -- reg = <0x01c2ac00 0x400>; -- interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_I2C0>; -- resets = <&ccu RST_BUS_I2C0>; -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- i2c1: i2c@01c2b000 { -- compatible = "allwinner,sun6i-a31-i2c"; -- reg = <0x01c2b000 0x400>; -- interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_I2C1>; -- resets = <&ccu RST_BUS_I2C1>; -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c1_pins>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- i2c2: i2c@01c2b400 { -- compatible = "allwinner,sun6i-a31-i2c"; -- reg = <0x01c2b000 0x400>; -- interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&ccu CLK_BUS_I2C2>; -- resets = <&ccu RST_BUS_I2C2>; -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c2_pins>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- gic: interrupt-controller@01c81000 { -- compatible = "arm,gic-400"; -- reg = <0x01c81000 0x1000>, -- <0x01c82000 0x2000>, -- <0x01c84000 0x2000>, -- <0x01c86000 0x2000>; -- interrupt-controller; -- #interrupt-cells = <3>; -- interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; -- }; -- -- rtc: rtc@01f00000 { -- compatible = "allwinner,sun6i-a31-rtc"; -- reg = <0x01f00000 0x54>; -- interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, -- <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; -- }; -- -- apb0_reset: reset@01f014b0 { -- reg = <0x01f014b0 0x4>; -- compatible = "allwinner,sun6i-a31-clock-reset"; -- #reset-cells = <1>; -- }; -- -- codec_analog: codec-analog@01f015c0 { -- compatible = "allwinner,sun8i-h3-codec-analog"; -- reg = <0x01f015c0 0x4>; -- }; -- -- ir: ir@01f02000 { -- compatible = "allwinner,sun5i-a13-ir"; -- clocks = <&apb0_gates 1>, <&ir_clk>; -- clock-names = "apb", "ir"; -- resets = <&apb0_reset 1>; -- interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; -- reg = <0x01f02000 0x40>; -- status = "disabled"; -- }; -- -- r_pio: pinctrl@01f02c00 { -- compatible = "allwinner,sun8i-h3-r-pinctrl"; -- reg = <0x01f02c00 0x400>; -- interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; -- clocks = <&apb0_gates 0>, <&osc24M>, <&osc32k>; -- clock-names = "apb", "hosc", "losc"; -- resets = <&apb0_reset 0>; -- gpio-controller; -- #gpio-cells = <3>; -- interrupt-controller; -- #interrupt-cells = <3>; -- -- ir_pins_a: ir@0 { -- pins = "PL11"; -- function = "s_cir_rx"; -- }; -- }; -- }; --}; -+/* -+ * Copyright (C) 2015 Jens Kuske <jenskuske@gmail.com> -+ * -+ * This file is dual-licensed: you can use it either under the terms -+ * of the GPL or the X11 license, at your option. Note that this dual -+ * licensing only applies to this file, and not this project as a -+ * whole. -+ * -+ * a) This file is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This file is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * Or, alternatively, -+ * -+ * b) Permission is hereby granted, free of charge, to any person -+ * obtaining a copy of this software and associated documentation -+ * files (the "Software"), to deal in the Software without -+ * restriction, including without limitation the rights to use, -+ * copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following -+ * conditions: -+ * -+ * The above copyright notice and this permission notice shall be -+ * included in all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+ -+#include "sunxi-h3-h5.dtsi" -+ -+/ { -+ cpus { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ cpu@0 { -+ compatible = "arm,cortex-a7"; -+ device_type = "cpu"; -+ reg = <0>; -+ }; -+ -+ cpu@1 { -+ compatible = "arm,cortex-a7"; -+ device_type = "cpu"; -+ reg = <1>; -+ }; -+ -+ cpu@2 { -+ compatible = "arm,cortex-a7"; -+ device_type = "cpu"; -+ reg = <2>; -+ }; -+ -+ cpu@3 { -+ compatible = "arm,cortex-a7"; -+ device_type = "cpu"; -+ reg = <3>; -+ }; -+ }; -+ -+ timer { -+ compatible = "arm,armv7-timer"; -+ interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, -+ <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, -+ <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, -+ <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; -+ }; -+}; -+ -+&ccu { -+ compatible = "allwinner,sun8i-h3-ccu"; -+}; -+ -+&mmc0 { -+ compatible = "allwinner,sun7i-a20-mmc"; -+ clocks = <&ccu CLK_BUS_MMC0>, -+ <&ccu CLK_MMC0>, -+ <&ccu CLK_MMC0_OUTPUT>, -+ <&ccu CLK_MMC0_SAMPLE>; -+ clock-names = "ahb", -+ "mmc", -+ "output", -+ "sample"; -+}; -+ -+&mmc1 { -+ compatible = "allwinner,sun7i-a20-mmc"; -+ clocks = <&ccu CLK_BUS_MMC1>, -+ <&ccu CLK_MMC1>, -+ <&ccu CLK_MMC1_OUTPUT>, -+ <&ccu CLK_MMC1_SAMPLE>; -+ clock-names = "ahb", -+ "mmc", -+ "output", -+ "sample"; -+}; -+ -+&mmc2 { -+ compatible = "allwinner,sun7i-a20-mmc"; -+ clocks = <&ccu CLK_BUS_MMC2>, -+ <&ccu CLK_MMC2>, -+ <&ccu CLK_MMC2_OUTPUT>, -+ <&ccu CLK_MMC2_SAMPLE>; -+ clock-names = "ahb", -+ "mmc", -+ "output", -+ "sample"; -+}; -+ -+&pio { -+ compatible = "allwinner,sun8i-h3-pinctrl"; -+}; -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -similarity index 90% -copy from arch/arm/boot/dts/sun8i-h3.dtsi -copy to arch/arm/boot/dts/sunxi-h3-h5.dtsi -index c13fbfb92592..2494ea063cd4 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -@@ -46,43 +46,8 @@ - - / { - interrupt-parent = <&gic>; -- -- cpus { -- #address-cells = <1>; -- #size-cells = <0>; -- -- cpu@0 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <0>; -- }; -- -- cpu@1 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <1>; -- }; -- -- cpu@2 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <2>; -- }; -- -- cpu@3 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <3>; -- }; -- }; -- -- timer { -- compatible = "arm,armv7-timer"; -- interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, -- <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, -- <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, -- <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; -- }; -+ #address-cells = <1>; -+ #size-cells = <1>; - - clocks { - #address-cells = <1>; -@@ -147,16 +112,8 @@ - }; - - mmc0: mmc@01c0f000 { -- compatible = "allwinner,sun7i-a20-mmc"; -+ /* compatible and clocks are in per SoC .dtsi file */ - reg = <0x01c0f000 0x1000>; -- clocks = <&ccu CLK_BUS_MMC0>, -- <&ccu CLK_MMC0>, -- <&ccu CLK_MMC0_OUTPUT>, -- <&ccu CLK_MMC0_SAMPLE>; -- clock-names = "ahb", -- "mmc", -- "output", -- "sample"; - resets = <&ccu RST_BUS_MMC0>; - reset-names = "ahb"; - interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; -@@ -166,16 +123,8 @@ - }; - - mmc1: mmc@01c10000 { -- compatible = "allwinner,sun7i-a20-mmc"; -+ /* compatible and clocks are in per SoC .dtsi file */ - reg = <0x01c10000 0x1000>; -- clocks = <&ccu CLK_BUS_MMC1>, -- <&ccu CLK_MMC1>, -- <&ccu CLK_MMC1_OUTPUT>, -- <&ccu CLK_MMC1_SAMPLE>; -- clock-names = "ahb", -- "mmc", -- "output", -- "sample"; - resets = <&ccu RST_BUS_MMC1>; - reset-names = "ahb"; - interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; -@@ -185,16 +134,8 @@ - }; - - mmc2: mmc@01c11000 { -- compatible = "allwinner,sun7i-a20-mmc"; -+ /* compatible and clocks are in per SoC .dtsi file */ - reg = <0x01c11000 0x1000>; -- clocks = <&ccu CLK_BUS_MMC2>, -- <&ccu CLK_MMC2>, -- <&ccu CLK_MMC2_OUTPUT>, -- <&ccu CLK_MMC2_SAMPLE>; -- clock-names = "ahb", -- "mmc", -- "output", -- "sample"; - resets = <&ccu RST_BUS_MMC2>; - reset-names = "ahb"; - interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; -@@ -305,7 +246,7 @@ - }; - - ccu: clock@01c20000 { -- compatible = "allwinner,sun8i-h3-ccu"; -+ /* compatible is in per SoC .dtsi file */ - reg = <0x01c20000 0x400>; - clocks = <&osc24M>, <&osc32k>; - clock-names = "hosc", "losc"; -@@ -314,7 +255,7 @@ - }; - - pio: pinctrl@01c20800 { -- compatible = "allwinner,sun8i-h3-pinctrl"; -+ /* compatible is in per SoC .dtsi file */ - reg = <0x01c20800 0x400>; - interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; diff --git a/AllWinner-net-emac.patch b/AllWinner-net-emac.patch index 9417fb80e..0e0a319d0 100644 --- a/AllWinner-net-emac.patch +++ b/AllWinner-net-emac.patch @@ -1,21 +1,20 @@ -From patchwork Tue Mar 14 14:18:37 2017 +From patchwork Mon May 1 12:45:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2, 01/20] net-next: stmmac: export - stmmac_set_mac_addr/stmmac_get_mac_addr +Subject: [v5, + 01/20] net: stmmac: export stmmac_set_mac_addr/stmmac_get_mac_addr From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623505 -Message-Id: <20170314141856.24560-2-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706455 +Message-Id: <20170501124520.3769-2-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:37 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:01 +0200 Thoses symbol will be needed for the dwmac-sun8i ethernet driver. For letting it to be build as module, they need to be exported. @@ -26,7 +25,7 @@ Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c -index e60bfca..0ab985c8 100644 +index 38f9430..67af0bd 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c @@ -248,6 +248,7 @@ void stmmac_set_mac_addr(void __iomem *ioaddr, u8 addr[6], @@ -43,39 +42,39 @@ index e60bfca..0ab985c8 100644 } - +EXPORT_SYMBOL_GPL(stmmac_get_mac_addr); -From patchwork Tue Mar 14 14:18:38 2017 + +From patchwork Mon May 1 12:45:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2,02/20] net-next: stmmac: add optional setup function +Subject: [v5,02/20] net: stmmac: add optional setup function From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623509 -Message-Id: <20170314141856.24560-3-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706501 +Message-Id: <20170501124520.3769-3-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:38 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:02 +0200 -Instead of ading more ifthen logic for adding a new mac_device_info +Instead of adding more ifthen logic for adding a new mac_device_info setup function, it is easier to add a function pointer to the function needed. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +++- - include/linux/stmmac.h | 3 +++ - 2 files changed, 6 insertions(+), 1 deletion(-) + include/linux/stmmac.h | 1 + + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -index 4498a38..856ac57 100644 +index cd8c601..b82ab64 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -3101,7 +3101,9 @@ static int stmmac_hw_init(struct stmmac_priv *priv) +@@ -3947,7 +3947,9 @@ static int stmmac_hw_init(struct stmmac_priv *priv) struct mac_device_info *mac; /* Identify the MAC HW device */ @@ -87,50 +86,42 @@ index 4498a38..856ac57 100644 mac = dwmac1000_setup(priv->ioaddr, priv->plat->multicast_filter_bins, diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h -index fc273e9..8f09f18 100644 +index 3921cb9..8bb550b 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h -@@ -109,6 +109,8 @@ struct stmmac_axi { - bool axi_rb; - }; - -+struct stmmac_priv; -+ - struct plat_stmmacenet_data { - int bus_id; - int phy_addr; -@@ -136,6 +138,7 @@ struct plat_stmmacenet_data { +@@ -177,6 +177,7 @@ struct plat_stmmacenet_data { void (*fix_mac_speed)(void *priv, unsigned int speed); int (*init)(struct platform_device *pdev, void *priv); void (*exit)(struct platform_device *pdev, void *priv); -+ struct mac_device_info *(*setup)(struct stmmac_priv *priv); ++ struct mac_device_info *(*setup)(void *priv); void *bsp_priv; struct clk *stmmac_clk; struct clk *pclk; -From patchwork Tue Mar 14 14:18:39 2017 + +From patchwork Mon May 1 12:45:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2, - 03/20] ARM: sun8i: dt: Add DT bindings documentation for Allwinner +Subject: [v5, + 03/20] dt-bindings: net: Add DT bindings documentation for Allwinner dwmac-sun8i From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623517 -Message-Id: <20170314141856.24560-4-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706457 +Message-Id: <20170501124520.3769-4-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:39 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:03 +0200 This patch adds documentation for Device-Tree bindings for the Allwinner dwmac-sun8i driver. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +Acked-by: Rob Herring <robh@kernel.org> --- .../devicetree/bindings/net/dwmac-sun8i.txt | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) @@ -138,7 +129,7 @@ Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> diff --git a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt new file mode 100644 -index 0000000..f01ef17 +index 0000000..05cd067 --- /dev/null +++ b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt @@ -0,0 +1,77 @@ @@ -166,13 +157,13 @@ index 0000000..f01ef17 +- syscon: A phandle to the syscon of the SoC with one of the following + compatible string: + - allwinner,sun8i-h3-system-controller -+ - allwinner,sun8i-a64-system-controller ++ - allwinner,sun50i-a64-system-controller + - allwinner,sun8i-a83t-system-controller + +Optional properties: -+- allwinner,tx-delay: TX clock delay chain value. Range value is 0-0x07. Default is 0) -+- allwinner,rx-delay: RX clock delay chain value. Range value is 0-0x1F. Default is 0) -+Both delay properties are in 0.1ns step. ++- allwinner,tx-delay-ps: TX clock delay chain value in ps. Range value is 0-700. Default is 0) ++- allwinner,rx-delay-ps: RX clock delay chain value in ps. Range value is 0-3100. Default is 0) ++Both delay properties need to be a multiple of 100. + +Optional properties for "allwinner,sun8i-h3-emac": +- allwinner,leds-active-low: EPHY LEDs are active low @@ -219,25 +210,27 @@ index 0000000..f01ef17 + }; + }; +}; -From patchwork Tue Mar 14 14:18:40 2017 + +From patchwork Mon May 1 12:45:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2, - 04/20] ARM: sun8i: dt: Add DT bindings documentation for Allwinner - syscon +Subject: [v5, 04/20] dt-bindings: syscon: Add DT bindings documentation for + Allwinner syscon From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623533 -Message-Id: <20170314141856.24560-5-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706469 +Message-Id: <20170501124520.3769-5-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:40 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:04 +0200 + +This patch adds documentation for Device-Tree bindings for the +syscon present in allwinner devices. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- @@ -247,7 +240,7 @@ Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> diff --git a/Documentation/devicetree/bindings/misc/allwinner,syscon.txt b/Documentation/devicetree/bindings/misc/allwinner,syscon.txt new file mode 100644 -index 0000000..9f5f1f5 +index 0000000..cb57691 --- /dev/null +++ b/Documentation/devicetree/bindings/misc/allwinner,syscon.txt @@ -0,0 +1,19 @@ @@ -262,31 +255,31 @@ index 0000000..9f5f1f5 +- reg: address and length of the register for the device. +- compatible: should be "syscon" and one of the following string: + "allwinner,sun8i-h3-system-controller" -+ "allwinner,sun8i-a64-system-controller" ++ "allwinner,sun50i-a64-system-controller" + "allwinner,sun8i-a83t-system-controller" + +Example: -+syscon: syscon@01c00000 { -+ compatible = "syscon", "allwinner,sun8i-h3-system-controller"; ++syscon: syscon@1c00000 { ++ compatible = "allwinner,sun8i-h3-system-controller", "syscon"; + reg = <0x01c00000 0x1000>; +}; -From patchwork Tue Mar 14 14:18:41 2017 + +From patchwork Mon May 1 12:45:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2,05/20] net-next: stmmac: Add dwmac-sun8i +Subject: [v5,05/20] net: stmmac: Add dwmac-sun8i From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623523 -Message-Id: <20170314141856.24560-6-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706473 +Message-Id: <20170501124520.3769-6-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:41 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:05 +0200 The dwmac-sun8i is a heavy hacked version of stmmac hardware by allwinner. @@ -297,11 +290,11 @@ Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- drivers/net/ethernet/stmicro/stmmac/Kconfig | 11 + drivers/net/ethernet/stmicro/stmmac/Makefile | 1 + - drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 938 +++++++++++++++++++++ - drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 27 +- + drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 973 +++++++++++++++++++++ + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 29 + .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 9 +- include/linux/stmmac.h | 1 + - 6 files changed, 984 insertions(+), 3 deletions(-) + 6 files changed, 1022 insertions(+), 2 deletions(-) create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig @@ -340,10 +333,10 @@ index 700c603..fd4937a 100644 stmmac-platform-objs:= stmmac_platform.o diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c new file mode 100644 -index 0000000..52ab67c +index 0000000..66eb980 --- /dev/null +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c -@@ -0,0 +1,938 @@ +@@ -0,0 +1,973 @@ +/* + * dwmac-sun8i.c - Allwinner sun8i DWMAC specific glue layer + * @@ -606,23 +599,24 @@ index 0000000..52ab67c + } +} + -+static void sun8i_dwmac_enable_dma_irq(void __iomem *ioaddr) ++static void sun8i_dwmac_enable_dma_irq(void __iomem *ioaddr, u32 chan) +{ + writel(EMAC_RX_INT | EMAC_TX_INT, ioaddr + EMAC_INT_EN); +} + -+static void sun8i_dwmac_disable_dma_irq(void __iomem *ioaddr) ++static void sun8i_dwmac_disable_dma_irq(void __iomem *ioaddr, u32 chan) +{ + writel(0, ioaddr + EMAC_INT_EN); +} + -+static void sun8i_dwmac_dma_start_tx(void __iomem *ioaddr) ++static void sun8i_dwmac_dma_start_tx(void __iomem *ioaddr, u32 chan) +{ + u32 v; + -+ v = readl(ioaddr + EMAC_TX_CTL0); -+ v |= EMAC_TX_TRANSMITTER_EN; -+ writel(v, ioaddr + EMAC_TX_CTL0); ++ v = readl(ioaddr + EMAC_TX_CTL1); ++ v |= EMAC_TX_DMA_START; ++ v |= EMAC_TX_DMA_EN; ++ writel(v, ioaddr + EMAC_TX_CTL1); +} + +static void sun8i_dwmac_enable_dma_transmission(void __iomem *ioaddr) @@ -632,47 +626,39 @@ index 0000000..52ab67c + v = readl(ioaddr + EMAC_TX_CTL1); + v |= EMAC_TX_DMA_START; + v |= EMAC_TX_DMA_EN; -+ writel_relaxed(v, ioaddr + EMAC_TX_CTL1); ++ writel(v, ioaddr + EMAC_TX_CTL1); +} + -+static void sun8i_dwmac_dma_stop_tx(void __iomem *ioaddr) ++static void sun8i_dwmac_dma_stop_tx(void __iomem *ioaddr, u32 chan) +{ + u32 v; + -+ v = readl(ioaddr + EMAC_TX_CTL0); -+ v &= ~EMAC_TX_TRANSMITTER_EN; -+ writel(v, ioaddr + EMAC_TX_CTL0); ++ v = readl(ioaddr + EMAC_TX_CTL1); ++ v &= ~EMAC_TX_DMA_EN; ++ writel(v, ioaddr + EMAC_TX_CTL1); +} + -+static void sun8i_dwmac_dma_start_rx(void __iomem *ioaddr) ++static void sun8i_dwmac_dma_start_rx(void __iomem *ioaddr, u32 chan) +{ + u32 v; + -+ v = readl(ioaddr + EMAC_RX_CTL0); -+ v |= EMAC_RX_RECEIVER_EN; -+ writel(v, ioaddr + EMAC_RX_CTL0); -+ + v = readl(ioaddr + EMAC_RX_CTL1); + v |= EMAC_RX_DMA_START; + v |= EMAC_RX_DMA_EN; + writel(v, ioaddr + EMAC_RX_CTL1); +} + -+static void sun8i_dwmac_dma_stop_rx(void __iomem *ioaddr) ++static void sun8i_dwmac_dma_stop_rx(void __iomem *ioaddr, u32 chan) +{ + u32 v; + -+ v = readl(ioaddr + EMAC_RX_CTL0); -+ v &= ~EMAC_RX_RECEIVER_EN; -+ writel(v, ioaddr + EMAC_RX_CTL0); -+ + v = readl(ioaddr + EMAC_RX_CTL1); + v &= ~EMAC_RX_DMA_EN; + writel(v, ioaddr + EMAC_RX_CTL1); +} + +static int sun8i_dwmac_dma_interrupt(void __iomem *ioaddr, -+ struct stmmac_extra_stats *x) ++ struct stmmac_extra_stats *x, u32 chan) +{ + u32 v; + int ret = 0; @@ -825,6 +811,27 @@ index 0000000..52ab67c + writel(v, ioaddr + EMAC_BASIC_CTL1); +} + ++static void sun8i_dwmac_set_mac(void __iomem *ioaddr, bool enable) ++{ ++ u32 t, r; ++ ++ t = readl(ioaddr + EMAC_TX_CTL0); ++ r = readl(ioaddr + EMAC_RX_CTL0); ++ if (enable) { ++ t |= EMAC_TX_TRANSMITTER_EN; ++ r |= EMAC_RX_RECEIVER_EN; ++ } else { ++ t &= ~EMAC_TX_TRANSMITTER_EN; ++ r &= ~EMAC_RX_RECEIVER_EN; ++ } ++ writel(t, ioaddr + EMAC_TX_CTL0); ++ writel(r, ioaddr + EMAC_RX_CTL0); ++} ++ ++/* Set MAC address at slot reg_n ++ * All slot > 0 need to be enabled with MAC_ADDR_TYPE_DST ++ * If addr is NULL, clear the slot ++ */ +static void sun8i_dwmac_set_umac_addr(struct mac_device_info *hw, + unsigned char *addr, + unsigned int reg_n) @@ -832,6 +839,11 @@ index 0000000..52ab67c + void __iomem *ioaddr = hw->pcsr; + u32 v; + ++ if (!addr) { ++ writel(0, ioaddr + EMAC_MACADDR_HI(reg_n)); ++ return; ++ } ++ + stmmac_set_mac_addr(ioaddr, addr, EMAC_MACADDR_HI(reg_n), + EMAC_MACADDR_LO(reg_n)); + if (reg_n > 0) { @@ -869,39 +881,44 @@ index 0000000..52ab67c +{ + void __iomem *ioaddr = hw->pcsr; + u32 v; -+ int i = 0; ++ int i = 1; + struct netdev_hw_addr *ha; ++ int macaddrs = netdev_uc_count(dev) + netdev_mc_count(dev) + 1; + -+ v = readl(ioaddr + EMAC_RX_FRM_FLT); -+ -+ v |= EMAC_FRM_FLT_CTL; ++ v = EMAC_FRM_FLT_CTL; + + if (dev->flags & IFF_PROMISC) { + v = EMAC_FRM_FLT_RXALL; + } else if (dev->flags & IFF_ALLMULTI) { -+ v = EMAC_FRM_FLT_MULTICAST; -+ } else if (!netdev_mc_empty(dev)) { -+ netdev_for_each_mc_addr(ha, dev) { -+ i++; -+ sun8i_dwmac_set_umac_addr(hw, ha->addr, i); ++ v |= EMAC_FRM_FLT_MULTICAST; ++ } else if (macaddrs <= hw->unicast_filter_entries) { ++ if (!netdev_mc_empty(dev)) { ++ netdev_for_each_mc_addr(ha, dev) { ++ sun8i_dwmac_set_umac_addr(hw, ha->addr, i); ++ i++; ++ } + } -+ } -+ -+ if (netdev_uc_count(dev) + i > hw->unicast_filter_entries) { ++ if (!netdev_uc_empty(dev)) { ++ netdev_for_each_uc_addr(ha, dev) { ++ sun8i_dwmac_set_umac_addr(hw, ha->addr, i); ++ i++; ++ } ++ } ++ } else { + netdev_info(dev, "Too many address, switching to promiscuous\n"); + v = EMAC_FRM_FLT_RXALL; -+ } else { -+ netdev_for_each_uc_addr(ha, dev) { -+ i++; -+ sun8i_dwmac_set_umac_addr(hw, ha->addr, i); -+ } + } ++ ++ /* Disable unused address filter slots */ ++ while (i < hw->unicast_filter_entries) ++ sun8i_dwmac_set_umac_addr(hw, NULL, i++); ++ + writel(v, ioaddr + EMAC_RX_FRM_FLT); +} + +static void sun8i_dwmac_flow_ctrl(struct mac_device_info *hw, -+ unsigned int duplex, -+ unsigned int fc, unsigned int pause_time) ++ unsigned int duplex, unsigned int fc, ++ unsigned int pause_time, u32 tx_cnt) +{ + void __iomem *ioaddr = hw->pcsr; + u32 v; @@ -981,7 +998,12 @@ index 0000000..52ab67c + } + } + -+ if (!of_property_read_u32(node, "allwinner,tx-delay", &val)) { ++ if (!of_property_read_u32(node, "allwinner,tx-delay-ps", &val)) { ++ if (val % 100) { ++ dev_err(priv->device, "tx-delay must be a multiple of 100\n"); ++ return -EINVAL; ++ } ++ val /= 100; + dev_dbg(priv->device, "set tx-delay to %x\n", val); + if (val <= SYSCON_ETXDC_MASK) { + reg &= ~(SYSCON_ETXDC_MASK << SYSCON_ETXDC_SHIFT); @@ -993,7 +1015,12 @@ index 0000000..52ab67c + } + } + -+ if (!of_property_read_u32(node, "allwinner,rx-delay", &val)) { ++ if (!of_property_read_u32(node, "allwinner,rx-delay-ps", &val)) { ++ if (val % 100) { ++ dev_err(priv->device, "rx-delay must be a multiple of 100\n"); ++ return -EINVAL; ++ } ++ val /= 100; + dev_dbg(priv->device, "set rx-delay to %x\n", val); + if (val <= SYSCON_ERXDC_MASK) { + reg &= ~(SYSCON_ERXDC_MASK << SYSCON_ERXDC_SHIFT); @@ -1043,21 +1070,20 @@ index 0000000..52ab67c + struct sunxi_priv_data *gmac = priv->plat->bsp_priv; + int ret; + -+ if (gmac->ephy_clk) { -+ ret = clk_prepare_enable(gmac->ephy_clk); -+ if (ret) { -+ dev_err(priv->device, "Cannot enable ephy\n"); -+ return ret; -+ } ++ if (!gmac->use_internal_phy) ++ return 0; ++ ++ ret = clk_prepare_enable(gmac->ephy_clk); ++ if (ret) { ++ dev_err(priv->device, "Cannot enable ephy\n"); ++ return ret; + } + -+ if (gmac->rst_ephy) { -+ ret = reset_control_deassert(gmac->rst_ephy); -+ if (ret) { -+ dev_err(priv->device, "Cannot deassert ephy\n"); -+ clk_disable_unprepare(gmac->ephy_clk); -+ return ret; -+ } ++ ret = reset_control_deassert(gmac->rst_ephy); ++ if (ret) { ++ dev_err(priv->device, "Cannot deassert ephy\n"); ++ clk_disable_unprepare(gmac->ephy_clk); ++ return ret; + } + + return 0; @@ -1065,10 +1091,11 @@ index 0000000..52ab67c + +static int sun8i_dwmac_unpower_internal_phy(struct sunxi_priv_data *gmac) +{ -+ if (gmac->ephy_clk) -+ clk_disable_unprepare(gmac->ephy_clk); -+ if (gmac->rst_ephy) -+ reset_control_assert(gmac->rst_ephy); ++ if (!gmac->use_internal_phy) ++ return 0; ++ ++ clk_disable_unprepare(gmac->ephy_clk); ++ reset_control_assert(gmac->rst_ephy); + return 0; +} + @@ -1116,6 +1143,7 @@ index 0000000..52ab67c + +static const struct stmmac_ops sun8i_dwmac_ops = { + .core_init = sun8i_dwmac_core_init, ++ .set_mac = sun8i_dwmac_set_mac, + .dump_regs = sun8i_dwmac_dump_mac_regs, + .rx_ipc = sun8i_dwmac_rx_ipc_enable, + .set_filter = sun8i_dwmac_set_filter, @@ -1124,9 +1152,10 @@ index 0000000..52ab67c + .get_umac_addr = sun8i_dwmac_get_umac_addr, +}; + -+static struct mac_device_info *sun8i_dwmac_setup(struct stmmac_priv *priv) ++static struct mac_device_info *sun8i_dwmac_setup(void *ppriv) +{ + struct mac_device_info *mac; ++ struct stmmac_priv *priv = ppriv; + int ret; + + mac = devm_kzalloc(priv->device, sizeof(*mac), GFP_KERNEL); @@ -1182,13 +1211,13 @@ index 0000000..52ab67c + + gmac->variant = of_device_get_match_data(&pdev->dev); + if (!gmac->variant) { -+ dev_err(&pdev->dev, "Missing sun8i-emac variant\n"); ++ dev_err(&pdev->dev, "Missing dwmac-sun8i variant\n"); + return -EINVAL; + } + + gmac->tx_clk = devm_clk_get(dev, "stmmaceth"); + if (IS_ERR(gmac->tx_clk)) { -+ dev_err(dev, "could not get tx clock\n"); ++ dev_err(dev, "Could not get TX clock\n"); + return PTR_ERR(gmac->tx_clk); + } + @@ -1197,7 +1226,7 @@ index 0000000..52ab67c + if (IS_ERR(gmac->regulator)) { + if (PTR_ERR(gmac->regulator) == -EPROBE_DEFER) + return -EPROBE_DEFER; -+ dev_info(dev, "no regulator found\n"); ++ dev_info(dev, "No regulator found\n"); + gmac->regulator = NULL; + } + @@ -1205,7 +1234,7 @@ index 0000000..52ab67c + "syscon"); + if (IS_ERR(gmac->regmap)) { + ret = PTR_ERR(gmac->regmap); -+ dev_err(&pdev->dev, "unable to map SYSCON:%d\n", ret); ++ dev_err(&pdev->dev, "Unable to map syscon: %d\n", ret); + return ret; + } + @@ -1216,8 +1245,7 @@ index 0000000..52ab67c + gmac->ephy_clk = of_clk_get(plat_dat->phy_node, 0); + if (IS_ERR(gmac->ephy_clk)) { + ret = PTR_ERR(gmac->ephy_clk); -+ dev_err(&pdev->dev, "Cannot get EPHY clock err=%d\n", -+ ret); ++ dev_err(&pdev->dev, "Cannot get EPHY clock: %d\n", ret); + return -EINVAL; + } + @@ -1272,7 +1300,7 @@ index 0000000..52ab67c + .probe = sun8i_dwmac_probe, + .remove = stmmac_pltfr_remove, + .driver = { -+ .name = "sun8i-dwmac", ++ .name = "dwmac-sun8i", + .pm = &stmmac_pltfr_pm_ops, + .of_match_table = sun8i_dwmac_match, + }, @@ -1283,10 +1311,10 @@ index 0000000..52ab67c +MODULE_DESCRIPTION("Allwinner sun8i DWMAC specific glue layer"); +MODULE_LICENSE("GPL"); diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -index 856ac57..05e8018 100644 +index b82ab64..39777a7 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -177,6 +177,17 @@ static void stmmac_clk_csr_set(struct stmmac_priv *priv) +@@ -235,6 +235,17 @@ static void stmmac_clk_csr_set(struct stmmac_priv *priv) else if ((clk_rate >= CSR_F_250M) && (clk_rate < CSR_F_300M)) priv->clk_csr = STMMAC_CSR_250_300M; } @@ -1304,18 +1332,22 @@ index 856ac57..05e8018 100644 } static void print_pkt(unsigned char *buf, int len) -@@ -697,6 +708,10 @@ static void stmmac_adjust_link(struct net_device *dev) +@@ -784,6 +795,14 @@ static void stmmac_adjust_link(struct net_device *dev) if (phydev->link) { u32 ctrl = readl(priv->ioaddr + MAC_CTRL_REG); -+ /* disable loopback */ -+ if (priv->plat->has_sun8i) -+ ctrl &= ~BIT(1); ++ /* dwmac-sun8i handle loopback in MAC_CTRL_REG */ ++ if (priv->plat->has_sun8i) { ++ if (dev->features & NETIF_F_LOOPBACK) ++ ctrl |= BIT(1); ++ else ++ ctrl &= ~BIT(1); ++ } + /* Now we make sure that we can be in full duplex mode. * If not, we operate in half-duplex mode. */ if (phydev->duplex != priv->oldduplex) { -@@ -714,6 +729,8 @@ static void stmmac_adjust_link(struct net_device *dev) +@@ -800,6 +819,8 @@ static void stmmac_adjust_link(struct net_device *dev) if (phydev->speed != priv->speed) { new_state = 1; @@ -1324,7 +1356,7 @@ index 856ac57..05e8018 100644 switch (phydev->speed) { case 1000: if (priv->plat->has_gmac || -@@ -725,6 +742,8 @@ static void stmmac_adjust_link(struct net_device *dev) +@@ -811,6 +832,8 @@ static void stmmac_adjust_link(struct net_device *dev) priv->plat->has_gmac4) { ctrl |= priv->hw->link.port; ctrl |= priv->hw->link.speed; @@ -1333,7 +1365,7 @@ index 856ac57..05e8018 100644 } else { ctrl &= ~priv->hw->link.port; } -@@ -734,6 +753,8 @@ static void stmmac_adjust_link(struct net_device *dev) +@@ -820,6 +843,8 @@ static void stmmac_adjust_link(struct net_device *dev) priv->plat->has_gmac4) { ctrl |= priv->hw->link.port; ctrl &= ~(priv->hw->link.speed); @@ -1342,16 +1374,7 @@ index 856ac57..05e8018 100644 } else { ctrl &= ~priv->hw->link.port; } -@@ -1702,7 +1723,7 @@ static int stmmac_hw_setup(struct net_device *dev, bool init_ptp) - /* Enable the MAC Rx/Tx */ - if (priv->synopsys_id >= DWMAC_CORE_4_00) - stmmac_dwmac4_set_mac(priv->ioaddr, true); -- else -+ else if (!priv->plat->has_sun8i) - stmmac_set_mac(priv->ioaddr, true); - - /* Set the HW DMA mode and the COE */ -@@ -3123,6 +3144,10 @@ static int stmmac_hw_init(struct stmmac_priv *priv) +@@ -3969,6 +3994,10 @@ static int stmmac_hw_init(struct stmmac_priv *priv) priv->hw = mac; @@ -1363,10 +1386,10 @@ index 856ac57..05e8018 100644 if (priv->synopsys_id >= DWMAC_CORE_4_00) { priv->hw->mode = &dwmac4_ring_mode_ops; diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c -index 0ba1caf..3c21862 100644 +index 7fc3a1e..3840529 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c -@@ -160,6 +160,12 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat, +@@ -309,6 +309,12 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat, struct device_node *np, struct device *dev) { bool mdio = true; @@ -1379,7 +1402,7 @@ index 0ba1caf..3c21862 100644 /* If phy-handle property is passed from DT, use it as the PHY */ plat->phy_node = of_parse_phandle(np, "phy-handle", 0); -@@ -176,8 +182,7 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat, +@@ -325,8 +331,7 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat, mdio = false; } @@ -1390,10 +1413,10 @@ index 0ba1caf..3c21862 100644 } else { /** diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h -index 8f09f18..100386c 100644 +index 8bb550b..108739f 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h -@@ -147,6 +147,7 @@ struct plat_stmmacenet_data { +@@ -186,6 +186,7 @@ struct plat_stmmacenet_data { struct reset_control *stmmac_rst; struct stmmac_axi *axi; int has_gmac4; @@ -1401,24 +1424,25 @@ index 8f09f18..100386c 100644 bool tso_en; int mac_port_sel_speed; bool en_tx_lpi_clockgating; -From patchwork Tue Mar 14 14:18:42 2017 + +From patchwork Mon May 1 12:45:06 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2, 06/20] ARM: dts: sunxi-h3-h5: Add dt node for the syscon control +Subject: [v5, + 06/20] arm: sun8i: sunxi-h3-h5: Add dt node for the syscon control module From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623549 -Message-Id: <20170314141856.24560-7-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706459 +Message-Id: <20170501124520.3769-7-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:42 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:06 +0200 This patch add the dt node for the syscon register present on the Allwinner H3/H5 @@ -1432,39 +1456,39 @@ Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> 1 file changed, 6 insertions(+) diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -index 2494ea0..07e4f36 100644 +index 1aeeacb..d9691fc 100644 --- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi +++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -@@ -102,6 +102,12 @@ +@@ -83,6 +83,12 @@ #size-cells = <1>; ranges; -+ syscon: syscon@01c00000 { -+ compatible = "syscon", -+ "allwinner,sun8i-h3-system-controller"; ++ syscon: syscon@1c00000 { ++ compatible = "allwinner,sun8i-h3-system-controller", ++ "syscon"; + reg = <0x01c00000 0x1000>; + }; + dma: dma-controller@01c02000 { compatible = "allwinner,sun8i-h3-dma"; reg = <0x01c02000 0x1000>; -From patchwork Tue Mar 14 14:18:43 2017 + +From patchwork Mon May 1 12:45:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2,07/20] ARM: dts: sunxi-h3-h5: add dwmac-sun8i ethernet driver +Subject: [v5,07/20] arm: sun8i: sunxi-h3-h5: add dwmac-sun8i ethernet driver From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623561 -Message-Id: <20170314141856.24560-8-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706465 +Message-Id: <20170501124520.3769-8-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:43 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:07 +0200 The dwmac-sun8i is an ethernet MAC hardware that support 10/100/1000 speed. @@ -1474,21 +1498,21 @@ SoC H3/H5 have an internal PHY, so optionals syscon and ephy are set. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- - arch/arm/boot/dts/sunxi-h3-h5.dtsi | 33 +++++++++++++++++++++++++++++++++ - 1 file changed, 33 insertions(+) + arch/arm/boot/dts/sunxi-h3-h5.dtsi | 34 ++++++++++++++++++++++++++++++++++ + 1 file changed, 34 insertions(+) diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -index 07e4f36..c35af5e 100644 +index d9691fc..45a9a30 100644 --- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi +++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -@@ -272,6 +272,14 @@ +@@ -285,6 +285,14 @@ interrupt-controller; #interrupt-cells = <3>; -+ emac_rgmii_pins: emac0@0 { ++ emac_rgmii_pins: emac0 { + pins = "PD0", "PD1", "PD2", "PD3", "PD4", -+ "PD5", "PD7", "PD8", "PD9", "PD10", -+ "PD12", "PD13", "PD15", "PD16", "PD17"; ++ "PD5", "PD7", "PD8", "PD9", "PD10", ++ "PD12", "PD13", "PD15", "PD16", "PD17"; + function = "emac"; + drive-strength = <40>; + }; @@ -1496,7 +1520,7 @@ index 07e4f36..c35af5e 100644 i2c0_pins: i2c0 { pins = "PA11", "PA12"; function = "i2c0"; -@@ -368,6 +376,31 @@ +@@ -381,6 +389,32 @@ clocks = <&osc24M>; }; @@ -1518,9 +1542,10 @@ index 07e4f36..c35af5e 100644 + #address-cells = <1>; + #size-cells = <0>; + int_mii_phy: ethernet-phy@1 { -+ reg = <1>; -+ clocks = <&ccu CLK_BUS_EPHY>; -+ resets = <&ccu RST_BUS_EPHY>; ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <1>; ++ clocks = <&ccu CLK_BUS_EPHY>; ++ resets = <&ccu RST_BUS_EPHY>; + }; + }; + }; @@ -1528,107 +1553,23 @@ index 07e4f36..c35af5e 100644 spi0: spi@01c68000 { compatible = "allwinner,sun8i-h3-spi"; reg = <0x01c68000 0x1000>; -From patchwork Tue Mar 14 14:18:44 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,08/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Banana Pi M2+ -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623539 -Message-Id: <20170314141856.24560-9-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, LABBE Corentin <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:44 +0100 - -From: LABBE Corentin <clabbe.montjoie@gmail.com> - -The dwmac-sun8i hardware is present on the Banana Pi M2+ -It uses an external PHY rtl8211e via RGMII. -This patch create the needed regulator, emac and phy nodes. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 37 +++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts -index 52acbe1..30b0a41 100644 ---- a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts -+++ b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts -@@ -90,6 +90,18 @@ - pinctrl-0 = <&wifi_en_bpi_m2p>; - reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ - }; -+ -+ reg_gmac_3v3: gmac-3v3 { -+ compatible = "regulator-fixed"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&gmac_power_pin_orangepi>; -+ regulator-name = "gmac-3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ startup-delay-us = <100000>; -+ enable-active-high; -+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; -+ }; - }; - - &ehci1 { -@@ -186,3 +198,28 @@ - /* USB VBUS is on as long as VCC-IO is on */ - status = "okay"; - }; -+ -+&pio { -+ gmac_power_pin_orangepi: gmac_power_pin@0 { -+ pins = "PD6"; -+ function = "gpio_out"; -+ drive-strength = <10>; -+ }; -+}; -+ -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ reg = <0>; -+ }; -+}; -+ -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emac_rgmii_pins>; -+ phy-supply = <®_gmac_3v3>; -+ phy-handle = <&ext_rgmii_phy>; -+ phy-mode = "rgmii"; -+ -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -From patchwork Tue Mar 14 14:18:45 2017 +From patchwork Mon May 1 12:45:08 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2,09/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange PI PC +Subject: [v5,08/20] arm: sun8i: orangepi-pc: Enable dwmac-sun8i From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623555 -Message-Id: <20170314141856.24560-10-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706463 +Message-Id: <20170501124520.3769-9-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, LABBE Corentin <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:45 +0100 - -From: LABBE Corentin <clabbe.montjoie@gmail.com> + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:08 +0200 The dwmac-sun8i hardware is present on the Orange PI PC. It uses the internal PHY. @@ -1641,96 +1582,102 @@ Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> 1 file changed, 8 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -index f148111..746c25a 100644 +index f148111..52e6575 100644 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -@@ -53,6 +53,7 @@ +@@ -52,6 +52,7 @@ + compatible = "xunlong,orangepi-pc", "allwinner,sun8i-h3"; aliases { - serial0 = &uart0; + ethernet0 = &emac; + serial0 = &uart0; }; - chosen { -@@ -184,3 +185,10 @@ - /* USB VBUS is always on */ +@@ -109,6 +110,13 @@ status = "okay"; }; -+ + +&emac { + phy-handle = <&int_mii_phy>; + phy-mode = "mii"; + allwinner,leds-active-low; + status = "okay"; +}; -From patchwork Tue Mar 14 14:18:46 2017 ++ + &ir { + pinctrl-names = "default"; + pinctrl-0 = <&ir_pins_a>; + +From patchwork Mon May 1 12:45:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2,10/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange Pi 2 +Subject: [v5,09/20] arm: sun8i: orangepi-zero: Enable dwmac-sun8i From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623557 -Message-Id: <20170314141856.24560-11-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706461 +Message-Id: <20170501124520.3769-10-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:46 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:09 +0200 -The dwmac-sun8i hardware is present on the Orange PI 2. +The dwmac-sun8i hardware is present on the Orange PI Zero. It uses the internal PHY. This patch create the needed emac node. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- - arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 ++++++++ + arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 8 ++++++++ 1 file changed, 8 insertions(+) -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts -index 5b6d145..3f54b12 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts -@@ -55,6 +55,7 @@ +diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +index 9e8b082..dd3525a 100644 +--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts ++++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +@@ -57,6 +57,7 @@ + aliases { serial0 = &uart0; /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */ - ethernet1 = &rtl8189; + ethernet0 = &emac; + ethernet1 = &xr819; }; - chosen { -@@ -203,3 +204,10 @@ - usb1_vbus-supply = <®_usb1_vbus>; +@@ -103,6 +104,13 @@ status = "okay"; }; -+ + +&emac { + phy-handle = <&int_mii_phy>; + phy-mode = "mii"; + allwinner,leds-active-low; + status = "okay"; +}; -From patchwork Tue Mar 14 14:18:47 2017 ++ + &mmc0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins_a>; + +From patchwork Mon May 1 12:45:10 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2,11/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange PI One +Subject: [v5,10/20] arm: sun8i: orangepi-one: Enable dwmac-sun8i From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623541 -Message-Id: <20170314141856.24560-12-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706471 +Message-Id: <20170501124520.3769-11-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:47 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:10 +0200 The dwmac-sun8i hardware is present on the Orange PI One. It uses the internal PHY. @@ -1743,18 +1690,18 @@ Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> 1 file changed, 8 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -index ea8fd13..1f98ddc 100644 +index 5fea430..6880268 100644 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -@@ -53,6 +53,7 @@ +@@ -52,6 +52,7 @@ + compatible = "xunlong,orangepi-one", "allwinner,sun8i-h3"; aliases { - serial0 = &uart0; + ethernet0 = &emac; + serial0 = &uart0; }; - chosen { -@@ -93,6 +94,13 @@ +@@ -97,6 +98,13 @@ status = "okay"; }; @@ -1768,108 +1715,79 @@ index ea8fd13..1f98ddc 100644 &mmc0 { pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; -From patchwork Tue Mar 14 14:18:48 2017 + +From patchwork Mon May 1 12:45:11 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2,12/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange Pi plus +Subject: [v5,11/20] arm: sun8i: orangepi-2: Enable dwmac-sun8i From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623569 -Message-Id: <20170314141856.24560-13-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706467 +Message-Id: <20170501124520.3769-12-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:48 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:11 +0200 -The dwmac-sun8i hardware is present on the Orange PI plus. -It uses an external PHY rtl8211e via RGMII. +The dwmac-sun8i hardware is present on the Orange PI 2. +It uses the internal PHY. -This patch create the needed regulator, emac and phy nodes. +This patch create the needed emac node. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- - arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 35 ++++++++++++++++++++++++++++ - 1 file changed, 35 insertions(+) + arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 ++++++++ + 1 file changed, 8 insertions(+) -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -index 8c40ab7..4e075a2 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -@@ -58,6 +58,18 @@ - enable-active-high; - gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>; +diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts +index 5b6d145..cedd326 100644 +--- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts ++++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts +@@ -54,6 +54,7 @@ + aliases { + serial0 = &uart0; + /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */ ++ ethernet0 = &emac; + ethernet1 = &rtl8189; }; -+ -+ reg_gmac_3v3: gmac-3v3 { -+ compatible = "regulator-fixed"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&gmac_power_pin_orangepi>; -+ regulator-name = "gmac-3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ startup-delay-us = <100000>; -+ enable-active-high; -+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; -+ }; - }; - &ehci3 { -@@ -86,8 +98,31 @@ - pins = "PG11"; - function = "gpio_out"; - }; -+ -+ gmac_power_pin_orangepi: gmac_power_pin@0 { -+ pins = "PD6"; -+ function = "gpio_out"; -+ drive-strength = <10>; -+ }; +@@ -108,6 +109,13 @@ + status = "okay"; }; - &usbphy { - usb3_vbus-supply = <®_usb3_vbus>; - }; -+ -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ reg = <0>; -+ }; -+}; -+ +&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emac_rgmii_pins>; -+ phy-supply = <®_gmac_3v3>; -+ phy-handle = <&ext_rgmii_phy>; -+ phy-mode = "rgmii"; -+ ++ phy-handle = <&int_mii_phy>; ++ phy-mode = "mii"; + allwinner,leds-active-low; + status = "okay"; +}; -From patchwork Tue Mar 14 14:18:49 2017 ++ + &ir { + pinctrl-names = "default"; + pinctrl-0 = <&ir_pins_a>; + +From patchwork Mon May 1 12:45:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2, - 13/20] ARM: dts: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to - active high +Subject: [v5, + 12/20] arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active + high From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623593 -Message-Id: <20170314141856.24560-14-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706481 +Message-Id: <20170501124520.3769-13-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:49 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:12 +0200 On the Orange Pi PC Plus, the polarity of the LEDs on the RJ45 Ethernet port were changed from active low to active high. @@ -1881,36 +1799,39 @@ Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> 1 file changed, 5 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts -index 8b93f5c..0380769 100644 +index 8b93f5c..a10281b 100644 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts -@@ -86,3 +86,8 @@ - /* eMMC is missing pull-ups */ - bias-pull-up; +@@ -53,6 +53,11 @@ + }; }; -+ + +&emac { + /* LEDs changed to active high on the plus */ + /delete-property/ allwinner,leds-active-low; +}; -From patchwork Tue Mar 14 14:18:50 2017 ++ + &mmc1 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins_a>; + +From patchwork Mon May 1 12:45:13 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2, 14/20] ARM64: dts: sun50i-a64: Add dt node for the syscon control - module +Subject: [v5, 13/20] arm64: allwinner: sun50i-a64: Add dt node for the syscon + control module From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623591 -Message-Id: <20170314141856.24560-15-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706477 +Message-Id: <20170501124520.3769-14-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:50 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:13 +0200 This patch add the dt node for the syscon register present on the Allwinner A64. @@ -1924,39 +1845,40 @@ Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> 1 file changed, 6 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 1c64ea2..3b09af2 100644 +index c7f669f..d7341ba 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -121,6 +121,12 @@ +@@ -129,6 +129,12 @@ #size-cells = <1>; ranges; -+ syscon: syscon@01c00000 { -+ compatible = "syscon", -+ "allwinner,sun8i-h3-system-controller"; ++ syscon: syscon@1c00000 { ++ compatible = "allwinner,sun50i-a64-system-controller", ++ "syscon"; + reg = <0x01c00000 0x1000>; + }; + mmc0: mmc@1c0f000 { compatible = "allwinner,sun50i-a64-mmc"; reg = <0x01c0f000 0x1000>; -From patchwork Tue Mar 14 14:18:51 2017 + +From patchwork Mon May 1 12:45:14 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2,15/20] ARM64: dts: sun50i-a64: add dwmac-sun8i Ethernet driver +Subject: [v5, + 14/20] arm64: allwinner: sun50i-a64: add dwmac-sun8i Ethernet driver From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623621 -Message-Id: <20170314141856.24560-16-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706485 +Message-Id: <20170501124520.3769-15-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:51 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:14 +0200 The dwmac-sun8i is an Ethernet MAC that supports 10/100/1000 Mbit connections. It is very similar to the device found in the Allwinner @@ -1967,30 +1889,28 @@ it disabled at this level. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- - arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 37 +++++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) + arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 35 +++++++++++++++++++++++++++ + 1 file changed, 35 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 3b09af2..57d69e5 100644 +index d7341ba..18b3642 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -277,6 +277,23 @@ +@@ -287,6 +287,21 @@ bias-pull-up; }; + rmii_pins: rmii_pins { -+ pins = "PD10", "PD11", "PD13", "PD14", -+ "PD17", "PD18", "PD19", "PD20", -+ "PD22", "PD23"; ++ pins = "PD10", "PD11", "PD13", "PD14", "PD17", ++ "PD18", "PD19", "PD20", "PD22", "PD23"; + function = "emac"; + drive-strength = <40>; + }; + + rgmii_pins: rgmii_pins { -+ pins = "PD8", "PD9", "PD10", "PD11", -+ "PD12", "PD13", "PD15", -+ "PD16", "PD17", "PD18", "PD19", -+ "PD20", "PD21", "PD22", "PD23"; ++ pins = "PD8", "PD9", "PD10", "PD11", "PD12", ++ "PD13", "PD15", "PD16", "PD17", "PD18", ++ "PD19", "PD20", "PD21", "PD22", "PD23"; + function = "emac"; + drive-strength = <40>; + }; @@ -1998,7 +1918,7 @@ index 3b09af2..57d69e5 100644 uart0_pins_a: uart0@0 { pins = "PB8", "PB9"; function = "uart0"; -@@ -381,6 +398,26 @@ +@@ -391,6 +406,26 @@ #size-cells = <0>; }; @@ -2025,47 +1945,40 @@ index 3b09af2..57d69e5 100644 gic: interrupt-controller@1c81000 { compatible = "arm,gic-400"; reg = <0x01c81000 0x1000>, -From patchwork Tue Mar 14 14:18:52 2017 + +From patchwork Mon May 1 12:45:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2,16/20] ARM: dts: sun50i-a64: enable dwmac-sun8i on pine64 +Subject: [v5,15/20] arm64: allwinner: pine64: Enable dwmac-sun8i From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623607 -Message-Id: <20170314141856.24560-17-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706489 +Message-Id: <20170501124520.3769-16-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:52 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:15 +0200 The dwmac-sun8i hardware is present on the pine64 It uses an external PHY via RMII. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- - arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) + arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -index c680ed3..b53994d 100644 +index c680ed3..3b491c0 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -@@ -109,3 +109,18 @@ - &usbphy { +@@ -70,6 +70,15 @@ status = "okay"; }; -+ -+&mdio { -+ ext_rmii_phy1: ethernet-phy@1 { -+ reg = <1>; -+ }; -+}; -+ + +&emac { + pinctrl-names = "default"; + pinctrl-0 = <&rmii_pins>; @@ -2074,37 +1987,55 @@ index c680ed3..b53994d 100644 + status = "okay"; + +}; -From patchwork Tue Mar 14 14:18:53 2017 ++ + &i2c1 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_pins>; +@@ -80,6 +89,13 @@ + bias-pull-up; + }; + ++&mdio { ++ ext_rmii_phy1: ethernet-phy@1 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <1>; ++ }; ++}; ++ + &mmc0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins>; + +From patchwork Mon May 1 12:45:16 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2,17/20] ARM: dts: sun50i-a64: enable dwmac-sun8i on pine64 plus +Subject: [v5,16/20] arm64: allwinner: pine64-plus: Enable dwmac-sun8i From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623597 -Message-Id: <20170314141856.24560-18-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706511 +Message-Id: <20170501124520.3769-17-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:53 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:16 +0200 The dwmac-sun8i hardware is present on the pine64 plus. It uses an external PHY rtl8211e via RGMII. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- - arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) + .../arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts -index 790d14d..8e06aed 100644 +index 790d14d..24f1aac 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts -@@ -46,5 +46,19 @@ +@@ -46,5 +46,20 @@ model = "Pine64+"; compatible = "pine64,pine64-plus", "allwinner,sun50i-a64"; @@ -2112,60 +2043,54 @@ index 790d14d..8e06aed 100644 + /* TODO: Camera, touchscreen, etc. */ +}; + -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ reg = <1>; -+ }; -+}; -+ +&emac { + pinctrl-names = "default"; + pinctrl-0 = <&rgmii_pins>; + phy-mode = "rgmii"; + phy-handle = <&ext_rgmii_phy>; + status = "okay"; ++}; ++ ++&mdio { ++ ext_rgmii_phy: ethernet-phy@1 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <1>; ++ }; }; -From patchwork Tue Mar 14 14:18:54 2017 + +From patchwork Mon May 1 12:45:17 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v2, - 18/20] ARM: dts: sun50i-a64: enable dwmac-sun8i on the BananaPi M64 +Subject: [v5,17/20] arm64: allwinner: bananapi-m64: Enable dwmac-sun8i From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9623595 -Message-Id: <20170314141856.24560-19-clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706509 +Message-Id: <20170501124520.3769-18-clabbe.montjoie@gmail.com> To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:54 +0100 + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:17 +0200 The dwmac-sun8i hardware is present on the BananaPi M64. It uses an external PHY rtl8211e via RGMII. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- - arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) + arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts -index 6872135..347c262 100644 +index 6872135..0d1f026 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts -@@ -77,6 +77,20 @@ - bias-pull-up; +@@ -67,6 +67,14 @@ + }; }; -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ reg = <1>; -+ }; -+}; -+ +&emac { + pinctrl-names = "default"; + pinctrl-0 = <&rgmii_pins>; @@ -2174,72 +2099,135 @@ index 6872135..347c262 100644 + status = "okay"; +}; + + &i2c1 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_pins>; +@@ -77,6 +85,13 @@ + bias-pull-up; + }; + ++&mdio { ++ ext_rgmii_phy: ethernet-phy@1 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <1>; ++ }; ++}; ++ &mmc0 { pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins>; -From patchwork Fri Jun 9 15:34:36 2017 + +From patchwork Mon May 1 12:45:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: ARM: sun8i: h3: Enable EMAC with external PHY on Orange Pi Plus 2E -From: Chen-Yu Tsai <wens@csie.org> -X-Patchwork-Id: 9778837 -Message-Id: <20170609153436.18370-1-wens@csie.org> -To: Maxime Ripard <maxime.ripard@free-electrons.com> +Subject: [v5,18/20] arm: sunxi: Enable dwmac-sun8i driver on sunxi_defconfig +From: Corentin LABBE <clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706507 +Message-Id: <20170501124520.3769-19-clabbe.montjoie@gmail.com> +To: robh+dt@kernel.org, mark.rutland@arm.com, + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - Chen-Yu Tsai <wens@csie.org>, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-sunxi@googlegroups.co, linux-arm-kernel@lists.infradead.org -Date: Fri, 9 Jun 2017 23:34:36 +0800 + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:18 +0200 + +Enable the dwmac-sun8i driver in the sunxi default configuration -The Orange Pi Plus 2E, unlike the Orange Pi PC and PC Plus which its -schematics are based on, uses an external Realtek RTL8211E PHY in -RGMII mode, with a GPIO enabling the regulator for I/O signalling -power supplies. The PHY's main power supply is enabled by the main -5V power supply. +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +--- + arch/arm/configs/sunxi_defconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig +index 5cd5dd70..504e022 100644 +--- a/arch/arm/configs/sunxi_defconfig ++++ b/arch/arm/configs/sunxi_defconfig +@@ -40,6 +40,7 @@ CONFIG_ATA=y + CONFIG_AHCI_SUNXI=y + CONFIG_NETDEVICES=y + CONFIG_SUN4I_EMAC=y ++CONFIG_DWMAC_SUN8I=y + # CONFIG_NET_VENDOR_ARC is not set + # CONFIG_NET_CADENCE is not set + # CONFIG_NET_VENDOR_BROADCOM is not set + +From patchwork Mon May 1 12:45:19 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v5, + 19/20] arm: multi_v7: Enable dwmac-sun8i driver on multi_v7_defconfig +From: Corentin LABBE <clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706513 +Message-Id: <20170501124520.3769-20-clabbe.montjoie@gmail.com> +To: robh+dt@kernel.org, mark.rutland@arm.com, + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:19 +0200 -Add the regulator and PHY nodes, and override the PHY phandle under -the EMAC node, so that the EMAC works properly on this board. +Enable the dwmac-sun8i driver in the multi_v7 default configuration -Signed-off-by: Chen-Yu Tsai <wens@csie.org> +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- - arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts | 26 ++++++++++++++++++++++++++ - 1 file changed, 26 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts -index 5851a47a3089..80026f3caafc 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts -@@ -50,4 +50,30 @@ - / { - model = "Xunlong Orange Pi Plus 2E"; - compatible = "xunlong,orangepi-plus2e", "allwinner,sun8i-h3"; -+ -+ reg_gmac_3v3: gmac-3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "gmac-3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ startup-delay-us = <100000>; -+ enable-active-high; -+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */ -+ }; -+}; -+ -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emac_rgmii_pins>; -+ phy-supply = <®_gmac_3v3>; -+ phy-handle = <&ext_rgmii_phy>; -+ phy-mode = "rgmii"; -+ status = "okay"; -+}; -+ -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <1>; -+ }; - }; + arch/arm/configs/multi_v7_defconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig +index 2685e03..6da6af8 100644 +--- a/arch/arm/configs/multi_v7_defconfig ++++ b/arch/arm/configs/multi_v7_defconfig +@@ -257,6 +257,7 @@ CONFIG_SMSC911X=y + CONFIG_STMMAC_ETH=y + CONFIG_STMMAC_PLATFORM=y + CONFIG_DWMAC_DWC_QOS_ETH=y ++CONFIG_DWMAC_SUN8I=y + CONFIG_TI_CPSW=y + CONFIG_XILINX_EMACLITE=y + CONFIG_AT803X_PHY=y + +From patchwork Mon May 1 12:45:20 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v5,20/20] arm64: defconfig: Enable dwmac-sun8i driver on defconfig +From: Corentin LABBE <clabbe.montjoie@gmail.com> +X-Patchwork-Id: 9706505 +Message-Id: <20170501124520.3769-21-clabbe.montjoie@gmail.com> +To: robh+dt@kernel.org, mark.rutland@arm.com, + maxime.ripard@free-electrons.com, wens@csie.org, + linux@armlinux.org.uk, catalin.marinas@arm.com, + will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Mon, 1 May 2017 14:45:20 +0200 + +Enable the dwmac-sun8i ethernet driver as a module in the ARM64 defconfig. + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +--- + arch/arm64/configs/defconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig +index ce07285..4575fbb 100644 +--- a/arch/arm64/configs/defconfig ++++ b/arch/arm64/configs/defconfig +@@ -193,6 +193,7 @@ CONFIG_RAVB=y + CONFIG_SMC91X=y + CONFIG_SMSC911X=y + CONFIG_STMMAC_ETH=m ++CONFIG_DWMAC_SUN8I=m + CONFIG_MDIO_BUS_MUX_MMIOREG=y + CONFIG_MESON_GXL_PHY=m + CONFIG_MICREL_PHY=y From patchwork Mon Jun 5 19:21:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 @@ -2402,60 +2390,89 @@ index 883072b611fa..d756ff825116 100644 &mmc0 { pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; -From patchwork Wed May 31 07:18:40 2017 +From patchwork Mon Jun 5 19:21:28 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -Subject: [v6,09/21] arm: sun8i: orangepi-zero: Enable dwmac-sun8i +Subject: [3/5] ARM: sun50i: orangepi-pc2: Enable dwmac-sun8i From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9756075 -Message-Id: <20170531071852.12422-10-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com, +X-Patchwork-Id: 9767347 +Message-Id: <20170605192130.25320-4-clabbe.montjoie@gmail.com> +To: robh+dt@kernel.org, mark.rutland@arm.com, linux@armlinux.org.uk, + maxime.ripard@free-electrons.com, wens@csie.org, + catalin.marinas@arm.com, will.deacon@arm.com +Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com, Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Wed, 31 May 2017 09:18:40 +0200 - -The dwmac-sun8i hardware is present on the Orange PI Zero. -It uses the internal PHY. + linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org +Date: Mon, 5 Jun 2017 21:21:28 +0200 -This patch create the needed emac node. +The dwmac-sun8i hardware is present on the Orange PI PC2. +It uses an external PHY rtl8211e via RGMII. +This patch create the needed regulator, emac and phy nodes. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- - arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -index 9e8b082c134f..dd3525a0f06a 100644 ---- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -@@ -57,6 +57,7 @@ + .../boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts | 27 ++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts +index dfecc17dcc92..a8296feee884 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts +@@ -59,6 +59,7 @@ + }; + aliases { - serial0 = &uart0; - /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */ + ethernet0 = &emac; - ethernet1 = &xr819; + serial0 = &uart0; }; -@@ -103,6 +104,13 @@ +@@ -91,6 +92,16 @@ + }; + }; + ++ reg_gmac_3v3: gmac-3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "gmac-3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ startup-delay-us = <100000>; ++ enable-active-high; ++ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; ++ }; ++ + reg_usb0_vbus: usb0-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb0-vbus"; +@@ -126,12 +137,28 @@ status = "okay"; }; +&emac { -+ phy-handle = <&int_mii_phy>; -+ phy-mode = "mii"; -+ allwinner,leds-active-low; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emac_rgmii_pins>; ++ phy-supply = <®_gmac_3v3>; ++ phy-handle = <&ext_rgmii_phy>; ++ phy-mode = "rgmii"; + status = "okay"; +}; + + &ir { + pinctrl-names = "default"; + pinctrl-0 = <&ir_pins_a>; + status = "okay"; + }; + ++&mdio { ++ ext_rgmii_phy: ethernet-phy@1 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <1>; ++ }; ++}; ++ &mmc0 { pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins_a>; + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; From patchwork Wed May 31 07:18:44 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 diff --git a/CVE-2017-11473.patch b/CVE-2017-11473.patch new file mode 100644 index 000000000..e3e0658a4 --- /dev/null +++ b/CVE-2017-11473.patch @@ -0,0 +1,48 @@ +From 70ac67826602edf8c0ccb413e5ba7eacf597a60c Mon Sep 17 00:00:00 2001 +From: Seunghun Han <kkamagui@gmail.com> +Date: Tue, 18 Jul 2017 20:03:51 +0900 +Subject: x86/acpi: Prevent out of bound access caused by broken ACPI tables + +The bus_irq argument of mp_override_legacy_irq() is used as the index into +the isa_irq_to_gsi[] array. The bus_irq argument originates from +ACPI_MADT_TYPE_IO_APIC and ACPI_MADT_TYPE_INTERRUPT items in the ACPI +tables, but is nowhere sanity checked. + +That allows broken or malicious ACPI tables to overwrite memory, which +might cause malfunction, panic or arbitrary code execution. + +Add a sanity check and emit a warning when that triggers. + +[ tglx: Added warning and rewrote changelog ] + +Signed-off-by: Seunghun Han <kkamagui@gmail.com> +Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Cc: security@kernel.org +Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> +Cc: stable@vger.kernel.org +--- + arch/x86/kernel/acpi/boot.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c +index 6bb6806..7491e73 100644 +--- a/arch/x86/kernel/acpi/boot.c ++++ b/arch/x86/kernel/acpi/boot.c +@@ -347,6 +347,14 @@ static void __init mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger, + struct mpc_intsrc mp_irq; + + /* ++ * Check bus_irq boundary. ++ */ ++ if (bus_irq >= NR_IRQS_LEGACY) { ++ pr_warn("Invalid bus_irq %u for legacy override\n", bus_irq); ++ return; ++ } ++ ++ /* + * Convert 'gsi' to 'ioapic.pin'. + */ + ioapic = mp_find_ioapic(gsi); +-- +cgit v1.1 + diff --git a/CVE-2017-7645.patch b/CVE-2017-7645.patch deleted file mode 100644 index 0be019cc3..000000000 --- a/CVE-2017-7645.patch +++ /dev/null @@ -1,180 +0,0 @@ -From: "J. Bruce Fields" <bfields@redhat.com> -Date: 2017-04-14 15:04:40 -Subject: [PATCH] nfsd: check for oversized NFSv2/v3 arguments - -A client can append random data to the end of an NFSv2 or NFSv3 RPC call -without our complaining; we'll just stop parsing at the end of the -expected data and ignore the rest. - -Encoded arguments and replies are stored together in an array of pages, -and if a call is too large it could leave inadequate space for the -reply. This is normally OK because NFS RPC's typically have either -short arguments and long replies (like READ) or long arguments and short -replies (like WRITE). But a client that sends an incorrectly long reply -can violate those assumptions. This was observed to cause crashes. - -So, insist that the argument not be any longer than we expect. - -Also, several operations increment rq_next_page in the decode routine -before checking the argument size, which can leave rq_next_page pointing -well past the end of the page array, causing trouble later in -svc_free_pages. - -As followup we may also want to rewrite the encoding routines to check -more carefully that they aren't running off the end of the page array. - -Reported-by: Tuomas Haanpää <thaan@synopsys.com> -Reported-by: Ari Kauppi <ari@synopsys.com> -Cc: stable@vger.kernel.org -Signed-off-by: J. Bruce Fields <bfields@redhat.com> ---- - fs/nfsd/nfs3xdr.c | 23 +++++++++++++++++------ - fs/nfsd/nfsxdr.c | 13 ++++++++++--- - include/linux/sunrpc/svc.h | 3 +-- - 3 files changed, 28 insertions(+), 11 deletions(-) - -diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c -index dba2ff8eaa68..be66bcadfaea 100644 ---- a/fs/nfsd/nfs3xdr.c -+++ b/fs/nfsd/nfs3xdr.c -@@ -334,8 +334,11 @@ nfs3svc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, - if (!p) - return 0; - p = xdr_decode_hyper(p, &args->offset); -- - args->count = ntohl(*p++); -+ -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; -+ - len = min(args->count, max_blocksize); - - /* set up the kvec */ -@@ -349,7 +352,7 @@ nfs3svc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, - v++; - } - args->vlen = v; -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - int -@@ -536,9 +539,11 @@ nfs3svc_decode_readlinkargs(struct svc_rqst *rqstp, __be32 *p, - p = decode_fh(p, &args->fh); - if (!p) - return 0; -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; - args->buffer = page_address(*(rqstp->rq_next_page++)); - -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - int -@@ -564,10 +569,14 @@ nfs3svc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p, - args->verf = p; p += 2; - args->dircount = ~0; - args->count = ntohl(*p++); -+ -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; -+ - args->count = min_t(u32, args->count, PAGE_SIZE); - args->buffer = page_address(*(rqstp->rq_next_page++)); - -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - int -@@ -585,6 +594,9 @@ nfs3svc_decode_readdirplusargs(struct svc_rqst *rqstp, __be32 *p, - args->dircount = ntohl(*p++); - args->count = ntohl(*p++); - -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; -+ - len = args->count = min(args->count, max_blocksize); - while (len > 0) { - struct page *p = *(rqstp->rq_next_page++); -@@ -592,8 +604,7 @@ nfs3svc_decode_readdirplusargs(struct svc_rqst *rqstp, __be32 *p, - args->buffer = page_address(p); - len -= PAGE_SIZE; - } -- -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - int -diff --git a/fs/nfsd/nfsxdr.c b/fs/nfsd/nfsxdr.c -index 41b468a6a90f..79268369f7b3 100644 ---- a/fs/nfsd/nfsxdr.c -+++ b/fs/nfsd/nfsxdr.c -@@ -257,6 +257,9 @@ nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, - len = args->count = ntohl(*p++); - p++; /* totalcount - unused */ - -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; -+ - len = min_t(unsigned int, len, NFSSVC_MAXBLKSIZE_V2); - - /* set up somewhere to store response. -@@ -272,7 +275,7 @@ nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, - v++; - } - args->vlen = v; -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - int -@@ -360,9 +363,11 @@ nfssvc_decode_readlinkargs(struct svc_rqst *rqstp, __be32 *p, struct nfsd_readli - p = decode_fh(p, &args->fh); - if (!p) - return 0; -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; - args->buffer = page_address(*(rqstp->rq_next_page++)); - -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - int -@@ -400,9 +405,11 @@ nfssvc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p, - args->cookie = ntohl(*p++); - args->count = ntohl(*p++); - args->count = min_t(u32, args->count, PAGE_SIZE); -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; - args->buffer = page_address(*(rqstp->rq_next_page++)); - -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - /* -diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h -index e770abeed32d..6ef19cf658b4 100644 ---- a/include/linux/sunrpc/svc.h -+++ b/include/linux/sunrpc/svc.h -@@ -336,8 +336,7 @@ xdr_argsize_check(struct svc_rqst *rqstp, __be32 *p) - { - char *cp = (char *)p; - struct kvec *vec = &rqstp->rq_arg.head[0]; -- return cp >= (char*)vec->iov_base -- && cp <= (char*)vec->iov_base + vec->iov_len; -+ return cp == (char *)vec->iov_base + vec->iov_len; - } - - static inline int --- -2.9.3 - --- -To unsubscribe from this list: send the line "unsubscribe linux-nfs" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html 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/KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch b/KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch new file mode 100644 index 000000000..1cc1e5370 --- /dev/null +++ b/KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch @@ -0,0 +1,95 @@ +From fb2ac204a70da565de9ef9a9d6d69a40c2d59727 Mon Sep 17 00:00:00 2001 +From: David Howells <dhowells@redhat.com> +Date: Fri, 5 May 2017 08:21:56 +0100 +Subject: [PATCH] KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + +Allow keys to be added to the system secondary certificates keyring during +kernel initialisation in an unrestricted fashion. Such keys are implicitly +trusted and don't have their trust chains checked on link. + +This allows keys in the UEFI database to be added in secure boot mode for +the purposes of module signing. + +Signed-off-by: David Howells <dhowells@redhat.com> +--- + certs/internal.h | 18 ++++++++++++++++++ + certs/system_keyring.c | 33 +++++++++++++++++++++++++++++++++ + 2 files changed, 51 insertions(+) + create mode 100644 certs/internal.h + +diff --git a/certs/internal.h b/certs/internal.h +new file mode 100644 +index 0000000..5dcbefb +--- /dev/null ++++ b/certs/internal.h +@@ -0,0 +1,18 @@ ++/* Internal definitions ++ * ++ * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved. ++ * Written by David Howells (dhowells@redhat.com) ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public Licence ++ * as published by the Free Software Foundation; either version ++ * 2 of the Licence, or (at your option) any later version. ++ */ ++ ++/* ++ * system_keyring.c ++ */ ++#ifdef CONFIG_SECONDARY_TRUSTED_KEYRING ++extern void __init add_trusted_secondary_key(const char *source, ++ const void *data, size_t len); ++#endif +diff --git a/certs/system_keyring.c b/certs/system_keyring.c +index 6251d1b..5ac8ba6 100644 +--- a/certs/system_keyring.c ++++ b/certs/system_keyring.c +@@ -18,6 +18,7 @@ + #include <keys/asymmetric-type.h> + #include <keys/system_keyring.h> + #include <crypto/pkcs7.h> ++#include "internal.h" + + static struct key *builtin_trusted_keys; + #ifdef CONFIG_SECONDARY_TRUSTED_KEYRING +@@ -265,3 +266,35 @@ int verify_pkcs7_signature(const void *data, size_t len, + EXPORT_SYMBOL_GPL(verify_pkcs7_signature); + + #endif /* CONFIG_SYSTEM_DATA_VERIFICATION */ ++ ++#ifdef CONFIG_SECONDARY_TRUSTED_KEYRING ++/** ++ * add_trusted_secondary_key - Add to secondary keyring with no validation ++ * @source: Source of key ++ * @data: The blob holding the key ++ * @len: The length of the data blob ++ * ++ * Add a key to the secondary keyring without checking its trust chain. This ++ * is available only during kernel initialisation. ++ */ ++void __init add_trusted_secondary_key(const char *source, ++ const void *data, size_t len) ++{ ++ key_ref_t key; ++ ++ key = key_create_or_update(make_key_ref(secondary_trusted_keys, 1), ++ "asymmetric", ++ NULL, data, len, ++ (KEY_POS_ALL & ~KEY_POS_SETATTR) | ++ KEY_USR_VIEW, ++ KEY_ALLOC_NOT_IN_QUOTA | ++ KEY_ALLOC_BYPASS_RESTRICTION); ++ ++ if (IS_ERR(key)) ++ pr_err("Problem loading %s X.509 certificate (%ld)\n", ++ source, PTR_ERR(key)); ++ else ++ pr_notice("Loaded %s cert '%s' linked to secondary sys keyring\n", ++ source, key_ref_to_ptr(key)->description); ++} ++#endif /* CONFIG_SECONDARY_TRUSTED_KEYRING */ +-- +2.9.3 + diff --git a/MODSIGN-Don-t-try-secure-boot-if-EFI-runtime-is-disa.patch b/MODSIGN-Don-t-try-secure-boot-if-EFI-runtime-is-disa.patch deleted file mode 100644 index 6f5d8b6ab..000000000 --- a/MODSIGN-Don-t-try-secure-boot-if-EFI-runtime-is-disa.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 71db1b222ecdf6cb4356f6f1e2bd45cd2f0e85e1 Mon Sep 17 00:00:00 2001 -From: Laura Abbott <labbott@redhat.com> -Date: Tue, 18 Oct 2016 13:58:44 -0700 -Subject: [PATCH] MODSIGN: Don't try secure boot if EFI runtime is disabled - -Secure boot depends on having EFI runtime variable access. The code -does not handle a lack of runtime variables gracefully. Add a check -to just bail out of EFI runtime is disabled. - -Signed-off-by: Laura Abbott <labbott@redhat.com> ---- - kernel/modsign_uefi.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/kernel/modsign_uefi.c b/kernel/modsign_uefi.c -index a41da14..2bdaf76 100644 ---- a/kernel/modsign_uefi.c -+++ b/kernel/modsign_uefi.c -@@ -71,6 +71,10 @@ static int __init load_uefi_certs(void) - if (!efi_enabled(EFI_SECURE_BOOT)) - return 0; - -+ /* Things blow up if efi runtime is disabled */ -+ if (efi_runtime_disabled()) -+ return 0; -+ - keyring = get_system_keyring(); - if (!keyring) { - pr_err("MODSIGN: Couldn't get system keyring\n"); --- -2.7.4 - diff --git a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch index 76084d472..08195ff4e 100644 --- a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch +++ b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch @@ -1,7 +1,7 @@ -From 8a4535bcfe24d317be675e53cdc8c61d22fdc7f3 Mon Sep 17 00:00:00 2001 +From 90dc66270b02981b19a085c6a9184e3452b7b3e8 Mon Sep 17 00:00:00 2001 From: Josh Boyer <jwboyer@fedoraproject.org> -Date: Fri, 26 Oct 2012 12:42:16 -0400 -Subject: [PATCH 18/20] MODSIGN: Import certificates from UEFI Secure Boot +Date: Fri, 5 May 2017 08:21:59 +0100 +Subject: [PATCH 3/4] MODSIGN: Import certificates from UEFI Secure Boot Secure Boot stores a list of allowed certificates in the 'db' variable. This imports those certificates into the system trusted keyring. This @@ -11,104 +11,68 @@ variable, a user can allow a module signed with that certificate to load. The shim UEFI bootloader has a similar certificate list stored in the 'MokListRT' variable. We import those as well. -In the opposite case, Secure Boot maintains a list of disallowed -certificates in the 'dbx' variable. We load those certificates into -the newly introduced system blacklist keyring and forbid any module -signed with those from loading. +Secure Boot also maintains a list of disallowed certificates in the 'dbx' +variable. We load those certificates into the newly introduced system +blacklist keyring and forbid any module signed with those from loading and +forbid the use within the kernel of any key with a matching hash. + +This facility is enabled by setting CONFIG_LOAD_UEFI_KEYS. Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> +Signed-off-by: David Howells <dhowells@redhat.com> --- - certs/system_keyring.c | 13 ++++++ - include/keys/system_keyring.h | 1 + - init/Kconfig | 9 ++++ - kernel/Makefile | 3 ++ - kernel/modsign_uefi.c | 99 +++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 125 insertions(+) - create mode 100644 kernel/modsign_uefi.c + certs/Kconfig | 16 ++++++ + certs/Makefile | 4 ++ + certs/load_uefi.c | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 188 insertions(+) + create mode 100644 certs/load_uefi.c -diff --git a/certs/system_keyring.c b/certs/system_keyring.c -index 787eeead2f57..4d9123ed5c07 100644 ---- a/certs/system_keyring.c -+++ b/certs/system_keyring.c -@@ -30,6 +30,19 @@ extern __initconst const u8 system_certificate_list[]; - extern __initconst const unsigned long system_certificate_list_size; - - /** -+ * get_system_keyring - Return a pointer to the system keyring -+ * -+ */ -+struct key *get_system_keyring(void) -+{ -+ struct key *system_keyring = NULL; -+ -+ system_keyring = builtin_trusted_keys; -+ return system_keyring; -+} -+EXPORT_SYMBOL_GPL(get_system_keyring); -+ -+/** - * restrict_link_to_builtin_trusted - Restrict keyring addition by built in CA - * - * Restrict the addition of keys into a keyring based on the key-to-be-added -diff --git a/include/keys/system_keyring.h b/include/keys/system_keyring.h -index 5bc291a3d261..56ff5715ab67 100644 ---- a/include/keys/system_keyring.h -+++ b/include/keys/system_keyring.h -@@ -36,6 +36,7 @@ extern int restrict_link_by_builtin_and_secondary_trusted( - #ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING - extern struct key *system_blacklist_keyring; - #endif -+extern struct key *get_system_keyring(void); - - #ifdef CONFIG_IMA_BLACKLIST_KEYRING - extern struct key *ima_blacklist_keyring; -diff --git a/init/Kconfig b/init/Kconfig -index 461ad575a608..93646fd7b1c8 100644 ---- a/init/Kconfig -+++ b/init/Kconfig -@@ -2009,6 +2009,15 @@ config MODULE_SIG_ALL - comment "Do not forget to sign required modules with scripts/sign-file" - depends on MODULE_SIG_FORCE && !MODULE_SIG_ALL - -+config MODULE_SIG_UEFI -+ bool "Allow modules signed with certs stored in UEFI" -+ depends on MODULE_SIG && SYSTEM_BLACKLIST_KEYRING && EFI -+ select EFI_SIGNATURE_LIST_PARSER +diff --git a/certs/Kconfig b/certs/Kconfig +index 630ae09..edf9f75 100644 +--- a/certs/Kconfig ++++ b/certs/Kconfig +@@ -90,4 +90,20 @@ config EFI_SIGNATURE_LIST_PARSER + This option provides support for parsing EFI signature lists for + X.509 certificates and turning them into keys. + ++config LOAD_UEFI_KEYS ++ bool "Load certs and blacklist from UEFI db for module checking" ++ depends on SYSTEM_BLACKLIST_KEYRING ++ depends on SECONDARY_TRUSTED_KEYRING ++ depends on EFI ++ depends on EFI_SIGNATURE_LIST_PARSER + help -+ This will import certificates stored in UEFI and allow modules -+ signed with those to be loaded. It will also disallow loading -+ of modules stored in the UEFI dbx variable. -+ - choice - prompt "Which hash algorithm should modules be signed with?" - depends on MODULE_SIG -diff --git a/kernel/Makefile b/kernel/Makefile -index eb26e12c6c2a..e0c2268cb97e 100644 ---- a/kernel/Makefile -+++ b/kernel/Makefile -@@ -57,6 +57,7 @@ endif - obj-$(CONFIG_UID16) += uid16.o - obj-$(CONFIG_MODULES) += module.o - obj-$(CONFIG_MODULE_SIG) += module_signing.o -+obj-$(CONFIG_MODULE_SIG_UEFI) += modsign_uefi.o - obj-$(CONFIG_KALLSYMS) += kallsyms.o - obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o - obj-$(CONFIG_KEXEC_CORE) += kexec_core.o -@@ -113,6 +114,8 @@ obj-$(CONFIG_MEMBARRIER) += membarrier.o - - obj-$(CONFIG_HAS_IOMEM) += memremap.o - -+$(obj)/modsign_uefi.o: KBUILD_CFLAGS += -fshort-wchar -+ - $(obj)/configs.o: $(obj)/config_data.h - - targets += config_data.gz -diff --git a/kernel/modsign_uefi.c b/kernel/modsign_uefi.c ++ If the kernel is booted in secure boot mode, this option will cause ++ the kernel to load the certificates from the UEFI db and MokListRT ++ into the secondary trusted keyring. It will also load any X.509 ++ SHA256 hashes in the dbx list into the blacklist. ++ ++ The effect of this is that, if the kernel is booted in secure boot ++ mode, modules signed with UEFI-stored keys will be permitted to be ++ loaded and keys that match the blacklist will be rejected. ++ + endmenu +diff --git a/certs/Makefile b/certs/Makefile +index 738151a..a5e057a 100644 +--- a/certs/Makefile ++++ b/certs/Makefile +@@ -11,6 +11,10 @@ obj-$(CONFIG_SYSTEM_BLACKLIST_KEYRING) += blacklist_nohashes.o + endif + obj-$(CONFIG_EFI_SIGNATURE_LIST_PARSER) += efi_parser.o + ++obj-$(CONFIG_LOAD_UEFI_KEYS) += load_uefi.o ++$(obj)/load_uefi.o: KBUILD_CFLAGS += -fshort-wchar ++ ++ + ifeq ($(CONFIG_SYSTEM_TRUSTED_KEYRING),y) + + $(eval $(call config_filename,SYSTEM_TRUSTED_KEYS)) +diff --git a/certs/load_uefi.c b/certs/load_uefi.c new file mode 100644 -index 000000000000..fe4a6f2bf10a +index 0000000..b44e464 --- /dev/null -+++ b/kernel/modsign_uefi.c -@@ -0,0 +1,99 @@ ++++ b/certs/load_uefi.c +@@ -0,0 +1,168 @@ +#include <linux/kernel.h> +#include <linux/sched.h> +#include <linux/cred.h> @@ -117,14 +81,22 @@ index 000000000000..fe4a6f2bf10a +#include <linux/slab.h> +#include <keys/asymmetric-type.h> +#include <keys/system_keyring.h> -+#include "module-internal.h" ++#include "internal.h" + -+static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, unsigned long *size) ++static __initdata efi_guid_t efi_cert_x509_guid = EFI_CERT_X509_GUID; ++static __initdata efi_guid_t efi_cert_x509_sha256_guid = EFI_CERT_X509_SHA256_GUID; ++static __initdata efi_guid_t efi_cert_sha256_guid = EFI_CERT_SHA256_GUID; ++ ++/* ++ * Get a certificate list blob from the named EFI variable. ++ */ ++static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, ++ unsigned long *size) +{ + efi_status_t status; + unsigned long lsize = 4; + unsigned long tmpdb[4]; -+ void *db = NULL; ++ void *db; + + status = efi.get_variable(name, guid, NULL, &lsize, &tmpdb); + if (status != EFI_BUFFER_TOO_SMALL) { @@ -135,23 +107,89 @@ index 000000000000..fe4a6f2bf10a + db = kmalloc(lsize, GFP_KERNEL); + if (!db) { + pr_err("Couldn't allocate memory for uefi cert list\n"); -+ goto out; ++ return NULL; + } + + status = efi.get_variable(name, guid, NULL, &lsize, db); + if (status != EFI_SUCCESS) { + kfree(db); -+ db = NULL; + pr_err("Error reading db var: 0x%lx\n", status); ++ return NULL; + } -+out: ++ + *size = lsize; + return db; +} + +/* -+ * * Load the certs contained in the UEFI databases -+ * */ ++ * Blacklist an X509 TBS hash. ++ */ ++static __init void uefi_blacklist_x509_tbs(const char *source, ++ const void *data, size_t len) ++{ ++ char *hash, *p; ++ ++ hash = kmalloc(4 + len * 2 + 1, GFP_KERNEL); ++ if (!hash) ++ return; ++ p = memcpy(hash, "tbs:", 4); ++ p += 4; ++ bin2hex(p, data, len); ++ p += len * 2; ++ *p = 0; ++ ++ mark_hash_blacklisted(hash); ++ kfree(hash); ++} ++ ++/* ++ * Blacklist the hash of an executable. ++ */ ++static __init void uefi_blacklist_binary(const char *source, ++ const void *data, size_t len) ++{ ++ char *hash, *p; ++ ++ hash = kmalloc(4 + len * 2 + 1, GFP_KERNEL); ++ if (!hash) ++ return; ++ p = memcpy(hash, "bin:", 4); ++ p += 4; ++ bin2hex(p, data, len); ++ p += len * 2; ++ *p = 0; ++ ++ mark_hash_blacklisted(hash); ++ kfree(hash); ++} ++ ++/* ++ * Return the appropriate handler for particular signature list types found in ++ * the UEFI db and MokListRT tables. ++ */ ++static __init efi_element_handler_t get_handler_for_db(const efi_guid_t *sig_type) ++{ ++ if (efi_guidcmp(*sig_type, efi_cert_x509_guid) == 0) ++ return add_trusted_secondary_key; ++ return 0; ++} ++ ++/* ++ * Return the appropriate handler for particular signature list types found in ++ * the UEFI dbx and MokListXRT tables. ++ */ ++static __init efi_element_handler_t get_handler_for_dbx(const efi_guid_t *sig_type) ++{ ++ if (efi_guidcmp(*sig_type, efi_cert_x509_sha256_guid) == 0) ++ return uefi_blacklist_x509_tbs; ++ if (efi_guidcmp(*sig_type, efi_cert_sha256_guid) == 0) ++ return uefi_blacklist_binary; ++ return 0; ++} ++ ++/* ++ * Load the certs contained in the UEFI databases ++ */ +static int __init load_uefi_certs(void) +{ + efi_guid_t secure_var = EFI_IMAGE_SECURITY_DATABASE_GUID; @@ -159,17 +197,9 @@ index 000000000000..fe4a6f2bf10a + void *db = NULL, *dbx = NULL, *mok = NULL; + unsigned long dbsize = 0, dbxsize = 0, moksize = 0; + int rc = 0; -+ struct key *keyring = NULL; + -+ /* Check if SB is enabled and just return if not */ -+ if (!efi_enabled(EFI_SECURE_BOOT)) -+ return 0; -+ -+ keyring = get_system_keyring(); -+ if (!keyring) { -+ pr_err("MODSIGN: Couldn't get system keyring\n"); -+ return -EINVAL; -+ } ++ if (!efi.get_variable) ++ return false; + + /* Get db, MokListRT, and dbx. They might not exist, so it isn't + * an error if we can't get them. @@ -178,7 +208,8 @@ index 000000000000..fe4a6f2bf10a + if (!db) { + pr_err("MODSIGN: Couldn't get UEFI db list\n"); + } else { -+ rc = parse_efi_signature_list(db, dbsize, keyring); ++ rc = parse_efi_signature_list("UEFI:db", ++ db, dbsize, get_handler_for_db); + if (rc) + pr_err("Couldn't parse db signatures: %d\n", rc); + kfree(db); @@ -188,7 +219,8 @@ index 000000000000..fe4a6f2bf10a + if (!mok) { + pr_info("MODSIGN: Couldn't get UEFI MokListRT\n"); + } else { -+ rc = parse_efi_signature_list(mok, moksize, keyring); ++ rc = parse_efi_signature_list("UEFI:MokListRT", ++ mok, moksize, get_handler_for_db); + if (rc) + pr_err("Couldn't parse MokListRT signatures: %d\n", rc); + kfree(mok); @@ -198,8 +230,9 @@ index 000000000000..fe4a6f2bf10a + if (!dbx) { + pr_info("MODSIGN: Couldn't get UEFI dbx list\n"); + } else { -+ rc = parse_efi_signature_list(dbx, dbxsize, -+ system_blacklist_keyring); ++ rc = parse_efi_signature_list("UEFI:dbx", ++ dbx, dbxsize, ++ get_handler_for_dbx); + if (rc) + pr_err("Couldn't parse dbx signatures: %d\n", rc); + kfree(dbx); diff --git a/MODSIGN-Support-not-importing-certs-from-db.patch b/MODSIGN-Support-not-importing-certs-from-db.patch index d7087b5e7..13fecd2f2 100644 --- a/MODSIGN-Support-not-importing-certs-from-db.patch +++ b/MODSIGN-Support-not-importing-certs-from-db.patch @@ -1,62 +1,62 @@ -From 9d2e5c61d5adcf7911f67ed44a1b0ff881f175bb Mon Sep 17 00:00:00 2001 +From 9f1958a0cc911e1f79b2733ee5029dbd819ff328 Mon Sep 17 00:00:00 2001 From: Josh Boyer <jwboyer@fedoraproject.org> -Date: Thu, 3 Oct 2013 10:14:23 -0400 -Subject: [PATCH 19/20] MODSIGN: Support not importing certs from db +Date: Fri, 5 May 2017 08:21:59 +0100 +Subject: [PATCH 4/4] MODSIGN: Allow the "db" UEFI variable to be suppressed If a user tells shim to not use the certs/hashes in the UEFI db variable -for verification purposes, shim will set a UEFI variable called MokIgnoreDB. -Have the uefi import code look for this and not import things from the db -variable. +for verification purposes, shim will set a UEFI variable called +MokIgnoreDB. Have the uefi import code look for this and ignore the db +variable if it is found. Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> +Signed-off-by: David Howells <dhowells@redhat.com> --- - kernel/modsign_uefi.c | 40 +++++++++++++++++++++++++++++++--------- - 1 file changed, 31 insertions(+), 9 deletions(-) + certs/load_uefi.c | 44 ++++++++++++++++++++++++++++++++++---------- + 1 file changed, 34 insertions(+), 10 deletions(-) -diff --git a/kernel/modsign_uefi.c b/kernel/modsign_uefi.c -index fe4a6f2bf10a..a41da14b1ffd 100644 ---- a/kernel/modsign_uefi.c -+++ b/kernel/modsign_uefi.c -@@ -8,6 +8,23 @@ - #include <keys/system_keyring.h> - #include "module-internal.h" - -+static __init int check_ignore_db(void) +diff --git a/certs/load_uefi.c b/certs/load_uefi.c +index b44e464..3d88459 100644 +--- a/certs/load_uefi.c ++++ b/certs/load_uefi.c +@@ -13,6 +13,26 @@ static __initdata efi_guid_t efi_cert_x509_sha256_guid = EFI_CERT_X509_SHA256_GU + static __initdata efi_guid_t efi_cert_sha256_guid = EFI_CERT_SHA256_GUID; + + /* ++ * Look to see if a UEFI variable called MokIgnoreDB exists and return true if ++ * it does. ++ * ++ * This UEFI variable is set by the shim if a user tells the shim to not use ++ * the certs/hashes in the UEFI db variable for verification purposes. If it ++ * is set, we should ignore the db variable also and the true return indicates ++ * this. ++ */ ++static __init bool uefi_check_ignore_db(void) +{ + efi_status_t status; + unsigned int db = 0; + unsigned long size = sizeof(db); + efi_guid_t guid = EFI_SHIM_LOCK_GUID; + -+ /* Check and see if the MokIgnoreDB variable exists. If that fails -+ * then we don't ignore DB. If it succeeds, we do. -+ */ + status = efi.get_variable(L"MokIgnoreDB", &guid, NULL, &size, &db); -+ if (status != EFI_SUCCESS) -+ return 0; -+ -+ return 1; ++ return status == EFI_SUCCESS; +} + - static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, unsigned long *size) ++/* + * Get a certificate list blob from the named EFI variable. + */ + static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, +@@ -113,7 +133,9 @@ static __init efi_element_handler_t get_handler_for_dbx(const efi_guid_t *sig_ty + } + + /* +- * Load the certs contained in the UEFI databases ++ * Load the certs contained in the UEFI databases into the secondary trusted ++ * keyring and the UEFI blacklisted X.509 cert SHA256 hashes into the blacklist ++ * keyring. + */ + static int __init load_uefi_certs(void) { - efi_status_t status; -@@ -47,7 +64,7 @@ static int __init load_uefi_certs(void) - efi_guid_t mok_var = EFI_SHIM_LOCK_GUID; - void *db = NULL, *dbx = NULL, *mok = NULL; - unsigned long dbsize = 0, dbxsize = 0, moksize = 0; -- int rc = 0; -+ int ignore_db, rc = 0; - struct key *keyring = NULL; - - /* Check if SB is enabled and just return if not */ -@@ -60,17 +77,22 @@ static int __init load_uefi_certs(void) - return -EINVAL; - } - -+ /* See if the user has setup Ignore DB mode */ -+ ignore_db = check_ignore_db(); -+ +@@ -129,15 +151,17 @@ static int __init load_uefi_certs(void) /* Get db, MokListRT, and dbx. They might not exist, so it isn't * an error if we can't get them. */ @@ -64,22 +64,24 @@ index fe4a6f2bf10a..a41da14b1ffd 100644 - if (!db) { - pr_err("MODSIGN: Couldn't get UEFI db list\n"); - } else { -- rc = parse_efi_signature_list(db, dbsize, keyring); +- rc = parse_efi_signature_list("UEFI:db", +- db, dbsize, get_handler_for_db); - if (rc) - pr_err("Couldn't parse db signatures: %d\n", rc); - kfree(db); -+ if (!ignore_db) { ++ if (!uefi_check_ignore_db()) { + db = get_cert_list(L"db", &secure_var, &dbsize); + if (!db) { + pr_err("MODSIGN: Couldn't get UEFI db list\n"); + } else { -+ rc = parse_efi_signature_list(db, dbsize, keyring); ++ rc = parse_efi_signature_list("UEFI:db", ++ db, dbsize, get_handler_for_db); + if (rc) + pr_err("Couldn't parse db signatures: %d\n", rc); + kfree(db); + } } - + mok = get_cert_list(L"MokListRT", &mok_var, &moksize); -- 2.9.3 diff --git a/README.txt b/README.txt index 516119838..6195bb56d 100644 --- a/README.txt +++ b/README.txt @@ -31,29 +31,30 @@ by make verrel config heirarchy. ----------------- Instead of having to maintain a config file for every arch variant we build on, -the kernel spec uses a nested system of configs. Each option CONFIG_FOO is -represented by a single file named CONFIG_FOO which contains the state (=y, =m, -=n). These options are collected in the folder baseconfig. Architecture specifi -options are set in nested folders. An option set in a nested folder will -override the same option set in one of the higher levels. - -The individual CONFIG_FOO files only exist in the pkg-git repository. The RPM -contains kernel-foo.config files which are the result of combining all the -CONFIG_FOO files. The files are combined by running build_configs.sh. This -script _must_ be run each time one of the options is changed. - -Example flow: - -# Enable the option CONFIG_ABC123 as a module for all arches -echo "CONFIG_ABC123=m" > baseconfig/CONFIG_ABC1234 -# enable the option CONFIG_XYZ321 for only x86 -echo "# CONFIG_XYZ321 is not set" > baseconfig/CONFIG_XYZ321 -echo "CONFIG_XYZ321=m" > baseconfig/x86/CONFIG_XYZ321 -# regenerate the combined config files -./build_configs.sh - -The file config_generation gives a listing of what folders go into each -config file generated. +the kernel spec uses a nested system of configs. At the top level, is +config-generic. Add options here that should be present in every possible +config on all architectures. + +Beneath this are per-arch overrides. For example config-x86-generic add +additional x86 specific options, and also _override_ any options that were +set in config-generic. + +The heirarchy looks like this.. + + config-generic + | + config-x86-generic + | | + config-x86-32-generic config-x86-64-generic + +An option set in a lower level will override the same option set in one +of the higher levels. + + +There exist two additional overrides, config-debug, and config-nodebug, +which override -generic, and the per-arch overrides. It is documented +further below. + debug options. -------------- @@ -68,11 +69,14 @@ typically been run already, which sets up the following.. If we are building for rawhide, 'make debug' has been run, which changes the status quo to: - We only build one kernel 'kernel' -- The debug options are always turned on. +- The debug options from 'config-debug' are always turned on. This is done to increase coverage testing, as not many people actually run kernel-debug. -The debug options are managed in a separate heierarchy under debugconfig. This -works in a similar manner to baseconfig. More deeply nested folders, again, -override options. The file config_generation gives a listing of what folders -go into each config file generated. +To add new debug options, add an option to _both_ config-debug and config-nodebug, +and also new stanzas to the Makefile 'debug' and 'release' targets. + +Sometimes debug options get added to config-generic, or per-arch overrides +instead of config-[no]debug. In this instance, the options should have no +discernable performance impact, otherwise they belong in the debug files. + diff --git a/Revert-ARM-dts-bcm2835-Add-the-DSI-module-nodes-and-.patch b/Revert-ARM-dts-bcm2835-Add-the-DSI-module-nodes-and-.patch new file mode 100644 index 000000000..235c39162 --- /dev/null +++ b/Revert-ARM-dts-bcm2835-Add-the-DSI-module-nodes-and-.patch @@ -0,0 +1,105 @@ +From 7d9e74c53a4376245b4f05006f42184a1540dee8 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Tue, 18 Jul 2017 23:21:50 +0100 +Subject: [PATCH] Revert "ARM: dts: bcm2835: Add the DSI module nodes and + clocks." + +This reverts commit 4aba4cf820545ca8ec23785c7bac40bba7e505c5. +--- + arch/arm/boot/dts/bcm2835-rpi.dtsi | 8 ------- + arch/arm/boot/dts/bcm283x.dtsi | 48 +++----------------------------------- + 2 files changed, 3 insertions(+), 53 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi +index a7b5ce133784..e99bb149065f 100644 +--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi +@@ -98,11 +98,3 @@ + power-domains = <&power RPI_POWER_DOMAIN_VEC>; + status = "okay"; + }; +- +-&dsi0 { +- power-domains = <&power RPI_POWER_DOMAIN_DSI0>; +-}; +- +-&dsi1 { +- power-domains = <&power RPI_POWER_DOMAIN_DSI1>; +-}; +diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi +index 9444a9a9ba10..ce14c9ddf574 100644 +--- a/arch/arm/boot/dts/bcm283x.dtsi ++++ b/arch/arm/boot/dts/bcm283x.dtsi +@@ -98,13 +98,10 @@ + #clock-cells = <1>; + reg = <0x7e101000 0x2000>; + +- /* CPRMAN derives almost everything from the +- * platform's oscillator. However, the DSI +- * pixel clocks come from the DSI analog PHY. ++ /* CPRMAN derives everything from the platform's ++ * oscillator. + */ +- clocks = <&clk_osc>, +- <&dsi0 0>, <&dsi0 1>, <&dsi0 2>, +- <&dsi1 0>, <&dsi1 1>, <&dsi1 2>; ++ clocks = <&clk_osc>; + }; + + rng@7e104000 { +@@ -412,25 +409,6 @@ + interrupts = <2 14>; /* pwa1 */ + }; + +- dsi0: dsi@7e209000 { +- compatible = "brcm,bcm2835-dsi0"; +- reg = <0x7e209000 0x78>; +- interrupts = <2 4>; +- #address-cells = <1>; +- #size-cells = <0>; +- #clock-cells = <1>; +- +- clocks = <&clocks BCM2835_PLLA_DSI0>, +- <&clocks BCM2835_CLOCK_DSI0E>, +- <&clocks BCM2835_CLOCK_DSI0P>; +- clock-names = "phy", "escape", "pixel"; +- +- clock-output-names = "dsi0_byte", +- "dsi0_ddr2", +- "dsi0_ddr"; +- +- }; +- + thermal: thermal@7e212000 { + compatible = "brcm,bcm2835-thermal"; + reg = <0x7e212000 0x8>; +@@ -497,26 +475,6 @@ + interrupts = <2 1>; + }; + +- dsi1: dsi@7e700000 { +- compatible = "brcm,bcm2835-dsi1"; +- reg = <0x7e700000 0x8c>; +- interrupts = <2 12>; +- #address-cells = <1>; +- #size-cells = <0>; +- #clock-cells = <1>; +- +- clocks = <&clocks BCM2835_PLLD_DSI1>, +- <&clocks BCM2835_CLOCK_DSI1E>, +- <&clocks BCM2835_CLOCK_DSI1P>; +- clock-names = "phy", "escape", "pixel"; +- +- clock-output-names = "dsi1_byte", +- "dsi1_ddr2", +- "dsi1_ddr"; +- +- status = "disabled"; +- }; +- + i2c1: i2c@7e804000 { + compatible = "brcm,bcm2835-i2c"; + reg = <0x7e804000 0x1000>; +-- +2.13.3 + diff --git a/arm-hikey-fixWiFi.patch b/arm-hikey-fixWiFi.patch deleted file mode 100644 index 19d28314b..000000000 --- a/arm-hikey-fixWiFi.patch +++ /dev/null @@ -1,500 +0,0 @@ -From c477ebe21fabe0010a2ed324ce3a1762c757d867 Mon Sep 17 00:00:00 2001 -From: Ulf Hansson <ulf.hansson@linaro.org> -Date: Sat, 6 May 2017 11:41:30 +0200 -Subject: [PATCH 179/554] mmc: dt: pwrseq-simple: Invent power-off-delay-us - -During power off, after the GPIO pin has been asserted, some devices like -the Wifi chip from TI, Wl18xx, needs a delay before the host continues with -clock gating and turning off regulators as to follow a graceful shutdown -sequence. - -Therefore invent an optional power-off-delay-us DT binding for -mmc-pwrseq-simple, to allow us to support this constraint. - -Cc: devicetree@vger.kernel.org -Cc: Rob Herring <robh+dt@kernel.org> -Cc: linux-mmc@vger.kernel.org -Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> -Acked-by: Arnd Bergmann <arnd@arndb.de> ---- - Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt -index e25436861867..9029b45b8a22 100644 ---- a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt -+++ b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt -@@ -18,6 +18,8 @@ Optional properties: - "ext_clock" (External clock provided to the card). - - post-power-on-delay-ms : Delay in ms after powering the card and - de-asserting the reset-gpios (if any) -+- power-off-delay-us : Delay in us after asserting the reset-gpios (if any) -+ during power off of the card. - - Example: - --- -2.13.0 - -From e9256e142f597edf90c68cec22db4c4aebaa27de Mon Sep 17 00:00:00 2001 -From: Ulf Hansson <ulf.hansson@linaro.org> -Date: Sat, 6 May 2017 11:43:05 +0200 -Subject: [PATCH 180/554] mmc: pwrseq_simple: Parse DTS for the - power-off-delay-us property - -If the optional power-off-delay-us property is found, insert the -corresponding delay after asserting the GPIO during power off. This enables -a graceful shutdown sequence for some devices. - -Cc: linux-mmc@vger.kernel.org -Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> -Acked-by: Arnd Bergmann <arnd@arndb.de> ---- - drivers/mmc/core/pwrseq_simple.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/drivers/mmc/core/pwrseq_simple.c b/drivers/mmc/core/pwrseq_simple.c -index 1304160de168..13ef162cf066 100644 ---- a/drivers/mmc/core/pwrseq_simple.c -+++ b/drivers/mmc/core/pwrseq_simple.c -@@ -27,6 +27,7 @@ struct mmc_pwrseq_simple { - struct mmc_pwrseq pwrseq; - bool clk_enabled; - u32 post_power_on_delay_ms; -+ u32 power_off_delay_us; - struct clk *ext_clk; - struct gpio_descs *reset_gpios; - }; -@@ -78,6 +79,10 @@ static void mmc_pwrseq_simple_power_off(struct mmc_host *host) - - mmc_pwrseq_simple_set_gpios_value(pwrseq, 1); - -+ if (pwrseq->power_off_delay_us) -+ usleep_range(pwrseq->power_off_delay_us, -+ 2 * pwrseq->power_off_delay_us); -+ - if (!IS_ERR(pwrseq->ext_clk) && pwrseq->clk_enabled) { - clk_disable_unprepare(pwrseq->ext_clk); - pwrseq->clk_enabled = false; -@@ -119,6 +124,8 @@ static int mmc_pwrseq_simple_probe(struct platform_device *pdev) - - device_property_read_u32(dev, "post-power-on-delay-ms", - &pwrseq->post_power_on_delay_ms); -+ device_property_read_u32(dev, "power-off-delay-us", -+ &pwrseq->power_off_delay_us); - - pwrseq->pwrseq.dev = dev; - pwrseq->pwrseq.ops = &mmc_pwrseq_simple_ops; --- -2.13.0 - -From f74ac688c981138c914f9afba50b646146e35585 Mon Sep 17 00:00:00 2001 -From: Daniel Lezcano <daniel.lezcano@linaro.org> -Date: Mon, 24 Apr 2017 22:40:22 +0200 -Subject: [PATCH 181/554] mfd: dts: hi655x: Add clock binding for the pmic - -The hi655x PMIC provides the regulators but also a clock. The latter is -missing in the definition, so extend the documentation to include this as -well. - -Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> -Acked-by: Rob Herring <robh@kernel.org> -Acked-by: Lee Jones <lee.jones@linaro.org> -[Ulf: Split patch and updated changelog] -Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> -Acked-by: Arnd Bergmann <arnd@arndb.de> ---- - Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt b/Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt -index 05485699d70e..9630ac0e4b56 100644 ---- a/Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt -+++ b/Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt -@@ -16,6 +16,11 @@ Required properties: - - reg: Base address of PMIC on Hi6220 SoC. - - interrupt-controller: Hi655x has internal IRQs (has own IRQ domain). - - pmic-gpios: The GPIO used by PMIC IRQ. -+- #clock-cells: From common clock binding; shall be set to 0 -+ -+Optional properties: -+- clock-output-names: From common clock binding to override the -+ default output clock name - - Example: - pmic: pmic@f8000000 { -@@ -24,4 +29,5 @@ Example: - interrupt-controller; - #interrupt-cells = <2>; - pmic-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; -+ #clock-cells = <0>; - } --- -2.13.0 - -From 307ded8968868e55343e063fbe96cff1efd77eb6 Mon Sep 17 00:00:00 2001 -From: Daniel Lezcano <daniel.lezcano@linaro.org> -Date: Mon, 24 Apr 2017 22:40:22 +0200 -Subject: [PATCH 182/554] arm64: dts: hikey: Add clock for the pmic mfd - -The hi655x PMIC provides the regulators but also a clock. The latter is -missing so let's add it. This clock is used by WiFi/Bluetooth chip, but -that connection is done in a separate change on top of this one. - -Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> -Acked-by: Rob Herring <robh@kernel.org> -Acked-by: Lee Jones <lee.jones@linaro.org> -[Ulf: Split patch and updated changelog] -Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> -Acked-by: Arnd Bergmann <arnd@arndb.de> ---- - arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -index 75bce2d0b1a8..d22eb3a646c4 100644 ---- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -@@ -330,6 +330,7 @@ - pmic: pmic@f8000000 { - compatible = "hisilicon,hi655x-pmic"; - reg = <0x0 0xf8000000 0x0 0x1000>; -+ #clock-cells = <0>; - interrupt-controller; - #interrupt-cells = <2>; - pmic-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; --- -2.13.0 - -From 1b32a5ff98fbb271d2235ddcfe3b58f514f8260a Mon Sep 17 00:00:00 2001 -From: Ulf Hansson <ulf.hansson@linaro.org> -Date: Wed, 3 May 2017 12:46:55 +0200 -Subject: [PATCH 183/554] arm64: dts: hi6220: Move the fixed_5v_hub regulator - to the hikey dts - -The regulator is a part of the hikey board, therefore let's move it from -the hi6220 SoC dtsi file into the hikey dts file . Let's also rename the -regulator according to the datasheet (5V_HUB) to better reflect the HW. - -Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> -Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> -Acked-by: Arnd Bergmann <arnd@arndb.de> ---- - arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 10 ++++++++++ - arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 12 +----------- - 2 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -index d22eb3a646c4..0f6cba77fc76 100644 ---- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -@@ -81,6 +81,16 @@ - }; - }; - -+ reg_5v_hub: regulator@0 { -+ compatible = "regulator-fixed"; -+ regulator-name = "5V_HUB"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-boot-on; -+ gpio = <&gpio0 7 0>; -+ regulator-always-on; -+ }; -+ - soc { - spi0: spi@f7106000 { - status = "ok"; -diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi -index 1e5129b19280..951152d44c02 100644 ---- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi -+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi -@@ -725,20 +725,10 @@ - status = "disabled"; - }; - -- fixed_5v_hub: regulator@0 { -- compatible = "regulator-fixed"; -- regulator-name = "fixed_5v_hub"; -- regulator-min-microvolt = <5000000>; -- regulator-max-microvolt = <5000000>; -- regulator-boot-on; -- gpio = <&gpio0 7 0>; -- regulator-always-on; -- }; -- - usb_phy: usbphy { - compatible = "hisilicon,hi6220-usb-phy"; - #phy-cells = <0>; -- phy-supply = <&fixed_5v_hub>; -+ phy-supply = <®_5v_hub>; - hisilicon,peripheral-syscon = <&sys_ctrl>; - }; - --- -2.13.0 - -From 84f7c60b31f10e3a438153bc7408ad536f585641 Mon Sep 17 00:00:00 2001 -From: Ulf Hansson <ulf.hansson@linaro.org> -Date: Wed, 3 May 2017 13:51:27 +0200 -Subject: [PATCH 184/554] arm64: dts: hikey: Add the SYS_5V and the VDD_3V3 - regulators - -Add these regulators to better describe the HW, but also because those is -needed in following changes. - -Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> -Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> -Acked-by: Arnd Bergmann <arnd@arndb.de> ---- - arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 22 +++++++++++++++++++++- - 1 file changed, 21 insertions(+), 1 deletion(-) - -diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -index 0f6cba77fc76..802f4a4bed30 100644 ---- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -@@ -81,7 +81,26 @@ - }; - }; - -- reg_5v_hub: regulator@0 { -+ reg_sys_5v: regulator@0 { -+ compatible = "regulator-fixed"; -+ regulator-name = "SYS_5V"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ reg_vdd_3v3: regulator@1 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDD_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-boot-on; -+ regulator-always-on; -+ vin-supply = <®_sys_5v>; -+ }; -+ -+ reg_5v_hub: regulator@2 { - compatible = "regulator-fixed"; - regulator-name = "5V_HUB"; - regulator-min-microvolt = <5000000>; -@@ -89,6 +108,7 @@ - regulator-boot-on; - gpio = <&gpio0 7 0>; - regulator-always-on; -+ vin-supply = <®_sys_5v>; - }; - - soc { --- -2.13.0 - -From 76f1dfb687150e852aa74573962cfc158a9570cc Mon Sep 17 00:00:00 2001 -From: Ulf Hansson <ulf.hansson@linaro.org> -Date: Wed, 3 May 2017 14:18:26 +0200 -Subject: [PATCH 185/554] arm64: dts: hi6220: Move board data from the dwmmc - nodes to hikey dts - -Move the board specific descriptions for the dwmmc nodes in the hi6220 SoC -dtsi, into the hikey dts as it's there these belongs. - -While changing this, let's take the opportunity to drop the use of the -"ti,non-removable" binding for one of the dwmmc device nodes, as it's not a -valid binding and not used. Drop also the unnecessary use of "num-slots = -<0x1>" for all of the dwmmc nodes, as there is no need to set this since -when default number of slots is one. - -Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> -Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> -Acked-by: Arnd Bergmann <arnd@arndb.de> ---- - arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 23 ++++++++++++++++++++++- - arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 19 ------------------- - 2 files changed, 22 insertions(+), 20 deletions(-) - -diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -index 802f4a4bed30..5132d8ed4664 100644 ---- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -@@ -286,8 +286,29 @@ - - /* GPIO blocks 16 thru 19 do not appear to be routed to pins */ - -+ dwmmc_0: dwmmc0@f723d000 { -+ cap-mmc-highspeed; -+ non-removable; -+ bus-width = <0x8>; -+ vmmc-supply = <&ldo19>; -+ }; -+ -+ dwmmc_1: dwmmc1@f723e000 { -+ card-detect-delay = <200>; -+ cap-sd-highspeed; -+ sd-uhs-sdr12; -+ sd-uhs-sdr25; -+ sd-uhs-sdr50; -+ vqmmc-supply = <&ldo7>; -+ vmmc-supply = <&ldo10>; -+ bus-width = <0x4>; -+ disable-wp; -+ cd-gpios = <&gpio1 0 1>; -+ }; -+ - dwmmc_2: dwmmc2@f723f000 { -- ti,non-removable; -+ broken-cd; -+ bus-width = <0x4>; - non-removable; - /* WL_EN */ - vmmc-supply = <&wlan_en_reg>; -diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi -index 951152d44c02..5013e4b2ea71 100644 ---- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi -+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi -@@ -756,17 +756,12 @@ - - dwmmc_0: dwmmc0@f723d000 { - compatible = "hisilicon,hi6220-dw-mshc"; -- num-slots = <0x1>; -- cap-mmc-highspeed; -- non-removable; - reg = <0x0 0xf723d000 0x0 0x1000>; - interrupts = <0x0 0x48 0x4>; - clocks = <&sys_ctrl 2>, <&sys_ctrl 1>; - clock-names = "ciu", "biu"; - resets = <&sys_ctrl PERIPH_RSTDIS0_MMC0>; - reset-names = "reset"; -- bus-width = <0x8>; -- vmmc-supply = <&ldo19>; - pinctrl-names = "default"; - pinctrl-0 = <&emmc_pmx_func &emmc_clk_cfg_func - &emmc_cfg_func &emmc_rst_cfg_func>; -@@ -774,13 +769,7 @@ - - dwmmc_1: dwmmc1@f723e000 { - compatible = "hisilicon,hi6220-dw-mshc"; -- num-slots = <0x1>; -- card-detect-delay = <200>; - hisilicon,peripheral-syscon = <&ao_ctrl>; -- cap-sd-highspeed; -- sd-uhs-sdr12; -- sd-uhs-sdr25; -- sd-uhs-sdr50; - reg = <0x0 0xf723e000 0x0 0x1000>; - interrupts = <0x0 0x49 0x4>; - #address-cells = <0x1>; -@@ -789,11 +778,6 @@ - clock-names = "ciu", "biu"; - resets = <&sys_ctrl PERIPH_RSTDIS0_MMC1>; - reset-names = "reset"; -- vqmmc-supply = <&ldo7>; -- vmmc-supply = <&ldo10>; -- bus-width = <0x4>; -- disable-wp; -- cd-gpios = <&gpio1 0 1>; - pinctrl-names = "default", "idle"; - pinctrl-0 = <&sd_pmx_func &sd_clk_cfg_func &sd_cfg_func>; - pinctrl-1 = <&sd_pmx_idle &sd_clk_cfg_idle &sd_cfg_idle>; -@@ -801,15 +785,12 @@ - - dwmmc_2: dwmmc2@f723f000 { - compatible = "hisilicon,hi6220-dw-mshc"; -- num-slots = <0x1>; - reg = <0x0 0xf723f000 0x0 0x1000>; - interrupts = <0x0 0x4a 0x4>; - clocks = <&sys_ctrl HI6220_MMC2_CIUCLK>, <&sys_ctrl HI6220_MMC2_CLK>; - clock-names = "ciu", "biu"; - resets = <&sys_ctrl PERIPH_RSTDIS0_MMC2>; - reset-names = "reset"; -- bus-width = <0x4>; -- broken-cd; - pinctrl-names = "default", "idle"; - pinctrl-0 = <&sdio_pmx_func &sdio_clk_cfg_func &sdio_cfg_func>; - pinctrl-1 = <&sdio_pmx_idle &sdio_clk_cfg_idle &sdio_cfg_idle>; --- -2.13.0 - -From ea452678734eb782126f999bf5c4fb3e71d3b196 Mon Sep 17 00:00:00 2001 -From: Ulf Hansson <ulf.hansson@linaro.org> -Date: Wed, 3 May 2017 16:11:33 +0200 -Subject: [PATCH 186/554] arm64: dts: hikey: Fix WiFi support - -The description of the connection between the dwmmc (SDIO) controller and -the Wifi chip, which is attached to the SDIO bus is wrong. Currently the -SDIO card can't be detected and thus the Wifi doesn't work. - -Let's fix this by assigning the correct vmmc supply, which is the always on -regulator VDD_3V3 and remove the WLAN enable regulator altogether. Then to -properly deal with the power on/off sequence, add a mmc-pwrseq node to -describe the resources needed to detect the SDIO card. - -Except for the WLAN enable GPIO and its corresponding assert/de-assert -delays, the mmc-pwrseq node also contains a handle to a clock provided by -the hi655x pmic. This clock is also needed to be able to turn on the WiFi -chip. - -Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> -Acked-by: Arnd Bergmann <arnd@arndb.de> ---- - arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 26 +++++++++++--------------- - 1 file changed, 11 insertions(+), 15 deletions(-) - -diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -index 5132d8ed4664..49f6a6242cf9 100644 ---- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -@@ -111,6 +111,15 @@ - vin-supply = <®_sys_5v>; - }; - -+ wl1835_pwrseq: wl1835-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ /* WLAN_EN GPIO */ -+ reset-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; -+ clocks = <&pmic>; -+ clock-names = "ext_clock"; -+ power-off-delay-us = <10>; -+ }; -+ - soc { - spi0: spi@f7106000 { - status = "ok"; -@@ -307,11 +316,10 @@ - }; - - dwmmc_2: dwmmc2@f723f000 { -- broken-cd; - bus-width = <0x4>; - non-removable; -- /* WL_EN */ -- vmmc-supply = <&wlan_en_reg>; -+ vmmc-supply = <®_vdd_3v3>; -+ mmc-pwrseq = <&wl1835_pwrseq>; - - #address-cells = <0x1>; - #size-cells = <0x0>; -@@ -323,18 +331,6 @@ - interrupts = <3 IRQ_TYPE_EDGE_RISING>; - }; - }; -- -- wlan_en_reg: regulator@1 { -- compatible = "regulator-fixed"; -- regulator-name = "wlan-en-regulator"; -- regulator-min-microvolt = <1800000>; -- regulator-max-microvolt = <1800000>; -- /* WLAN_EN GPIO */ -- gpio = <&gpio0 5 0>; -- /* WLAN card specific delay */ -- startup-delay-us = <70000>; -- enable-active-high; -- }; - }; - - leds { --- -2.13.0 diff --git a/arm-imx6-hummingboard2.patch b/arm-imx6-hummingboard2.patch index bcb93214e..9c55a7b81 100644 --- a/arm-imx6-hummingboard2.patch +++ b/arm-imx6-hummingboard2.patch @@ -26,21 +26,21 @@ index 011808490fed..ccdff6650541 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -353,6 +353,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ - imx6dl-gw552x.dtb \ - imx6dl-gw553x.dtb \ + imx6dl-gw5903.dtb \ + imx6dl-gw5904.dtb \ imx6dl-hummingboard.dtb \ + imx6dl-hummingboard2.dtb \ imx6dl-icore.dtb \ imx6dl-icore-rqs.dtb \ imx6dl-nit6xlite.dtb \ @@ -397,6 +398,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ - imx6q-gw553x.dtb \ + imx6q-gw5904.dtb \ imx6q-h100.dtb \ imx6q-hummingboard.dtb \ + imx6q-hummingboard2.dtb \ imx6q-icore.dtb \ - imx6q-icore-rqs.dtb \ - imx6q-marsboard.dtb \ + imx6q-icore-ofcap10.dtb \ + imx6q-icore-ofcap12.dtb \ diff --git a/arch/arm/boot/dts/imx6dl-hummingboard2.dts b/arch/arm/boot/dts/imx6dl-hummingboard2.dts new file mode 100644 index 000000000000..990b5050de5b diff --git a/arm-rk3288-tinker.patch b/arm-rk3288-tinker.patch deleted file mode 100644 index d7a4897b3..000000000 --- a/arm-rk3288-tinker.patch +++ /dev/null @@ -1,573 +0,0 @@ -From 223599514133293bb9afe7b82937140c3b275877 Mon Sep 17 00:00:00 2001 -From: Eddie Cai <eddie.cai.linux@gmail.com> -Date: Tue, 14 Feb 2017 18:07:31 +0800 -Subject: ARM: dts: rockchip: add dts for RK3288-Tinker board - -This patch add basic support for RK3288-Tinker board. We can boot in to rootfs -with this patch. - -Signed-off-by: Eddie Cai <eddie.cai.linux@gmail.com> -Signed-off-by: Heiko Stuebner <heiko@sntech.de> ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/rk3288-tinker.dts | 536 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 537 insertions(+) - create mode 100644 arch/arm/boot/dts/rk3288-tinker.dts - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 0118084..fb46849 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -695,6 +695,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \ - rk3288-popmetal.dtb \ - rk3288-r89.dtb \ - rk3288-rock2-square.dtb \ -+ rk3288-tinker.dtb \ - rk3288-veyron-brain.dtb \ - rk3288-veyron-jaq.dtb \ - rk3288-veyron-jerry.dtb \ -diff --git a/arch/arm/boot/dts/rk3288-tinker.dts b/arch/arm/boot/dts/rk3288-tinker.dts -new file mode 100644 -index 0000000..f601c78 ---- /dev/null -+++ b/arch/arm/boot/dts/rk3288-tinker.dts -@@ -0,0 +1,536 @@ -+/* -+ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. -+ * -+ * This file is dual-licensed: you can use it either under the terms -+ * of the GPL or the X11 license, at your option. Note that this dual -+ * licensing only applies to this file, and not this project as a -+ * whole. -+ * -+ * a) This file is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This file is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * Or, alternatively, -+ * -+ * b) Permission is hereby granted, free of charge, to any person -+ * obtaining a copy of this software and associated documentation -+ * files (the "Software"), to deal in the Software without -+ * restriction, including without limitation the rights to use, -+ * copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following -+ * conditions: -+ * -+ * The above copyright notice and this permission notice shall be -+ * included in all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+ -+/dts-v1/; -+ -+#include "rk3288.dtsi" -+#include <dt-bindings/input/input.h> -+ -+/ { -+ model = "Rockchip RK3288 Tinker Board"; -+ compatible = "asus,rk3288-tinker", "rockchip,rk3288"; -+ -+ memory { -+ reg = <0x0 0x80000000>; -+ device_type = "memory"; -+ }; -+ -+ ext_gmac: external-gmac-clock { -+ compatible = "fixed-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <125000000>; -+ clock-output-names = "ext_gmac"; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ autorepeat; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pwrbtn>; -+ -+ button@0 { -+ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; -+ linux,code = <KEY_POWER>; -+ label = "GPIO Key Power"; -+ linux,input-type = <1>; -+ wakeup-source; -+ debounce-interval = <100>; -+ }; -+ }; -+ -+ gpio-leds { -+ compatible = "gpio-leds"; -+ -+ act-led { -+ gpios=<&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger="mmc0"; -+ }; -+ -+ heartbeat-led { -+ gpios=<&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger="heartbeat"; -+ }; -+ -+ pwr-led { -+ gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-on"; -+ }; -+ }; -+ -+ sound { -+ compatible = "simple-audio-card"; -+ simple-audio-card,format = "i2s"; -+ simple-audio-card,name = "rockchip,tinker-codec"; -+ simple-audio-card,mclk-fs = <512>; -+ -+ simple-audio-card,codec { -+ sound-dai = <&hdmi>; -+ }; -+ -+ simple-audio-card,cpu { -+ sound-dai = <&i2s>; -+ }; -+ }; -+ -+ vcc_sys: vsys-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc_sys"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vcc_sd: sdmmc-regulator { -+ compatible = "regulator-fixed"; -+ gpio = <&gpio7 11 GPIO_ACTIVE_LOW>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdmmc_pwr>; -+ regulator-name = "vcc_sd"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ startup-delay-us = <100000>; -+ vin-supply = <&vcc_io>; -+ }; -+}; -+ -+&cpu0 { -+ cpu0-supply = <&vdd_cpu>; -+}; -+ -+&gmac { -+ assigned-clocks = <&cru SCLK_MAC>; -+ assigned-clock-parents = <&ext_gmac>; -+ clock_in_out = "input"; -+ phy-mode = "rgmii"; -+ phy-supply = <&vcc33_lan>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&rgmii_pins>; -+ snps,reset-gpio = <&gpio4 7 0>; -+ snps,reset-active-low; -+ snps,reset-delays-us = <0 10000 1000000>; -+ tx_delay = <0x30>; -+ rx_delay = <0x10>; -+ status = "ok"; -+}; -+ -+&hdmi { -+ ddc-i2c-bus = <&i2c5>; -+ status = "okay"; -+}; -+ -+&i2c0 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ -+ rk808: pmic@1b { -+ compatible = "rockchip,rk808"; -+ reg = <0x1b>; -+ interrupt-parent = <&gpio0>; -+ interrupts = <4 IRQ_TYPE_LEVEL_LOW>; -+ #clock-cells = <1>; -+ clock-output-names = "xin32k", "rk808-clkout2"; -+ dvs-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>, -+ <&gpio0 12 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pmic_int &global_pwroff &dvs_1 &dvs_2>; -+ rockchip,system-power-controller; -+ wakeup-source; -+ -+ vcc1-supply = <&vcc_sys>; -+ vcc2-supply = <&vcc_sys>; -+ vcc3-supply = <&vcc_sys>; -+ vcc4-supply = <&vcc_sys>; -+ vcc6-supply = <&vcc_sys>; -+ vcc7-supply = <&vcc_sys>; -+ vcc8-supply = <&vcc_io>; -+ vcc9-supply = <&vcc_io>; -+ vcc10-supply = <&vcc_io>; -+ vcc11-supply = <&vcc_sys>; -+ vcc12-supply = <&vcc_io>; -+ vddio-supply = <&vcc_io>; -+ -+ regulators { -+ vdd_cpu: DCDC_REG1 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <750000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-name = "vdd_arm"; -+ regulator-ramp-delay = <6000>; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdd_gpu: DCDC_REG2 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <850000>; -+ regulator-max-microvolt = <1250000>; -+ regulator-name = "vdd_gpu"; -+ regulator-ramp-delay = <6000>; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1000000>; -+ }; -+ }; -+ -+ vcc_ddr: DCDC_REG3 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-name = "vcc_ddr"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ }; -+ }; -+ -+ vcc_io: DCDC_REG4 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc_io"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <3300000>; -+ }; -+ }; -+ -+ vcc18_ldo1: LDO_REG1 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc18_ldo1"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1800000>; -+ }; -+ }; -+ -+ vcc33_mipi: LDO_REG2 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc33_mipi"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdd_10: LDO_REG3 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1000000>; -+ regulator-max-microvolt = <1000000>; -+ regulator-name = "vdd_10"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1000000>; -+ }; -+ }; -+ -+ vcc18_codec: LDO_REG4 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc18_codec"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1800000>; -+ }; -+ }; -+ -+ vccio_sd: LDO_REG5 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vccio_sd"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <3300000>; -+ }; -+ }; -+ -+ vdd10_lcd: LDO_REG6 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1000000>; -+ regulator-max-microvolt = <1000000>; -+ regulator-name = "vdd10_lcd"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1000000>; -+ }; -+ }; -+ -+ vcc_18: LDO_REG7 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc_18"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1800000>; -+ }; -+ }; -+ -+ vcc18_lcd: LDO_REG8 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc18_lcd"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1800000>; -+ }; -+ }; -+ -+ vcc33_sd: SWITCH_REG1 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-name = "vcc33_sd"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ }; -+ }; -+ -+ vcc33_lan: SWITCH_REG2 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-name = "vcc33_lan"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ }; -+ }; -+ }; -+ }; -+}; -+ -+&i2c2 { -+ status = "okay"; -+}; -+ -+&i2c5 { -+ status = "okay"; -+}; -+ -+&i2s { -+ #sound-dai-cells = <0>; -+ status = "okay"; -+}; -+ -+&io_domains { -+ status = "okay"; -+ -+ sdcard-supply = <&vccio_sd>; -+}; -+ -+&pinctrl { -+ pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { -+ drive-strength = <8>; -+ }; -+ -+ pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { -+ bias-pull-up; -+ drive-strength = <8>; -+ }; -+ -+ backlight { -+ bl_en: bl-en { -+ rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ buttons { -+ pwrbtn: pwrbtn { -+ rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>; -+ }; -+ }; -+ -+ eth_phy { -+ eth_phy_pwr: eth-phy-pwr { -+ rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ pmic { -+ pmic_int: pmic-int { -+ rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO \ -+ &pcfg_pull_up>; -+ }; -+ -+ dvs_1: dvs-1 { -+ rockchip,pins = <RK_GPIO0 11 RK_FUNC_GPIO \ -+ &pcfg_pull_down>; -+ }; -+ -+ dvs_2: dvs-2 { -+ rockchip,pins = <RK_GPIO0 12 RK_FUNC_GPIO \ -+ &pcfg_pull_down>; -+ }; -+ }; -+ -+ sdmmc { -+ sdmmc_bus4: sdmmc-bus4 { -+ rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, -+ <6 17 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, -+ <6 18 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, -+ <6 19 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; -+ }; -+ -+ sdmmc_clk: sdmmc-clk { -+ rockchip,pins = <6 20 RK_FUNC_1 \ -+ &pcfg_pull_none_drv_8ma>; -+ }; -+ -+ sdmmc_cmd: sdmmc-cmd { -+ rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; -+ }; -+ -+ sdmmc_pwr: sdmmc-pwr { -+ rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ usb { -+ host_vbus_drv: host-vbus-drv { -+ rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ -+ pwr_3g: pwr-3g { -+ rockchip,pins = <7 8 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+}; -+ -+&pwm0 { -+ status = "okay"; -+}; -+ -+&saradc { -+ vref-supply = <&vcc18_ldo1>; -+ status ="okay"; -+}; -+ -+&sdmmc { -+ bus-width = <4>; -+ cap-mmc-highspeed; -+ cap-sd-highspeed; -+ card-detect-delay = <200>; -+ disable-wp; /* wp not hooked up */ -+ num-slots = <1>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; -+ status = "okay"; -+ vmmc-supply = <&vcc33_sd>; -+ vqmmc-supply = <&vccio_sd>; -+}; -+ -+&tsadc { -+ rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ -+ rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */ -+ status = "okay"; -+}; -+ -+&uart0 { -+ status = "okay"; -+}; -+ -+&uart1 { -+ status = "okay"; -+}; -+ -+&uart2 { -+ status = "okay"; -+}; -+ -+&uart3 { -+ status = "okay"; -+}; -+ -+&uart4 { -+ status = "okay"; -+}; -+ -+&usbphy { -+ status = "okay"; -+}; -+ -+&usb_host0_ehci { -+ status = "okay"; -+}; -+ -+&usb_host1 { -+ status = "okay"; -+}; -+ -+&usb_otg { -+ status= "okay"; -+}; -+ -+&vopb { -+ status = "okay"; -+}; -+ -+&vopb_mmu { -+ status = "okay"; -+}; -+ -+&vopl { -+ status = "okay"; -+}; -+ -+&vopl_mmu { -+ status = "okay"; -+}; -+ -+&wdt { -+ status = "okay"; -+}; --- -cgit v1.1 - diff --git a/arm-tegra-fix-gpu-iommu.patch b/arm-tegra-fix-gpu-iommu.patch new file mode 100644 index 000000000..8d2809b46 --- /dev/null +++ b/arm-tegra-fix-gpu-iommu.patch @@ -0,0 +1,95 @@ +From patchwork Sun Jul 9 16:36:14 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: ARM: tegra: Register host1x node with iommu binding on tegra124 +From: Paul Kocialkowski <contact@paulk.fr> +X-Patchwork-Id: 9831825 +Message-Id: <20170709163614.6746-1-contact@paulk.fr> +To: linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, + linux-kernel@vger.kernel.org +Cc: Thierry Reding <thierry.reding@gmail.com>, + Stephen Warren <swarren@wwwdotorg.org>, + Mikko Perttunen <mperttunen@nvidia.com>, + Paul Kocialkowski <contact@paulk.fr>, + Jonathan Hunter <jonathanh@nvidia.com> +Date: Sun, 9 Jul 2017 19:36:14 +0300 + +This registers the host1x node with the SMMU (as HC swgroup) to allow +the host1x code to attach to it. It avoid failing the probe sequence, +which resulted in the tegra drm driver not probing and thus nothing +being displayed on-screen. + +Signed-off-by: Paul Kocialkowski <contact@paulk.fr> +--- + arch/arm/boot/dts/tegra124.dtsi | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi +index 187a36c6d0fc..b3b89befffeb 100644 +--- a/arch/arm/boot/dts/tegra124.dtsi ++++ b/arch/arm/boot/dts/tegra124.dtsi +@@ -85,6 +85,7 @@ + clocks = <&tegra_car TEGRA124_CLK_HOST1X>; + resets = <&tegra_car 28>; + reset-names = "host1x"; ++ iommus = <&mc TEGRA_SWGROUP_HC>; + + #address-cells = <2>; + #size-cells = <2>; +From patchwork Mon Jul 10 19:33:05 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: gpu: host1x: Free the IOMMU domain when there is no device to attach +From: Paul Kocialkowski <contact@paulk.fr> +X-Patchwork-Id: 9833721 +Message-Id: <20170710193305.5987-1-contact@paulk.fr> +To: linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, + linux-kernel@vger.kernel.org +Cc: Thierry Reding <thierry.reding@gmail.com>, + Stephen Warren <swarren@wwwdotorg.org>, + Mikko Perttunen <mperttunen@nvidia.com>, + Paul Kocialkowski <contact@paulk.fr>, + Jonathan Hunter <jonathanh@nvidia.com> +Date: Mon, 10 Jul 2017 21:33:05 +0200 + +When there is no device to attach to the IOMMU domain, as may be the +case when the device-tree does not contain the proper iommu node, it is +best to keep going without IOMMU support rather than failing. +This allows the driver to probe and function instead of taking down +all of the tegra drm driver, leading to missing display support. + +Signed-off-by: Paul Kocialkowski <contact@paulk.fr> +Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com> +--- + drivers/gpu/host1x/dev.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c +index ac65f52850a6..f296738d0de8 100644 +--- a/drivers/gpu/host1x/dev.c ++++ b/drivers/gpu/host1x/dev.c +@@ -186,8 +186,13 @@ static int host1x_probe(struct platform_device *pdev) + return -ENOMEM; + + err = iommu_attach_device(host->domain, &pdev->dev); +- if (err) ++ if (err == -ENODEV) { ++ iommu_domain_free(host->domain); ++ host->domain = NULL; ++ goto iommu_skip; ++ } else if (err) { + goto fail_free_domain; ++ } + + geometry = &host->domain->geometry; + +@@ -198,6 +203,7 @@ static int host1x_probe(struct platform_device *pdev) + host->iova_end = geometry->aperture_end; + } + ++iommu_skip: + err = host1x_channel_list_init(host); + if (err) { + dev_err(&pdev->dev, "failed to initialize channel list\n"); diff --git a/arm-thermal-fixes.patch b/arm-thermal-fixes.patch new file mode 100644 index 000000000..547731e79 --- /dev/null +++ b/arm-thermal-fixes.patch @@ -0,0 +1,224 @@ +From 0fe4d2181cc4cb3eba303c0e03f878d2558d0f3a Mon Sep 17 00:00:00 2001 +From: Stefan Wahren <stefan.wahren@i2se.com> +Date: Fri, 31 Mar 2017 20:03:04 +0000 +Subject: [PATCH] ARM: dts: bcm283x: Add CPU thermal zone with 1 + trip point + +As suggested by Eduardo Valentin this adds the thermal zone for +the bcm2835 SoC with its single thermal sensor. We start with +the criticial trip point and leave the cooling devices empty +since we don't have any at the moment. Since the coefficients +could vary depending on the SoC we need to define them separate. + +Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> +Signed-off-by: Eric Anholt <eric@anholt.net> +Acked-by: Eduardo Valentin <edubezval@gmail.com> +--- + arch/arm/boot/dts/bcm2835.dtsi | 4 ++++ + arch/arm/boot/dts/bcm2836.dtsi | 4 ++++ + arch/arm/boot/dts/bcm283x.dtsi | 21 +++++++++++++++++++++ + 3 files changed, 29 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi +index 0890d97e674d..659b6e9513b1 100644 +--- a/arch/arm/boot/dts/bcm2835.dtsi ++++ b/arch/arm/boot/dts/bcm2835.dtsi +@@ -24,6 +24,10 @@ + }; + }; + ++&cpu_thermal { ++ coefficients = <(-538) 407000>; ++}; ++ + /* enable thermal sensor with the correct compatible property set */ + &thermal { + compatible = "brcm,bcm2835-thermal"; +diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi +index 519a44f5d25a..da3deeb42592 100644 +--- a/arch/arm/boot/dts/bcm2836.dtsi ++++ b/arch/arm/boot/dts/bcm2836.dtsi +@@ -77,6 +77,10 @@ + interrupts = <8>; + }; + ++&cpu_thermal { ++ coefficients = <(-538) 407000>; ++}; ++ + /* enable thermal sensor with the correct compatible property set */ + &thermal { + compatible = "brcm,bcm2836-thermal"; +diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi +index 561f27d8d922..86a5db53da8f 100644 +--- a/arch/arm/boot/dts/bcm283x.dtsi ++++ b/arch/arm/boot/dts/bcm283x.dtsi +@@ -19,6 +19,26 @@ + bootargs = "earlyprintk console=ttyAMA0"; + }; + ++ thermal-zones { ++ cpu_thermal: cpu-thermal { ++ polling-delay-passive = <0>; ++ polling-delay = <1000>; ++ ++ thermal-sensors = <&thermal>; ++ ++ trips { ++ cpu-crit { ++ temperature = <80000>; ++ hysteresis = <0>; ++ type = "critical"; ++ }; ++ }; ++ ++ cooling-maps { ++ }; ++ }; ++ }; ++ + soc { + compatible = "simple-bus"; + #address-cells = <1>; +@@ -430,6 +450,7 @@ + compatible = "brcm,bcm2835-thermal"; + reg = <0x7e212000 0x8>; + clocks = <&clocks BCM2835_CLOCK_TSENS>; ++ #thermal-sensor-cells = <0>; + status = "disabled"; + }; + +-- +2.13.3 + +From 4ae6f954b96c1fea86c6f21ae8fc413f5fc3444e Mon Sep 17 00:00:00 2001 +From: Stefan Wahren <stefan.wahren@i2se.com> +Date: Fri, 31 Mar 2017 20:03:05 +0000 +Subject: [PATCH] ARM64: dts: bcm2837: Define CPU thermal coefficients + +This defines the bcm2837 SoC specific thermal coefficients in +order to initialize the thermal driver correctly. + +Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> +Signed-off-by: Eric Anholt <eric@anholt.net> +Acked-by: Eduardo Valentin <edubezval@gmail.com> +--- + arch/arm64/boot/dts/broadcom/bcm2837.dtsi | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi +index 19f2fe620a21..2d5de6f0f78d 100644 +--- a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi ++++ b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi +@@ -75,6 +75,10 @@ + interrupts = <8>; + }; + ++&cpu_thermal { ++ coefficients = <(-538) 412000>; ++}; ++ + /* enable thermal sensor with the correct compatible property set */ + &thermal { + compatible = "brcm,bcm2837-thermal"; +-- +2.13.3 + +From 1fe3854a83b580727c9464b37b62ba77ead1d6f6 Mon Sep 17 00:00:00 2001 +From: Dan Carpenter <dan.carpenter@oracle.com> +Date: Wed, 14 Jun 2017 12:13:27 +0300 +Subject: [PATCH] thermal: bcm2835: fix an error code in probe() + +This causes a static checker because we're passing a valid pointer to +PTR_ERR(). "err" is already the correct error code, so we can just +delete this line. + +Fixes: bcb7dd9ef206 ("thermal: bcm2835: add thermal driver for bcm2835 SoC") +Acked-by: Stefan Wahren <stefan.wahren@i2se.com> +Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> +Signed-off-by: Eduardo Valentin <edubezval@gmail.com> +--- + drivers/thermal/broadcom/bcm2835_thermal.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/drivers/thermal/broadcom/bcm2835_thermal.c b/drivers/thermal/broadcom/bcm2835_thermal.c +index 0ecf80890c84..e6863c841662 100644 +--- a/drivers/thermal/broadcom/bcm2835_thermal.c ++++ b/drivers/thermal/broadcom/bcm2835_thermal.c +@@ -245,7 +245,6 @@ static int bcm2835_thermal_probe(struct platform_device *pdev) + */ + err = tz->ops->get_trip_temp(tz, 0, &trip_temp); + if (err < 0) { +- err = PTR_ERR(tz); + dev_err(&pdev->dev, + "Not able to read trip_temp: %d\n", + err); +-- +2.13.3 + +From e3bdc8d7623d5875403ad40443e7b049ae200fcd Mon Sep 17 00:00:00 2001 +From: Arvind Yadav <arvind.yadav.cs@gmail.com> +Date: Tue, 6 Jun 2017 15:12:37 +0530 +Subject: [PATCH] thermal: imx: Handle return value of clk_prepare_enable + +clk_prepare_enable() can fail here and we must check its return value. + +Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> +Signed-off-by: Eduardo Valentin <edubezval@gmail.com> +--- + drivers/thermal/imx_thermal.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c +index f7ec39f46ee4..4798b4b1fd77 100644 +--- a/drivers/thermal/imx_thermal.c ++++ b/drivers/thermal/imx_thermal.c +@@ -660,8 +660,11 @@ static int imx_thermal_resume(struct device *dev) + { + struct imx_thermal_data *data = dev_get_drvdata(dev); + struct regmap *map = data->tempmon; ++ int ret; + +- clk_prepare_enable(data->thermal_clk); ++ ret = clk_prepare_enable(data->thermal_clk); ++ if (ret) ++ return ret; + /* Enabled thermal sensor after resume */ + regmap_write(map, TEMPSENSE0 + REG_CLR, TEMPSENSE0_POWER_DOWN); + regmap_write(map, TEMPSENSE0 + REG_SET, TEMPSENSE0_MEASURE_TEMP); +-- +2.13.3 + +From 919054fdfc8adf58c5512fe9872eb53ea0f5525d Mon Sep 17 00:00:00 2001 +From: Arvind Yadav <arvind.yadav.cs@gmail.com> +Date: Tue, 6 Jun 2017 15:04:46 +0530 +Subject: [PATCH] thermal: hisilicon: Handle return value of clk_prepare_enable + +clk_prepare_enable() can fail here and we must check its return value. + +Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> +Signed-off-by: Eduardo Valentin <edubezval@gmail.com> +--- + drivers/thermal/hisi_thermal.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/drivers/thermal/hisi_thermal.c b/drivers/thermal/hisi_thermal.c +index f6429666a1cf..9c3ce341eb97 100644 +--- a/drivers/thermal/hisi_thermal.c ++++ b/drivers/thermal/hisi_thermal.c +@@ -397,8 +397,11 @@ static int hisi_thermal_suspend(struct device *dev) + static int hisi_thermal_resume(struct device *dev) + { + struct hisi_thermal_data *data = dev_get_drvdata(dev); ++ int ret; + +- clk_prepare_enable(data->clk); ++ ret = clk_prepare_enable(data->clk); ++ if (ret) ++ return ret; + + data->irq_enabled = true; + hisi_thermal_enable_bind_irq_sensor(data); +-- +2.13.3 + diff --git a/arm64-cavium-fixes.patch b/arm64-cavium-fixes.patch deleted file mode 100644 index 7d4ce66d4..000000000 --- a/arm64-cavium-fixes.patch +++ /dev/null @@ -1,1789 +0,0 @@ -From 35412fc5240640825faa81068e5269069f90d86f Mon Sep 17 00:00:00 2001 -From: Jayachandran C <jnair@caviumnetworks.com> -Date: Thu, 13 Apr 2017 20:30:44 +0000 -Subject: [PATCH 01/41] PCI: Add device flag PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT - -Add a new quirk flag PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT to limit the DMA alias -search to go no further than the bridge where the IOMMU unit is attached. - -The flag will be used to indicate a bridge device which forwards the -address translation requests to the IOMMU, i.e., where the interrupt and -DMA requests leave the PCIe hierarchy and go into the system blocks. - -Usually this happens at the PCI RC, so this flag is not needed. But on -systems where there are bridges that introduce aliases above the IOMMU, -this flag prevents pci_for_each_dma_alias() from generating aliases that -the IOMMU will never see. - -The function pci_for_each_dma_alias() is updated to stop when it see a -bridge with this flag set. - -Link: https://bugzilla.kernel.org/show_bug.cgi?id=195447 -Signed-off-by: Jayachandran C <jnair@caviumnetworks.com> -Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> -Reviewed-by: Robin Murphy <robin.murphy@arm.com> -Acked-by: David Daney <david.daney@cavium.com> -(cherry picked from commit ffff885832101543c002cef7abcab0fd27a9aee1) -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/pci/search.c | 4 ++++ - include/linux/pci.h | 2 ++ - 2 files changed, 6 insertions(+) - -diff --git a/drivers/pci/search.c b/drivers/pci/search.c -index 33e0f033a48e..4c6044ad7368 100644 ---- a/drivers/pci/search.c -+++ b/drivers/pci/search.c -@@ -60,6 +60,10 @@ int pci_for_each_dma_alias(struct pci_dev *pdev, - - tmp = bus->self; - -+ /* stop at bridge where translation unit is associated */ -+ if (tmp->dev_flags & PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT) -+ return ret; -+ - /* - * PCIe-to-PCI/X bridges alias transactions from downstream - * devices using the subordinate bus number (PCI Express to -diff --git a/include/linux/pci.h b/include/linux/pci.h -index eb3da1a04e6c..3f596acc05be 100644 ---- a/include/linux/pci.h -+++ b/include/linux/pci.h -@@ -178,6 +178,8 @@ enum pci_dev_flags { - PCI_DEV_FLAGS_NO_PM_RESET = (__force pci_dev_flags_t) (1 << 7), - /* Get VPD from function 0 VPD */ - PCI_DEV_FLAGS_VPD_REF_F0 = (__force pci_dev_flags_t) (1 << 8), -+ /* a non-root bridge where translation occurs, stop alias search here */ -+ PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT = (__force pci_dev_flags_t) (1 << 9), - /* - * Resume before calling the driver's system suspend hooks, disabling - * the direct_complete optimization. --- -2.11.0 - -From 2fe0ffd43a57035207a124421e9164401aabb9d4 Mon Sep 17 00:00:00 2001 -From: Jayachandran C <jnair@caviumnetworks.com> -Date: Thu, 13 Apr 2017 20:30:45 +0000 -Subject: [PATCH 02/41] PCI: Avoid generating invalid ThunderX2 DMA aliases - -On Cavium ThunderX2 arm64 SoCs (formerly known as Broadcom Vulcan), the PCI -topology is slightly unusual. For a multi-node system, it looks like: - - 00:00.0 PCI bridge to [bus 01-1e] - 01:0a.0 PCI-to-PCIe bridge to [bus 02-04] - 02:00.0 PCIe Root Port bridge to [bus 03-04] (XLATE_ROOT) - 03:00.0 PCIe Endpoint - -pci_for_each_dma_alias() assumes IOMMU translation is done at the root of -the PCI hierarchy. It generates 03:00.0, 01:0a.0, and 00:00.0 as DMA -aliases for 03:00.0 because buses 01 and 00 are non-PCIe buses that don't -carry the Requester ID. - -Because the ThunderX2 IOMMU is at 02:00.0, the Requester IDs 01:0a.0 and -00:00.0 are never valid for the endpoint. This quirk stops alias -generation at the XLATE_ROOT bridge so we won't generate 01:0a.0 or -00:00.0. - -The current IOMMU code only maps the last alias (this is a separate bug in -itself). Prior to this quirk, we only created IOMMU mappings for the -invalid Requester ID 00:00:0, which never matched any DMA transactions. - -With this quirk, we create IOMMU mappings for a valid Requester ID, which -fixes devices with no aliases but leaves devices with aliases still broken. - -The last alias for the endpoint is also used by the ARM GICv3 MSI-X code. -Without this quirk, the GIC Interrupt Translation Tables are setup with the -invalid Requester ID, and the MSI-X generated by the device fails to be -translated and routed. - -Link: https://bugzilla.kernel.org/show_bug.cgi?id=195447 -Signed-off-by: Jayachandran C <jnair@caviumnetworks.com> -Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> -Reviewed-by: Robin Murphy <robin.murphy@arm.com> -Acked-by: David Daney <david.daney@cavium.com> -(cherry picked from commit 45a2329367386342d41ea9414c88b023f5a79055) -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/pci/quirks.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 673683660b5c..96d332978719 100644 ---- a/drivers/pci/quirks.c -+++ b/drivers/pci/quirks.c -@@ -3958,6 +3958,20 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2260, quirk_mic_x200_dma_alias); - DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2264, quirk_mic_x200_dma_alias); - - /* -+ * The IOMMU and interrupt controller on Broadcom Vulcan/Cavium ThunderX2 are -+ * associated not at the root bus, but at a bridge below. This quirk avoids -+ * generating invalid DMA aliases. -+ */ -+static void quirk_bridge_cavm_thrx2_pcie_root(struct pci_dev *pdev) -+{ -+ pdev->dev_flags |= PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT; -+} -+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000, -+ quirk_bridge_cavm_thrx2_pcie_root); -+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084, -+ quirk_bridge_cavm_thrx2_pcie_root); -+ -+/* - * Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero) - * class code. Fix it. - */ --- -2.11.0 - -From 153c6a5945340315126a7ec31cf52129ad782398 Mon Sep 17 00:00:00 2001 -From: Ashok Kumar Sekar <asekar@redhat.com> -Date: Fri, 23 Sep 2016 04:16:19 -0700 -Subject: [PATCH 03/41] PCI: Vulcan: AHCI PCI bar fix for Broadcom Vulcan early - silicon - -PCI BAR 5 is not setup correctly for the on-board AHCI -controller on Broadcom's Vulcan processor. Added a quirk to fix BAR 5 -by using BAR 4's resources which are populated correctly but NOT used -by the AHCI controller actually. - -Signed-off-by: Ashok Kumar Sekar <asekar@redhat.com> -Signed-off-by: Jayachandran C <jchandra@broadcom.com> -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/pci/quirks.c | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 96d332978719..0966a22eae13 100644 ---- a/drivers/pci/quirks.c -+++ b/drivers/pci/quirks.c -@@ -3972,6 +3972,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084, - quirk_bridge_cavm_thrx2_pcie_root); - - /* -+ * PCI BAR 5 is not setup correctly for the on-board AHCI controller -+ * on Broadcom's Vulcan processor. Added a quirk to fix BAR 5 by -+ * using BAR 4's resources which are populated correctly and NOT -+ * actually used by the AHCI controller. -+ */ -+static void quirk_fix_vulcan_ahci_bars(struct pci_dev *dev) -+{ -+ struct resource *r = &dev->resource[4]; -+ -+ if (!(r->flags & IORESOURCE_MEM) || (r->start == 0)) -+ return; -+ -+ /* Set BAR5 resource to BAR4 */ -+ dev->resource[5] = *r; -+ -+ /* Update BAR5 in pci config space */ -+ pci_write_config_dword(dev, PCI_BASE_ADDRESS_5, r->start); -+ -+ /* Clear BAR4's resource */ -+ memset(r, 0, sizeof(*r)); -+} -+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9027, quirk_fix_vulcan_ahci_bars); -+ -+/* - * Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero) - * class code. Fix it. - */ --- -2.11.0 - -From bfe8e2f6bb2922b76650e3d43782132b0c388508 Mon Sep 17 00:00:00 2001 -From: Jayachandran C <jnair@caviumnetworks.com> -Date: Fri, 10 Mar 2017 10:04:52 +0000 -Subject: [PATCH 04/41] ahci: thunderx2: Fix for errata that affects stop - engine - -Apply workaround for this errata: - Synopsis: Resetting PxCMD.ST may hang the SATA device - - Description: An internal ping-pong buffer state is not reset - correctly for an PxCMD.ST=0 command for a SATA channel. This - may cause the SATA interface to hang when a PxCMD.ST=0 command - is received. - - Workaround: A SATA_BIU_CORE_ENABLE.sw_init_bsi must be asserted - by the driver whenever the PxCMD.ST needs to be de-asserted. This - will reset both the ports. So, it may not always work in a 2 - channel SATA system. - - Resolution: Fix in B0. - -Add the code to ahci_stop_engine() to do this. It is not easy to -stop the other "port" since it is associated with a different AHCI -interface. Please note that with this fix, SATA reset does not -hang any more, but it can cause failures on the other interface -if that is in active use. - -Unfortunately, we have nothing other the the CPU ID to check if the -SATA block has this issue. - -Signed-off-by: Jayachandran C <jnair@caviumnetworks.com> -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/ata/libahci.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c -index 3159f9e66d8f..5f64275ef387 100644 ---- a/drivers/ata/libahci.c -+++ b/drivers/ata/libahci.c -@@ -664,6 +664,20 @@ int ahci_stop_engine(struct ata_port *ap) - tmp &= ~PORT_CMD_START; - writel(tmp, port_mmio + PORT_CMD); - -+#ifdef CONFIG_ARM64 -+ /* Rev Ax of Cavium CN99XX needs a hack for port stop */ -+ if (MIDR_IS_CPU_MODEL_RANGE(read_cpuid_id(), -+ MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, BRCM_CPU_PART_VULCAN), -+ MIDR_CPU_VAR_REV(0, 0), -+ MIDR_CPU_VAR_REV(0, MIDR_REVISION_MASK))) { -+ tmp = readl(hpriv->mmio + 0x8000); -+ writel(tmp | (1 << 26), hpriv->mmio + 0x8000); -+ udelay(1); -+ writel(tmp & ~(1 << 26), hpriv->mmio + 0x8000); -+ dev_warn(ap->host->dev, "CN99XX stop engine fix applied!\n"); -+ } -+#endif -+ - /* wait for engine to stop. This could be as long as 500 msec */ - tmp = ata_wait_register(ap, port_mmio + PORT_CMD, - PORT_CMD_LIST_ON, PORT_CMD_LIST_ON, 1, 500); --- -2.11.0 - -From 4bd9ffa0dc3a064f1191b117cd3b43e2fa310c81 Mon Sep 17 00:00:00 2001 -From: Sunil Goutham <sgoutham@cavium.com> -Date: Tue, 28 Mar 2017 16:11:12 +0530 -Subject: [PATCH 14/41] iommu/arm-smmu: Fix 16-bit ASID configuration - -16-bit ASID should be enabled before initializing TTBR0/1, -otherwise only LSB 8-bit ASID will be considered. Hence -moving configuration of TTBCR register ahead of TTBR0/1 -while initializing context bank. - -Signed-off-by: Sunil Goutham <sgoutham@cavium.com> -[will: rewrote comment] -Signed-off-by: Will Deacon <will.deacon@arm.com> - -(cherry picked from commit 125458ab3aefe9cf2f72dcfe7338dc9ad967da0b) -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/arm-smmu.c | 42 +++++++++++++++++++++++------------------- - 1 file changed, 23 insertions(+), 19 deletions(-) - -diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c -index b493c99e17f7..9905f08058b6 100644 ---- a/drivers/iommu/arm-smmu.c -+++ b/drivers/iommu/arm-smmu.c -@@ -758,6 +758,29 @@ static void arm_smmu_init_context_bank(struct arm_smmu_domain *smmu_domain, - } - writel_relaxed(reg, gr1_base + ARM_SMMU_GR1_CBAR(cfg->cbndx)); - -+ /* -+ * TTBCR -+ * We must write this before the TTBRs, since it determines the -+ * access behaviour of some fields (in particular, ASID[15:8]). -+ */ -+ if (stage1) { -+ if (cfg->fmt == ARM_SMMU_CTX_FMT_AARCH32_S) { -+ reg = pgtbl_cfg->arm_v7s_cfg.tcr; -+ reg2 = 0; -+ } else { -+ reg = pgtbl_cfg->arm_lpae_s1_cfg.tcr; -+ reg2 = pgtbl_cfg->arm_lpae_s1_cfg.tcr >> 32; -+ reg2 |= TTBCR2_SEP_UPSTREAM; -+ if (cfg->fmt == ARM_SMMU_CTX_FMT_AARCH64) -+ reg2 |= TTBCR2_AS; -+ } -+ if (smmu->version > ARM_SMMU_V1) -+ writel_relaxed(reg2, cb_base + ARM_SMMU_CB_TTBCR2); -+ } else { -+ reg = pgtbl_cfg->arm_lpae_s2_cfg.vtcr; -+ } -+ writel_relaxed(reg, cb_base + ARM_SMMU_CB_TTBCR); -+ - /* TTBRs */ - if (stage1) { - u16 asid = ARM_SMMU_CB_ASID(smmu, cfg); -@@ -781,25 +804,6 @@ static void arm_smmu_init_context_bank(struct arm_smmu_domain *smmu_domain, - writeq_relaxed(reg64, cb_base + ARM_SMMU_CB_TTBR0); - } - -- /* TTBCR */ -- if (stage1) { -- if (cfg->fmt == ARM_SMMU_CTX_FMT_AARCH32_S) { -- reg = pgtbl_cfg->arm_v7s_cfg.tcr; -- reg2 = 0; -- } else { -- reg = pgtbl_cfg->arm_lpae_s1_cfg.tcr; -- reg2 = pgtbl_cfg->arm_lpae_s1_cfg.tcr >> 32; -- reg2 |= TTBCR2_SEP_UPSTREAM; -- if (cfg->fmt == ARM_SMMU_CTX_FMT_AARCH64) -- reg2 |= TTBCR2_AS; -- } -- if (smmu->version > ARM_SMMU_V1) -- writel_relaxed(reg2, cb_base + ARM_SMMU_CB_TTBCR2); -- } else { -- reg = pgtbl_cfg->arm_lpae_s2_cfg.vtcr; -- } -- writel_relaxed(reg, cb_base + ARM_SMMU_CB_TTBCR); -- - /* MAIRs (stage-1 only) */ - if (stage1) { - if (cfg->fmt == ARM_SMMU_CTX_FMT_AARCH32_S) { --- -2.11.0 - -From a2eca90cb82c389bbe1da93a08355210e7c5c393 Mon Sep 17 00:00:00 2001 -From: Robert Richter <rrichter@cavium.com> -Date: Mon, 13 Mar 2017 11:39:01 +0100 -Subject: [PATCH 15/41] iommu/arm-smmu: Print message when Cavium erratum 27704 - was detected - -Firmware is responsible for properly enabling smmu workarounds. Print -a message for better diagnostics when Cavium erratum 27704 was -detected. - -Reviewed-by: Robin Murphy <robin.murphy@arm.com> -Signed-off-by: Robert Richter <rrichter@cavium.com> -Signed-off-by: Will Deacon <will.deacon@arm.com> -(cherry picked from commit 53c35dce45713d2a554109c21a8cd617d09eba50) -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/arm-smmu.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c -index 9905f08058b6..e021b360e315 100644 ---- a/drivers/iommu/arm-smmu.c -+++ b/drivers/iommu/arm-smmu.c -@@ -1891,6 +1891,7 @@ static int arm_smmu_device_cfg_probe(struct arm_smmu_device *smmu) - atomic_add_return(smmu->num_context_banks, - &cavium_smmu_context_count); - smmu->cavium_id_base -= smmu->num_context_banks; -+ dev_notice(smmu->dev, "\tenabling workaround for Cavium erratum 27704\n"); - } - - /* ID2 */ --- -2.11.0 - -From e319b8d378a4701d36030e140d17fb48aea1ff32 Mon Sep 17 00:00:00 2001 -From: Robert Richter <rrichter@cavium.com> -Date: Thu, 16 Mar 2017 18:01:59 +0100 -Subject: [PATCH 16/41] iommu/arm-smmu, ACPI: Enable Cavium SMMU-v2 - -In next IORT spec release there will be a definition of a Cavium -specific model. Until then, enable the Cavium SMMU using cpu id -registers. All versions of Cavium's SMMUv2 implementation must be -enabled. - -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/arm-smmu.c | 22 +++++++++++++++++++++- - 1 file changed, 21 insertions(+), 1 deletion(-) - -diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c -index e021b360e315..24a1df09eaac 100644 ---- a/drivers/iommu/arm-smmu.c -+++ b/drivers/iommu/arm-smmu.c -@@ -53,6 +53,8 @@ - - #include <linux/amba/bus.h> - -+#include <asm/cputype.h> -+ - #include "io-pgtable.h" - - /* Maximum number of context banks per SMMU */ -@@ -1986,6 +1988,24 @@ static const struct of_device_id arm_smmu_of_match[] = { - MODULE_DEVICE_TABLE(of, arm_smmu_of_match); - - #ifdef CONFIG_ACPI -+ -+static int acpi_smmu_enable_cavium(struct arm_smmu_device *smmu, int ret) -+{ -+ u32 cpu_model; -+ -+ if (!IS_ENABLED(CONFIG_ARM64)) -+ return ret; -+ -+ cpu_model = read_cpuid_id() & MIDR_CPU_MODEL_MASK; -+ if (cpu_model != MIDR_THUNDERX) -+ return ret; -+ -+ smmu->version = ARM_SMMU_V2; -+ smmu->model = CAVIUM_SMMUV2; -+ -+ return 0; -+} -+ - static int acpi_smmu_get_data(u32 model, struct arm_smmu_device *smmu) - { - int ret = 0; -@@ -2008,7 +2028,7 @@ static int acpi_smmu_get_data(u32 model, struct arm_smmu_device *smmu) - ret = -ENODEV; - } - -- return ret; -+ return acpi_smmu_enable_cavium(smmu, ret); - } - - static int arm_smmu_device_acpi_probe(struct platform_device *pdev, --- -2.11.0 - -From 7d2abb4fa3e9dcebd3081cb91d84bd7339e29431 Mon Sep 17 00:00:00 2001 -From: Will Deacon <will.deacon@arm.com> -Date: Fri, 6 Jan 2017 16:28:17 +0000 -Subject: [PATCH 21/41] iommu/arm-smmu: Restrict domain attributes to UNMANAGED - domains - -The ARM SMMU drivers provide a DOMAIN_ATTR_NESTING domain attribute, -which allows callers of the IOMMU API to request that the page table -for a domain is installed at stage-2, if supported by the hardware. - -Since setting this attribute only makes sense for UNMANAGED domains, -this patch returns -ENODEV if the domain_{get,set}_attr operations are -called on other domain types. - -Signed-off-by: Will Deacon <will.deacon@arm.com> -(cherry picked from commit 0834cc28fa56c65887c614b6c045be2ba06fdcb0) -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/arm-smmu-v3.c | 6 ++++++ - drivers/iommu/arm-smmu.c | 6 ++++++ - 2 files changed, 12 insertions(+) - -diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c -index 591bb96047c9..b47a88757c18 100644 ---- a/drivers/iommu/arm-smmu-v3.c -+++ b/drivers/iommu/arm-smmu-v3.c -@@ -1837,6 +1837,9 @@ static int arm_smmu_domain_get_attr(struct iommu_domain *domain, - { - struct arm_smmu_domain *smmu_domain = to_smmu_domain(domain); - -+ if (domain->type != IOMMU_DOMAIN_UNMANAGED) -+ return -EINVAL; -+ - switch (attr) { - case DOMAIN_ATTR_NESTING: - *(int *)data = (smmu_domain->stage == ARM_SMMU_DOMAIN_NESTED); -@@ -1852,6 +1855,9 @@ static int arm_smmu_domain_set_attr(struct iommu_domain *domain, - int ret = 0; - struct arm_smmu_domain *smmu_domain = to_smmu_domain(domain); - -+ if (domain->type != IOMMU_DOMAIN_UNMANAGED) -+ return -EINVAL; -+ - mutex_lock(&smmu_domain->init_mutex); - - switch (attr) { -diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c -index 24a1df09eaac..cdedb0933d48 100644 ---- a/drivers/iommu/arm-smmu.c -+++ b/drivers/iommu/arm-smmu.c -@@ -1555,6 +1555,9 @@ static int arm_smmu_domain_get_attr(struct iommu_domain *domain, - { - struct arm_smmu_domain *smmu_domain = to_smmu_domain(domain); - -+ if (domain->type != IOMMU_DOMAIN_UNMANAGED) -+ return -EINVAL; -+ - switch (attr) { - case DOMAIN_ATTR_NESTING: - *(int *)data = (smmu_domain->stage == ARM_SMMU_DOMAIN_NESTED); -@@ -1570,6 +1573,9 @@ static int arm_smmu_domain_set_attr(struct iommu_domain *domain, - int ret = 0; - struct arm_smmu_domain *smmu_domain = to_smmu_domain(domain); - -+ if (domain->type != IOMMU_DOMAIN_UNMANAGED) -+ return -EINVAL; -+ - mutex_lock(&smmu_domain->init_mutex); - - switch (attr) { --- -2.11.0 - -From 2142445d92c24592e57646087340dbd425fdfb6b Mon Sep 17 00:00:00 2001 -From: Will Deacon <will.deacon@arm.com> -Date: Fri, 6 Jan 2017 16:56:03 +0000 -Subject: [PATCH 22/41] iommu/arm-smmu: Install bypass S2CRs for - IOMMU_DOMAIN_IDENTITY domains - -In preparation for allowing the default domain type to be overridden, -this patch adds support for IOMMU_DOMAIN_IDENTITY domains to the -ARM SMMU driver. - -An identity domain is created by placing the corresponding S2CR -registers into "bypass" mode, which allows transactions to flow through -the SMMU without any translation. - -Reviewed-by: Robin Murphy <robin.murphy@arm.com> -Signed-off-by: Will Deacon <will.deacon@arm.com> -(cherry picked from commit 61bc671179f19060be883068b6d3d82ae0b24bc0) -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/arm-smmu.c | 20 +++++++++++++++++--- - 1 file changed, 17 insertions(+), 3 deletions(-) - -diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c -index cdedb0933d48..88e9131b6900 100644 ---- a/drivers/iommu/arm-smmu.c -+++ b/drivers/iommu/arm-smmu.c -@@ -418,6 +418,7 @@ enum arm_smmu_domain_stage { - ARM_SMMU_DOMAIN_S1 = 0, - ARM_SMMU_DOMAIN_S2, - ARM_SMMU_DOMAIN_NESTED, -+ ARM_SMMU_DOMAIN_BYPASS, - }; - - struct arm_smmu_domain { -@@ -844,6 +845,12 @@ static int arm_smmu_init_domain_context(struct iommu_domain *domain, - if (smmu_domain->smmu) - goto out_unlock; - -+ if (domain->type == IOMMU_DOMAIN_IDENTITY) { -+ smmu_domain->stage = ARM_SMMU_DOMAIN_BYPASS; -+ smmu_domain->smmu = smmu; -+ goto out_unlock; -+ } -+ - /* - * Mapping the requested stage onto what we support is surprisingly - * complicated, mainly because the spec allows S1+S2 SMMUs without -@@ -1004,7 +1011,7 @@ static void arm_smmu_destroy_domain_context(struct iommu_domain *domain) - void __iomem *cb_base; - int irq; - -- if (!smmu) -+ if (!smmu || domain->type == IOMMU_DOMAIN_IDENTITY) - return; - - /* -@@ -1027,7 +1034,9 @@ static struct iommu_domain *arm_smmu_domain_alloc(unsigned type) - { - struct arm_smmu_domain *smmu_domain; - -- if (type != IOMMU_DOMAIN_UNMANAGED && type != IOMMU_DOMAIN_DMA) -+ if (type != IOMMU_DOMAIN_UNMANAGED && -+ type != IOMMU_DOMAIN_DMA && -+ type != IOMMU_DOMAIN_IDENTITY) - return NULL; - /* - * Allocate the domain and initialise some of its data structures. -@@ -1256,10 +1265,15 @@ static int arm_smmu_domain_add_master(struct arm_smmu_domain *smmu_domain, - { - struct arm_smmu_device *smmu = smmu_domain->smmu; - struct arm_smmu_s2cr *s2cr = smmu->s2crs; -- enum arm_smmu_s2cr_type type = S2CR_TYPE_TRANS; - u8 cbndx = smmu_domain->cfg.cbndx; -+ enum arm_smmu_s2cr_type type; - int i, idx; - -+ if (smmu_domain->stage == ARM_SMMU_DOMAIN_BYPASS) -+ type = S2CR_TYPE_BYPASS; -+ else -+ type = S2CR_TYPE_TRANS; -+ - for_each_cfg_sme(fwspec, i, idx) { - if (type == s2cr[idx].type && cbndx == s2cr[idx].cbndx) - continue; --- -2.11.0 - -From 5f43f8eb48ae0c6c6c74b4a299e5ba1d6d1fe0b3 Mon Sep 17 00:00:00 2001 -From: Will Deacon <will.deacon@arm.com> -Date: Wed, 1 Mar 2017 21:11:29 +0000 -Subject: [PATCH 23/41] iommu/arm-smmu-v3: Make arm_smmu_install_ste_for_dev - return void - -arm_smmu_install_ste_for_dev cannot fail and always returns 0, however -the fact that it returns int means that callers end up implementing -redundant error handling code which complicates STE tracking and is -never executed. - -This patch changes the return type of arm_smmu_install_ste_for_dev -to void, to make it explicit that it cannot fail. - -Signed-off-by: Will Deacon <will.deacon@arm.com> -(cherry picked from commit 67560edcd8e5c57eccec4df562abbfc21c17ad75) -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/arm-smmu-v3.c | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c -index b47a88757c18..97be8de3e834 100644 ---- a/drivers/iommu/arm-smmu-v3.c -+++ b/drivers/iommu/arm-smmu-v3.c -@@ -1579,7 +1579,7 @@ static __le64 *arm_smmu_get_step_for_sid(struct arm_smmu_device *smmu, u32 sid) - return step; - } - --static int arm_smmu_install_ste_for_dev(struct iommu_fwspec *fwspec) -+static void arm_smmu_install_ste_for_dev(struct iommu_fwspec *fwspec) - { - int i; - struct arm_smmu_master_data *master = fwspec->iommu_priv; -@@ -1591,8 +1591,6 @@ static int arm_smmu_install_ste_for_dev(struct iommu_fwspec *fwspec) - - arm_smmu_write_strtab_ent(smmu, sid, step, &master->ste); - } -- -- return 0; - } - - static void arm_smmu_detach_dev(struct device *dev) -@@ -1600,8 +1598,7 @@ static void arm_smmu_detach_dev(struct device *dev) - struct arm_smmu_master_data *master = dev->iommu_fwspec->iommu_priv; - - master->ste.bypass = true; -- if (arm_smmu_install_ste_for_dev(dev->iommu_fwspec) < 0) -- dev_warn(dev, "failed to install bypass STE\n"); -+ arm_smmu_install_ste_for_dev(dev->iommu_fwspec); - } - - static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev) -@@ -1653,10 +1650,7 @@ static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev) - ste->s2_cfg = &smmu_domain->s2_cfg; - } - -- ret = arm_smmu_install_ste_for_dev(dev->iommu_fwspec); -- if (ret < 0) -- ste->valid = false; -- -+ arm_smmu_install_ste_for_dev(dev->iommu_fwspec); - out_unlock: - mutex_unlock(&smmu_domain->init_mutex); - return ret; --- -2.11.0 - -From 2e7b81f22936290d872bc624599f7c25f7513829 Mon Sep 17 00:00:00 2001 -From: Will Deacon <will.deacon@arm.com> -Date: Fri, 6 Jan 2017 16:27:30 +0000 -Subject: [PATCH 24/41] iommu/arm-smmu-v3: Install bypass STEs for - IOMMU_DOMAIN_IDENTITY domains - -In preparation for allowing the default domain type to be overridden, -this patch adds support for IOMMU_DOMAIN_IDENTITY domains to the -ARM SMMUv3 driver. - -An identity domain is created by placing the corresponding stream table -entries into "bypass" mode, which allows transactions to flow through -the SMMU without any translation. - -Signed-off-by: Will Deacon <will.deacon@arm.com> -(cherry picked from commit beb3c6a066bff1ba412f983cb9d1a42f4cd8f76a) -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/arm-smmu-v3.c | 58 +++++++++++++++++++++++++++++---------------- - 1 file changed, 37 insertions(+), 21 deletions(-) - -diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c -index 97be8de3e834..803352d78d43 100644 ---- a/drivers/iommu/arm-smmu-v3.c -+++ b/drivers/iommu/arm-smmu-v3.c -@@ -554,9 +554,14 @@ struct arm_smmu_s2_cfg { - }; - - struct arm_smmu_strtab_ent { -- bool valid; -- -- bool bypass; /* Overrides s1/s2 config */ -+ /* -+ * An STE is "assigned" if the master emitting the corresponding SID -+ * is attached to a domain. The behaviour of an unassigned STE is -+ * determined by the disable_bypass parameter, whereas an assigned -+ * STE behaves according to s1_cfg/s2_cfg, which themselves are -+ * configured according to the domain type. -+ */ -+ bool assigned; - struct arm_smmu_s1_cfg *s1_cfg; - struct arm_smmu_s2_cfg *s2_cfg; - }; -@@ -632,6 +637,7 @@ enum arm_smmu_domain_stage { - ARM_SMMU_DOMAIN_S1 = 0, - ARM_SMMU_DOMAIN_S2, - ARM_SMMU_DOMAIN_NESTED, -+ ARM_SMMU_DOMAIN_BYPASS, - }; - - struct arm_smmu_domain { -@@ -1005,9 +1011,9 @@ static void arm_smmu_write_strtab_ent(struct arm_smmu_device *smmu, u32 sid, - * This is hideously complicated, but we only really care about - * three cases at the moment: - * -- * 1. Invalid (all zero) -> bypass (init) -- * 2. Bypass -> translation (attach) -- * 3. Translation -> bypass (detach) -+ * 1. Invalid (all zero) -> bypass/fault (init) -+ * 2. Bypass/fault -> translation/bypass (attach) -+ * 3. Translation/bypass -> bypass/fault (detach) - * - * Given that we can't update the STE atomically and the SMMU - * doesn't read the thing in a defined order, that leaves us -@@ -1046,11 +1052,15 @@ static void arm_smmu_write_strtab_ent(struct arm_smmu_device *smmu, u32 sid, - } - - /* Nuke the existing STE_0 value, as we're going to rewrite it */ -- val = ste->valid ? STRTAB_STE_0_V : 0; -+ val = STRTAB_STE_0_V; -+ -+ /* Bypass/fault */ -+ if (!ste->assigned || !(ste->s1_cfg || ste->s2_cfg)) { -+ if (!ste->assigned && disable_bypass) -+ val |= STRTAB_STE_0_CFG_ABORT; -+ else -+ val |= STRTAB_STE_0_CFG_BYPASS; - -- if (ste->bypass) { -- val |= disable_bypass ? STRTAB_STE_0_CFG_ABORT -- : STRTAB_STE_0_CFG_BYPASS; - dst[0] = cpu_to_le64(val); - dst[1] = cpu_to_le64(STRTAB_STE_1_SHCFG_INCOMING - << STRTAB_STE_1_SHCFG_SHIFT); -@@ -1111,10 +1121,7 @@ static void arm_smmu_write_strtab_ent(struct arm_smmu_device *smmu, u32 sid, - static void arm_smmu_init_bypass_stes(u64 *strtab, unsigned int nent) - { - unsigned int i; -- struct arm_smmu_strtab_ent ste = { -- .valid = true, -- .bypass = true, -- }; -+ struct arm_smmu_strtab_ent ste = { .assigned = false }; - - for (i = 0; i < nent; ++i) { - arm_smmu_write_strtab_ent(NULL, -1, strtab, &ste); -@@ -1378,7 +1385,9 @@ static struct iommu_domain *arm_smmu_domain_alloc(unsigned type) - { - struct arm_smmu_domain *smmu_domain; - -- if (type != IOMMU_DOMAIN_UNMANAGED && type != IOMMU_DOMAIN_DMA) -+ if (type != IOMMU_DOMAIN_UNMANAGED && -+ type != IOMMU_DOMAIN_DMA && -+ type != IOMMU_DOMAIN_IDENTITY) - return NULL; - - /* -@@ -1509,6 +1518,11 @@ static int arm_smmu_domain_finalise(struct iommu_domain *domain) - struct arm_smmu_domain *smmu_domain = to_smmu_domain(domain); - struct arm_smmu_device *smmu = smmu_domain->smmu; - -+ if (domain->type == IOMMU_DOMAIN_IDENTITY) { -+ smmu_domain->stage = ARM_SMMU_DOMAIN_BYPASS; -+ return 0; -+ } -+ - /* Restrict the stage to what we can actually support */ - if (!(smmu->features & ARM_SMMU_FEAT_TRANS_S1)) - smmu_domain->stage = ARM_SMMU_DOMAIN_S2; -@@ -1597,7 +1611,7 @@ static void arm_smmu_detach_dev(struct device *dev) - { - struct arm_smmu_master_data *master = dev->iommu_fwspec->iommu_priv; - -- master->ste.bypass = true; -+ master->ste.assigned = false; - arm_smmu_install_ste_for_dev(dev->iommu_fwspec); - } - -@@ -1617,7 +1631,7 @@ static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev) - ste = &master->ste; - - /* Already attached to a different domain? */ -- if (!ste->bypass) -+ if (ste->assigned) - arm_smmu_detach_dev(dev); - - mutex_lock(&smmu_domain->init_mutex); -@@ -1638,10 +1652,12 @@ static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev) - goto out_unlock; - } - -- ste->bypass = false; -- ste->valid = true; -+ ste->assigned = true; - -- if (smmu_domain->stage == ARM_SMMU_DOMAIN_S1) { -+ if (smmu_domain->stage == ARM_SMMU_DOMAIN_BYPASS) { -+ ste->s1_cfg = NULL; -+ ste->s2_cfg = NULL; -+ } else if (smmu_domain->stage == ARM_SMMU_DOMAIN_S1) { - ste->s1_cfg = &smmu_domain->s1_cfg; - ste->s2_cfg = NULL; - arm_smmu_write_ctx_desc(smmu, ste->s1_cfg); -@@ -1801,7 +1817,7 @@ static void arm_smmu_remove_device(struct device *dev) - - master = fwspec->iommu_priv; - smmu = master->smmu; -- if (master && master->ste.valid) -+ if (master && master->ste.assigned) - arm_smmu_detach_dev(dev); - iommu_group_remove_device(dev); - iommu_device_unlink(&smmu->iommu, dev); --- -2.11.0 - -From ed65b7b197ed312ee0aa1d347240061dbc8fd4cf Mon Sep 17 00:00:00 2001 -From: Will Deacon <will.deacon@arm.com> -Date: Thu, 5 Jan 2017 18:38:26 +0000 -Subject: [PATCH 25/41] iommu: Allow default domain type to be set on the - kernel command line - -The IOMMU core currently initialises the default domain for each group -to IOMMU_DOMAIN_DMA, under the assumption that devices will use -IOMMU-backed DMA ops by default. However, in some cases it is desirable -for the DMA ops to bypass the IOMMU for performance reasons, reserving -use of translation for subsystems such as VFIO that require it for -enforcing device isolation. - -Rather than modify each IOMMU driver to provide different semantics for -DMA domains, instead we introduce a command line parameter that can be -used to change the type of the default domain. Passthrough can then be -specified using "iommu.passthrough=1" on the kernel command line. - -Signed-off-by: Will Deacon <will.deacon@arm.com> -(cherry picked from commit fccb4e3b8ab0957628abec82675691c72f67003e) -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - Documentation/admin-guide/kernel-parameters.txt | 6 ++++++ - drivers/iommu/iommu.c | 28 ++++++++++++++++++++++--- - 2 files changed, 31 insertions(+), 3 deletions(-) - -diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index facc20a3f962..cb91f26cc8bc 100644 ---- a/Documentation/admin-guide/kernel-parameters.txt -+++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -1644,6 +1644,12 @@ - nobypass [PPC/POWERNV] - Disable IOMMU bypass, using IOMMU for PCI devices. - -+ iommu.passthrough= -+ [ARM64] Configure DMA to bypass the IOMMU by default. -+ Format: { "0" | "1" } -+ 0 - Use IOMMU translation for DMA. -+ 1 - Bypass the IOMMU for DMA. -+ unset - Use IOMMU translation for DMA. - - io7= [HW] IO7 for Marvel based alpha systems - See comment before marvel_specify_io7 in -diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c -index 3b67144dead2..770ba7e7ef4d 100644 ---- a/drivers/iommu/iommu.c -+++ b/drivers/iommu/iommu.c -@@ -36,6 +36,7 @@ - - static struct kset *iommu_group_kset; - static DEFINE_IDA(iommu_group_ida); -+static unsigned int iommu_def_domain_type = IOMMU_DOMAIN_DMA; - - struct iommu_callback_data { - const struct iommu_ops *ops; -@@ -112,6 +113,18 @@ static int __iommu_attach_group(struct iommu_domain *domain, - static void __iommu_detach_group(struct iommu_domain *domain, - struct iommu_group *group); - -+static int __init iommu_set_def_domain_type(char *str) -+{ -+ bool pt; -+ -+ if (!str || strtobool(str, &pt)) -+ return -EINVAL; -+ -+ iommu_def_domain_type = pt ? IOMMU_DOMAIN_IDENTITY : IOMMU_DOMAIN_DMA; -+ return 0; -+} -+early_param("iommu.passthrough", iommu_set_def_domain_type); -+ - static ssize_t iommu_group_attr_show(struct kobject *kobj, - struct attribute *__attr, char *buf) - { -@@ -1015,10 +1028,19 @@ struct iommu_group *iommu_group_get_for_dev(struct device *dev) - * IOMMU driver. - */ - if (!group->default_domain) { -- group->default_domain = __iommu_domain_alloc(dev->bus, -- IOMMU_DOMAIN_DMA); -+ struct iommu_domain *dom; -+ -+ dom = __iommu_domain_alloc(dev->bus, iommu_def_domain_type); -+ if (!dom && iommu_def_domain_type != IOMMU_DOMAIN_DMA) { -+ dev_warn(dev, -+ "failed to allocate default IOMMU domain of type %u; falling back to IOMMU_DOMAIN_DMA", -+ iommu_def_domain_type); -+ dom = __iommu_domain_alloc(dev->bus, IOMMU_DOMAIN_DMA); -+ } -+ -+ group->default_domain = dom; - if (!group->domain) -- group->domain = group->default_domain; -+ group->domain = dom; - } - - ret = iommu_group_add_device(group, dev); --- -2.11.0 - -From 11eb465df795bea2c26cb3877ceb606336406a32 Mon Sep 17 00:00:00 2001 -From: Robert Richter <rrichter@cavium.com> -Date: Wed, 12 Apr 2017 15:06:03 +0200 -Subject: [PATCH 26/41] iommu: Print a message with the default domain type - created - -There are several ways the bypass mode can be enabled. With commit - - fccb4e3b8ab0 iommu: Allow default domain type to be set on the kernel command line - -there is the option to switch into bypass mode. And, depending on -devicetree options, bypass mode can be also enabled. This makes it -hard to determine if direct mapping is enabled. Print message with the -default domain type case. - -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/iommu.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c -index 770ba7e7ef4d..b698732c6f91 100644 ---- a/drivers/iommu/iommu.c -+++ b/drivers/iommu/iommu.c -@@ -599,7 +599,9 @@ int iommu_group_add_device(struct iommu_group *group, struct device *dev) - - trace_add_device_to_group(group->id, dev); - -- pr_info("Adding device %s to group %d\n", dev_name(dev), group->id); -+ pr_info("Adding device %s to group %d, default domain type %d\n", -+ dev_name(dev), group->id, -+ group->default_domain ? group->default_domain->type : -1); - - return 0; - --- -2.11.0 - -From 8045df4924b41d303cd0599f1ed1ff9b23bed036 Mon Sep 17 00:00:00 2001 -From: Sunil Goutham <sgoutham@cavium.com> -Date: Tue, 25 Apr 2017 15:27:52 +0530 -Subject: [PATCH 27/41] iommu/arm-smmu: Return IOVA in iova_to_phys when SMMU - is bypassed - -For software initiated address translation, when domain type is -IOMMU_DOMAIN_IDENTITY i.e SMMU is bypassed, mimic HW behavior -i.e return the same IOVA as translated address. - -This patch is an extension to Will Deacon's patchset -"Implement SMMU passthrough using the default domain". - -Signed-off-by: Sunil Goutham <sgoutham@cavium.com> -Acked-by: Will Deacon <will.deacon@arm.com> -Signed-off-by: Joerg Roedel <jroedel@suse.de> -(cherry picked from commit bdf95923086fb359ccb44c815724c3ace1611c90) -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/arm-smmu-v3.c | 3 +++ - drivers/iommu/arm-smmu.c | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c -index 803352d78d43..6ef9c3ed4344 100644 ---- a/drivers/iommu/arm-smmu-v3.c -+++ b/drivers/iommu/arm-smmu-v3.c -@@ -1714,6 +1714,9 @@ arm_smmu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) - struct arm_smmu_domain *smmu_domain = to_smmu_domain(domain); - struct io_pgtable_ops *ops = smmu_domain->pgtbl_ops; - -+ if (domain->type == IOMMU_DOMAIN_IDENTITY) -+ return iova; -+ - if (!ops) - return 0; - -diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c -index 88e9131b6900..e731d8ead6cc 100644 ---- a/drivers/iommu/arm-smmu.c -+++ b/drivers/iommu/arm-smmu.c -@@ -1411,6 +1411,9 @@ static phys_addr_t arm_smmu_iova_to_phys(struct iommu_domain *domain, - struct arm_smmu_domain *smmu_domain = to_smmu_domain(domain); - struct io_pgtable_ops *ops= smmu_domain->pgtbl_ops; - -+ if (domain->type == IOMMU_DOMAIN_IDENTITY) -+ return iova; -+ - if (!ops) - return 0; - --- -2.11.0 - -From fecd86ffe12e5c49f22325faf732eaf5cfe8c62b Mon Sep 17 00:00:00 2001 -From: Robert Richter <rrichter@cavium.com> -Date: Thu, 4 May 2017 17:48:48 +0200 -Subject: [PATCH 28/41] iommu, aarch64: Set bypass mode per default - -We see a performance degradation if smmu is enabled in non-bypass mode. -This is a problem in the kernel's implememntation. Until that is solved, -enable smmu in bypass mode per default. - -We have tested that SMMU passthrough mode doesn't effect VFIO on both -CN88xx and CN99xx and haven't found any issues. - -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/iommu.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c -index b698732c6f91..41125b19832b 100644 ---- a/drivers/iommu/iommu.c -+++ b/drivers/iommu/iommu.c -@@ -36,7 +36,12 @@ - - static struct kset *iommu_group_kset; - static DEFINE_IDA(iommu_group_ida); -+ -+#ifdef CONFIG_ARM64 -+static unsigned int iommu_def_domain_type = IOMMU_DOMAIN_IDENTITY; -+#else - static unsigned int iommu_def_domain_type = IOMMU_DOMAIN_DMA; -+#endif - - struct iommu_callback_data { - const struct iommu_ops *ops; --- -2.11.0 - -From patchwork Mon May 22 15:06:37 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,1/2] ACPICA: IORT: Update SMMU models for IORT rev. C -From: Robin Murphy <robin.murphy@arm.com> -X-Patchwork-Id: 9740941 -Message-Id: <11ef7d28c535c01d42b7b3c8e632934f0e0f1048.1495459319.git.robin.murphy@arm.com> -To: will.deacon@arm.com, - joro@8bytes.org -Cc: lorenzo.pieralisi@arm.com, gabriele.paoloni@huawei.com, - gakula@caviumnetworks.com, rjw@rjwysocki.net, robert.moore@intel.com, - shameerali.kolothum.thodi@huawei.com, rrichter@cavium.com, - linux-acpi@vger.kernel.org, iommu@lists.linux-foundation.org, - hanjun.guo@linaro.org, linu.cherian@cavium.com, john.garry@huawei.com, - linux-arm-kernel@lists.infradead.org, lv.zheng@intel.com -Date: Mon, 22 May 2017 16:06:37 +0100 - -IORT revision C has been published with a number of new SMMU -implementation identifiers. Since IORT doesn't have any way of falling -back to a more generic model code, we really need Linux to know about -these before vendors start updating their firmware tables to use them. - -CC: Rafael J. Wysocki <rjw@rjwysocki.net> -CC: Robert Moore <robert.moore@intel.com> -CC: Lv Zheng <lv.zheng@intel.com> -Acked-by: Robert Richter <rrichter@cavium.com> -Tested-by: Robert Richter <rrichter@cavium.com> -Signed-off-by: Robin Murphy <robin.murphy@arm.com> -Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org> ---- - -v2: Update more comments, add Robert's tags. - -I'm including this here as a kernel patch just for context - once I've -figured out how we actually submit patches to ACPICA directly, I'll do -that per the preferred process. - -Robin. - - include/acpi/actbl2.h | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h -index faa9f2c0d5de..f469ea41f2fd 100644 ---- a/include/acpi/actbl2.h -+++ b/include/acpi/actbl2.h -@@ -663,7 +663,7 @@ struct acpi_ibft_target { - * IORT - IO Remapping Table - * - * Conforms to "IO Remapping Table System Software on ARM Platforms", -- * Document number: ARM DEN 0049B, October 2015 -+ * Document number: ARM DEN 0049C, May 2017 - * - ******************************************************************************/ - -@@ -778,6 +778,8 @@ struct acpi_iort_smmu { - #define ACPI_IORT_SMMU_V2 0x00000001 /* Generic SMMUv2 */ - #define ACPI_IORT_SMMU_CORELINK_MMU400 0x00000002 /* ARM Corelink MMU-400 */ - #define ACPI_IORT_SMMU_CORELINK_MMU500 0x00000003 /* ARM Corelink MMU-500 */ -+#define ACPI_IORT_SMMU_CORELINK_MMU401 0x00000004 /* ARM Corelink MMU-401 */ -+#define ACPI_IORT_SMMU_CAVIUM_SMMUV2 0x00000005 /* Cavium ThunderX SMMUv2 */ - - /* Masks for Flags field above */ - -@@ -798,13 +800,19 @@ struct acpi_iort_smmu_v3 { - u32 flags; - u32 reserved; - u64 vatos_address; -- u32 model; /* O: generic SMMUv3 */ -+ u32 model; - u32 event_gsiv; - u32 pri_gsiv; - u32 gerr_gsiv; - u32 sync_gsiv; - }; - -+/* Values for Model field above */ -+ -+#define ACPI_IORT_SMMU_V3 0x00000000 /* Generic SMMUv3 */ -+#define ACPI_IORT_SMMU_HISILICON_HI161X 0x00000001 /* HiSilicon Hi161x SMMUv3 */ -+#define ACPI_IORT_SMMU_CAVIUM_CN99XX 0x00000002 /* Cavium CN99xx SMMUv3 */ -+ - /* Masks for Flags field above */ - - #define ACPI_IORT_SMMU_V3_COHACC_OVERRIDE (1) -From patchwork Mon May 22 15:06:38 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,2/2] iommu/arm-smmu: Plumb in new ACPI identifiers -From: Robin Murphy <robin.murphy@arm.com> -X-Patchwork-Id: 9740939 -Message-Id: <ac4e7adc7ca636fc71e6a10f0d8ab273b3dfd5dc.1495459319.git.robin.murphy@arm.com> -To: will.deacon@arm.com, - joro@8bytes.org -Cc: lorenzo.pieralisi@arm.com, gabriele.paoloni@huawei.com, - gakula@caviumnetworks.com, shameerali.kolothum.thodi@huawei.com, - rrichter@cavium.com, linux-acpi@vger.kernel.org, - iommu@lists.linux-foundation.org, hanjun.guo@linaro.org, - linu.cherian@cavium.com, stable@vger.kernel.org, john.garry@huawei.com, - linux-arm-kernel@lists.infradead.org -Date: Mon, 22 May 2017 16:06:38 +0100 - -Revision C of IORT now allows us to identify ARM MMU-401 and the Cavium -ThunderX implementation. Wire them up so that we can probe these models -once firmware starts using the new codes, and so that the appropriate -features and quirks get enabled when we do. - -For the sake of backports and mitigating sychronisation problems with -the ACPICA headers, we'll carry a backup copy of the new definitions -locally for the short term to make life simpler. - -CC: stable@vger.kernel.org # 4.10 -Acked-by: Robert Richter <rrichter@cavium.com> -Tested-by: Robert Richter <rrichter@cavium.com> -Signed-off-by: Robin Murphy <robin.murphy@arm.com> ---- - -v2: Add local backup definitions - -This is ready to go regardless of patch 1. The stable backport is in likely -anticipation of machines with updated firmware paired with stable distro -kernels, which would be unable to recognise and probe the SMMU otherwise. - -Robin. - - drivers/iommu/arm-smmu.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c -index 7ec30b08b3bd..79b9bb7d4783 100644 ---- a/drivers/iommu/arm-smmu.c -+++ b/drivers/iommu/arm-smmu.c -@@ -312,6 +312,14 @@ enum arm_smmu_implementation { - CAVIUM_SMMUV2, - }; - -+/* Until ACPICA headers cover IORT rev. C */ -+#ifndef ACPI_IORT_SMMU_CORELINK_MMU401 -+#define ACPI_IORT_SMMU_CORELINK_MMU401 0x4 -+#endif -+#ifndef ACPI_IORT_SMMU_CAVIUM_SMMUV2 -+#define ACPI_IORT_SMMU_CAVIUM_SMMUV2 0x5 -+#endif -+ - struct arm_smmu_s2cr { - struct iommu_group *group; - int count; -@@ -2073,6 +2081,10 @@ static int acpi_smmu_get_data(u32 model, struct arm_smmu_device *smmu) - smmu->version = ARM_SMMU_V1; - smmu->model = GENERIC_SMMU; - break; -+ case ACPI_IORT_SMMU_CORELINK_MMU401: -+ smmu->version = ARM_SMMU_V1_64K; -+ smmu->model = GENERIC_SMMU; -+ break; - case ACPI_IORT_SMMU_V2: - smmu->version = ARM_SMMU_V2; - smmu->model = GENERIC_SMMU; -@@ -2081,6 +2093,10 @@ static int acpi_smmu_get_data(u32 model, struct arm_smmu_device *smmu) - smmu->version = ARM_SMMU_V2; - smmu->model = ARM_MMU500; - break; -+ case ACPI_IORT_SMMU_CAVIUM_SMMUV2: -+ smmu->version = ARM_SMMU_V2; -+ smmu->model = CAVIUM_SMMUV2; -+ break; - default: - ret = -ENODEV; - } -From 980ec2906ad4e92a89e8f635a79eba90318b22d5 Mon Sep 17 00:00:00 2001 -From: Linu Cherian <linu.cherian@cavium.com> -Date: Fri, 12 May 2017 18:11:04 +0530 -Subject: [PATCH 31/41] ACPI/IORT: Fixup SMMUv3 resource size for Cavium - ThunderX2 SMMUv3 model - -Cavium ThunderX2 implementation doesn't support second page in SMMU -register space. Hence, resource size is set as 64k for this model. - -Signed-off-by: Linu Cherian <linu.cherian@cavium.com> -Signed-off-by: Geetha Sowjanya <geethasowjanya.akula@cavium.com> -Message-Id: <1494592866-14076-2-git-send-email-gakula@caviumnetworks.com> -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/acpi/arm64/iort.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c -index 4a5bb967250b..9fd2f1d31a27 100644 ---- a/drivers/acpi/arm64/iort.c -+++ b/drivers/acpi/arm64/iort.c -@@ -669,12 +669,20 @@ static void __init arm_smmu_v3_init_resources(struct resource *res, - { - struct acpi_iort_smmu_v3 *smmu; - int num_res = 0; -+ unsigned long size = SZ_128K; - - /* Retrieve SMMUv3 specific data */ - smmu = (struct acpi_iort_smmu_v3 *)node->node_data; - -+ /* -+ * Override the size, for Cavium ThunderX2 implementation -+ * which doesn't support the page 1 SMMU register space. -+ */ -+ if (smmu->model == ACPI_IORT_SMMU_CAVIUM_CN99XX) -+ size = SZ_64K; -+ - res[num_res].start = smmu->base_address; -- res[num_res].end = smmu->base_address + SZ_128K - 1; -+ res[num_res].end = smmu->base_address + size - 1; - res[num_res].flags = IORESOURCE_MEM; - - num_res++; --- -2.11.0 - -From d082f66524ad8653793fc753dbff2b369b3cafe8 Mon Sep 17 00:00:00 2001 -From: Linu Cherian <linu.cherian@cavium.com> -Date: Fri, 12 May 2017 18:11:05 +0530 -Subject: [PATCH 32/41] iommu/arm-smmu-v3: Add workaround for Cavium ThunderX2 - erratum #74 - -Cavium ThunderX2 SMMU implementation doesn't support page 1 register space -and PAGE0_REGS_ONLY option is enabled as an errata workaround. -This option when turned on, replaces all page 1 offsets used for -EVTQ_PROD/CONS, PRIQ_PROD/CONS register access with page 0 offsets. - -SMMU resource size checks are now based on SMMU option PAGE0_REGS_ONLY, -since resource size can be either 64k/128k. -For this, arm_smmu_device_dt_probe/acpi_probe has been moved before -platform_get_resource call, so that SMMU options are set beforehand. - -Signed-off-by: Linu Cherian <linu.cherian@cavium.com> -Signed-off-by: Geetha Sowjanya <geethasowjanya.akula@cavium.com> -Message-Id: <1494592866-14076-3-git-send-email-gakula@caviumnetworks.com> -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - Documentation/arm64/silicon-errata.txt | 1 + - .../devicetree/bindings/iommu/arm,smmu-v3.txt | 6 ++ - drivers/iommu/arm-smmu-v3.c | 64 +++++++++++++++++----- - 3 files changed, 56 insertions(+), 15 deletions(-) - -diff --git a/Documentation/arm64/silicon-errata.txt b/Documentation/arm64/silicon-errata.txt -index 2f66683500b8..629e2ce1f0d2 100644 ---- a/Documentation/arm64/silicon-errata.txt -+++ b/Documentation/arm64/silicon-errata.txt -@@ -61,6 +61,7 @@ stable kernels. - | Cavium | ThunderX GICv3 | #23154 | CAVIUM_ERRATUM_23154 | - | Cavium | ThunderX Core | #27456 | CAVIUM_ERRATUM_27456 | - | Cavium | ThunderX SMMUv2 | #27704 | N/A | -+| Cavium | ThunderX2 SMMUv3| #74 | N/A | - | | | | | - | Freescale/NXP | LS2080A/LS1043A | A-008585 | FSL_ERRATUM_A008585 | - | | | | | -diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu-v3.txt b/Documentation/devicetree/bindings/iommu/arm,smmu-v3.txt -index be57550e14e4..e6da62b3a3ff 100644 ---- a/Documentation/devicetree/bindings/iommu/arm,smmu-v3.txt -+++ b/Documentation/devicetree/bindings/iommu/arm,smmu-v3.txt -@@ -49,6 +49,12 @@ the PCIe specification. - - hisilicon,broken-prefetch-cmd - : Avoid sending CMD_PREFETCH_* commands to the SMMU. - -+- cavium-cn99xx,broken-page1-regspace -+ : Replaces all page 1 offsets used for EVTQ_PROD/CONS, -+ PRIQ_PROD/CONS register access with page 0 offsets. -+ Set for Caviun ThunderX2 silicon that doesn't support -+ SMMU page1 register space. -+ - ** Example - - smmu@2b400000 { -diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c -index 6ef9c3ed4344..913805429f80 100644 ---- a/drivers/iommu/arm-smmu-v3.c -+++ b/drivers/iommu/arm-smmu-v3.c -@@ -412,6 +412,9 @@ - #define MSI_IOVA_BASE 0x8000000 - #define MSI_IOVA_LENGTH 0x100000 - -+#define ARM_SMMU_PAGE0_REGS_ONLY(smmu) \ -+ ((smmu)->options & ARM_SMMU_OPT_PAGE0_REGS_ONLY) -+ - static bool disable_bypass; - module_param_named(disable_bypass, disable_bypass, bool, S_IRUGO); - MODULE_PARM_DESC(disable_bypass, -@@ -597,6 +600,7 @@ struct arm_smmu_device { - u32 features; - - #define ARM_SMMU_OPT_SKIP_PREFETCH (1 << 0) -+#define ARM_SMMU_OPT_PAGE0_REGS_ONLY (1 << 1) - u32 options; - - struct arm_smmu_cmdq cmdq; -@@ -663,9 +667,19 @@ struct arm_smmu_option_prop { - - static struct arm_smmu_option_prop arm_smmu_options[] = { - { ARM_SMMU_OPT_SKIP_PREFETCH, "hisilicon,broken-prefetch-cmd" }, -+ { ARM_SMMU_OPT_PAGE0_REGS_ONLY, "cavium-cn99xx,broken-page1-regspace"}, - { 0, NULL}, - }; - -+static inline void __iomem *arm_smmu_page1_fixup(unsigned long offset, -+ struct arm_smmu_device *smmu) -+{ -+ if (offset > SZ_64K && ARM_SMMU_PAGE0_REGS_ONLY(smmu)) -+ offset -= SZ_64K; -+ -+ return smmu->base + offset; -+} -+ - static struct arm_smmu_domain *to_smmu_domain(struct iommu_domain *dom) - { - return container_of(dom, struct arm_smmu_domain, domain); -@@ -1959,8 +1973,8 @@ static int arm_smmu_init_one_queue(struct arm_smmu_device *smmu, - return -ENOMEM; - } - -- q->prod_reg = smmu->base + prod_off; -- q->cons_reg = smmu->base + cons_off; -+ q->prod_reg = arm_smmu_page1_fixup(prod_off, smmu); -+ q->cons_reg = arm_smmu_page1_fixup(cons_off, smmu); - q->ent_dwords = dwords; - - q->q_base = Q_BASE_RWA; -@@ -2361,8 +2375,10 @@ static int arm_smmu_device_reset(struct arm_smmu_device *smmu, bool bypass) - - /* Event queue */ - writeq_relaxed(smmu->evtq.q.q_base, smmu->base + ARM_SMMU_EVTQ_BASE); -- writel_relaxed(smmu->evtq.q.prod, smmu->base + ARM_SMMU_EVTQ_PROD); -- writel_relaxed(smmu->evtq.q.cons, smmu->base + ARM_SMMU_EVTQ_CONS); -+ writel_relaxed(smmu->evtq.q.prod, -+ arm_smmu_page1_fixup(ARM_SMMU_EVTQ_PROD, smmu)); -+ writel_relaxed(smmu->evtq.q.cons, -+ arm_smmu_page1_fixup(ARM_SMMU_EVTQ_CONS, smmu)); - - enables |= CR0_EVTQEN; - ret = arm_smmu_write_reg_sync(smmu, enables, ARM_SMMU_CR0, -@@ -2377,9 +2393,9 @@ static int arm_smmu_device_reset(struct arm_smmu_device *smmu, bool bypass) - writeq_relaxed(smmu->priq.q.q_base, - smmu->base + ARM_SMMU_PRIQ_BASE); - writel_relaxed(smmu->priq.q.prod, -- smmu->base + ARM_SMMU_PRIQ_PROD); -+ arm_smmu_page1_fixup(ARM_SMMU_PRIQ_PROD, smmu)); - writel_relaxed(smmu->priq.q.cons, -- smmu->base + ARM_SMMU_PRIQ_CONS); -+ arm_smmu_page1_fixup(ARM_SMMU_PRIQ_CONS, smmu)); - - enables |= CR0_PRIQEN; - ret = arm_smmu_write_reg_sync(smmu, enables, ARM_SMMU_CR0, -@@ -2603,6 +2619,14 @@ static int arm_smmu_device_hw_probe(struct arm_smmu_device *smmu) - } - - #ifdef CONFIG_ACPI -+static void acpi_smmu_get_options(u32 model, struct arm_smmu_device *smmu) -+{ -+ if (model == ACPI_IORT_SMMU_CAVIUM_CN99XX) -+ smmu->options |= ARM_SMMU_OPT_PAGE0_REGS_ONLY; -+ -+ dev_notice(smmu->dev, "option mask 0x%x\n", smmu->options); -+} -+ - static int arm_smmu_device_acpi_probe(struct platform_device *pdev, - struct arm_smmu_device *smmu) - { -@@ -2615,6 +2639,8 @@ static int arm_smmu_device_acpi_probe(struct platform_device *pdev, - /* Retrieve SMMUv3 specific data */ - iort_smmu = (struct acpi_iort_smmu_v3 *)node->node_data; - -+ acpi_smmu_get_options(iort_smmu->model, smmu); -+ - if (iort_smmu->flags & ACPI_IORT_SMMU_V3_COHACC_OVERRIDE) - smmu->features |= ARM_SMMU_FEAT_COHERENCY; - -@@ -2650,6 +2676,14 @@ static int arm_smmu_device_dt_probe(struct platform_device *pdev, - return ret; - } - -+static unsigned long arm_smmu_resource_size(struct arm_smmu_device *smmu) -+{ -+ if (ARM_SMMU_PAGE0_REGS_ONLY(smmu)) -+ return SZ_64K; -+ else -+ return SZ_128K; -+} -+ - static int arm_smmu_device_probe(struct platform_device *pdev) - { - int irq, ret; -@@ -2666,9 +2700,17 @@ static int arm_smmu_device_probe(struct platform_device *pdev) - } - smmu->dev = dev; - -+ if (dev->of_node) { -+ ret = arm_smmu_device_dt_probe(pdev, smmu); -+ } else { -+ ret = arm_smmu_device_acpi_probe(pdev, smmu); -+ if (ret == -ENODEV) -+ return ret; -+ } -+ - /* Base address */ - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); -- if (resource_size(res) + 1 < SZ_128K) { -+ if (resource_size(res) + 1 < arm_smmu_resource_size(smmu)) { - dev_err(dev, "MMIO region too small (%pr)\n", res); - return -EINVAL; - } -@@ -2695,14 +2737,6 @@ static int arm_smmu_device_probe(struct platform_device *pdev) - if (irq > 0) - smmu->gerr_irq = irq; - -- if (dev->of_node) { -- ret = arm_smmu_device_dt_probe(pdev, smmu); -- } else { -- ret = arm_smmu_device_acpi_probe(pdev, smmu); -- if (ret == -ENODEV) -- return ret; -- } -- - /* Set bypass mode according to firmware probing result */ - bypass = !!ret; - --- -2.11.0 - -From 8b0e69d0a8d5c11ee433c2a110a7d056ad190e1a Mon Sep 17 00:00:00 2001 -From: Geetha Sowjanya <geethasowjanya.akula@cavium.com> -Date: Fri, 12 May 2017 18:11:06 +0530 -Subject: [PATCH 33/41] iommu/arm-smmu-v3: Add workaround for Cavium ThunderX2 - erratum #126 - -Cavium ThunderX2 SMMU doesn't support MSI and also doesn't have unique irq -lines for gerror, eventq and cmdq-sync. - -This patch addresses the issue by checking if any interrupt sources are -using same irq number, then they are registered as shared irqs. - -Signed-off-by: Geetha Sowjanya <geethasowjanya.akula@cavium.com> -Message-Id: <1494592866-14076-4-git-send-email-gakula@caviumnetworks.com> -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - Documentation/arm64/silicon-errata.txt | 1 + - drivers/iommu/arm-smmu-v3.c | 29 +++++++++++++++++++++++++---- - 2 files changed, 26 insertions(+), 4 deletions(-) - -diff --git a/Documentation/arm64/silicon-errata.txt b/Documentation/arm64/silicon-errata.txt -index 629e2ce1f0d2..cc15f251ce42 100644 ---- a/Documentation/arm64/silicon-errata.txt -+++ b/Documentation/arm64/silicon-errata.txt -@@ -62,6 +62,7 @@ stable kernels. - | Cavium | ThunderX Core | #27456 | CAVIUM_ERRATUM_27456 | - | Cavium | ThunderX SMMUv2 | #27704 | N/A | - | Cavium | ThunderX2 SMMUv3| #74 | N/A | -+| Cavium | ThunderX2 SMMUv3| #126 | N/A | - | | | | | - | Freescale/NXP | LS2080A/LS1043A | A-008585 | FSL_ERRATUM_A008585 | - | | | | | -diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c -index 913805429f80..2fc067f3e199 100644 ---- a/drivers/iommu/arm-smmu-v3.c -+++ b/drivers/iommu/arm-smmu-v3.c -@@ -2230,6 +2230,25 @@ static void arm_smmu_setup_msis(struct arm_smmu_device *smmu) - devm_add_action(dev, arm_smmu_free_msis, dev); - } - -+static int get_irq_flags(struct arm_smmu_device *smmu, int irq) -+{ -+ int match_count = 0; -+ -+ if (irq == smmu->evtq.q.irq) -+ match_count++; -+ if (irq == smmu->cmdq.q.irq) -+ match_count++; -+ if (irq == smmu->gerr_irq) -+ match_count++; -+ if (irq == smmu->priq.q.irq) -+ match_count++; -+ -+ if (match_count > 1) -+ return IRQF_SHARED | IRQF_ONESHOT; -+ -+ return IRQF_ONESHOT; -+} -+ - static int arm_smmu_setup_irqs(struct arm_smmu_device *smmu) - { - int ret, irq; -@@ -2250,7 +2269,7 @@ static int arm_smmu_setup_irqs(struct arm_smmu_device *smmu) - if (irq) { - ret = devm_request_threaded_irq(smmu->dev, irq, NULL, - arm_smmu_evtq_thread, -- IRQF_ONESHOT, -+ get_irq_flags(smmu, irq), - "arm-smmu-v3-evtq", smmu); - if (ret < 0) - dev_warn(smmu->dev, "failed to enable evtq irq\n"); -@@ -2259,7 +2278,8 @@ static int arm_smmu_setup_irqs(struct arm_smmu_device *smmu) - irq = smmu->cmdq.q.irq; - if (irq) { - ret = devm_request_irq(smmu->dev, irq, -- arm_smmu_cmdq_sync_handler, 0, -+ arm_smmu_cmdq_sync_handler, -+ get_irq_flags(smmu, irq), - "arm-smmu-v3-cmdq-sync", smmu); - if (ret < 0) - dev_warn(smmu->dev, "failed to enable cmdq-sync irq\n"); -@@ -2268,7 +2288,8 @@ static int arm_smmu_setup_irqs(struct arm_smmu_device *smmu) - irq = smmu->gerr_irq; - if (irq) { - ret = devm_request_irq(smmu->dev, irq, arm_smmu_gerror_handler, -- 0, "arm-smmu-v3-gerror", smmu); -+ get_irq_flags(smmu, irq), -+ "arm-smmu-v3-gerror", smmu); - if (ret < 0) - dev_warn(smmu->dev, "failed to enable gerror irq\n"); - } -@@ -2278,7 +2299,7 @@ static int arm_smmu_setup_irqs(struct arm_smmu_device *smmu) - if (irq) { - ret = devm_request_threaded_irq(smmu->dev, irq, NULL, - arm_smmu_priq_thread, -- IRQF_ONESHOT, -+ get_irq_flags(smmu, irq), - "arm-smmu-v3-priq", - smmu); - if (ret < 0) --- -2.11.0 - -From 929f539998cfb83834e890fd7781ddcfc327c109 Mon Sep 17 00:00:00 2001 -From: Robert Richter <rrichter@cavium.com> -Date: Wed, 12 Apr 2017 10:31:15 +0200 -Subject: [PATCH 34/41] iommu/arm-smmu, ACPI: Enable Cavium SMMU-v3 - -In next IORT spec release there will be a definition of a Cavium -specific model. Until then, enable the Cavium SMMU using cpu id -registers. Early silicon versions (A1) of Cavium's CN99xx SMMUv3 -implementation must be enabled. For later silicon versions (B0) the -iort change will be in place. - -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/acpi/arm64/iort.c | 13 ++++++++++++- - drivers/iommu/arm-smmu-v3.c | 19 +++++++++++++++++++ - 2 files changed, 31 insertions(+), 1 deletion(-) - -diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c -index 9fd2f1d31a27..3f5f892037eb 100644 ---- a/drivers/acpi/arm64/iort.c -+++ b/drivers/acpi/arm64/iort.c -@@ -26,6 +26,8 @@ - #include <linux/platform_device.h> - #include <linux/slab.h> - -+#include <asm/cputype.h> -+ - #define IORT_TYPE_MASK(type) (1 << (type)) - #define IORT_MSI_TYPE (1 << ACPI_IORT_NODE_ITS_GROUP) - #define IORT_IOMMU_TYPE ((1 << ACPI_IORT_NODE_SMMU) | \ -@@ -664,6 +666,14 @@ static int __init arm_smmu_v3_count_resources(struct acpi_iort_node *node) - return num_res; - } - -+static bool is_cavium_cn99xx_smmu_v3(void) -+{ -+ u32 cpu_model = read_cpuid_id() & MIDR_CPU_MODEL_MASK; -+ -+ return cpu_model == MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, -+ BRCM_CPU_PART_VULCAN); -+} -+ - static void __init arm_smmu_v3_init_resources(struct resource *res, - struct acpi_iort_node *node) - { -@@ -678,7 +688,8 @@ static void __init arm_smmu_v3_init_resources(struct resource *res, - * Override the size, for Cavium ThunderX2 implementation - * which doesn't support the page 1 SMMU register space. - */ -- if (smmu->model == ACPI_IORT_SMMU_CAVIUM_CN99XX) -+ if (smmu->model == ACPI_IORT_SMMU_CAVIUM_CN99XX || -+ is_cavium_cn99xx_smmu_v3()) - size = SZ_64K; - - res[num_res].start = smmu->base_address; -diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c -index 2fc067f3e199..de9774073a00 100644 ---- a/drivers/iommu/arm-smmu-v3.c -+++ b/drivers/iommu/arm-smmu-v3.c -@@ -39,6 +39,8 @@ - - #include <linux/amba/bus.h> - -+#include <asm/cputype.h> -+ - #include "io-pgtable.h" - - /* MMIO registers */ -@@ -2640,11 +2642,28 @@ static int arm_smmu_device_hw_probe(struct arm_smmu_device *smmu) - } - - #ifdef CONFIG_ACPI -+ -+static void acpi_smmu_enable_cavium(struct arm_smmu_device *smmu) -+{ -+ u32 cpu_model; -+ -+ if (!IS_ENABLED(CONFIG_ARM64)) -+ return; -+ -+ cpu_model = read_cpuid_id() & MIDR_CPU_MODEL_MASK; -+ if (cpu_model != MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, BRCM_CPU_PART_VULCAN)) -+ return; -+ -+ smmu->options |= ARM_SMMU_OPT_PAGE0_REGS_ONLY; -+} -+ - static void acpi_smmu_get_options(u32 model, struct arm_smmu_device *smmu) - { - if (model == ACPI_IORT_SMMU_CAVIUM_CN99XX) - smmu->options |= ARM_SMMU_OPT_PAGE0_REGS_ONLY; - -+ acpi_smmu_enable_cavium(smmu); -+ - dev_notice(smmu->dev, "option mask 0x%x\n", smmu->options); - } - --- -2.11.0 - -From 8e59a6a91bf2988fb9cbc21d481f5e2b88af8140 Mon Sep 17 00:00:00 2001 -From: Sunil Goutham <sgoutham@cavium.com> -Date: Fri, 5 May 2017 16:47:46 +0530 -Subject: iommu/arm-smmu-v3: Increase CMDQ drain timeout value - -Waiting for a CMD_SYNC to be processed involves waiting for the command -queue to drain, which can take an awful lot longer than waiting for a -single entry to become available. Consequently, the common timeout value -of 100us has been observed to be too short on some platforms when a -CMD_SYNC is issued into a queued full of TLBI commands. - -This patch resolves the issue by using a different (1s) timeout when -waiting for the CMDQ to drain and using a simple back-off mechanism -when polling the cons pointer in the absence of WFE support. - -Signed-off-by: Sunil Goutham <sgoutham@cavium.com> -[will: rewrote commit message and cosmetic changes] -Signed-off-by: Will Deacon <will.deacon@arm.com> ---- - drivers/iommu/arm-smmu-v3.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c -index 380969a..6a06be7 100644 ---- a/drivers/iommu/arm-smmu-v3.c -+++ b/drivers/iommu/arm-smmu-v3.c -@@ -408,6 +408,7 @@ - - /* High-level queue structures */ - #define ARM_SMMU_POLL_TIMEOUT_US 100 -+#define ARM_SMMU_CMDQ_DRAIN_TIMEOUT_US 1000000 /* 1s! */ - - #define MSI_IOVA_BASE 0x8000000 - #define MSI_IOVA_LENGTH 0x100000 -@@ -737,7 +738,13 @@ static void queue_inc_prod(struct arm_smmu_queue *q) - */ - static int queue_poll_cons(struct arm_smmu_queue *q, bool drain, bool wfe) - { -- ktime_t timeout = ktime_add_us(ktime_get(), ARM_SMMU_POLL_TIMEOUT_US); -+ ktime_t timeout; -+ unsigned int delay = 1; -+ -+ /* Wait longer if it's queue drain */ -+ timeout = ktime_add_us(ktime_get(), drain ? -+ ARM_SMMU_CMDQ_DRAIN_TIMEOUT_US : -+ ARM_SMMU_POLL_TIMEOUT_US); - - while (queue_sync_cons(q), (drain ? !queue_empty(q) : queue_full(q))) { - if (ktime_compare(ktime_get(), timeout) > 0) -@@ -747,7 +754,8 @@ static int queue_poll_cons(struct arm_smmu_queue *q, bool drain, bool wfe) - wfe(); - } else { - cpu_relax(); -- udelay(1); -+ udelay(delay); -+ delay *= 2; - } - } - --- -cgit v1.1 - -From 2e92581ecd713010e9c65ba9a90f1f7557afbe95 Mon Sep 17 00:00:00 2001 -From: Manish Jaggi <mjaggi@caviumnetworks.com> -Date: Thu, 30 Mar 2017 18:47:14 -0500 -Subject: [PATCH 36/41] PCI: Apply Cavium ACS quirk only to - CN81xx/CN83xx/CN88xx devices - -Only apply the Cavium ACS quirk to devices with ID in the range -0xa000-0xa0ff. These are the on-chip PCI devices for CN81xx/CN83xx/CN88xx. - -Fixes: b404bcfbf035 ("PCI: Add ACS quirk for all Cavium devices") -Reported-by: Alex Williamson <alex.williamson@redhat.com> -Signed-off-by: Manish Jaggi <mjaggi@cavium.com> -Acked-by: David Daney <david.daney@cavium.com> -Acked-by: Alex Williamson <alex.williamson@redhat.com> -(cherry picked from commit b77d537d00d08fcf0bf641cd3491dd7df0ad1475) -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/pci/quirks.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 0966a22eae13..f606916bc685 100644 ---- a/drivers/pci/quirks.c -+++ b/drivers/pci/quirks.c -@@ -4133,6 +4133,9 @@ static int pci_quirk_cavium_acs(struct pci_dev *dev, u16 acs_flags) - acs_flags &= ~(PCI_ACS_SV | PCI_ACS_TB | PCI_ACS_RR | - PCI_ACS_CR | PCI_ACS_UF | PCI_ACS_DT); - -+ if (!((dev->device >= 0xa000) && (dev->device <= 0xa0ff))) -+ return -ENOTTY; -+ - return acs_flags ? 0 : 1; - } - --- -2.11.0 - diff --git a/arm64-hikey-fixes.patch b/arm64-hikey-fixes.patch deleted file mode 100644 index 18bc05b2b..000000000 --- a/arm64-hikey-fixes.patch +++ /dev/null @@ -1,77 +0,0 @@ -From patchwork Sat Apr 8 07:18:40 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: reset: hi6220: Set module license so that it can be loaded -From: Jeremy Linton <lintonrjeremy@gmail.com> -X-Patchwork-Id: 9670985 -Message-Id: <20170408071840.29380-1-lintonrjeremy@gmail.com> -To: linux-kernel@vger.kernel.org -Cc: p.zabel@pengutronix.de, saberlily.xia@hisilicon.com, - puck.chen@hisilicon.com, xinliang.liu@linaro.org, - Jeremy Linton <lintonrjeremy@gmail.com> -Date: Sat, 8 Apr 2017 02:18:40 -0500 - -The hi6220_reset driver can be built as a standalone module -yet it cannot be loaded because it depends on GPL exported symbols. - -Lets set the module license so that the module loads, and things like -the on-board kirin drm starts working. - -Signed-off-by: Jeremy Linton <lintonrjeremy@gmail.com> -reviewed-by: Xinliang Liu <xinliang.liu@linaro.org> ---- - drivers/reset/hisilicon/hi6220_reset.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/reset/hisilicon/hi6220_reset.c b/drivers/reset/hisilicon/hi6220_reset.c -index 35ce53e..d5e5229 100644 ---- a/drivers/reset/hisilicon/hi6220_reset.c -+++ b/drivers/reset/hisilicon/hi6220_reset.c -@@ -155,3 +155,5 @@ static int __init hi6220_reset_init(void) - } - - postcore_initcall(hi6220_reset_init); -+ -+MODULE_LICENSE("GPL v2"); -From patchwork Mon Apr 3 05:28:42 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,1/2] regulator: hi655x: Describe consumed platform device -From: Jeremy Linton <lintonrjeremy@gmail.com> -X-Patchwork-Id: 9658793 -Message-Id: <20170403052843.12711-2-lintonrjeremy@gmail.com> -To: linux-kernel@vger.kernel.org -Cc: broonie@kernel.org, lgirdwood@gmail.com, puck.chen@hisilicon.com, - lee.jones@linaro.org, Jeremy Linton <lintonrjeremy@gmail.com> -Date: Mon, 3 Apr 2017 00:28:42 -0500 - -The hi655x-regulator driver consumes a similarly named platform device. -Adding that to the module device table, allows modprobe to locate this -driver once the device is created. - -Signed-off-by: Jeremy Linton <lintonrjeremy@gmail.com> ---- - drivers/regulator/hi655x-regulator.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/drivers/regulator/hi655x-regulator.c b/drivers/regulator/hi655x-regulator.c -index 065c100..36ae54b 100644 ---- a/drivers/regulator/hi655x-regulator.c -+++ b/drivers/regulator/hi655x-regulator.c -@@ -214,7 +214,14 @@ static int hi655x_regulator_probe(struct platform_device *pdev) - return 0; - } - -+static const struct platform_device_id hi655x_regulator_table[] = { -+ { .name = "hi655x-regulator" }, -+ {}, -+}; -+MODULE_DEVICE_TABLE(platform, hi655x_regulator_table); -+ - static struct platform_driver hi655x_regulator_driver = { -+ .id_table = hi655x_regulator_table, - .driver = { - .name = "hi655x-regulator", - }, diff --git a/baseconfig/CONFIG_ADXL345_I2C b/baseconfig/CONFIG_ADXL345_I2C new file mode 100644 index 000000000..f6976b836 --- /dev/null +++ b/baseconfig/CONFIG_ADXL345_I2C @@ -0,0 +1 @@ +# CONFIG_ADXL345_I2C is not set diff --git a/baseconfig/CONFIG_ADXL345_SPI b/baseconfig/CONFIG_ADXL345_SPI new file mode 100644 index 000000000..186ab0d3a --- /dev/null +++ b/baseconfig/CONFIG_ADXL345_SPI @@ -0,0 +1 @@ +# CONFIG_ADXL345_SPI is not set diff --git a/baseconfig/CONFIG_ARM64_ERRATUM_858921 b/baseconfig/CONFIG_ARM64_ERRATUM_858921 new file mode 100644 index 000000000..055a6880c --- /dev/null +++ b/baseconfig/CONFIG_ARM64_ERRATUM_858921 @@ -0,0 +1 @@ +CONFIG_ARM64_ERRATUM_858921=y diff --git a/baseconfig/CONFIG_BACKLIGHT_ARCXCNN b/baseconfig/CONFIG_BACKLIGHT_ARCXCNN new file mode 100644 index 000000000..49161963d --- /dev/null +++ b/baseconfig/CONFIG_BACKLIGHT_ARCXCNN @@ -0,0 +1 @@ +CONFIG_BACKLIGHT_ARCXCNN=m diff --git a/baseconfig/CONFIG_BATTERY_LEGO_EV3 b/baseconfig/CONFIG_BATTERY_LEGO_EV3 new file mode 100644 index 000000000..3305bd311 --- /dev/null +++ b/baseconfig/CONFIG_BATTERY_LEGO_EV3 @@ -0,0 +1 @@ +# CONFIG_BATTERY_LEGO_EV3 is not set diff --git a/baseconfig/CONFIG_BCM_FLEXRM_MBOX b/baseconfig/CONFIG_BCM_FLEXRM_MBOX new file mode 100644 index 000000000..b47d4f392 --- /dev/null +++ b/baseconfig/CONFIG_BCM_FLEXRM_MBOX @@ -0,0 +1 @@ +# CONFIG_BCM_FLEXRM_MBOX is not set diff --git a/baseconfig/CONFIG_BFQ_GROUP_IOSCHED b/baseconfig/CONFIG_BFQ_GROUP_IOSCHED new file mode 100644 index 000000000..731981ca3 --- /dev/null +++ b/baseconfig/CONFIG_BFQ_GROUP_IOSCHED @@ -0,0 +1 @@ +CONFIG_BFQ_GROUP_IOSCHED=y diff --git a/baseconfig/CONFIG_BLK_DEV_HD b/baseconfig/CONFIG_BLK_DEV_HD deleted file mode 100644 index 9155aa284..000000000 --- a/baseconfig/CONFIG_BLK_DEV_HD +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_BLK_DEV_HD is not set diff --git a/baseconfig/CONFIG_BLK_DEV_THROTTLING_LOW b/baseconfig/CONFIG_BLK_DEV_THROTTLING_LOW new file mode 100644 index 000000000..802bc55b4 --- /dev/null +++ b/baseconfig/CONFIG_BLK_DEV_THROTTLING_LOW @@ -0,0 +1 @@ +# CONFIG_BLK_DEV_THROTTLING_LOW is not set diff --git a/baseconfig/CONFIG_BT_HCIUART_SERDEV b/baseconfig/CONFIG_BT_HCIUART_SERDEV new file mode 100644 index 000000000..0b0ef5abd --- /dev/null +++ b/baseconfig/CONFIG_BT_HCIUART_SERDEV @@ -0,0 +1 @@ +CONFIG_BT_HCIUART_SERDEV=y diff --git a/baseconfig/CONFIG_CAN_HI311X b/baseconfig/CONFIG_CAN_HI311X new file mode 100644 index 000000000..a775c67f7 --- /dev/null +++ b/baseconfig/CONFIG_CAN_HI311X @@ -0,0 +1 @@ +CONFIG_CAN_HI311X=m diff --git a/baseconfig/CONFIG_CAN_MCBA_USB b/baseconfig/CONFIG_CAN_MCBA_USB new file mode 100644 index 000000000..9a21b3bcb --- /dev/null +++ b/baseconfig/CONFIG_CAN_MCBA_USB @@ -0,0 +1 @@ +CONFIG_CAN_MCBA_USB=m diff --git a/baseconfig/CONFIG_CAN_PEAK_PCIEFD b/baseconfig/CONFIG_CAN_PEAK_PCIEFD new file mode 100644 index 000000000..3a388b984 --- /dev/null +++ b/baseconfig/CONFIG_CAN_PEAK_PCIEFD @@ -0,0 +1 @@ +CONFIG_CAN_PEAK_PCIEFD=m diff --git a/baseconfig/CONFIG_CAN_VXCAN b/baseconfig/CONFIG_CAN_VXCAN new file mode 100644 index 000000000..a6e002cff --- /dev/null +++ b/baseconfig/CONFIG_CAN_VXCAN @@ -0,0 +1 @@ +CONFIG_CAN_VXCAN=m diff --git a/baseconfig/CONFIG_CEC_PLATFORM_DRIVERS b/baseconfig/CONFIG_CEC_PLATFORM_DRIVERS new file mode 100644 index 000000000..07bd8e955 --- /dev/null +++ b/baseconfig/CONFIG_CEC_PLATFORM_DRIVERS @@ -0,0 +1 @@ +CONFIG_CEC_PLATFORM_DRIVERS=y diff --git a/baseconfig/arm/CONFIG_COMMON_CLK_SI570 b/baseconfig/CONFIG_COMMON_CLK_SI570 index aa746413a..aa746413a 100644 --- a/baseconfig/arm/CONFIG_COMMON_CLK_SI570 +++ b/baseconfig/CONFIG_COMMON_CLK_SI570 diff --git a/baseconfig/CONFIG_CRYPTO_DEV_CCREE b/baseconfig/CONFIG_CRYPTO_DEV_CCREE new file mode 100644 index 000000000..fe4fcee59 --- /dev/null +++ b/baseconfig/CONFIG_CRYPTO_DEV_CCREE @@ -0,0 +1 @@ +# CONFIG_CRYPTO_DEV_CCREE is not set diff --git a/baseconfig/CONFIG_CRYPTO_DH b/baseconfig/CONFIG_CRYPTO_DH index ea06ab3c2..c92378433 100644 --- a/baseconfig/CONFIG_CRYPTO_DH +++ b/baseconfig/CONFIG_CRYPTO_DH @@ -1 +1 @@ -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y diff --git a/baseconfig/CONFIG_DM_INTEGRITY b/baseconfig/CONFIG_DM_INTEGRITY new file mode 100644 index 000000000..ee953fd2d --- /dev/null +++ b/baseconfig/CONFIG_DM_INTEGRITY @@ -0,0 +1 @@ +CONFIG_DM_INTEGRITY=m diff --git a/baseconfig/CONFIG_DRM_DW_HDMI_AHB_AUDIO b/baseconfig/CONFIG_DRM_DW_HDMI_AHB_AUDIO new file mode 100644 index 000000000..5c276f1dc --- /dev/null +++ b/baseconfig/CONFIG_DRM_DW_HDMI_AHB_AUDIO @@ -0,0 +1 @@ +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set diff --git a/baseconfig/CONFIG_DRM_DW_HDMI_I2S_AUDIO b/baseconfig/CONFIG_DRM_DW_HDMI_I2S_AUDIO index 34ecaf242..d1f777db4 100644 --- a/baseconfig/CONFIG_DRM_DW_HDMI_I2S_AUDIO +++ b/baseconfig/CONFIG_DRM_DW_HDMI_I2S_AUDIO @@ -1 +1 @@ -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set diff --git a/baseconfig/CONFIG_DRM_FBDEV_OVERALLOC b/baseconfig/CONFIG_DRM_FBDEV_OVERALLOC new file mode 100644 index 000000000..32e5c4520 --- /dev/null +++ b/baseconfig/CONFIG_DRM_FBDEV_OVERALLOC @@ -0,0 +1 @@ +CONFIG_DRM_FBDEV_OVERALLOC=100 diff --git a/baseconfig/CONFIG_DRM_LVDS_ENCODER b/baseconfig/CONFIG_DRM_LVDS_ENCODER new file mode 100644 index 000000000..e2ea277b3 --- /dev/null +++ b/baseconfig/CONFIG_DRM_LVDS_ENCODER @@ -0,0 +1 @@ +# CONFIG_DRM_LVDS_ENCODER is not set diff --git a/baseconfig/CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW b/baseconfig/CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW new file mode 100644 index 000000000..7aa3826f4 --- /dev/null +++ b/baseconfig/CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW @@ -0,0 +1 @@ +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set diff --git a/baseconfig/x86/CONFIG_DRM_PANEL_LG_LG4573 b/baseconfig/CONFIG_DRM_PANEL_LG_LG4573 index 35ecd6eba..35ecd6eba 100644 --- a/baseconfig/x86/CONFIG_DRM_PANEL_LG_LG4573 +++ b/baseconfig/CONFIG_DRM_PANEL_LG_LG4573 diff --git a/baseconfig/CONFIG_DRM_PANEL_LVDS b/baseconfig/CONFIG_DRM_PANEL_LVDS new file mode 100644 index 000000000..af4bf6e01 --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_LVDS @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_LVDS is not set diff --git a/baseconfig/x86/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 b/baseconfig/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 index 5b25d7565..5b25d7565 100644 --- a/baseconfig/x86/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 +++ b/baseconfig/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 diff --git a/baseconfig/x86/CONFIG_DRM_PANEL_SAMSUNG_LD9040 b/baseconfig/CONFIG_DRM_PANEL_SAMSUNG_LD9040 index 8aae09888..8aae09888 100644 --- a/baseconfig/x86/CONFIG_DRM_PANEL_SAMSUNG_LD9040 +++ b/baseconfig/CONFIG_DRM_PANEL_SAMSUNG_LD9040 diff --git a/baseconfig/CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 b/baseconfig/CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 new file mode 100644 index 000000000..8cb5243d1 --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set diff --git a/baseconfig/x86/i686/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 b/baseconfig/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 index 9d584f6ab..9d584f6ab 100644 --- a/baseconfig/x86/i686/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 +++ b/baseconfig/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 diff --git a/baseconfig/x86/i686/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 b/baseconfig/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 index 64dedb057..64dedb057 100644 --- a/baseconfig/x86/i686/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 +++ b/baseconfig/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 diff --git a/baseconfig/CONFIG_DRM_PANEL_SITRONIX_ST7789V b/baseconfig/CONFIG_DRM_PANEL_SITRONIX_ST7789V new file mode 100644 index 000000000..712cb79a7 --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_SITRONIX_ST7789V @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set diff --git a/baseconfig/CONFIG_DRM_RCAR_DW_HDMI b/baseconfig/CONFIG_DRM_RCAR_DW_HDMI new file mode 100644 index 000000000..d3dace0e8 --- /dev/null +++ b/baseconfig/CONFIG_DRM_RCAR_DW_HDMI @@ -0,0 +1 @@ +# CONFIG_DRM_RCAR_DW_HDMI is not set diff --git a/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC b/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC new file mode 100644 index 000000000..47e8f4090 --- /dev/null +++ b/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC @@ -0,0 +1 @@ +CONFIG_EARLY_PRINTK_USB_XDBC=y diff --git a/baseconfig/CONFIG_EDAC_GHES b/baseconfig/CONFIG_EDAC_GHES new file mode 100644 index 000000000..e68c7c4c2 --- /dev/null +++ b/baseconfig/CONFIG_EDAC_GHES @@ -0,0 +1 @@ +CONFIG_EDAC_GHES=y diff --git a/baseconfig/CONFIG_EDAC_MM_EDAC b/baseconfig/CONFIG_EDAC_MM_EDAC deleted file mode 100644 index 5f7fa223a..000000000 --- a/baseconfig/CONFIG_EDAC_MM_EDAC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_EDAC_MM_EDAC=m diff --git a/baseconfig/CONFIG_GPIO_FTGPIO010 b/baseconfig/CONFIG_GPIO_FTGPIO010 new file mode 100644 index 000000000..3a1fb41ea --- /dev/null +++ b/baseconfig/CONFIG_GPIO_FTGPIO010 @@ -0,0 +1 @@ +# CONFIG_GPIO_FTGPIO010 is not set diff --git a/baseconfig/CONFIG_HD44780 b/baseconfig/CONFIG_HD44780 new file mode 100644 index 000000000..22e6cf3b3 --- /dev/null +++ b/baseconfig/CONFIG_HD44780 @@ -0,0 +1 @@ +CONFIG_HD44780=m diff --git a/baseconfig/CONFIG_HID_ACCUTOUCH b/baseconfig/CONFIG_HID_ACCUTOUCH new file mode 100644 index 000000000..7b8010de1 --- /dev/null +++ b/baseconfig/CONFIG_HID_ACCUTOUCH @@ -0,0 +1 @@ +CONFIG_HID_ACCUTOUCH=m diff --git a/baseconfig/CONFIG_HID_NTI b/baseconfig/CONFIG_HID_NTI new file mode 100644 index 000000000..c239c7052 --- /dev/null +++ b/baseconfig/CONFIG_HID_NTI @@ -0,0 +1 @@ +CONFIG_HID_NTI=m diff --git a/baseconfig/CONFIG_HID_SENSOR_HUMIDITY b/baseconfig/CONFIG_HID_SENSOR_HUMIDITY new file mode 100644 index 000000000..d50f5014a --- /dev/null +++ b/baseconfig/CONFIG_HID_SENSOR_HUMIDITY @@ -0,0 +1 @@ +CONFIG_HID_SENSOR_HUMIDITY=m diff --git a/baseconfig/CONFIG_HID_SENSOR_TEMP b/baseconfig/CONFIG_HID_SENSOR_TEMP new file mode 100644 index 000000000..6f1a98bc0 --- /dev/null +++ b/baseconfig/CONFIG_HID_SENSOR_TEMP @@ -0,0 +1 @@ +CONFIG_HID_SENSOR_TEMP=m diff --git a/baseconfig/CONFIG_I2C_MUX_LTC4306 b/baseconfig/CONFIG_I2C_MUX_LTC4306 new file mode 100644 index 000000000..f7c16456c --- /dev/null +++ b/baseconfig/CONFIG_I2C_MUX_LTC4306 @@ -0,0 +1 @@ +CONFIG_I2C_MUX_LTC4306=m diff --git a/baseconfig/CONFIG_IEEE802154_CA8210 b/baseconfig/CONFIG_IEEE802154_CA8210 new file mode 100644 index 000000000..d4a2158a3 --- /dev/null +++ b/baseconfig/CONFIG_IEEE802154_CA8210 @@ -0,0 +1 @@ +CONFIG_IEEE802154_CA8210=m diff --git a/baseconfig/CONFIG_IEEE802154_CA8210_DEBUGFS b/baseconfig/CONFIG_IEEE802154_CA8210_DEBUGFS new file mode 100644 index 000000000..e919384b7 --- /dev/null +++ b/baseconfig/CONFIG_IEEE802154_CA8210_DEBUGFS @@ -0,0 +1 @@ +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set diff --git a/baseconfig/CONFIG_INPUT_MPU3050 b/baseconfig/CONFIG_INPUT_MPU3050 deleted file mode 100644 index 7c1afe068..000000000 --- a/baseconfig/CONFIG_INPUT_MPU3050 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_INPUT_MPU3050=m diff --git a/baseconfig/CONFIG_IOSCHED_BFQ b/baseconfig/CONFIG_IOSCHED_BFQ new file mode 100644 index 000000000..3023fb0b5 --- /dev/null +++ b/baseconfig/CONFIG_IOSCHED_BFQ @@ -0,0 +1 @@ +CONFIG_IOSCHED_BFQ=m diff --git a/baseconfig/CONFIG_IR_SIR b/baseconfig/CONFIG_IR_SIR new file mode 100644 index 000000000..34ff7a809 --- /dev/null +++ b/baseconfig/CONFIG_IR_SIR @@ -0,0 +1 @@ +CONFIG_IR_SIR=m diff --git a/baseconfig/CONFIG_JOYSTICK_PSXPAD_SPI b/baseconfig/CONFIG_JOYSTICK_PSXPAD_SPI new file mode 100644 index 000000000..d66d2b113 --- /dev/null +++ b/baseconfig/CONFIG_JOYSTICK_PSXPAD_SPI @@ -0,0 +1 @@ +CONFIG_JOYSTICK_PSXPAD_SPI=m diff --git a/baseconfig/CONFIG_JOYSTICK_PSXPAD_SPI_FF b/baseconfig/CONFIG_JOYSTICK_PSXPAD_SPI_FF new file mode 100644 index 000000000..c534b358b --- /dev/null +++ b/baseconfig/CONFIG_JOYSTICK_PSXPAD_SPI_FF @@ -0,0 +1 @@ +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y diff --git a/baseconfig/CONFIG_LEDS_DELL_NETBOOKS b/baseconfig/CONFIG_LEDS_DELL_NETBOOKS deleted file mode 100644 index 45f9aee48..000000000 --- a/baseconfig/CONFIG_LEDS_DELL_NETBOOKS +++ /dev/null @@ -1 +0,0 @@ -CONFIG_LEDS_DELL_NETBOOKS=m diff --git a/baseconfig/CONFIG_LIRC_SASEM b/baseconfig/CONFIG_LIRC_SASEM deleted file mode 100644 index 4bfc392e8..000000000 --- a/baseconfig/CONFIG_LIRC_SASEM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_LIRC_SASEM=m diff --git a/baseconfig/CONFIG_LOAD_UEFI_KEYS b/baseconfig/CONFIG_LOAD_UEFI_KEYS new file mode 100644 index 000000000..de1de5c25 --- /dev/null +++ b/baseconfig/CONFIG_LOAD_UEFI_KEYS @@ -0,0 +1 @@ +# CONFIG_LOAD_UEFI_KEYS is not set diff --git a/baseconfig/CONFIG_LTC2497 b/baseconfig/CONFIG_LTC2497 new file mode 100644 index 000000000..312f3db17 --- /dev/null +++ b/baseconfig/CONFIG_LTC2497 @@ -0,0 +1 @@ +# CONFIG_LTC2497 is not set diff --git a/baseconfig/CONFIG_LTC2632 b/baseconfig/CONFIG_LTC2632 new file mode 100644 index 000000000..8bc2b8bc4 --- /dev/null +++ b/baseconfig/CONFIG_LTC2632 @@ -0,0 +1 @@ +# CONFIG_LTC2632 is not set diff --git a/baseconfig/CONFIG_MAX1118 b/baseconfig/CONFIG_MAX1118 new file mode 100644 index 000000000..615bda2e2 --- /dev/null +++ b/baseconfig/CONFIG_MAX1118 @@ -0,0 +1 @@ +# CONFIG_MAX1118 is not set diff --git a/baseconfig/CONFIG_MAX30102 b/baseconfig/CONFIG_MAX30102 new file mode 100644 index 000000000..5b4aacf3d --- /dev/null +++ b/baseconfig/CONFIG_MAX30102 @@ -0,0 +1 @@ +# CONFIG_MAX30102 is not set diff --git a/baseconfig/CONFIG_MAX9611 b/baseconfig/CONFIG_MAX9611 new file mode 100644 index 000000000..1cbc674e0 --- /dev/null +++ b/baseconfig/CONFIG_MAX9611 @@ -0,0 +1 @@ +# CONFIG_MAX9611 is not set diff --git a/baseconfig/CONFIG_MEDIA_CEC_RC b/baseconfig/CONFIG_MEDIA_CEC_RC new file mode 100644 index 000000000..1531c4b09 --- /dev/null +++ b/baseconfig/CONFIG_MEDIA_CEC_RC @@ -0,0 +1 @@ +CONFIG_MEDIA_CEC_RC=y diff --git a/baseconfig/CONFIG_MFD_CPCAP b/baseconfig/CONFIG_MFD_CPCAP index acf5bd3fe..0f0408181 100644 --- a/baseconfig/CONFIG_MFD_CPCAP +++ b/baseconfig/CONFIG_MFD_CPCAP @@ -1 +1 @@ -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set diff --git a/baseconfig/CONFIG_MFD_EXYNOS_LPASS b/baseconfig/CONFIG_MFD_EXYNOS_LPASS deleted file mode 100644 index d733b0518..000000000 --- a/baseconfig/CONFIG_MFD_EXYNOS_LPASS +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MFD_EXYNOS_LPASS is not set diff --git a/baseconfig/CONFIG_MFD_TI_LMU b/baseconfig/CONFIG_MFD_TI_LMU new file mode 100644 index 000000000..4a84e3fd0 --- /dev/null +++ b/baseconfig/CONFIG_MFD_TI_LMU @@ -0,0 +1 @@ +# CONFIG_MFD_TI_LMU is not set diff --git a/baseconfig/CONFIG_MLX5_CORE_IPOIB b/baseconfig/CONFIG_MLX5_CORE_IPOIB new file mode 100644 index 000000000..d78d82d65 --- /dev/null +++ b/baseconfig/CONFIG_MLX5_CORE_IPOIB @@ -0,0 +1 @@ +CONFIG_MLX5_CORE_IPOIB=y diff --git a/baseconfig/CONFIG_MMC_SDHCI_XENON b/baseconfig/CONFIG_MMC_SDHCI_XENON new file mode 100644 index 000000000..7ced7b045 --- /dev/null +++ b/baseconfig/CONFIG_MMC_SDHCI_XENON @@ -0,0 +1 @@ +CONFIG_MMC_SDHCI_XENON=m diff --git a/baseconfig/CONFIG_MODULE_SIG_UEFI b/baseconfig/CONFIG_MODULE_SIG_UEFI deleted file mode 100644 index e4fb898f7..000000000 --- a/baseconfig/CONFIG_MODULE_SIG_UEFI +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MODULE_SIG_UEFI is not set diff --git a/baseconfig/CONFIG_MPU3050_I2C b/baseconfig/CONFIG_MPU3050_I2C index 92e6cbf51..2e9c7cc45 100644 --- a/baseconfig/CONFIG_MPU3050_I2C +++ b/baseconfig/CONFIG_MPU3050_I2C @@ -1 +1 @@ -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m diff --git a/baseconfig/CONFIG_MQ_IOSCHED_KYBER b/baseconfig/CONFIG_MQ_IOSCHED_KYBER new file mode 100644 index 000000000..939264da2 --- /dev/null +++ b/baseconfig/CONFIG_MQ_IOSCHED_KYBER @@ -0,0 +1 @@ +CONFIG_MQ_IOSCHED_KYBER=m diff --git a/baseconfig/CONFIG_NET_9P_XEN b/baseconfig/CONFIG_NET_9P_XEN new file mode 100644 index 000000000..d2565ede3 --- /dev/null +++ b/baseconfig/CONFIG_NET_9P_XEN @@ -0,0 +1 @@ +CONFIG_NET_9P_XEN=m diff --git a/baseconfig/CONFIG_NET_DSA_LOOP b/baseconfig/CONFIG_NET_DSA_LOOP new file mode 100644 index 000000000..08b25de7c --- /dev/null +++ b/baseconfig/CONFIG_NET_DSA_LOOP @@ -0,0 +1 @@ +CONFIG_NET_DSA_LOOP=m diff --git a/baseconfig/CONFIG_NET_DSA_MT7530 b/baseconfig/CONFIG_NET_DSA_MT7530 new file mode 100644 index 000000000..722095c89 --- /dev/null +++ b/baseconfig/CONFIG_NET_DSA_MT7530 @@ -0,0 +1 @@ +CONFIG_NET_DSA_MT7530=m diff --git a/baseconfig/CONFIG_NET_DSA_SMSC_LAN9303_I2C b/baseconfig/CONFIG_NET_DSA_SMSC_LAN9303_I2C new file mode 100644 index 000000000..7c738fff2 --- /dev/null +++ b/baseconfig/CONFIG_NET_DSA_SMSC_LAN9303_I2C @@ -0,0 +1 @@ +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m diff --git a/baseconfig/CONFIG_NET_DSA_SMSC_LAN9303_MDIO b/baseconfig/CONFIG_NET_DSA_SMSC_LAN9303_MDIO new file mode 100644 index 000000000..d7f1987e2 --- /dev/null +++ b/baseconfig/CONFIG_NET_DSA_SMSC_LAN9303_MDIO @@ -0,0 +1 @@ +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m diff --git a/baseconfig/CONFIG_NET_SCH_DEFAULT b/baseconfig/CONFIG_NET_SCH_DEFAULT new file mode 100644 index 000000000..a4c53d281 --- /dev/null +++ b/baseconfig/CONFIG_NET_SCH_DEFAULT @@ -0,0 +1 @@ +# CONFIG_NET_SCH_DEFAULT is not set diff --git a/baseconfig/powerpc/CONFIG_NR_DEV_DAX b/baseconfig/CONFIG_NR_DEV_DAX index 3fd0f86b1..3fd0f86b1 100644 --- a/baseconfig/powerpc/CONFIG_NR_DEV_DAX +++ b/baseconfig/CONFIG_NR_DEV_DAX diff --git a/baseconfig/CONFIG_PCI_ENDPOINT b/baseconfig/CONFIG_PCI_ENDPOINT new file mode 100644 index 000000000..d90e2a4f7 --- /dev/null +++ b/baseconfig/CONFIG_PCI_ENDPOINT @@ -0,0 +1 @@ +# CONFIG_PCI_ENDPOINT is not set diff --git a/baseconfig/CONFIG_PCI_ENDPOINT_TEST b/baseconfig/CONFIG_PCI_ENDPOINT_TEST new file mode 100644 index 000000000..ac8854da9 --- /dev/null +++ b/baseconfig/CONFIG_PCI_ENDPOINT_TEST @@ -0,0 +1 @@ +# CONFIG_PCI_ENDPOINT_TEST is not set diff --git a/baseconfig/CONFIG_PCI_MSI_IRQ_DOMAIN b/baseconfig/CONFIG_PCI_MSI_IRQ_DOMAIN new file mode 100644 index 000000000..90bf4c7ca --- /dev/null +++ b/baseconfig/CONFIG_PCI_MSI_IRQ_DOMAIN @@ -0,0 +1 @@ +CONFIG_PCI_MSI_IRQ_DOMAIN=y diff --git a/baseconfig/CONFIG_PCI_SW_SWITCHTEC b/baseconfig/CONFIG_PCI_SW_SWITCHTEC new file mode 100644 index 000000000..f197a5ed6 --- /dev/null +++ b/baseconfig/CONFIG_PCI_SW_SWITCHTEC @@ -0,0 +1 @@ +CONFIG_PCI_SW_SWITCHTEC=m diff --git a/baseconfig/CONFIG_PINCTRL_TI_IODELAY b/baseconfig/CONFIG_PINCTRL_TI_IODELAY deleted file mode 100644 index cc5eb6a6c..000000000 --- a/baseconfig/CONFIG_PINCTRL_TI_IODELAY +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PINCTRL_TI_IODELAY is not set diff --git a/baseconfig/CONFIG_RAS_CEC b/baseconfig/CONFIG_RAS_CEC new file mode 100644 index 000000000..7b0901ca1 --- /dev/null +++ b/baseconfig/CONFIG_RAS_CEC @@ -0,0 +1 @@ +CONFIG_RAS_CEC=y diff --git a/baseconfig/CONFIG_REGULATOR_CPCAP b/baseconfig/CONFIG_REGULATOR_CPCAP deleted file mode 100644 index 02e701e66..000000000 --- a/baseconfig/CONFIG_REGULATOR_CPCAP +++ /dev/null @@ -1 +0,0 @@ -CONFIG_REGULATOR_CPCAP=m diff --git a/baseconfig/CONFIG_REGULATOR_TPS65132 b/baseconfig/CONFIG_REGULATOR_TPS65132 new file mode 100644 index 000000000..b82a99f6c --- /dev/null +++ b/baseconfig/CONFIG_REGULATOR_TPS65132 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_TPS65132 is not set diff --git a/baseconfig/CONFIG_REGULATOR_VCTRL b/baseconfig/CONFIG_REGULATOR_VCTRL new file mode 100644 index 000000000..478bc6400 --- /dev/null +++ b/baseconfig/CONFIG_REGULATOR_VCTRL @@ -0,0 +1 @@ +CONFIG_REGULATOR_VCTRL=m diff --git a/baseconfig/CONFIG_RPMSG_CHAR b/baseconfig/CONFIG_RPMSG_CHAR new file mode 100644 index 000000000..3aa998906 --- /dev/null +++ b/baseconfig/CONFIG_RPMSG_CHAR @@ -0,0 +1 @@ +# CONFIG_RPMSG_CHAR is not set diff --git a/baseconfig/CONFIG_RTL8723BS b/baseconfig/CONFIG_RTL8723BS new file mode 100644 index 000000000..4837f05c7 --- /dev/null +++ b/baseconfig/CONFIG_RTL8723BS @@ -0,0 +1 @@ +CONFIG_RTL8723BS=m diff --git a/baseconfig/CONFIG_SENSORS_ASPEED b/baseconfig/CONFIG_SENSORS_ASPEED new file mode 100644 index 000000000..7808f12a0 --- /dev/null +++ b/baseconfig/CONFIG_SENSORS_ASPEED @@ -0,0 +1 @@ +CONFIG_SENSORS_ASPEED=m diff --git a/baseconfig/CONFIG_SND_DESIGNWARE_PCM b/baseconfig/CONFIG_SND_DESIGNWARE_PCM index 4fb3ac59e..8f93f9dce 100644 --- a/baseconfig/CONFIG_SND_DESIGNWARE_PCM +++ b/baseconfig/CONFIG_SND_DESIGNWARE_PCM @@ -1 +1 @@ -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y diff --git a/baseconfig/CONFIG_SND_FIREFACE b/baseconfig/CONFIG_SND_FIREFACE new file mode 100644 index 000000000..18782f689 --- /dev/null +++ b/baseconfig/CONFIG_SND_FIREFACE @@ -0,0 +1 @@ +CONFIG_SND_FIREFACE=m diff --git a/baseconfig/CONFIG_SND_FIREWIRE_MOTU b/baseconfig/CONFIG_SND_FIREWIRE_MOTU new file mode 100644 index 000000000..73299e869 --- /dev/null +++ b/baseconfig/CONFIG_SND_FIREWIRE_MOTU @@ -0,0 +1 @@ +CONFIG_SND_FIREWIRE_MOTU=m diff --git a/baseconfig/CONFIG_SND_I2S_HI6210_I2S b/baseconfig/CONFIG_SND_I2S_HI6210_I2S new file mode 100644 index 000000000..9ae15dc8a --- /dev/null +++ b/baseconfig/CONFIG_SND_I2S_HI6210_I2S @@ -0,0 +1 @@ +CONFIG_SND_I2S_HI6210_I2S=m diff --git a/baseconfig/CONFIG_SND_INTEL8X0 b/baseconfig/CONFIG_SND_INTEL8X0 index 6d78f08ea..d97191a98 100644 --- a/baseconfig/CONFIG_SND_INTEL8X0 +++ b/baseconfig/CONFIG_SND_INTEL8X0 @@ -1 +1 @@ -CONFIG_SND_INTEL8X0=m +# CONFIG_SND_INTEL8X0 is not set diff --git a/baseconfig/CONFIG_SND_INTEL8X0M b/baseconfig/CONFIG_SND_INTEL8X0M index 24ac6ada4..4e04bb51c 100644 --- a/baseconfig/CONFIG_SND_INTEL8X0M +++ b/baseconfig/CONFIG_SND_INTEL8X0M @@ -1 +1 @@ -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0M is not set diff --git a/baseconfig/CONFIG_SND_SOC_ADAU1761_I2C b/baseconfig/CONFIG_SND_SOC_ADAU1761_I2C new file mode 100644 index 000000000..54124be46 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_ADAU1761_I2C @@ -0,0 +1 @@ +CONFIG_SND_SOC_ADAU1761_I2C=m diff --git a/baseconfig/CONFIG_SND_SOC_ADAU1761_SPI b/baseconfig/CONFIG_SND_SOC_ADAU1761_SPI new file mode 100644 index 000000000..fce8309a6 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_ADAU1761_SPI @@ -0,0 +1 @@ +CONFIG_SND_SOC_ADAU1761_SPI=m diff --git a/baseconfig/CONFIG_SND_SOC_CS35L35 b/baseconfig/CONFIG_SND_SOC_CS35L35 new file mode 100644 index 000000000..3969b2fee --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_CS35L35 @@ -0,0 +1 @@ +CONFIG_SND_SOC_CS35L35=m diff --git a/baseconfig/CONFIG_SND_SOC_DIO2125 b/baseconfig/CONFIG_SND_SOC_DIO2125 new file mode 100644 index 000000000..d3121e77e --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_DIO2125 @@ -0,0 +1 @@ +CONFIG_SND_SOC_DIO2125=m diff --git a/baseconfig/CONFIG_SND_SOC_ES7134 b/baseconfig/CONFIG_SND_SOC_ES7134 new file mode 100644 index 000000000..ff087adce --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_ES7134 @@ -0,0 +1 @@ +CONFIG_SND_SOC_ES7134=m diff --git a/baseconfig/CONFIG_SND_SOC_MAX98927 b/baseconfig/CONFIG_SND_SOC_MAX98927 new file mode 100644 index 000000000..341a74d43 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_MAX98927 @@ -0,0 +1 @@ +CONFIG_SND_SOC_MAX98927=m diff --git a/baseconfig/CONFIG_SND_SOC_NAU8824 b/baseconfig/CONFIG_SND_SOC_NAU8824 new file mode 100644 index 000000000..3551419c6 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_NAU8824 @@ -0,0 +1 @@ +CONFIG_SND_SOC_NAU8824=m diff --git a/baseconfig/CONFIG_SND_VIA82XX b/baseconfig/CONFIG_SND_VIA82XX index 129cf3976..2c2673578 100644 --- a/baseconfig/CONFIG_SND_VIA82XX +++ b/baseconfig/CONFIG_SND_VIA82XX @@ -1 +1 @@ -CONFIG_SND_VIA82XX=m +# CONFIG_SND_VIA82XX is not set diff --git a/baseconfig/CONFIG_SND_VIA82XX_MODEM b/baseconfig/CONFIG_SND_VIA82XX_MODEM index 81e80f3a5..53055c694 100644 --- a/baseconfig/CONFIG_SND_VIA82XX_MODEM +++ b/baseconfig/CONFIG_SND_VIA82XX_MODEM @@ -1 +1 @@ -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX_MODEM is not set diff --git a/baseconfig/CONFIG_SRF04 b/baseconfig/CONFIG_SRF04 new file mode 100644 index 000000000..7dcc9136e --- /dev/null +++ b/baseconfig/CONFIG_SRF04 @@ -0,0 +1 @@ +# CONFIG_SRF04 is not set diff --git a/baseconfig/CONFIG_SYSTEM_BLACKLIST_HASH_LIST b/baseconfig/CONFIG_SYSTEM_BLACKLIST_HASH_LIST new file mode 100644 index 000000000..858e87e78 --- /dev/null +++ b/baseconfig/CONFIG_SYSTEM_BLACKLIST_HASH_LIST @@ -0,0 +1 @@ +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" diff --git a/baseconfig/x86/CONFIG_TCG_CRB b/baseconfig/CONFIG_TCG_CRB index 07a62cae3..07a62cae3 100644 --- a/baseconfig/x86/CONFIG_TCG_CRB +++ b/baseconfig/CONFIG_TCG_CRB diff --git a/baseconfig/CONFIG_TEE b/baseconfig/CONFIG_TEE new file mode 100644 index 000000000..accc7a854 --- /dev/null +++ b/baseconfig/CONFIG_TEE @@ -0,0 +1 @@ +# CONFIG_TEE is not set diff --git a/baseconfig/CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS b/baseconfig/CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS new file mode 100644 index 000000000..9288765d6 --- /dev/null +++ b/baseconfig/CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS @@ -0,0 +1 @@ +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 diff --git a/baseconfig/CONFIG_TIGON3_HWMON b/baseconfig/CONFIG_TIGON3_HWMON new file mode 100644 index 000000000..31215b555 --- /dev/null +++ b/baseconfig/CONFIG_TIGON3_HWMON @@ -0,0 +1 @@ +CONFIG_TIGON3_HWMON=y diff --git a/baseconfig/CONFIG_TOUCHSCREEN_TSC2007_IIO b/baseconfig/CONFIG_TOUCHSCREEN_TSC2007_IIO new file mode 100644 index 000000000..b67dd760f --- /dev/null +++ b/baseconfig/CONFIG_TOUCHSCREEN_TSC2007_IIO @@ -0,0 +1 @@ +CONFIG_TOUCHSCREEN_TSC2007_IIO=y diff --git a/baseconfig/CONFIG_TYPEC_FUSB302 b/baseconfig/CONFIG_TYPEC_FUSB302 new file mode 100644 index 000000000..9633e1956 --- /dev/null +++ b/baseconfig/CONFIG_TYPEC_FUSB302 @@ -0,0 +1 @@ +CONFIG_TYPEC_FUSB302=m diff --git a/baseconfig/CONFIG_TYPEC_TCPCI b/baseconfig/CONFIG_TYPEC_TCPCI new file mode 100644 index 000000000..46687f546 --- /dev/null +++ b/baseconfig/CONFIG_TYPEC_TCPCI @@ -0,0 +1 @@ +CONFIG_TYPEC_TCPCI=m diff --git a/baseconfig/CONFIG_TYPEC_TCPM b/baseconfig/CONFIG_TYPEC_TCPM new file mode 100644 index 000000000..8294bcc60 --- /dev/null +++ b/baseconfig/CONFIG_TYPEC_TCPM @@ -0,0 +1 @@ +CONFIG_TYPEC_TCPM=m diff --git a/baseconfig/CONFIG_TYPEC_WCOVE b/baseconfig/CONFIG_TYPEC_WCOVE new file mode 100644 index 000000000..8801ecb28 --- /dev/null +++ b/baseconfig/CONFIG_TYPEC_WCOVE @@ -0,0 +1 @@ +CONFIG_TYPEC_WCOVE=m diff --git a/baseconfig/CONFIG_UBIFS_FS_SECURITY b/baseconfig/CONFIG_UBIFS_FS_SECURITY new file mode 100644 index 000000000..cb238b9c2 --- /dev/null +++ b/baseconfig/CONFIG_UBIFS_FS_SECURITY @@ -0,0 +1 @@ +CONFIG_UBIFS_FS_SECURITY=y diff --git a/baseconfig/CONFIG_USB_PCI b/baseconfig/CONFIG_USB_PCI new file mode 100644 index 000000000..26c372a3a --- /dev/null +++ b/baseconfig/CONFIG_USB_PCI @@ -0,0 +1 @@ +CONFIG_USB_PCI=y diff --git a/baseconfig/CONFIG_USB_RAINSHADOW_CEC b/baseconfig/CONFIG_USB_RAINSHADOW_CEC new file mode 100644 index 000000000..c6605282b --- /dev/null +++ b/baseconfig/CONFIG_USB_RAINSHADOW_CEC @@ -0,0 +1 @@ +CONFIG_USB_RAINSHADOW_CEC=m diff --git a/baseconfig/CONFIG_VL6180 b/baseconfig/CONFIG_VL6180 new file mode 100644 index 000000000..b178334de --- /dev/null +++ b/baseconfig/CONFIG_VL6180 @@ -0,0 +1 @@ +CONFIG_VL6180=m diff --git a/baseconfig/CONFIG_VSOCKMON b/baseconfig/CONFIG_VSOCKMON new file mode 100644 index 000000000..82594c488 --- /dev/null +++ b/baseconfig/CONFIG_VSOCKMON @@ -0,0 +1 @@ +CONFIG_VSOCKMON=m diff --git a/baseconfig/CONFIG_W1_SLAVE_DS2438 b/baseconfig/CONFIG_W1_SLAVE_DS2438 new file mode 100644 index 000000000..34301a62e --- /dev/null +++ b/baseconfig/CONFIG_W1_SLAVE_DS2438 @@ -0,0 +1 @@ +CONFIG_W1_SLAVE_DS2438=m diff --git a/baseconfig/CONFIG_X86_MCELOG_LEGACY b/baseconfig/CONFIG_X86_MCELOG_LEGACY new file mode 100644 index 000000000..2a4755640 --- /dev/null +++ b/baseconfig/CONFIG_X86_MCELOG_LEGACY @@ -0,0 +1 @@ +CONFIG_X86_MCELOG_LEGACY=y diff --git a/baseconfig/CONFIG_ZX_TDM b/baseconfig/CONFIG_ZX_TDM new file mode 100644 index 000000000..9d2d9bf4c --- /dev/null +++ b/baseconfig/CONFIG_ZX_TDM @@ -0,0 +1 @@ +# CONFIG_ZX_TDM is not set diff --git a/baseconfig/arm/armv7/armv7/CONFIG_AK8975 b/baseconfig/arm/CONFIG_AK8975 index 547c21a99..547c21a99 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_AK8975 +++ b/baseconfig/arm/CONFIG_AK8975 diff --git a/baseconfig/arm/CONFIG_BCM2835_THERMAL b/baseconfig/arm/CONFIG_BCM2835_THERMAL new file mode 100644 index 000000000..a6e3c0a6d --- /dev/null +++ b/baseconfig/arm/CONFIG_BCM2835_THERMAL @@ -0,0 +1 @@ +CONFIG_BCM2835_THERMAL=m diff --git a/baseconfig/arm/CONFIG_BCM_VIDEOCORE b/baseconfig/arm/CONFIG_BCM_VIDEOCORE new file mode 100644 index 000000000..6897b418e --- /dev/null +++ b/baseconfig/arm/CONFIG_BCM_VIDEOCORE @@ -0,0 +1 @@ +# CONFIG_BCM_VIDEOCORE is not set diff --git a/baseconfig/arm/armv7/CONFIG_DEFAULT_MMAP_MIN_ADDR b/baseconfig/arm/CONFIG_DEFAULT_MMAP_MIN_ADDR index 03757767c..03757767c 100644 --- a/baseconfig/arm/armv7/CONFIG_DEFAULT_MMAP_MIN_ADDR +++ b/baseconfig/arm/CONFIG_DEFAULT_MMAP_MIN_ADDR diff --git a/baseconfig/arm/armv7/CONFIG_DRM_DW_HDMI b/baseconfig/arm/CONFIG_DRM_DW_HDMI index 0be71f10f..0be71f10f 100644 --- a/baseconfig/arm/armv7/CONFIG_DRM_DW_HDMI +++ b/baseconfig/arm/CONFIG_DRM_DW_HDMI diff --git a/baseconfig/arm/armv7/CONFIG_DRM_DW_HDMI_AHB_AUDIO b/baseconfig/arm/CONFIG_DRM_DW_HDMI_AHB_AUDIO index 679147e29..679147e29 100644 --- a/baseconfig/arm/armv7/CONFIG_DRM_DW_HDMI_AHB_AUDIO +++ b/baseconfig/arm/CONFIG_DRM_DW_HDMI_AHB_AUDIO diff --git a/baseconfig/arm/CONFIG_DRM_DW_HDMI_I2S_AUDIO b/baseconfig/arm/CONFIG_DRM_DW_HDMI_I2S_AUDIO new file mode 100644 index 000000000..34ecaf242 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_DW_HDMI_I2S_AUDIO @@ -0,0 +1 @@ +CONFIG_DRM_DW_HDMI_I2S_AUDIO=m diff --git a/baseconfig/arm/CONFIG_DRM_MESON_DW_HDMI b/baseconfig/arm/CONFIG_DRM_MESON_DW_HDMI new file mode 100644 index 000000000..2590929f1 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_MESON_DW_HDMI @@ -0,0 +1 @@ +CONFIG_DRM_MESON_DW_HDMI=m diff --git a/baseconfig/arm/CONFIG_DRM_PANEL_JDI_LT070ME05000 b/baseconfig/arm/CONFIG_DRM_PANEL_JDI_LT070ME05000 deleted file mode 100644 index 1d6f21566..000000000 --- a/baseconfig/arm/CONFIG_DRM_PANEL_JDI_LT070ME05000 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_PANEL_JDI_LT070ME05000=m diff --git a/baseconfig/arm/CONFIG_DRM_PANEL_LVDS b/baseconfig/arm/CONFIG_DRM_PANEL_LVDS new file mode 100644 index 000000000..6d4d3c7c6 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_PANEL_LVDS @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_LVDS=m diff --git a/baseconfig/arm/CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 b/baseconfig/arm/CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 new file mode 100644 index 000000000..8334ac016 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m diff --git a/baseconfig/arm/CONFIG_IIO_CROS_EC_LIGHT_PROX b/baseconfig/arm/CONFIG_IIO_CROS_EC_LIGHT_PROX new file mode 100644 index 000000000..deb1a6eb5 --- /dev/null +++ b/baseconfig/arm/CONFIG_IIO_CROS_EC_LIGHT_PROX @@ -0,0 +1 @@ +CONFIG_IIO_CROS_EC_LIGHT_PROX=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_KXSD9 b/baseconfig/arm/CONFIG_KXSD9 index 090669c9c..090669c9c 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_KXSD9 +++ b/baseconfig/arm/CONFIG_KXSD9 diff --git a/baseconfig/arm/armv7/armv7/CONFIG_KXSD9_I2C b/baseconfig/arm/CONFIG_KXSD9_I2C index 3d2256700..3d2256700 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_KXSD9_I2C +++ b/baseconfig/arm/CONFIG_KXSD9_I2C diff --git a/baseconfig/arm/armv7/armv7/CONFIG_KXSD9_SPI b/baseconfig/arm/CONFIG_KXSD9_SPI index f4da57bbc..f4da57bbc 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_KXSD9_SPI +++ b/baseconfig/arm/CONFIG_KXSD9_SPI diff --git a/baseconfig/arm/arm64/CONFIG_MFD_SPMI_PMIC b/baseconfig/arm/CONFIG_MFD_SPMI_PMIC index 6360fee39..6360fee39 100644 --- a/baseconfig/arm/arm64/CONFIG_MFD_SPMI_PMIC +++ b/baseconfig/arm/CONFIG_MFD_SPMI_PMIC diff --git a/baseconfig/arm/CONFIG_PCIE_DW_HOST b/baseconfig/arm/CONFIG_PCIE_DW_HOST new file mode 100644 index 000000000..6aecdd9c1 --- /dev/null +++ b/baseconfig/arm/CONFIG_PCIE_DW_HOST @@ -0,0 +1 @@ +CONFIG_PCIE_DW_HOST=y diff --git a/baseconfig/arm/CONFIG_PCI_FTPCI100 b/baseconfig/arm/CONFIG_PCI_FTPCI100 new file mode 100644 index 000000000..f9fe5b6ea --- /dev/null +++ b/baseconfig/arm/CONFIG_PCI_FTPCI100 @@ -0,0 +1 @@ +# CONFIG_PCI_FTPCI100 is not set diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RADIO_WL128X b/baseconfig/arm/CONFIG_RADIO_WL128X index 88b42f8e6..88b42f8e6 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_RADIO_WL128X +++ b/baseconfig/arm/CONFIG_RADIO_WL128X diff --git a/baseconfig/arm/CONFIG_ROCKCHIP_ANALOGIX_DP b/baseconfig/arm/CONFIG_ROCKCHIP_ANALOGIX_DP index ee89108f9..4f8576d47 100644 --- a/baseconfig/arm/CONFIG_ROCKCHIP_ANALOGIX_DP +++ b/baseconfig/arm/CONFIG_ROCKCHIP_ANALOGIX_DP @@ -1 +1 @@ -CONFIG_ROCKCHIP_ANALOGIX_DP=m +CONFIG_ROCKCHIP_ANALOGIX_DP=y diff --git a/baseconfig/arm/CONFIG_ROCKCHIP_CDN_DP b/baseconfig/arm/CONFIG_ROCKCHIP_CDN_DP index 98a696d76..86d2137bd 100644 --- a/baseconfig/arm/CONFIG_ROCKCHIP_CDN_DP +++ b/baseconfig/arm/CONFIG_ROCKCHIP_CDN_DP @@ -1 +1 @@ -# CONFIG_ROCKCHIP_CDN_DP is not set +CONFIG_ROCKCHIP_CDN_DP=y diff --git a/baseconfig/arm/CONFIG_ROCKCHIP_DW_HDMI b/baseconfig/arm/CONFIG_ROCKCHIP_DW_HDMI index 49748e701..80c330104 100644 --- a/baseconfig/arm/CONFIG_ROCKCHIP_DW_HDMI +++ b/baseconfig/arm/CONFIG_ROCKCHIP_DW_HDMI @@ -1 +1 @@ -CONFIG_ROCKCHIP_DW_HDMI=m +CONFIG_ROCKCHIP_DW_HDMI=y diff --git a/baseconfig/arm/CONFIG_ROCKCHIP_DW_MIPI_DSI b/baseconfig/arm/CONFIG_ROCKCHIP_DW_MIPI_DSI index 516f3b1c7..6c00423c8 100644 --- a/baseconfig/arm/CONFIG_ROCKCHIP_DW_MIPI_DSI +++ b/baseconfig/arm/CONFIG_ROCKCHIP_DW_MIPI_DSI @@ -1 +1 @@ -CONFIG_ROCKCHIP_DW_MIPI_DSI=m +CONFIG_ROCKCHIP_DW_MIPI_DSI=y diff --git a/baseconfig/arm/CONFIG_ROCKCHIP_INNO_HDMI b/baseconfig/arm/CONFIG_ROCKCHIP_INNO_HDMI index 34b798abf..50cf998df 100644 --- a/baseconfig/arm/CONFIG_ROCKCHIP_INNO_HDMI +++ b/baseconfig/arm/CONFIG_ROCKCHIP_INNO_HDMI @@ -1 +1 @@ -CONFIG_ROCKCHIP_INNO_HDMI=m +CONFIG_ROCKCHIP_INNO_HDMI=y diff --git a/baseconfig/arm/CONFIG_SUN50I_A64_CCU b/baseconfig/arm/CONFIG_SUN50I_A64_CCU deleted file mode 100644 index 9ce6c792a..000000000 --- a/baseconfig/arm/CONFIG_SUN50I_A64_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN50I_A64_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUN5I_CCU b/baseconfig/arm/CONFIG_SUN5I_CCU deleted file mode 100644 index 26856d6b2..000000000 --- a/baseconfig/arm/CONFIG_SUN5I_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN5I_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUN6I_A31_CCU b/baseconfig/arm/CONFIG_SUN6I_A31_CCU deleted file mode 100644 index 5ce1bb3f7..000000000 --- a/baseconfig/arm/CONFIG_SUN6I_A31_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN6I_A31_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUN8I_A23_CCU b/baseconfig/arm/CONFIG_SUN8I_A23_CCU deleted file mode 100644 index 26ae1100c..000000000 --- a/baseconfig/arm/CONFIG_SUN8I_A23_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN8I_A23_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUN8I_A33_CCU b/baseconfig/arm/CONFIG_SUN8I_A33_CCU deleted file mode 100644 index e1a357ee8..000000000 --- a/baseconfig/arm/CONFIG_SUN8I_A33_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN8I_A33_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUN8I_H3_CCU b/baseconfig/arm/CONFIG_SUN8I_H3_CCU index 02cfb2c97..542d6fc7d 100644 --- a/baseconfig/arm/CONFIG_SUN8I_H3_CCU +++ b/baseconfig/arm/CONFIG_SUN8I_H3_CCU @@ -1 +1 @@ -# CONFIG_SUN8I_H3_CCU is not set +CONFIG_SUN8I_H3_CCU=y diff --git a/baseconfig/arm/CONFIG_SUN8I_R_CCU b/baseconfig/arm/CONFIG_SUN8I_R_CCU new file mode 100644 index 000000000..0b88df0dc --- /dev/null +++ b/baseconfig/arm/CONFIG_SUN8I_R_CCU @@ -0,0 +1 @@ +CONFIG_SUN8I_R_CCU=y diff --git a/baseconfig/arm/CONFIG_SUN9I_A80_CCU b/baseconfig/arm/CONFIG_SUN9I_A80_CCU deleted file mode 100644 index 82686b27e..000000000 --- a/baseconfig/arm/CONFIG_SUN9I_A80_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN9I_A80_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUNXI_CCU b/baseconfig/arm/CONFIG_SUNXI_CCU deleted file mode 100644 index a383113ef..000000000 --- a/baseconfig/arm/CONFIG_SUNXI_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUNXI_CCU is not set diff --git a/baseconfig/arm/armv7/armv7/CONFIG_TI_ST b/baseconfig/arm/CONFIG_TI_ST index e6d0d4428..e6d0d4428 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_TI_ST +++ b/baseconfig/arm/CONFIG_TI_ST diff --git a/baseconfig/arm/armv7/CONFIG_USB_EHCI_HCD_ORION b/baseconfig/arm/CONFIG_USB_EHCI_HCD_ORION index eee05e763..eee05e763 100644 --- a/baseconfig/arm/armv7/CONFIG_USB_EHCI_HCD_ORION +++ b/baseconfig/arm/CONFIG_USB_EHCI_HCD_ORION diff --git a/baseconfig/arm/CONFIG_VIDEO_BCM2835 b/baseconfig/arm/CONFIG_VIDEO_BCM2835 new file mode 100644 index 000000000..192fdf645 --- /dev/null +++ b/baseconfig/arm/CONFIG_VIDEO_BCM2835 @@ -0,0 +1 @@ +# CONFIG_VIDEO_BCM2835 is not set diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_BGRT b/baseconfig/arm/arm64/CONFIG_ACPI_BGRT new file mode 100644 index 000000000..13035dd82 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_ACPI_BGRT @@ -0,0 +1 @@ +CONFIG_ACPI_BGRT=y diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_RELOC_TEST b/baseconfig/arm/arm64/CONFIG_ARM64_RELOC_TEST new file mode 100644 index 000000000..864fc6a6b --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_ARM64_RELOC_TEST @@ -0,0 +1 @@ +# CONFIG_ARM64_RELOC_TEST is not set diff --git a/baseconfig/arm/arm64/CONFIG_AXP20X_ADC b/baseconfig/arm/arm64/CONFIG_AXP20X_ADC new file mode 100644 index 000000000..025239f25 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_AXP20X_ADC @@ -0,0 +1 @@ +CONFIG_AXP20X_ADC=m diff --git a/baseconfig/arm/arm64/CONFIG_BATTERY_AXP20X b/baseconfig/arm/arm64/CONFIG_BATTERY_AXP20X new file mode 100644 index 000000000..75591a277 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_BATTERY_AXP20X @@ -0,0 +1 @@ +CONFIG_BATTERY_AXP20X=m diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI655X b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI655X new file mode 100644 index 000000000..18ddc0770 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI655X @@ -0,0 +1 @@ +CONFIG_COMMON_CLK_HI655X=m diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_CAVIUM_ZIP b/baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_CAVIUM_ZIP new file mode 100644 index 000000000..d5226e157 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_CAVIUM_ZIP @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_SAFEXCEL b/baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_SAFEXCEL new file mode 100644 index 000000000..61cb97435 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_SAFEXCEL @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_SAFEXCEL=m diff --git a/baseconfig/arm/arm64/CONFIG_EDAC_THUNDERX b/baseconfig/arm/arm64/CONFIG_EDAC_THUNDERX new file mode 100644 index 000000000..dae44bb02 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_EDAC_THUNDERX @@ -0,0 +1 @@ +CONFIG_EDAC_THUNDERX=m diff --git a/baseconfig/arm/arm64/CONFIG_GPIO_XLP b/baseconfig/arm/arm64/CONFIG_GPIO_XLP new file mode 100644 index 000000000..f99cd41f3 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_GPIO_XLP @@ -0,0 +1 @@ +CONFIG_GPIO_XLP=m diff --git a/baseconfig/arm/arm64/CONFIG_I2C_XLP9XX b/baseconfig/arm/arm64/CONFIG_I2C_XLP9XX new file mode 100644 index 000000000..bcc41c376 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_I2C_XLP9XX @@ -0,0 +1 @@ +CONFIG_I2C_XLP9XX=m diff --git a/baseconfig/arm/arm64/CONFIG_K3_DMA b/baseconfig/arm/arm64/CONFIG_K3_DMA index b698e7e5e..c64ec401c 100644 --- a/baseconfig/arm/arm64/CONFIG_K3_DMA +++ b/baseconfig/arm/arm64/CONFIG_K3_DMA @@ -1 +1 @@ -# CONFIG_K3_DMA is not set +CONFIG_K3_DMA=m diff --git a/baseconfig/arm/arm64/CONFIG_MMC_CAVIUM_THUNDERX b/baseconfig/arm/arm64/CONFIG_MMC_CAVIUM_THUNDERX new file mode 100644 index 000000000..8c4640a79 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_MMC_CAVIUM_THUNDERX @@ -0,0 +1 @@ +CONFIG_MMC_CAVIUM_THUNDERX=m diff --git a/baseconfig/arm/arm64/CONFIG_NET_XGENE_V2 b/baseconfig/arm/arm64/CONFIG_NET_XGENE_V2 new file mode 100644 index 000000000..7d5cbcdbf --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_NET_XGENE_V2 @@ -0,0 +1 @@ +CONFIG_NET_XGENE_V2=m diff --git a/baseconfig/arm/arm64/CONFIG_PHY_QCOM_QMP b/baseconfig/arm/arm64/CONFIG_PHY_QCOM_QMP new file mode 100644 index 000000000..cba57faf8 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_PHY_QCOM_QMP @@ -0,0 +1 @@ +CONFIG_PHY_QCOM_QMP=m diff --git a/baseconfig/arm/arm64/CONFIG_PHY_QCOM_QUSB2 b/baseconfig/arm/arm64/CONFIG_PHY_QCOM_QUSB2 new file mode 100644 index 000000000..6512e59d2 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_PHY_QCOM_QUSB2 @@ -0,0 +1 @@ +CONFIG_PHY_QCOM_QUSB2=m diff --git a/baseconfig/arm/CONFIG_PHY_QCOM_USB_HS b/baseconfig/arm/arm64/CONFIG_PHY_QCOM_USB_HS index 61e98f856..61e98f856 100644 --- a/baseconfig/arm/CONFIG_PHY_QCOM_USB_HS +++ b/baseconfig/arm/arm64/CONFIG_PHY_QCOM_USB_HS diff --git a/baseconfig/arm/CONFIG_PHY_QCOM_USB_HSIC b/baseconfig/arm/arm64/CONFIG_PHY_QCOM_USB_HSIC index 0b25aa233..0b25aa233 100644 --- a/baseconfig/arm/CONFIG_PHY_QCOM_USB_HSIC +++ b/baseconfig/arm/arm64/CONFIG_PHY_QCOM_USB_HSIC diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_IOMMU b/baseconfig/arm/arm64/CONFIG_QCOM_IOMMU new file mode 100644 index 000000000..b7e99b882 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_QCOM_IOMMU @@ -0,0 +1 @@ +CONFIG_QCOM_IOMMU=y diff --git a/baseconfig/arm/CONFIG_QCOM_IRQ_COMBINER b/baseconfig/arm/arm64/CONFIG_QCOM_IRQ_COMBINER index 6c23d15f7..6c23d15f7 100644 --- a/baseconfig/arm/CONFIG_QCOM_IRQ_COMBINER +++ b/baseconfig/arm/arm64/CONFIG_QCOM_IRQ_COMBINER diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_L3_PMU b/baseconfig/arm/arm64/CONFIG_QCOM_L3_PMU new file mode 100644 index 000000000..ed899d66b --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_QCOM_L3_PMU @@ -0,0 +1 @@ +CONFIG_QCOM_L3_PMU=y diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_SMD b/baseconfig/arm/arm64/CONFIG_QCOM_SMD deleted file mode 100644 index d43fecfdb..000000000 --- a/baseconfig/arm/arm64/CONFIG_QCOM_SMD +++ /dev/null @@ -1 +0,0 @@ -CONFIG_QCOM_SMD=m diff --git a/baseconfig/arm/arm64/CONFIG_SOC_TEGRA_FLOWCTRL b/baseconfig/arm/arm64/CONFIG_SOC_TEGRA_FLOWCTRL new file mode 100644 index 000000000..00413d459 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_SOC_TEGRA_FLOWCTRL @@ -0,0 +1 @@ +CONFIG_SOC_TEGRA_FLOWCTRL=y diff --git a/baseconfig/arm/arm64/CONFIG_SPI_XLP b/baseconfig/arm/arm64/CONFIG_SPI_XLP new file mode 100644 index 000000000..6026d5f51 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_SPI_XLP @@ -0,0 +1 @@ +CONFIG_SPI_XLP=m diff --git a/baseconfig/arm/arm64/CONFIG_SUN4I_GPADC b/baseconfig/arm/arm64/CONFIG_SUN4I_GPADC new file mode 100644 index 000000000..97139c216 --- /dev/null +++ b/baseconfig/arm/arm64/CONFIG_SUN4I_GPADC @@ -0,0 +1 @@ +CONFIG_SUN4I_GPADC=m diff --git a/baseconfig/arm/arm64/CONFIG_SUN8I_H3_CCU b/baseconfig/arm/arm64/CONFIG_SUN8I_H3_CCU deleted file mode 100644 index 02cfb2c97..000000000 --- a/baseconfig/arm/arm64/CONFIG_SUN8I_H3_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN8I_H3_CCU is not set diff --git a/baseconfig/arm/armv7/CONFIG_AHCI_DM816 b/baseconfig/arm/armv7/CONFIG_AHCI_DM816 new file mode 100644 index 000000000..ba4b51891 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_AHCI_DM816 @@ -0,0 +1 @@ +CONFIG_AHCI_DM816=m diff --git a/baseconfig/arm/armv7/CONFIG_AXP20X_ADC b/baseconfig/arm/armv7/CONFIG_AXP20X_ADC new file mode 100644 index 000000000..025239f25 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_AXP20X_ADC @@ -0,0 +1 @@ +CONFIG_AXP20X_ADC=m diff --git a/baseconfig/arm/armv7/CONFIG_BATTERY_AXP20X b/baseconfig/arm/armv7/CONFIG_BATTERY_AXP20X new file mode 100644 index 000000000..75591a277 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_BATTERY_AXP20X @@ -0,0 +1 @@ +CONFIG_BATTERY_AXP20X=m diff --git a/baseconfig/arm/armv7/CONFIG_COMMON_CLK_MAX77802 b/baseconfig/arm/armv7/CONFIG_COMMON_CLK_MAX77802 deleted file mode 100644 index c6e1136d0..000000000 --- a/baseconfig/arm/armv7/CONFIG_COMMON_CLK_MAX77802 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_COMMON_CLK_MAX77802=m diff --git a/baseconfig/arm/armv7/CONFIG_CRYPTO_DEV_EXYNOS_RNG b/baseconfig/arm/armv7/CONFIG_CRYPTO_DEV_EXYNOS_RNG new file mode 100644 index 000000000..f60ff08ee --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_CRYPTO_DEV_EXYNOS_RNG @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_EXYNOS_RNG=m diff --git a/baseconfig/arm/armv7/CONFIG_HW_RANDOM_EXYNOS b/baseconfig/arm/armv7/CONFIG_HW_RANDOM_EXYNOS deleted file mode 100644 index 87c25300c..000000000 --- a/baseconfig/arm/armv7/CONFIG_HW_RANDOM_EXYNOS +++ /dev/null @@ -1 +0,0 @@ -CONFIG_HW_RANDOM_EXYNOS=m diff --git a/baseconfig/arm/armv7/CONFIG_MFD_PM8921_CORE b/baseconfig/arm/armv7/CONFIG_MFD_PM8921_CORE deleted file mode 100644 index 226d75be9..000000000 --- a/baseconfig/arm/armv7/CONFIG_MFD_PM8921_CORE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MFD_PM8921_CORE is not set diff --git a/baseconfig/arm/armv7/CONFIG_NVMEM_IMX_IIM b/baseconfig/arm/armv7/CONFIG_NVMEM_IMX_IIM new file mode 100644 index 000000000..9407e7a4b --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_NVMEM_IMX_IIM @@ -0,0 +1 @@ +CONFIG_NVMEM_IMX_IIM=m diff --git a/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX b/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX new file mode 100644 index 000000000..b401f79fb --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX @@ -0,0 +1 @@ +# CONFIG_PCI_DRA7XX is not set diff --git a/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX_EP b/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX_EP new file mode 100644 index 000000000..8a6a68062 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX_EP @@ -0,0 +1 @@ +# CONFIG_PCI_DRA7XX_EP is not set diff --git a/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX_HOST b/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX_HOST new file mode 100644 index 000000000..7bbb2fd97 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX_HOST @@ -0,0 +1 @@ +# CONFIG_PCI_DRA7XX_HOST is not set diff --git a/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_588369 b/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_588369 index af3842f84..a821768d1 100644 --- a/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_588369 +++ b/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_588369 @@ -1 +1 @@ -# CONFIG_PL310_ERRATA_588369 is not set +CONFIG_PL310_ERRATA_588369=y diff --git a/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_727915 b/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_727915 index 99df60574..4e4e5453f 100644 --- a/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_727915 +++ b/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_727915 @@ -1 +1 @@ -# CONFIG_PL310_ERRATA_727915 is not set +CONFIG_PL310_ERRATA_727915=y diff --git a/baseconfig/arm/armv7/CONFIG_QCOM_PM8XXX_XOADC b/baseconfig/arm/armv7/CONFIG_QCOM_PM8XXX_XOADC new file mode 100644 index 000000000..1060913dd --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_QCOM_PM8XXX_XOADC @@ -0,0 +1 @@ +CONFIG_QCOM_PM8XXX_XOADC=m diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_MAX98090 b/baseconfig/arm/armv7/CONFIG_SND_SOC_MAX98090 new file mode 100644 index 000000000..c22ad4a46 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SND_SOC_MAX98090 @@ -0,0 +1 @@ +CONFIG_SND_SOC_MAX98090=m diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_ODROID b/baseconfig/arm/armv7/CONFIG_SND_SOC_ODROID new file mode 100644 index 000000000..ece6cf56f --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SND_SOC_ODROID @@ -0,0 +1 @@ +CONFIG_SND_SOC_ODROID=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SOC_DRA7XX b/baseconfig/arm/armv7/CONFIG_SOC_DRA7XX index a11bb6971..a11bb6971 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_SOC_DRA7XX +++ b/baseconfig/arm/armv7/CONFIG_SOC_DRA7XX diff --git a/baseconfig/arm/armv7/CONFIG_SOC_TEGRA_FLOWCTRL b/baseconfig/arm/armv7/CONFIG_SOC_TEGRA_FLOWCTRL new file mode 100644 index 000000000..00413d459 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SOC_TEGRA_FLOWCTRL @@ -0,0 +1 @@ +CONFIG_SOC_TEGRA_FLOWCTRL=y diff --git a/baseconfig/arm/armv7/CONFIG_SUN4I_GPADC b/baseconfig/arm/armv7/CONFIG_SUN4I_GPADC new file mode 100644 index 000000000..97139c216 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SUN4I_GPADC @@ -0,0 +1 @@ +CONFIG_SUN4I_GPADC=m diff --git a/baseconfig/arm/armv7/CONFIG_SUN8I_H3_CCU b/baseconfig/arm/armv7/CONFIG_SUN8I_H3_CCU deleted file mode 100644 index 542d6fc7d..000000000 --- a/baseconfig/arm/armv7/CONFIG_SUN8I_H3_CCU +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SUN8I_H3_CCU=y diff --git a/baseconfig/arm/armv7/CONFIG_TWL4030_CORE b/baseconfig/arm/armv7/CONFIG_TWL4030_CORE deleted file mode 100644 index 1f5b92782..000000000 --- a/baseconfig/arm/armv7/CONFIG_TWL4030_CORE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_TWL4030_CORE is not set diff --git a/baseconfig/arm/armv7/armv7/CONFIG_COMMON_CLK_SI570 b/baseconfig/arm/armv7/armv7/CONFIG_COMMON_CLK_SI570 deleted file mode 100644 index df6668885..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_COMMON_CLK_SI570 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_COMMON_CLK_SI570=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_IMX7_PM_DOMAINS b/baseconfig/arm/armv7/armv7/CONFIG_IMX7_PM_DOMAINS new file mode 100644 index 000000000..33e5c6a93 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_IMX7_PM_DOMAINS @@ -0,0 +1 @@ +CONFIG_IMX7_PM_DOMAINS=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC b/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC deleted file mode 100644 index 6360fee39..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MFD_SPMI_PMIC=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MPU3050_I2C b/baseconfig/arm/armv7/armv7/CONFIG_MPU3050_I2C deleted file mode 100644 index 2e9c7cc45..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_MPU3050_I2C +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MPU3050_I2C=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PCI_DRA7XX b/baseconfig/arm/armv7/armv7/CONFIG_PCI_DRA7XX deleted file mode 100644 index 7f8a147e3..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_PCI_DRA7XX +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PCI_DRA7XX=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_QMP b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_QMP new file mode 100644 index 000000000..cba57faf8 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_QMP @@ -0,0 +1 @@ +CONFIG_PHY_QCOM_QMP=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_QUSB2 b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_QUSB2 new file mode 100644 index 000000000..6512e59d2 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_QUSB2 @@ -0,0 +1 @@ +CONFIG_PHY_QCOM_QUSB2=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_USB_HS b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_USB_HS new file mode 100644 index 000000000..61e98f856 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_USB_HS @@ -0,0 +1 @@ +CONFIG_PHY_QCOM_USB_HS=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_USB_HSIC b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_USB_HSIC new file mode 100644 index 000000000..0b25aa233 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_USB_HSIC @@ -0,0 +1 @@ +CONFIG_PHY_QCOM_USB_HSIC=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PL310_ERRATA_588369 b/baseconfig/arm/armv7/armv7/CONFIG_PL310_ERRATA_588369 deleted file mode 100644 index a821768d1..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_PL310_ERRATA_588369 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PL310_ERRATA_588369=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PL310_ERRATA_727915 b/baseconfig/arm/armv7/armv7/CONFIG_PL310_ERRATA_727915 deleted file mode 100644 index 4e4e5453f..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_PL310_ERRATA_727915 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PL310_ERRATA_727915=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_IOMMU b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_IOMMU new file mode 100644 index 000000000..b7e99b882 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_IOMMU @@ -0,0 +1 @@ +CONFIG_QCOM_IOMMU=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_SMD b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_SMD deleted file mode 100644 index d43fecfdb..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_SMD +++ /dev/null @@ -1 +0,0 @@ -CONFIG_QCOM_SMD=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_UARTLITE_NR_UARTS b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_UARTLITE_NR_UARTS new file mode 100644 index 000000000..37161086e --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_UARTLITE_NR_UARTS @@ -0,0 +1 @@ +CONFIG_SERIAL_UARTLITE_NR_UARTS=1 diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_MSM8916_WCD_ANALOG b/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_MSM8916_WCD_ANALOG index 207a5e523..f862f05a7 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_MSM8916_WCD_ANALOG +++ b/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_MSM8916_WCD_ANALOG @@ -1 +1 @@ -CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m +CONFIG_SND_SOC_MSM8916_WCD_ANALOg=m diff --git a/baseconfig/arm/armv7/lpae/CONFIG_SOC_DRA7XX b/baseconfig/arm/armv7/lpae/CONFIG_SOC_DRA7XX deleted file mode 100644 index a11bb6971..000000000 --- a/baseconfig/arm/armv7/lpae/CONFIG_SOC_DRA7XX +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SOC_DRA7XX is not set diff --git a/baseconfig/powerpc/CONFIG_CRYPTO_CRCT10DIF_VPMSUM b/baseconfig/powerpc/CONFIG_CRYPTO_CRCT10DIF_VPMSUM new file mode 100644 index 000000000..eb0464d08 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_CRYPTO_CRCT10DIF_VPMSUM @@ -0,0 +1 @@ +CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m diff --git a/baseconfig/powerpc/CONFIG_CRYPTO_VPMSUM_TESTER b/baseconfig/powerpc/CONFIG_CRYPTO_VPMSUM_TESTER new file mode 100644 index 000000000..a3acefe62 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_CRYPTO_VPMSUM_TESTER @@ -0,0 +1 @@ +# CONFIG_CRYPTO_VPMSUM_TESTER is not set diff --git a/baseconfig/powerpc/CONFIG_PCI_MSI_IRQ_DOMAIN b/baseconfig/powerpc/CONFIG_PCI_MSI_IRQ_DOMAIN new file mode 100644 index 000000000..2d1ad5bb1 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PCI_MSI_IRQ_DOMAIN @@ -0,0 +1 @@ +# CONFIG_PCI_MSI_IRQ_DOMAIN is not set diff --git a/baseconfig/powerpc/CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN b/baseconfig/powerpc/CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN new file mode 100644 index 000000000..46354e6a9 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN @@ -0,0 +1 @@ +CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN=y diff --git a/baseconfig/powerpc/CONFIG_PPC_DT_CPU_FTRS b/baseconfig/powerpc/CONFIG_PPC_DT_CPU_FTRS new file mode 100644 index 000000000..aa61b1ff3 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PPC_DT_CPU_FTRS @@ -0,0 +1 @@ +CONFIG_PPC_DT_CPU_FTRS=y diff --git a/baseconfig/powerpc/CONFIG_SPAPR_TCE_IOMMU b/baseconfig/powerpc/CONFIG_SPAPR_TCE_IOMMU index da6fd2882..ffe83031d 100644 --- a/baseconfig/powerpc/CONFIG_SPAPR_TCE_IOMMU +++ b/baseconfig/powerpc/CONFIG_SPAPR_TCE_IOMMU @@ -1 +1 @@ -# CONFIG_SPAPR_TCE_IOMMU is not set +CONFIG_SPAPR_TCE_IOMMU=y diff --git a/baseconfig/powerpc/CONFIG_TWL4030_CORE b/baseconfig/powerpc/CONFIG_TWL4030_CORE deleted file mode 100644 index 1f5b92782..000000000 --- a/baseconfig/powerpc/CONFIG_TWL4030_CORE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_TWL4030_CORE is not set diff --git a/baseconfig/powerpc/CONFIG_USB_OHCI_HCD_PCI b/baseconfig/powerpc/CONFIG_USB_OHCI_HCD_PCI deleted file mode 100644 index a78b62cb5..000000000 --- a/baseconfig/powerpc/CONFIG_USB_OHCI_HCD_PCI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_OHCI_HCD_PCI=y diff --git a/baseconfig/powerpc/CONFIG_VFIO_IOMMU_TYPE1 b/baseconfig/powerpc/CONFIG_VFIO_IOMMU_TYPE1 new file mode 100644 index 000000000..9f1df8c24 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_VFIO_IOMMU_TYPE1 @@ -0,0 +1 @@ +# CONFIG_VFIO_IOMMU_TYPE1 is not set diff --git a/baseconfig/s390x/CONFIG_ARCH_RANDOM b/baseconfig/s390x/CONFIG_ARCH_RANDOM new file mode 100644 index 000000000..51658fe1c --- /dev/null +++ b/baseconfig/s390x/CONFIG_ARCH_RANDOM @@ -0,0 +1 @@ +CONFIG_ARCH_RANDOM=y diff --git a/baseconfig/s390x/CONFIG_GENERIC_PHY b/baseconfig/s390x/CONFIG_GENERIC_PHY new file mode 100644 index 000000000..40cd1a4f5 --- /dev/null +++ b/baseconfig/s390x/CONFIG_GENERIC_PHY @@ -0,0 +1 @@ +CONFIG_GENERIC_PHY=y diff --git a/baseconfig/s390x/CONFIG_HW_RANDOM_S390 b/baseconfig/s390x/CONFIG_HW_RANDOM_S390 new file mode 100644 index 000000000..7108db8ff --- /dev/null +++ b/baseconfig/s390x/CONFIG_HW_RANDOM_S390 @@ -0,0 +1 @@ +CONFIG_HW_RANDOM_S390=m diff --git a/baseconfig/s390x/CONFIG_MAX_PHYSMEM_BITS b/baseconfig/s390x/CONFIG_MAX_PHYSMEM_BITS new file mode 100644 index 000000000..6ace7a163 --- /dev/null +++ b/baseconfig/s390x/CONFIG_MAX_PHYSMEM_BITS @@ -0,0 +1 @@ +CONFIG_MAX_PHYSMEM_BITS=46 diff --git a/baseconfig/s390x/CONFIG_MDIO_DEVICE b/baseconfig/s390x/CONFIG_MDIO_DEVICE new file mode 100644 index 000000000..67ac6bad8 --- /dev/null +++ b/baseconfig/s390x/CONFIG_MDIO_DEVICE @@ -0,0 +1 @@ +CONFIG_MDIO_DEVICE=m diff --git a/baseconfig/s390x/CONFIG_PCI_MSI_IRQ_DOMAIN b/baseconfig/s390x/CONFIG_PCI_MSI_IRQ_DOMAIN new file mode 100644 index 000000000..2d1ad5bb1 --- /dev/null +++ b/baseconfig/s390x/CONFIG_PCI_MSI_IRQ_DOMAIN @@ -0,0 +1 @@ +# CONFIG_PCI_MSI_IRQ_DOMAIN is not set diff --git a/baseconfig/s390x/CONFIG_S390_CCW_IOMMU b/baseconfig/s390x/CONFIG_S390_CCW_IOMMU new file mode 100644 index 000000000..7dd58dfa7 --- /dev/null +++ b/baseconfig/s390x/CONFIG_S390_CCW_IOMMU @@ -0,0 +1 @@ +CONFIG_S390_CCW_IOMMU=y diff --git a/baseconfig/s390x/CONFIG_VFIO_CCW b/baseconfig/s390x/CONFIG_VFIO_CCW new file mode 100644 index 000000000..15f7493a4 --- /dev/null +++ b/baseconfig/s390x/CONFIG_VFIO_CCW @@ -0,0 +1 @@ +CONFIG_VFIO_CCW=m diff --git a/baseconfig/x86/CONFIG_DELL_WMI_LED b/baseconfig/x86/CONFIG_DELL_WMI_LED new file mode 100644 index 000000000..23d945e59 --- /dev/null +++ b/baseconfig/x86/CONFIG_DELL_WMI_LED @@ -0,0 +1 @@ +CONFIG_DELL_WMI_LED=m diff --git a/baseconfig/x86/CONFIG_DRM_I915_DEBUG_VBLANK_EVADE b/baseconfig/x86/CONFIG_DRM_I915_DEBUG_VBLANK_EVADE new file mode 100644 index 000000000..d48518abd --- /dev/null +++ b/baseconfig/x86/CONFIG_DRM_I915_DEBUG_VBLANK_EVADE @@ -0,0 +1 @@ +# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set diff --git a/baseconfig/x86/i686/CONFIG_DRM_PANEL b/baseconfig/x86/CONFIG_DRM_PANEL index de8a9c247..de8a9c247 100644 --- a/baseconfig/x86/i686/CONFIG_DRM_PANEL +++ b/baseconfig/x86/CONFIG_DRM_PANEL diff --git a/baseconfig/x86/CONFIG_DRM_PANEL_LVDS b/baseconfig/x86/CONFIG_DRM_PANEL_LVDS new file mode 100644 index 000000000..6d4d3c7c6 --- /dev/null +++ b/baseconfig/x86/CONFIG_DRM_PANEL_LVDS @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_LVDS=m diff --git a/baseconfig/CONFIG_EXTCON_INTEL_INT3496 b/baseconfig/x86/CONFIG_EXTCON_INTEL_INT3496 index 3f6c5d6f5..3f6c5d6f5 100644 --- a/baseconfig/CONFIG_EXTCON_INTEL_INT3496 +++ b/baseconfig/x86/CONFIG_EXTCON_INTEL_INT3496 diff --git a/baseconfig/x86/CONFIG_INTEL_ATOMISP b/baseconfig/x86/CONFIG_INTEL_ATOMISP new file mode 100644 index 000000000..fde06c533 --- /dev/null +++ b/baseconfig/x86/CONFIG_INTEL_ATOMISP @@ -0,0 +1 @@ +# CONFIG_INTEL_ATOMISP is not set diff --git a/baseconfig/x86/CONFIG_INTEL_CHT_INT33FE b/baseconfig/x86/CONFIG_INTEL_CHT_INT33FE new file mode 100644 index 000000000..7657a9a07 --- /dev/null +++ b/baseconfig/x86/CONFIG_INTEL_CHT_INT33FE @@ -0,0 +1 @@ +CONFIG_INTEL_CHT_INT33FE=m diff --git a/baseconfig/x86/CONFIG_INTEL_INT0002_VGPIO b/baseconfig/x86/CONFIG_INTEL_INT0002_VGPIO new file mode 100644 index 000000000..f416f2ddc --- /dev/null +++ b/baseconfig/x86/CONFIG_INTEL_INT0002_VGPIO @@ -0,0 +1 @@ +# CONFIG_INTEL_INT0002_VGPIO is not set diff --git a/baseconfig/x86/CONFIG_INTEL_SOC_PMIC_CHTWC b/baseconfig/x86/CONFIG_INTEL_SOC_PMIC_CHTWC new file mode 100644 index 000000000..2d14c0346 --- /dev/null +++ b/baseconfig/x86/CONFIG_INTEL_SOC_PMIC_CHTWC @@ -0,0 +1 @@ +# CONFIG_INTEL_SOC_PMIC_CHTWC is not set diff --git a/baseconfig/x86/CONFIG_LOAD_UEFI_KEYS b/baseconfig/x86/CONFIG_LOAD_UEFI_KEYS new file mode 100644 index 000000000..22502e981 --- /dev/null +++ b/baseconfig/x86/CONFIG_LOAD_UEFI_KEYS @@ -0,0 +1 @@ +CONFIG_LOAD_UEFI_KEYS=y diff --git a/baseconfig/x86/CONFIG_MODULE_SIG_UEFI b/baseconfig/x86/CONFIG_MODULE_SIG_UEFI deleted file mode 100644 index c2bb7cecf..000000000 --- a/baseconfig/x86/CONFIG_MODULE_SIG_UEFI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MODULE_SIG_UEFI=y diff --git a/baseconfig/x86/CONFIG_SND_INTEL8X0 b/baseconfig/x86/CONFIG_SND_INTEL8X0 new file mode 100644 index 000000000..6d78f08ea --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_INTEL8X0 @@ -0,0 +1 @@ +CONFIG_SND_INTEL8X0=m diff --git a/baseconfig/x86/CONFIG_SND_INTEL8X0M b/baseconfig/x86/CONFIG_SND_INTEL8X0M new file mode 100644 index 000000000..24ac6ada4 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_INTEL8X0M @@ -0,0 +1 @@ +CONFIG_SND_INTEL8X0M=m diff --git a/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH b/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH new file mode 100644 index 000000000..0697694f9 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m diff --git a/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH b/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH new file mode 100644 index 000000000..db07e5fb0 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m diff --git a/baseconfig/x86/CONFIG_SND_VIA82XX b/baseconfig/x86/CONFIG_SND_VIA82XX new file mode 100644 index 000000000..129cf3976 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_VIA82XX @@ -0,0 +1 @@ +CONFIG_SND_VIA82XX=m diff --git a/baseconfig/x86/CONFIG_SND_VIA82XX_MODEM b/baseconfig/x86/CONFIG_SND_VIA82XX_MODEM new file mode 100644 index 000000000..81e80f3a5 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_VIA82XX_MODEM @@ -0,0 +1 @@ +CONFIG_SND_VIA82XX_MODEM=m diff --git a/baseconfig/x86/CONFIG_XEN_DOM0 b/baseconfig/x86/CONFIG_XEN_DOM0 new file mode 100644 index 000000000..c5cb5d24a --- /dev/null +++ b/baseconfig/x86/CONFIG_XEN_DOM0 @@ -0,0 +1 @@ +CONFIG_XEN_DOM0=y diff --git a/baseconfig/x86/CONFIG_XEN_PV b/baseconfig/x86/CONFIG_XEN_PV new file mode 100644 index 000000000..89203e84e --- /dev/null +++ b/baseconfig/x86/CONFIG_XEN_PV @@ -0,0 +1 @@ +CONFIG_XEN_PV=y diff --git a/baseconfig/x86/CONFIG_XEN_PVHVM b/baseconfig/x86/CONFIG_XEN_PVHVM new file mode 100644 index 000000000..be722d220 --- /dev/null +++ b/baseconfig/x86/CONFIG_XEN_PVHVM @@ -0,0 +1 @@ +CONFIG_XEN_PVHVM=y diff --git a/baseconfig/x86/i686/CONFIG_COMMON_CLK_SI570 b/baseconfig/x86/i686/CONFIG_COMMON_CLK_SI570 deleted file mode 100644 index aa746413a..000000000 --- a/baseconfig/x86/i686/CONFIG_COMMON_CLK_SI570 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_COMMON_CLK_SI570 is not set diff --git a/baseconfig/x86/CONFIG_EDAC_AMD76X b/baseconfig/x86/i686/CONFIG_EDAC_AMD76X index fe5952e70..fe5952e70 100644 --- a/baseconfig/x86/CONFIG_EDAC_AMD76X +++ b/baseconfig/x86/i686/CONFIG_EDAC_AMD76X diff --git a/baseconfig/x86/CONFIG_EDAC_E7XXX b/baseconfig/x86/i686/CONFIG_EDAC_E7XXX index 0322ddb69..0322ddb69 100644 --- a/baseconfig/x86/CONFIG_EDAC_E7XXX +++ b/baseconfig/x86/i686/CONFIG_EDAC_E7XXX diff --git a/baseconfig/x86/CONFIG_EDAC_I82860 b/baseconfig/x86/i686/CONFIG_EDAC_I82860 index 5e132db1a..5e132db1a 100644 --- a/baseconfig/x86/CONFIG_EDAC_I82860 +++ b/baseconfig/x86/i686/CONFIG_EDAC_I82860 diff --git a/baseconfig/x86/CONFIG_EDAC_I82875P b/baseconfig/x86/i686/CONFIG_EDAC_I82875P index dbe32d406..dbe32d406 100644 --- a/baseconfig/x86/CONFIG_EDAC_I82875P +++ b/baseconfig/x86/i686/CONFIG_EDAC_I82875P diff --git a/baseconfig/x86/CONFIG_EDAC_R82600 b/baseconfig/x86/i686/CONFIG_EDAC_R82600 index 93a01e506..93a01e506 100644 --- a/baseconfig/x86/CONFIG_EDAC_R82600 +++ b/baseconfig/x86/i686/CONFIG_EDAC_R82600 diff --git a/baseconfig/x86/i686/CONFIG_EDAC_SBRIDGE b/baseconfig/x86/i686/CONFIG_EDAC_SBRIDGE deleted file mode 100644 index 8ffe20d85..000000000 --- a/baseconfig/x86/i686/CONFIG_EDAC_SBRIDGE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_EDAC_SBRIDGE is not set diff --git a/baseconfig/x86/i686PAE/CONFIG_COMMON_CLK_SI570 b/baseconfig/x86/i686PAE/CONFIG_COMMON_CLK_SI570 deleted file mode 100644 index aa746413a..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_COMMON_CLK_SI570 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_COMMON_CLK_SI570 is not set diff --git a/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL b/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL deleted file mode 100644 index de8a9c247..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_PANEL=y diff --git a/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 b/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 deleted file mode 100644 index 9d584f6ab..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set diff --git a/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 b/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 deleted file mode 100644 index 64dedb057..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set diff --git a/baseconfig/x86/i686PAE/CONFIG_EDAC_AMD76X b/baseconfig/x86/i686PAE/CONFIG_EDAC_AMD76X new file mode 100644 index 000000000..fe5952e70 --- /dev/null +++ b/baseconfig/x86/i686PAE/CONFIG_EDAC_AMD76X @@ -0,0 +1 @@ +CONFIG_EDAC_AMD76X=m diff --git a/baseconfig/x86/i686PAE/CONFIG_EDAC_E7XXX b/baseconfig/x86/i686PAE/CONFIG_EDAC_E7XXX new file mode 100644 index 000000000..0322ddb69 --- /dev/null +++ b/baseconfig/x86/i686PAE/CONFIG_EDAC_E7XXX @@ -0,0 +1 @@ +CONFIG_EDAC_E7XXX=m diff --git a/baseconfig/x86/i686PAE/CONFIG_EDAC_I82860 b/baseconfig/x86/i686PAE/CONFIG_EDAC_I82860 new file mode 100644 index 000000000..5e132db1a --- /dev/null +++ b/baseconfig/x86/i686PAE/CONFIG_EDAC_I82860 @@ -0,0 +1 @@ +CONFIG_EDAC_I82860=m diff --git a/baseconfig/x86/i686PAE/CONFIG_EDAC_I82875P b/baseconfig/x86/i686PAE/CONFIG_EDAC_I82875P new file mode 100644 index 000000000..dbe32d406 --- /dev/null +++ b/baseconfig/x86/i686PAE/CONFIG_EDAC_I82875P @@ -0,0 +1 @@ +CONFIG_EDAC_I82875P=m diff --git a/baseconfig/x86/i686PAE/CONFIG_EDAC_R82600 b/baseconfig/x86/i686PAE/CONFIG_EDAC_R82600 new file mode 100644 index 000000000..93a01e506 --- /dev/null +++ b/baseconfig/x86/i686PAE/CONFIG_EDAC_R82600 @@ -0,0 +1 @@ +CONFIG_EDAC_R82600=m diff --git a/baseconfig/x86/i686PAE/CONFIG_EDAC_SBRIDGE b/baseconfig/x86/i686PAE/CONFIG_EDAC_SBRIDGE deleted file mode 100644 index 8ffe20d85..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_EDAC_SBRIDGE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_EDAC_SBRIDGE is not set diff --git a/baseconfig/x86/x86_64/CONFIG_AK8975 b/baseconfig/x86/x86_64/CONFIG_AK8975 new file mode 100644 index 000000000..547c21a99 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AK8975 @@ -0,0 +1 @@ +CONFIG_AK8975=m diff --git a/baseconfig/x86/x86_64/CONFIG_AXP20X_ADC b/baseconfig/x86/x86_64/CONFIG_AXP20X_ADC new file mode 100644 index 000000000..0960ee661 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP20X_ADC @@ -0,0 +1 @@ +# CONFIG_AXP20X_ADC is not set diff --git a/baseconfig/x86/x86_64/CONFIG_AXP20X_POWER b/baseconfig/x86/x86_64/CONFIG_AXP20X_POWER new file mode 100644 index 000000000..e02cee707 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP20X_POWER @@ -0,0 +1 @@ +# CONFIG_AXP20X_POWER is not set diff --git a/baseconfig/x86/x86_64/CONFIG_AXP288_ADC b/baseconfig/x86/x86_64/CONFIG_AXP288_ADC new file mode 100644 index 000000000..e138f36af --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP288_ADC @@ -0,0 +1 @@ +CONFIG_AXP288_ADC=m diff --git a/baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER b/baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER new file mode 100644 index 000000000..0418f962c --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER @@ -0,0 +1 @@ +CONFIG_AXP288_CHARGER=m diff --git a/baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE b/baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE new file mode 100644 index 000000000..e171b954b --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE @@ -0,0 +1 @@ +CONFIG_AXP288_FUEL_GAUGE=m diff --git a/baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 b/baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 new file mode 100644 index 000000000..669e6ac2e --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 @@ -0,0 +1 @@ +CONFIG_BATTERY_MAX17042=m diff --git a/baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 b/baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 new file mode 100644 index 000000000..3128bb676 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 @@ -0,0 +1 @@ +CONFIG_CHARGER_BQ24190=m diff --git a/baseconfig/x86/x86_64/CONFIG_CHT_WC_PMIC_OPREGION b/baseconfig/x86/x86_64/CONFIG_CHT_WC_PMIC_OPREGION new file mode 100644 index 000000000..3aa5a5f70 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_CHT_WC_PMIC_OPREGION @@ -0,0 +1 @@ +CONFIG_CHT_WC_PMIC_OPREGION=y diff --git a/baseconfig/x86/x86_64/CONFIG_DRM_PANEL b/baseconfig/x86/x86_64/CONFIG_DRM_PANEL deleted file mode 100644 index de8a9c247..000000000 --- a/baseconfig/x86/x86_64/CONFIG_DRM_PANEL +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_PANEL=y diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON b/baseconfig/x86/x86_64/CONFIG_EXTCON new file mode 100644 index 000000000..0a7190c08 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON @@ -0,0 +1 @@ +CONFIG_EXTCON=m diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 b/baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 new file mode 100644 index 000000000..7fadeb58d --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 @@ -0,0 +1 @@ +CONFIG_EXTCON_AXP288=m diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO b/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO new file mode 100644 index 000000000..87ca2bd05 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO @@ -0,0 +1 @@ +# CONFIG_EXTCON_GPIO is not set diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_CHT_WC b/baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_CHT_WC new file mode 100644 index 000000000..06e0472e8 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_CHT_WC @@ -0,0 +1 @@ +CONFIG_EXTCON_INTEL_CHT_WC=m diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 b/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 new file mode 100644 index 000000000..680b5a774 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 @@ -0,0 +1 @@ +# CONFIG_EXTCON_MAX3355 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A b/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A new file mode 100644 index 000000000..e5f7236c9 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A @@ -0,0 +1 @@ +# CONFIG_EXTCON_RT8973A is not set diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 b/baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 new file mode 100644 index 000000000..916994aa9 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 @@ -0,0 +1 @@ +# CONFIG_EXTCON_SM5502 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO b/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO new file mode 100644 index 000000000..7a0c9af30 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO @@ -0,0 +1 @@ +# CONFIG_EXTCON_USB_GPIO is not set diff --git a/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 b/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 new file mode 100644 index 000000000..c71682292 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 @@ -0,0 +1 @@ +# CONFIG_GPIO_AXP209 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_I2C_CHT_WC b/baseconfig/x86/x86_64/CONFIG_I2C_CHT_WC new file mode 100644 index 000000000..f656e03fc --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_I2C_CHT_WC @@ -0,0 +1 @@ +CONFIG_I2C_CHT_WC=m diff --git a/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE new file mode 100644 index 000000000..f9cdc633b --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE @@ -0,0 +1 @@ +CONFIG_I2C_DESIGNWARE_CORE=y diff --git a/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI new file mode 100644 index 000000000..6103f947e --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI @@ -0,0 +1 @@ +CONFIG_I2C_DESIGNWARE_PCI=y diff --git a/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM new file mode 100644 index 000000000..3d50a3e8a --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM @@ -0,0 +1 @@ +CONFIG_I2C_DESIGNWARE_PLATFORM=y diff --git a/baseconfig/x86/x86_64/CONFIG_INFINIBAND_OPA_VNIC b/baseconfig/x86/x86_64/CONFIG_INFINIBAND_OPA_VNIC new file mode 100644 index 000000000..d79565e48 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INFINIBAND_OPA_VNIC @@ -0,0 +1 @@ +CONFIG_INFINIBAND_OPA_VNIC=m diff --git a/baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK b/baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK new file mode 100644 index 000000000..e2fbdf907 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK @@ -0,0 +1 @@ +CONFIG_INPUT_AXP20X_PEK=m diff --git a/baseconfig/x86/x86_64/CONFIG_INTEL_INT0002_VGPIO b/baseconfig/x86/x86_64/CONFIG_INTEL_INT0002_VGPIO new file mode 100644 index 000000000..7ab08bb0e --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INTEL_INT0002_VGPIO @@ -0,0 +1 @@ +CONFIG_INTEL_INT0002_VGPIO=m diff --git a/baseconfig/x86/x86_64/CONFIG_INTEL_SOC_PMIC_CHTWC b/baseconfig/x86/x86_64/CONFIG_INTEL_SOC_PMIC_CHTWC new file mode 100644 index 000000000..2f8920510 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INTEL_SOC_PMIC_CHTWC @@ -0,0 +1 @@ +CONFIG_INTEL_SOC_PMIC_CHTWC=y diff --git a/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C b/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C new file mode 100644 index 000000000..8ec049b05 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C @@ -0,0 +1 @@ +CONFIG_INV_MPU6050_I2C=m diff --git a/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO b/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO new file mode 100644 index 000000000..ae4889d92 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO @@ -0,0 +1 @@ +CONFIG_INV_MPU6050_IIO=m diff --git a/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X b/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X new file mode 100644 index 000000000..ada79c0d1 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X @@ -0,0 +1 @@ +CONFIG_MFD_AXP20X=y diff --git a/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C b/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C new file mode 100644 index 000000000..22c60295b --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C @@ -0,0 +1 @@ +CONFIG_MFD_AXP20X_I2C=y diff --git a/baseconfig/x86/x86_64/CONFIG_NR_DEV_DAX b/baseconfig/x86/x86_64/CONFIG_NR_DEV_DAX deleted file mode 100644 index 3fd0f86b1..000000000 --- a/baseconfig/x86/x86_64/CONFIG_NR_DEV_DAX +++ /dev/null @@ -1 +0,0 @@ -CONFIG_NR_DEV_DAX=32768 diff --git a/baseconfig/x86/x86_64/CONFIG_SILEAD_DMI b/baseconfig/x86/x86_64/CONFIG_SILEAD_DMI new file mode 100644 index 000000000..25b017354 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_SILEAD_DMI @@ -0,0 +1 @@ +CONFIG_SILEAD_DMI=y diff --git a/baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM b/baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM new file mode 100644 index 000000000..060ebfc94 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM @@ -0,0 +1 @@ +CONFIG_USB_XHCI_PLATFORM=m diff --git a/baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION b/baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION new file mode 100644 index 000000000..8c98df142 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION @@ -0,0 +1 @@ +CONFIG_XPOWER_PMIC_OPREGION=y diff --git a/bcm2835-fix-potential-null-pointer-dereferences.patch b/bcm2835-fix-potential-null-pointer-dereferences.patch new file mode 100644 index 000000000..862e77fe8 --- /dev/null +++ b/bcm2835-fix-potential-null-pointer-dereferences.patch @@ -0,0 +1,70 @@ +From patchwork Thu May 25 17:04:55 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2] mmc: bcm2835: fix potential null pointer dereferences +From: "Gustavo A. R. Silva" <garsilva@embeddedor.com> +X-Patchwork-Id: 9748761 +Message-Id: <20170525170455.GA6904@embeddedgus> +To: Stefan Wahren <stefan.wahren@i2se.com>, + Ulf Hansson <ulf.hansson@linaro.org>, + Florian Fainelli <f.fainelli@gmail.com>, + Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>, + bcm-kernel-feedback-list@broadcom.com, Eric Anholt <eric@anholt.net> +Cc: "Gustavo A. R. Silva" <garsilva@embeddedor.com>, + linux-mmc@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, + linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org +Date: Thu, 25 May 2017 12:04:55 -0500 + +Null check at line 1165: if (mrq->cmd), implies that mrq->cmd might +be NULL. +Add null checks before dereferencing pointer mrq->cmd in order to avoid +any potential NULL pointer dereference. + +Addresses-Coverity-ID: 1408740 +Tested-by: Stefan Wahren <stefan.wahren@i2se.com> +Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> +--- +Changes in v2: + Change subject to make it clear the patch is bcm2835 related. + + drivers/mmc/host/bcm2835.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c +index 1f343a4..abba9a2 100644 +--- a/drivers/mmc/host/bcm2835.c ++++ b/drivers/mmc/host/bcm2835.c +@@ -1172,7 +1172,10 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) + if (mrq->data && !is_power_of_2(mrq->data->blksz)) { + dev_err(dev, "unsupported block size (%d bytes)\n", + mrq->data->blksz); +- mrq->cmd->error = -EINVAL; ++ ++ if (mrq->cmd) ++ mrq->cmd->error = -EINVAL; ++ + mmc_request_done(mmc, mrq); + return; + } +@@ -1194,7 +1197,10 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) + readl(host->ioaddr + SDCMD) & SDCMD_CMD_MASK, + edm); + bcm2835_dumpregs(host); +- mrq->cmd->error = -EILSEQ; ++ ++ if (mrq->cmd) ++ mrq->cmd->error = -EILSEQ; ++ + bcm2835_finish_request(host); + mutex_unlock(&host->mutex); + return; +@@ -1207,7 +1213,7 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) + if (!host->use_busy) + bcm2835_finish_command(host); + } +- } else if (bcm2835_send_command(host, mrq->cmd)) { ++ } else if (mrq->cmd && bcm2835_send_command(host, mrq->cmd)) { + if (host->data && host->dma_desc) { + /* DMA transfer starts now, PIO starts after irq */ + bcm2835_start_dma(host); diff --git a/bcm283x-fixes.patch b/bcm283x-fixes.patch deleted file mode 100644 index fcddac501..000000000 --- a/bcm283x-fixes.patch +++ /dev/null @@ -1,218 +0,0 @@ -From patchwork Sun Jan 29 18:40:59 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2] ARM: bcm2835: dts: fix uart0 pinctrl node names -From: Baruch Siach <baruch@tkos.co.il> -X-Patchwork-Id: 9544261 -Message-Id: <f37d02c769d0e2b6db2529cafb86b5fdd1e09a94.1485715259.git.baruch@tkos.co.il> -To: Stephen Warren <swarren@wwwdotorg.org>, Lee Jones <lee@kernel.org>, - Eric Anholt <eric@anholt.net> -Cc: Baruch Siach <baruch@tkos.co.il>, linux-rpi-kernel@lists.infradead.org, - linux-arm-kernel@lists.infradead.org -Date: Sun, 29 Jan 2017 20:40:59 +0200 - -Downstream kernel uses pins 32, 33 as UART0 (PL011) Rx/Tx to communicate with -the Bluetooth chip. So ALT3 of these pins is most likely not CTS/RTS. Change -the node name to reflect that. This matches section 6.2 "Alternative Function -Assignments" in the BCM2835 ARM Peripherals document. - -With this change in place, adding - - &uart0 { - pinctrl-names = "default"; - pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>; - status = "okay"; - }; - -to bcm2837-rpi-3-b.dts does the right thing on my Raspberry Pi 3. - -Pins 30, 31 are CTS/RTS of UART0 in alternate function 3. Rename uart0_gpio30 -as well. - -While at it, fix a little typo in a nearby comment. - -Fixes: 21ff843931b ("ARM: dts: bcm283x: Define standard pinctrl groups in the gpio node.") -Acked-by: Stefan Wahren <stefan.wahren@i2se.com> -Signed-off-by: Baruch Siach <baruch@tkos.co.il> -Reviewed-by: Eric Anholt <eric@anholt.net> ---- -v2: - * Reference the ARM Peripherals document - * Fix subject typo (Stefan) - * Rename also uart0_gpio30 (Stefan) - * Add comment typo fix (Stefan) - * Add Stefan's ack ---- - arch/arm/boot/dts/bcm283x.dtsi | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 9a44da190897..bc8ad417c8a3 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -292,17 +292,17 @@ - /* Separate from the uart0_gpio14 group - * because it conflicts with spi1_gpio16, and - * people often run uart0 on the two pins -- * without flow contrl. -+ * without flow control. - */ - uart0_ctsrts_gpio16: uart0_ctsrts_gpio16 { - brcm,pins = <16 17>; - brcm,function = <BCM2835_FSEL_ALT3>; - }; -- uart0_gpio30: uart0_gpio30 { -+ uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 { - brcm,pins = <30 31>; - brcm,function = <BCM2835_FSEL_ALT3>; - }; -- uart0_ctsrts_gpio32: uart0_ctsrts_gpio32 { -+ uart0_gpio32: uart0_gpio32 { - brcm,pins = <32 33>; - brcm,function = <BCM2835_FSEL_ALT3>; - }; -From patchwork Sun Jan 29 19:53:10 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [1/2] ARM: bcm2835: dts: fix i2c0 pins -From: Baruch Siach <baruch@tkos.co.il> -X-Patchwork-Id: 9544275 -Message-Id: <9290fa9eed6b5ff1c5c96b9dac41eca286b7eef9.1485719591.git.baruch@tkos.co.il> -To: Stephen Warren <swarren@wwwdotorg.org>, Lee Jones <lee@kernel.org>, - Eric Anholt <eric@anholt.net> -Cc: Baruch Siach <baruch@tkos.co.il>, linux-rpi-kernel@lists.infradead.org, - linux-arm-kernel@lists.infradead.org -Date: Sun, 29 Jan 2017 21:53:10 +0200 - -According to the BCM2835 ARM Peripherals document i2c0 doesn't map to pins 32, -34 but to 28, 29. - -Fixes: 21ff843931b ("ARM: dts: bcm283x: Define standard pinctrl groups in the gpio node.") -Signed-off-by: Baruch Siach <baruch@tkos.co.il> ---- - arch/arm/boot/dts/bcm283x.dtsi | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index bc8ad417c8a3..2ae842921250 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -195,8 +195,8 @@ - brcm,pins = <0 1>; - brcm,function = <BCM2835_FSEL_ALT0>; - }; -- i2c0_gpio32: i2c0_gpio32 { -- brcm,pins = <32 34>; -+ i2c0_gpio28: i2c0_gpio28 { -+ brcm,pins = <28 29>; - brcm,function = <BCM2835_FSEL_ALT0>; - }; - i2c0_gpio44: i2c0_gpio44 { -From patchwork Sun Jan 29 19:53:11 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [2/2] ARM: bcm2835: dts: fix uart0/uart1 pins -From: Baruch Siach <baruch@tkos.co.il> -X-Patchwork-Id: 9544277 -Message-Id: <e0f527a24b0048daba88ef36d5324245e003111c.1485719591.git.baruch@tkos.co.il> -To: Stephen Warren <swarren@wwwdotorg.org>, Lee Jones <lee@kernel.org>, - Eric Anholt <eric@anholt.net> -Cc: Baruch Siach <baruch@tkos.co.il>, linux-rpi-kernel@lists.infradead.org, - linux-arm-kernel@lists.infradead.org -Date: Sun, 29 Jan 2017 21:53:11 +0200 - -According to the BCM2835 ARM Peripherals document uart1 doesn't map to pins -36-39, but uart0 does. - -Also, split into separate Rx/Tx and CST/RTS groups to match other uart nodes. - -Fixes: 21ff843931b ("ARM: dts: bcm283x: Define standard pinctrl groups in the gpio node.") -Signed-off-by: Baruch Siach <baruch@tkos.co.il> ---- - arch/arm/boot/dts/bcm283x.dtsi | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 2ae842921250..9ee8346b8b19 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -306,6 +306,14 @@ - brcm,pins = <32 33>; - brcm,function = <BCM2835_FSEL_ALT3>; - }; -+ uart0_gpio36: uart0_gpio36 { -+ brcm,pins = <36 37>; -+ brcm,function = <BCM2835_FSEL_ALT2>; -+ }; -+ uart0_ctsrts_gpio38: uart0_ctsrts_gpio38 { -+ brcm,pins = <38 39>; -+ brcm,function = <BCM2835_FSEL_ALT2>; -+ }; - - uart1_gpio14: uart1_gpio14 { - brcm,pins = <14 15>; -@@ -323,10 +331,6 @@ - brcm,pins = <30 31>; - brcm,function = <BCM2835_FSEL_ALT5>; - }; -- uart1_gpio36: uart1_gpio36 { -- brcm,pins = <36 37 38 39>; -- brcm,function = <BCM2835_FSEL_ALT2>; -- }; - uart1_gpio40: uart1_gpio40 { - brcm,pins = <40 41>; - brcm,function = <BCM2835_FSEL_ALT5>; -From patchwork Mon Jan 30 18:44:39 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: ARM: bcm2835: dt: add index to the ethernet alias -From: Baruch Siach <baruch@tkos.co.il> -X-Patchwork-Id: 9545945 -Message-Id: <5942321c5d0bfea54eac64ace2b217e8e0b6220d.1485801879.git.baruch@tkos.co.il> -To: Stephen Warren <swarren@wwwdotorg.org>, Lee Jones <lee@kernel.org>, - Eric Anholt <eric@anholt.net> -Cc: Lubomir Rintel <lkundrak@v3.sk>, Baruch Siach <baruch@tkos.co.il>, - linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org -Date: Mon, 30 Jan 2017 20:44:39 +0200 - -An alias name should have an index number even when it is the only of its type. -This allows U-Boot to add the local-mac-address property. Otherwise U-Boot -skips the alias. - -Cc: Lubomir Rintel <lkundrak@v3.sk> -Fixes: 6a93792774 ("ARM: bcm2835: dt: Add the ethernet to the device trees") -Signed-off-by: Baruch Siach <baruch@tkos.co.il> -Acked-by: Lubomir Rintel <lkundrak@v3.sk> ---- - arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi | 2 +- - arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi b/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi -index 12c981e51134..9a0599f711ff 100644 ---- a/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi -+++ b/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi -@@ -1,6 +1,6 @@ - / { - aliases { -- ethernet = ðernet; -+ ethernet0 = ðernet; - }; - }; - -diff --git a/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi b/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi -index 3f0a56ebcf1f..dc7ae776db5f 100644 ---- a/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi -+++ b/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi -@@ -1,6 +1,6 @@ - / { - aliases { -- ethernet = ðernet; -+ ethernet0 = ðernet; - }; - }; - diff --git a/bcm283x-hdmi-audio.patch b/bcm283x-hdmi-audio.patch deleted file mode 100644 index 3ed3d2d34..000000000 --- a/bcm283x-hdmi-audio.patch +++ /dev/null @@ -1,836 +0,0 @@ -From bbcb8aacb871edf0360e808180162591b11c6a35 Mon Sep 17 00:00:00 2001 -From: Boris Brezillon <boris.brezillon@free-electrons.com> -Date: Mon, 27 Feb 2017 12:28:01 -0800 -Subject: [PATCH 1/3] dt-bindings: Document the dmas and dma-names properties - for VC4 HDMI - -These are optional, but necessary for HDMI audio support. - -Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> -Signed-off-by: Eric Anholt <eric@anholt.net> -Acked-by: Rob Herring <robh@kernel.org> -Link: http://patchwork.freedesktop.org/patch/msgid/20170227202803.12855-1-eric@anholt.net ---- - Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt b/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt -index 34c7fddcea39..ca02d3e4db91 100644 ---- a/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt -+++ b/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt -@@ -34,6 +34,9 @@ Optional properties for HDMI: - - hpd-gpios: The GPIO pin for HDMI hotplug detect (if it doesn't appear - as an interrupt/status bit in the HDMI controller - itself). See bindings/pinctrl/brcm,bcm2835-gpio.txt -+- dmas: Should contain one entry pointing to the DMA channel used to -+ transfer audio data -+- dma-names: Should contain "audio-rx" - - Required properties for DPI: - - compatible: Should be "brcm,bcm2835-dpi" --- -2.12.0 - -From 8e13e0d8ecf2202c707225a612d10c9534d849f7 Mon Sep 17 00:00:00 2001 -From: Eric Anholt <eric@anholt.net> -Date: Mon, 27 Feb 2017 12:28:02 -0800 -Subject: [PATCH 2/3] drm/vc4: Add HDMI audio support - -The HDMI encoder IP embeds all needed blocks to output audio, with a -custom DAI called MAI moving audio between the two parts of the HDMI -core. This driver now exposes a sound card to let users stream audio -to their display. - -Using the hdmi-codec driver has been considered here, but MAI meant -having to significantly rework hdmi-codec, and it would have left -little shared code with the I2S mode anyway. - -The encoder requires that the audio be SPDIF-formatted frames only, -which alsalib will format-convert for us. - -This patch is the combined work of Eric Anholt (initial register setup -with a separate dmaengine driver and using simple-audio-card) and -Boris Brezillon (moving it all into HDMI, massive debug to get it -actually working), and which Eric has the permission to release. - -v2: Drop "-audio" from sound card name, since that's already implied - (suggestion by Boris) - -Signed-off-by: Eric Anholt <eric@anholt.net> -Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> -Link: http://patchwork.freedesktop.org/patch/msgid/20170227202803.12855-2-eric@anholt.net ---- - drivers/gpu/drm/vc4/Kconfig | 4 + - drivers/gpu/drm/vc4/vc4_hdmi.c | 494 ++++++++++++++++++++++++++++++++++++++++- - drivers/gpu/drm/vc4/vc4_regs.h | 107 ++++++++- - 3 files changed, 603 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/Kconfig b/drivers/gpu/drm/vc4/Kconfig -index e1517d07cb7d..973b4203c0b2 100644 ---- a/drivers/gpu/drm/vc4/Kconfig -+++ b/drivers/gpu/drm/vc4/Kconfig -@@ -2,11 +2,15 @@ config DRM_VC4 - tristate "Broadcom VC4 Graphics" - depends on ARCH_BCM2835 || COMPILE_TEST - depends on DRM -+ depends on SND && SND_SOC - depends on COMMON_CLK - select DRM_KMS_HELPER - select DRM_KMS_CMA_HELPER - select DRM_GEM_CMA_HELPER - select DRM_PANEL -+ select SND_PCM -+ select SND_PCM_ELD -+ select SND_SOC_GENERIC_DMAENGINE_PCM - select DRM_MIPI_DSI - help - Choose this option if you have a system that has a Broadcom -diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index 93d5994f3a04..e4abf4bfc464 100644 ---- a/drivers/gpu/drm/vc4/vc4_hdmi.c -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -31,11 +31,27 @@ - #include "linux/clk.h" - #include "linux/component.h" - #include "linux/i2c.h" -+#include "linux/of_address.h" - #include "linux/of_gpio.h" - #include "linux/of_platform.h" -+#include "linux/rational.h" -+#include "sound/dmaengine_pcm.h" -+#include "sound/pcm_drm_eld.h" -+#include "sound/pcm_params.h" -+#include "sound/soc.h" - #include "vc4_drv.h" - #include "vc4_regs.h" - -+/* HDMI audio information */ -+struct vc4_hdmi_audio { -+ struct snd_soc_card card; -+ struct snd_soc_dai_link link; -+ int samplerate; -+ int channels; -+ struct snd_dmaengine_dai_dma_data dma_data; -+ struct snd_pcm_substream *substream; -+}; -+ - /* General HDMI hardware state. */ - struct vc4_hdmi { - struct platform_device *pdev; -@@ -43,6 +59,8 @@ struct vc4_hdmi { - struct drm_encoder *encoder; - struct drm_connector *connector; - -+ struct vc4_hdmi_audio audio; -+ - struct i2c_adapter *ddc; - void __iomem *hdmicore_regs; - void __iomem *hd_regs; -@@ -98,6 +116,10 @@ static const struct { - HDMI_REG(VC4_HDMI_SW_RESET_CONTROL), - HDMI_REG(VC4_HDMI_HOTPLUG_INT), - HDMI_REG(VC4_HDMI_HOTPLUG), -+ HDMI_REG(VC4_HDMI_MAI_CHANNEL_MAP), -+ HDMI_REG(VC4_HDMI_MAI_CONFIG), -+ HDMI_REG(VC4_HDMI_MAI_FORMAT), -+ HDMI_REG(VC4_HDMI_AUDIO_PACKET_CONFIG), - HDMI_REG(VC4_HDMI_RAM_PACKET_CONFIG), - HDMI_REG(VC4_HDMI_HORZA), - HDMI_REG(VC4_HDMI_HORZB), -@@ -108,6 +130,7 @@ static const struct { - HDMI_REG(VC4_HDMI_VERTB0), - HDMI_REG(VC4_HDMI_VERTB1), - HDMI_REG(VC4_HDMI_TX_PHY_RESET_CTL), -+ HDMI_REG(VC4_HDMI_TX_PHY_CTL0), - }; - - static const struct { -@@ -116,6 +139,9 @@ static const struct { - } hd_regs[] = { - HDMI_REG(VC4_HD_M_CTL), - HDMI_REG(VC4_HD_MAI_CTL), -+ HDMI_REG(VC4_HD_MAI_THR), -+ HDMI_REG(VC4_HD_MAI_FMT), -+ HDMI_REG(VC4_HD_MAI_SMP), - HDMI_REG(VC4_HD_VID_CTL), - HDMI_REG(VC4_HD_CSC_CTL), - HDMI_REG(VC4_HD_FRAME_COUNT), -@@ -215,6 +241,7 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) - - drm_mode_connector_update_edid_property(connector, edid); - ret = drm_add_edid_modes(connector, edid); -+ drm_edid_to_eld(connector, edid); - - return ret; - } -@@ -300,7 +327,7 @@ static void vc4_hdmi_write_infoframe(struct drm_encoder *encoder, - struct drm_device *dev = encoder->dev; - struct vc4_dev *vc4 = to_vc4_dev(dev); - u32 packet_id = frame->any.type - 0x80; -- u32 packet_reg = VC4_HDMI_GCP_0 + VC4_HDMI_PACKET_STRIDE * packet_id; -+ u32 packet_reg = VC4_HDMI_RAM_PACKET(packet_id); - uint8_t buffer[VC4_HDMI_PACKET_STRIDE]; - ssize_t len, i; - int ret; -@@ -381,6 +408,24 @@ static void vc4_hdmi_set_spd_infoframe(struct drm_encoder *encoder) - vc4_hdmi_write_infoframe(encoder, &frame); - } - -+static void vc4_hdmi_set_audio_infoframe(struct drm_encoder *encoder) -+{ -+ struct drm_device *drm = encoder->dev; -+ struct vc4_dev *vc4 = drm->dev_private; -+ struct vc4_hdmi *hdmi = vc4->hdmi; -+ union hdmi_infoframe frame; -+ int ret; -+ -+ ret = hdmi_audio_infoframe_init(&frame.audio); -+ -+ frame.audio.coding_type = HDMI_AUDIO_CODING_TYPE_STREAM; -+ frame.audio.sample_frequency = HDMI_AUDIO_SAMPLE_FREQUENCY_STREAM; -+ frame.audio.sample_size = HDMI_AUDIO_SAMPLE_SIZE_STREAM; -+ frame.audio.channels = hdmi->audio.channels; -+ -+ vc4_hdmi_write_infoframe(encoder, &frame); -+} -+ - static void vc4_hdmi_set_infoframes(struct drm_encoder *encoder) - { - vc4_hdmi_set_avi_infoframe(encoder); -@@ -589,6 +634,447 @@ static const struct drm_encoder_helper_funcs vc4_hdmi_encoder_helper_funcs = { - .enable = vc4_hdmi_encoder_enable, - }; - -+/* HDMI audio codec callbacks */ -+static void vc4_hdmi_audio_set_mai_clock(struct vc4_hdmi *hdmi) -+{ -+ struct drm_device *drm = hdmi->encoder->dev; -+ struct vc4_dev *vc4 = to_vc4_dev(drm); -+ u32 hsm_clock = clk_get_rate(hdmi->hsm_clock); -+ unsigned long n, m; -+ -+ rational_best_approximation(hsm_clock, hdmi->audio.samplerate, -+ VC4_HD_MAI_SMP_N_MASK >> -+ VC4_HD_MAI_SMP_N_SHIFT, -+ (VC4_HD_MAI_SMP_M_MASK >> -+ VC4_HD_MAI_SMP_M_SHIFT) + 1, -+ &n, &m); -+ -+ HD_WRITE(VC4_HD_MAI_SMP, -+ VC4_SET_FIELD(n, VC4_HD_MAI_SMP_N) | -+ VC4_SET_FIELD(m - 1, VC4_HD_MAI_SMP_M)); -+} -+ -+static void vc4_hdmi_set_n_cts(struct vc4_hdmi *hdmi) -+{ -+ struct drm_encoder *encoder = hdmi->encoder; -+ struct drm_crtc *crtc = encoder->crtc; -+ struct drm_device *drm = encoder->dev; -+ struct vc4_dev *vc4 = to_vc4_dev(drm); -+ const struct drm_display_mode *mode = &crtc->state->adjusted_mode; -+ u32 samplerate = hdmi->audio.samplerate; -+ u32 n, cts; -+ u64 tmp; -+ -+ n = 128 * samplerate / 1000; -+ tmp = (u64)(mode->clock * 1000) * n; -+ do_div(tmp, 128 * samplerate); -+ cts = tmp; -+ -+ HDMI_WRITE(VC4_HDMI_CRP_CFG, -+ VC4_HDMI_CRP_CFG_EXTERNAL_CTS_EN | -+ VC4_SET_FIELD(n, VC4_HDMI_CRP_CFG_N)); -+ -+ /* -+ * We could get slightly more accurate clocks in some cases by -+ * providing a CTS_1 value. The two CTS values are alternated -+ * between based on the period fields -+ */ -+ HDMI_WRITE(VC4_HDMI_CTS_0, cts); -+ HDMI_WRITE(VC4_HDMI_CTS_1, cts); -+} -+ -+static inline struct vc4_hdmi *dai_to_hdmi(struct snd_soc_dai *dai) -+{ -+ struct snd_soc_card *card = snd_soc_dai_get_drvdata(dai); -+ -+ return snd_soc_card_get_drvdata(card); -+} -+ -+static int vc4_hdmi_audio_startup(struct snd_pcm_substream *substream, -+ struct snd_soc_dai *dai) -+{ -+ struct vc4_hdmi *hdmi = dai_to_hdmi(dai); -+ struct drm_encoder *encoder = hdmi->encoder; -+ struct vc4_dev *vc4 = to_vc4_dev(encoder->dev); -+ int ret; -+ -+ if (hdmi->audio.substream && hdmi->audio.substream != substream) -+ return -EINVAL; -+ -+ hdmi->audio.substream = substream; -+ -+ /* -+ * If the HDMI encoder hasn't probed, or the encoder is -+ * currently in DVI mode, treat the codec dai as missing. -+ */ -+ if (!encoder->crtc || !(HDMI_READ(VC4_HDMI_RAM_PACKET_CONFIG) & -+ VC4_HDMI_RAM_PACKET_ENABLE)) -+ return -ENODEV; -+ -+ ret = snd_pcm_hw_constraint_eld(substream->runtime, -+ hdmi->connector->eld); -+ if (ret) -+ return ret; -+ -+ return 0; -+} -+ -+static int vc4_hdmi_audio_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) -+{ -+ return 0; -+} -+ -+static void vc4_hdmi_audio_reset(struct vc4_hdmi *hdmi) -+{ -+ struct drm_encoder *encoder = hdmi->encoder; -+ struct drm_device *drm = encoder->dev; -+ struct device *dev = &hdmi->pdev->dev; -+ struct vc4_dev *vc4 = to_vc4_dev(drm); -+ int ret; -+ -+ ret = vc4_hdmi_stop_packet(encoder, HDMI_INFOFRAME_TYPE_AUDIO); -+ if (ret) -+ dev_err(dev, "Failed to stop audio infoframe: %d\n", ret); -+ -+ HD_WRITE(VC4_HD_MAI_CTL, VC4_HD_MAI_CTL_RESET); -+ HD_WRITE(VC4_HD_MAI_CTL, VC4_HD_MAI_CTL_ERRORF); -+ HD_WRITE(VC4_HD_MAI_CTL, VC4_HD_MAI_CTL_FLUSH); -+} -+ -+static void vc4_hdmi_audio_shutdown(struct snd_pcm_substream *substream, -+ struct snd_soc_dai *dai) -+{ -+ struct vc4_hdmi *hdmi = dai_to_hdmi(dai); -+ -+ if (substream != hdmi->audio.substream) -+ return; -+ -+ vc4_hdmi_audio_reset(hdmi); -+ -+ hdmi->audio.substream = NULL; -+} -+ -+/* HDMI audio codec callbacks */ -+static int vc4_hdmi_audio_hw_params(struct snd_pcm_substream *substream, -+ struct snd_pcm_hw_params *params, -+ struct snd_soc_dai *dai) -+{ -+ struct vc4_hdmi *hdmi = dai_to_hdmi(dai); -+ struct drm_encoder *encoder = hdmi->encoder; -+ struct drm_device *drm = encoder->dev; -+ struct device *dev = &hdmi->pdev->dev; -+ struct vc4_dev *vc4 = to_vc4_dev(drm); -+ u32 audio_packet_config, channel_mask; -+ u32 channel_map, i; -+ -+ if (substream != hdmi->audio.substream) -+ return -EINVAL; -+ -+ dev_dbg(dev, "%s: %u Hz, %d bit, %d channels\n", __func__, -+ params_rate(params), params_width(params), -+ params_channels(params)); -+ -+ hdmi->audio.channels = params_channels(params); -+ hdmi->audio.samplerate = params_rate(params); -+ -+ HD_WRITE(VC4_HD_MAI_CTL, -+ VC4_HD_MAI_CTL_RESET | -+ VC4_HD_MAI_CTL_FLUSH | -+ VC4_HD_MAI_CTL_DLATE | -+ VC4_HD_MAI_CTL_ERRORE | -+ VC4_HD_MAI_CTL_ERRORF); -+ -+ vc4_hdmi_audio_set_mai_clock(hdmi); -+ -+ audio_packet_config = -+ VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_SAMPLE_FLAT | -+ VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_INACTIVE_CHANNELS | -+ VC4_SET_FIELD(0xf, VC4_HDMI_AUDIO_PACKET_B_FRAME_IDENTIFIER); -+ -+ channel_mask = GENMASK(hdmi->audio.channels - 1, 0); -+ audio_packet_config |= VC4_SET_FIELD(channel_mask, -+ VC4_HDMI_AUDIO_PACKET_CEA_MASK); -+ -+ /* Set the MAI threshold. This logic mimics the firmware's. */ -+ if (hdmi->audio.samplerate > 96000) { -+ HD_WRITE(VC4_HD_MAI_THR, -+ VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQHIGH) | -+ VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQLOW)); -+ } else if (hdmi->audio.samplerate > 48000) { -+ HD_WRITE(VC4_HD_MAI_THR, -+ VC4_SET_FIELD(0x14, VC4_HD_MAI_THR_DREQHIGH) | -+ VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQLOW)); -+ } else { -+ HD_WRITE(VC4_HD_MAI_THR, -+ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICHIGH) | -+ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICLOW) | -+ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQHIGH) | -+ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQLOW)); -+ } -+ -+ HDMI_WRITE(VC4_HDMI_MAI_CONFIG, -+ VC4_HDMI_MAI_CONFIG_BIT_REVERSE | -+ VC4_SET_FIELD(channel_mask, VC4_HDMI_MAI_CHANNEL_MASK)); -+ -+ channel_map = 0; -+ for (i = 0; i < 8; i++) { -+ if (channel_mask & BIT(i)) -+ channel_map |= i << (3 * i); -+ } -+ -+ HDMI_WRITE(VC4_HDMI_MAI_CHANNEL_MAP, channel_map); -+ HDMI_WRITE(VC4_HDMI_AUDIO_PACKET_CONFIG, audio_packet_config); -+ vc4_hdmi_set_n_cts(hdmi); -+ -+ return 0; -+} -+ -+static int vc4_hdmi_audio_trigger(struct snd_pcm_substream *substream, int cmd, -+ struct snd_soc_dai *dai) -+{ -+ struct vc4_hdmi *hdmi = dai_to_hdmi(dai); -+ struct drm_encoder *encoder = hdmi->encoder; -+ struct drm_device *drm = encoder->dev; -+ struct vc4_dev *vc4 = to_vc4_dev(drm); -+ -+ switch (cmd) { -+ case SNDRV_PCM_TRIGGER_START: -+ vc4_hdmi_set_audio_infoframe(encoder); -+ HDMI_WRITE(VC4_HDMI_TX_PHY_CTL0, -+ HDMI_READ(VC4_HDMI_TX_PHY_CTL0) & -+ ~VC4_HDMI_TX_PHY_RNG_PWRDN); -+ HD_WRITE(VC4_HD_MAI_CTL, -+ VC4_SET_FIELD(hdmi->audio.channels, -+ VC4_HD_MAI_CTL_CHNUM) | -+ VC4_HD_MAI_CTL_ENABLE); -+ break; -+ case SNDRV_PCM_TRIGGER_STOP: -+ HD_WRITE(VC4_HD_MAI_CTL, -+ VC4_HD_MAI_CTL_DLATE | -+ VC4_HD_MAI_CTL_ERRORE | -+ VC4_HD_MAI_CTL_ERRORF); -+ HDMI_WRITE(VC4_HDMI_TX_PHY_CTL0, -+ HDMI_READ(VC4_HDMI_TX_PHY_CTL0) | -+ VC4_HDMI_TX_PHY_RNG_PWRDN); -+ break; -+ default: -+ break; -+ } -+ -+ return 0; -+} -+ -+static inline struct vc4_hdmi * -+snd_component_to_hdmi(struct snd_soc_component *component) -+{ -+ struct snd_soc_card *card = snd_soc_component_get_drvdata(component); -+ -+ return snd_soc_card_get_drvdata(card); -+} -+ -+static int vc4_hdmi_audio_eld_ctl_info(struct snd_kcontrol *kcontrol, -+ struct snd_ctl_elem_info *uinfo) -+{ -+ struct snd_soc_component *component = snd_kcontrol_chip(kcontrol); -+ struct vc4_hdmi *hdmi = snd_component_to_hdmi(component); -+ -+ uinfo->type = SNDRV_CTL_ELEM_TYPE_BYTES; -+ uinfo->count = sizeof(hdmi->connector->eld); -+ -+ return 0; -+} -+ -+static int vc4_hdmi_audio_eld_ctl_get(struct snd_kcontrol *kcontrol, -+ struct snd_ctl_elem_value *ucontrol) -+{ -+ struct snd_soc_component *component = snd_kcontrol_chip(kcontrol); -+ struct vc4_hdmi *hdmi = snd_component_to_hdmi(component); -+ -+ memcpy(ucontrol->value.bytes.data, hdmi->connector->eld, -+ sizeof(hdmi->connector->eld)); -+ -+ return 0; -+} -+ -+static const struct snd_kcontrol_new vc4_hdmi_audio_controls[] = { -+ { -+ .access = SNDRV_CTL_ELEM_ACCESS_READ | -+ SNDRV_CTL_ELEM_ACCESS_VOLATILE, -+ .iface = SNDRV_CTL_ELEM_IFACE_PCM, -+ .name = "ELD", -+ .info = vc4_hdmi_audio_eld_ctl_info, -+ .get = vc4_hdmi_audio_eld_ctl_get, -+ }, -+}; -+ -+static const struct snd_soc_dapm_widget vc4_hdmi_audio_widgets[] = { -+ SND_SOC_DAPM_OUTPUT("TX"), -+}; -+ -+static const struct snd_soc_dapm_route vc4_hdmi_audio_routes[] = { -+ { "TX", NULL, "Playback" }, -+}; -+ -+static const struct snd_soc_codec_driver vc4_hdmi_audio_codec_drv = { -+ .component_driver = { -+ .controls = vc4_hdmi_audio_controls, -+ .num_controls = ARRAY_SIZE(vc4_hdmi_audio_controls), -+ .dapm_widgets = vc4_hdmi_audio_widgets, -+ .num_dapm_widgets = ARRAY_SIZE(vc4_hdmi_audio_widgets), -+ .dapm_routes = vc4_hdmi_audio_routes, -+ .num_dapm_routes = ARRAY_SIZE(vc4_hdmi_audio_routes), -+ }, -+}; -+ -+static const struct snd_soc_dai_ops vc4_hdmi_audio_dai_ops = { -+ .startup = vc4_hdmi_audio_startup, -+ .shutdown = vc4_hdmi_audio_shutdown, -+ .hw_params = vc4_hdmi_audio_hw_params, -+ .set_fmt = vc4_hdmi_audio_set_fmt, -+ .trigger = vc4_hdmi_audio_trigger, -+}; -+ -+static struct snd_soc_dai_driver vc4_hdmi_audio_codec_dai_drv = { -+ .name = "vc4-hdmi-hifi", -+ .playback = { -+ .stream_name = "Playback", -+ .channels_min = 2, -+ .channels_max = 8, -+ .rates = SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | -+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 | -+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 | -+ SNDRV_PCM_RATE_192000, -+ .formats = SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE, -+ }, -+}; -+ -+static const struct snd_soc_component_driver vc4_hdmi_audio_cpu_dai_comp = { -+ .name = "vc4-hdmi-cpu-dai-component", -+}; -+ -+static int vc4_hdmi_audio_cpu_dai_probe(struct snd_soc_dai *dai) -+{ -+ struct vc4_hdmi *hdmi = dai_to_hdmi(dai); -+ -+ snd_soc_dai_init_dma_data(dai, &hdmi->audio.dma_data, NULL); -+ -+ return 0; -+} -+ -+static struct snd_soc_dai_driver vc4_hdmi_audio_cpu_dai_drv = { -+ .name = "vc4-hdmi-cpu-dai", -+ .probe = vc4_hdmi_audio_cpu_dai_probe, -+ .playback = { -+ .stream_name = "Playback", -+ .channels_min = 1, -+ .channels_max = 8, -+ .rates = SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | -+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 | -+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 | -+ SNDRV_PCM_RATE_192000, -+ .formats = SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE, -+ }, -+ .ops = &vc4_hdmi_audio_dai_ops, -+}; -+ -+static const struct snd_dmaengine_pcm_config pcm_conf = { -+ .chan_names[SNDRV_PCM_STREAM_PLAYBACK] = "audio-rx", -+ .prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config, -+}; -+ -+static int vc4_hdmi_audio_init(struct vc4_hdmi *hdmi) -+{ -+ struct snd_soc_dai_link *dai_link = &hdmi->audio.link; -+ struct snd_soc_card *card = &hdmi->audio.card; -+ struct device *dev = &hdmi->pdev->dev; -+ const __be32 *addr; -+ int ret; -+ -+ if (!of_find_property(dev->of_node, "dmas", NULL)) { -+ dev_warn(dev, -+ "'dmas' DT property is missing, no HDMI audio\n"); -+ return 0; -+ } -+ -+ /* -+ * Get the physical address of VC4_HD_MAI_DATA. We need to retrieve -+ * the bus address specified in the DT, because the physical address -+ * (the one returned by platform_get_resource()) is not appropriate -+ * for DMA transfers. -+ * This VC/MMU should probably be exposed to avoid this kind of hacks. -+ */ -+ addr = of_get_address(dev->of_node, 1, NULL, NULL); -+ hdmi->audio.dma_data.addr = be32_to_cpup(addr) + VC4_HD_MAI_DATA; -+ hdmi->audio.dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; -+ hdmi->audio.dma_data.maxburst = 2; -+ -+ ret = devm_snd_dmaengine_pcm_register(dev, &pcm_conf, 0); -+ if (ret) { -+ dev_err(dev, "Could not register PCM component: %d\n", ret); -+ return ret; -+ } -+ -+ ret = devm_snd_soc_register_component(dev, &vc4_hdmi_audio_cpu_dai_comp, -+ &vc4_hdmi_audio_cpu_dai_drv, 1); -+ if (ret) { -+ dev_err(dev, "Could not register CPU DAI: %d\n", ret); -+ return ret; -+ } -+ -+ /* register codec and codec dai */ -+ ret = snd_soc_register_codec(dev, &vc4_hdmi_audio_codec_drv, -+ &vc4_hdmi_audio_codec_dai_drv, 1); -+ if (ret) { -+ dev_err(dev, "Could not register codec: %d\n", ret); -+ return ret; -+ } -+ -+ dai_link->name = "MAI"; -+ dai_link->stream_name = "MAI PCM"; -+ dai_link->codec_dai_name = vc4_hdmi_audio_codec_dai_drv.name; -+ dai_link->cpu_dai_name = dev_name(dev); -+ dai_link->codec_name = dev_name(dev); -+ dai_link->platform_name = dev_name(dev); -+ -+ card->dai_link = dai_link; -+ card->num_links = 1; -+ card->name = "vc4-hdmi"; -+ card->dev = dev; -+ -+ /* -+ * Be careful, snd_soc_register_card() calls dev_set_drvdata() and -+ * stores a pointer to the snd card object in dev->driver_data. This -+ * means we cannot use it for something else. The hdmi back-pointer is -+ * now stored in card->drvdata and should be retrieved with -+ * snd_soc_card_get_drvdata() if needed. -+ */ -+ snd_soc_card_set_drvdata(card, hdmi); -+ ret = devm_snd_soc_register_card(dev, card); -+ if (ret) { -+ dev_err(dev, "Could not register sound card: %d\n", ret); -+ goto unregister_codec; -+ } -+ -+ return 0; -+ -+unregister_codec: -+ snd_soc_unregister_codec(dev); -+ -+ return ret; -+} -+ -+static void vc4_hdmi_audio_cleanup(struct vc4_hdmi *hdmi) -+{ -+ struct device *dev = &hdmi->pdev->dev; -+ -+ /* -+ * If drvdata is not set this means the audio card was not -+ * registered, just skip codec unregistration in this case. -+ */ -+ if (dev_get_drvdata(dev)) -+ snd_soc_unregister_codec(dev); -+} -+ - static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) - { - struct platform_device *pdev = to_platform_device(dev); -@@ -720,6 +1206,10 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) - goto err_destroy_encoder; - } - -+ ret = vc4_hdmi_audio_init(hdmi); -+ if (ret) -+ goto err_destroy_encoder; -+ - return 0; - - err_destroy_encoder: -@@ -741,6 +1231,8 @@ static void vc4_hdmi_unbind(struct device *dev, struct device *master, - struct vc4_dev *vc4 = drm->dev_private; - struct vc4_hdmi *hdmi = vc4->hdmi; - -+ vc4_hdmi_audio_cleanup(hdmi); -+ - vc4_hdmi_connector_destroy(hdmi->connector); - vc4_hdmi_encoder_destroy(hdmi->encoder); - -diff --git a/drivers/gpu/drm/vc4/vc4_regs.h b/drivers/gpu/drm/vc4/vc4_regs.h -index 385405a2df05..932093936178 100644 ---- a/drivers/gpu/drm/vc4/vc4_regs.h -+++ b/drivers/gpu/drm/vc4/vc4_regs.h -@@ -446,11 +446,62 @@ - #define VC4_HDMI_HOTPLUG 0x00c - # define VC4_HDMI_HOTPLUG_CONNECTED BIT(0) - -+/* 3 bits per field, where each field maps from that corresponding MAI -+ * bus channel to the given HDMI channel. -+ */ -+#define VC4_HDMI_MAI_CHANNEL_MAP 0x090 -+ -+#define VC4_HDMI_MAI_CONFIG 0x094 -+# define VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE BIT(27) -+# define VC4_HDMI_MAI_CONFIG_BIT_REVERSE BIT(26) -+# define VC4_HDMI_MAI_CHANNEL_MASK_MASK VC4_MASK(15, 0) -+# define VC4_HDMI_MAI_CHANNEL_MASK_SHIFT 0 -+ -+/* Last received format word on the MAI bus. */ -+#define VC4_HDMI_MAI_FORMAT 0x098 -+ -+#define VC4_HDMI_AUDIO_PACKET_CONFIG 0x09c -+# define VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_SAMPLE_FLAT BIT(29) -+# define VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_INACTIVE_CHANNELS BIT(24) -+# define VC4_HDMI_AUDIO_PACKET_FORCE_SAMPLE_PRESENT BIT(19) -+# define VC4_HDMI_AUDIO_PACKET_FORCE_B_FRAME BIT(18) -+# define VC4_HDMI_AUDIO_PACKET_B_FRAME_IDENTIFIER_MASK VC4_MASK(13, 10) -+# define VC4_HDMI_AUDIO_PACKET_B_FRAME_IDENTIFIER_SHIFT 10 -+/* If set, then multichannel, otherwise 2 channel. */ -+# define VC4_HDMI_AUDIO_PACKET_AUDIO_LAYOUT BIT(9) -+/* If set, then AUDIO_LAYOUT overrides audio_cea_mask */ -+# define VC4_HDMI_AUDIO_PACKET_FORCE_AUDIO_LAYOUT BIT(8) -+# define VC4_HDMI_AUDIO_PACKET_CEA_MASK_MASK VC4_MASK(7, 0) -+# define VC4_HDMI_AUDIO_PACKET_CEA_MASK_SHIFT 0 -+ - #define VC4_HDMI_RAM_PACKET_CONFIG 0x0a0 - # define VC4_HDMI_RAM_PACKET_ENABLE BIT(16) - - #define VC4_HDMI_RAM_PACKET_STATUS 0x0a4 - -+#define VC4_HDMI_CRP_CFG 0x0a8 -+/* When set, the CTS_PERIOD counts based on MAI bus sync pulse instead -+ * of pixel clock. -+ */ -+# define VC4_HDMI_CRP_USE_MAI_BUS_SYNC_FOR_CTS BIT(26) -+/* When set, no CRP packets will be sent. */ -+# define VC4_HDMI_CRP_CFG_DISABLE BIT(25) -+/* If set, generates CTS values based on N, audio clock, and video -+ * clock. N must be divisible by 128. -+ */ -+# define VC4_HDMI_CRP_CFG_EXTERNAL_CTS_EN BIT(24) -+# define VC4_HDMI_CRP_CFG_N_MASK VC4_MASK(19, 0) -+# define VC4_HDMI_CRP_CFG_N_SHIFT 0 -+ -+/* 20-bit fields containing CTS values to be transmitted if !EXTERNAL_CTS_EN */ -+#define VC4_HDMI_CTS_0 0x0ac -+#define VC4_HDMI_CTS_1 0x0b0 -+/* 20-bit fields containing number of clocks to send CTS0/1 before -+ * switching to the other one. -+ */ -+#define VC4_HDMI_CTS_PERIOD_0 0x0b4 -+#define VC4_HDMI_CTS_PERIOD_1 0x0b8 -+ - #define VC4_HDMI_HORZA 0x0c4 - # define VC4_HDMI_HORZA_VPOS BIT(14) - # define VC4_HDMI_HORZA_HPOS BIT(13) -@@ -512,7 +563,11 @@ - - #define VC4_HDMI_TX_PHY_RESET_CTL 0x2c0 - --#define VC4_HDMI_GCP_0 0x400 -+#define VC4_HDMI_TX_PHY_CTL0 0x2c4 -+# define VC4_HDMI_TX_PHY_RNG_PWRDN BIT(25) -+ -+#define VC4_HDMI_GCP(x) (0x400 + ((x) * 0x4)) -+#define VC4_HDMI_RAM_PACKET(x) (0x400 + ((x) * 0x24)) - #define VC4_HDMI_PACKET_STRIDE 0x24 - - #define VC4_HD_M_CTL 0x00c -@@ -522,6 +577,56 @@ - # define VC4_HD_M_ENABLE BIT(0) - - #define VC4_HD_MAI_CTL 0x014 -+/* Set when audio stream is received at a slower rate than the -+ * sampling period, so MAI fifo goes empty. Write 1 to clear. -+ */ -+# define VC4_HD_MAI_CTL_DLATE BIT(15) -+# define VC4_HD_MAI_CTL_BUSY BIT(14) -+# define VC4_HD_MAI_CTL_CHALIGN BIT(13) -+# define VC4_HD_MAI_CTL_WHOLSMP BIT(12) -+# define VC4_HD_MAI_CTL_FULL BIT(11) -+# define VC4_HD_MAI_CTL_EMPTY BIT(10) -+# define VC4_HD_MAI_CTL_FLUSH BIT(9) -+/* If set, MAI bus generates SPDIF (bit 31) parity instead of passing -+ * through. -+ */ -+# define VC4_HD_MAI_CTL_PAREN BIT(8) -+# define VC4_HD_MAI_CTL_CHNUM_MASK VC4_MASK(7, 4) -+# define VC4_HD_MAI_CTL_CHNUM_SHIFT 4 -+# define VC4_HD_MAI_CTL_ENABLE BIT(3) -+/* Underflow error status bit, write 1 to clear. */ -+# define VC4_HD_MAI_CTL_ERRORE BIT(2) -+/* Overflow error status bit, write 1 to clear. */ -+# define VC4_HD_MAI_CTL_ERRORF BIT(1) -+/* Single-shot reset bit. Read value is undefined. */ -+# define VC4_HD_MAI_CTL_RESET BIT(0) -+ -+#define VC4_HD_MAI_THR 0x018 -+# define VC4_HD_MAI_THR_PANICHIGH_MASK VC4_MASK(29, 24) -+# define VC4_HD_MAI_THR_PANICHIGH_SHIFT 24 -+# define VC4_HD_MAI_THR_PANICLOW_MASK VC4_MASK(21, 16) -+# define VC4_HD_MAI_THR_PANICLOW_SHIFT 16 -+# define VC4_HD_MAI_THR_DREQHIGH_MASK VC4_MASK(13, 8) -+# define VC4_HD_MAI_THR_DREQHIGH_SHIFT 8 -+# define VC4_HD_MAI_THR_DREQLOW_MASK VC4_MASK(5, 0) -+# define VC4_HD_MAI_THR_DREQLOW_SHIFT 0 -+ -+/* Format header to be placed on the MAI data. Unused. */ -+#define VC4_HD_MAI_FMT 0x01c -+ -+/* Register for DMAing in audio data to be transported over the MAI -+ * bus to the Falcon core. -+ */ -+#define VC4_HD_MAI_DATA 0x020 -+ -+/* Divider from HDMI HSM clock to MAI serial clock. Sampling period -+ * converges to N / (M + 1) cycles. -+ */ -+#define VC4_HD_MAI_SMP 0x02c -+# define VC4_HD_MAI_SMP_N_MASK VC4_MASK(31, 8) -+# define VC4_HD_MAI_SMP_N_SHIFT 8 -+# define VC4_HD_MAI_SMP_M_MASK VC4_MASK(7, 0) -+# define VC4_HD_MAI_SMP_M_SHIFT 0 - - #define VC4_HD_VID_CTL 0x038 - # define VC4_HD_VID_CTL_ENABLE BIT(31) --- -2.12.0 - -From 25ea82d7f7c869ff81ff8e64d24c5c4a896239fe Mon Sep 17 00:00:00 2001 -From: Boris Brezillon <boris.brezillon@free-electrons.com> -Date: Mon, 27 Feb 2017 12:28:03 -0800 -Subject: [PATCH 3/3] ARM: dts: bcm283x: Add HDMI audio related properties - -Add the dmas and dma-names properties to support HDMI audio. - -Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> -Signed-off-by: Eric Anholt <eric@anholt.net> ---- - arch/arm/boot/dts/bcm283x.dtsi | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index a3106aa446c6..a31b0b303ddc 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -499,6 +499,8 @@ - clocks = <&clocks BCM2835_PLLH_PIX>, - <&clocks BCM2835_CLOCK_HSM>; - clock-names = "pixel", "hdmi"; -+ dmas = <&dma 17>; -+ dma-names = "audio-rx"; - status = "disabled"; - }; - --- -2.12.0 - diff --git a/bcm283x-mmc-bcm2835.patch b/bcm283x-mmc-bcm2835.patch deleted file mode 100644 index ba9ae3648..000000000 --- a/bcm283x-mmc-bcm2835.patch +++ /dev/null @@ -1,1998 +0,0 @@ -From patchwork Wed Mar 8 09:19:01 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,1/7] dt-bindings: Add binding for brcm,bcm2835-sdhost. -From: Gerd Hoffmann <kraxel@redhat.com> -X-Patchwork-Id: 9610673 -Message-Id: <1488964751-22763-2-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann <kraxel@redhat.com>, - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:01 +0100 - -From: Eric Anholt <eric@anholt.net> - -This is the other SD controller on the platform, which can be swapped -to the role of SD card host using pin muxing. - -Signed-off-by: Eric Anholt <eric@anholt.net> -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> -Acked-by: Rob Herring <robh@kernel.org> ---- - .../bindings/mmc/brcm,bcm2835-sdhost.txt | 23 ++++++++++++++++++++++ - 1 file changed, 23 insertions(+) - create mode 100644 Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhost.txt - -diff --git a/Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhost.txt b/Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhost.txt -new file mode 100644 -index 0000000..d876580 ---- /dev/null -+++ b/Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhost.txt -@@ -0,0 +1,23 @@ -+Broadcom BCM2835 SDHOST controller -+ -+This file documents differences between the core properties described -+by mmc.txt and the properties that represent the BCM2835 controller. -+ -+Required properties: -+- compatible: Should be "brcm,bcm2835-sdhost". -+- clocks: The clock feeding the SDHOST controller. -+ -+Optional properties: -+- dmas: DMA channel for read and write. -+ See Documentation/devicetree/bindings/dma/dma.txt for details -+ -+Example: -+ -+sdhost: mmc@7e202000 { -+ compatible = "brcm,bcm2835-sdhost"; -+ reg = <0x7e202000 0x100>; -+ interrupts = <2 24>; -+ clocks = <&clocks BCM2835_CLOCK_VPU>; -+ dmas = <&dma 13>; -+ dma-names = "rx-tx"; -+}; -From patchwork Wed Mar 8 09:19:03 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,2/7] mmc: bcm2835: Add new driver for the sdhost controller. -From: Gerd Hoffmann <kraxel@redhat.com> -X-Patchwork-Id: 9610701 -Message-Id: <1488964751-22763-4-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann <kraxel@redhat.com>, - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:03 +0100 - -From: Eric Anholt <eric@anholt.net> - -The 2835 has two SD controllers: The Arasan sdhci controller (supported -by the iproc driver) and a custom sdhost controller. This patch adds a -driver for the latter. - -The sdhci controller supports both sdcard and sdio. The sdhost -controller supports the sdcard only, but has better performance. Also -note that the rpi3 has sdio wifi, so driving the sdcard with the sdhost -controller allows to use the sdhci controller for wifi support. - -The configuration is done by devicetree via pin muxing. Both SD -controller are available on the same pins (2 pin groups = pin 22 to 27 + -pin 48 to 53). So it's possible to use both SD controllers at the same -time with different pin groups. - -The code was originally written by Phil Elwell in the downstream -Rasbperry Pi tree. In preparation for the upstream merge it was -cleaned up and the code base was moderized by Eric Anholt, Stefan -Wahren and Gerd Hoffmann. - -Signed-off-by: Eric Anholt <eric@anholt.net> -Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> ---- - drivers/mmc/host/Kconfig | 14 + - drivers/mmc/host/Makefile | 1 + - drivers/mmc/host/bcm2835.c | 1465 ++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 1480 insertions(+) - create mode 100644 drivers/mmc/host/bcm2835.c - -diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index f08691a..a638cd0 100644 ---- a/drivers/mmc/host/Kconfig -+++ b/drivers/mmc/host/Kconfig -@@ -799,6 +799,20 @@ config MMC_TOSHIBA_PCI - depends on PCI - help - -+config MMC_BCM2835 -+ tristate "Broadcom BCM2835 SDHOST MMC Controller support" -+ depends on ARCH_BCM2835 || COMPILE_TEST -+ depends on HAS_DMA -+ help -+ This selects the BCM2835 SDHOST MMC controller. If you have -+ a BCM2835 platform with SD or MMC devices, say Y or M here. -+ -+ Note that the BCM2835 has two SD controllers: The Arasan -+ sdhci controller (supported by MMC_SDHCI_IPROC) and a custom -+ sdhost controller (supported by this driver). -+ -+ If unsure, say N. -+ - config MMC_MTK - tristate "MediaTek SD/MMC Card Interface support" - depends on HAS_DMA -diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index 6d548c4..bc2c2e2 100644 ---- a/drivers/mmc/host/Makefile -+++ b/drivers/mmc/host/Makefile -@@ -59,6 +59,7 @@ obj-$(CONFIG_MMC_MOXART) += moxart-mmc.o - obj-$(CONFIG_MMC_SUNXI) += sunxi-mmc.o - obj-$(CONFIG_MMC_USDHI6ROL0) += usdhi6rol0.o - obj-$(CONFIG_MMC_TOSHIBA_PCI) += toshsd.o -+obj-$(CONFIG_MMC_BCM2835) += bcm2835.o - - obj-$(CONFIG_MMC_REALTEK_PCI) += rtsx_pci_sdmmc.o - obj-$(CONFIG_MMC_REALTEK_USB) += rtsx_usb_sdmmc.o -diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c -new file mode 100644 -index 0000000..7d1b0db7 ---- /dev/null -+++ b/drivers/mmc/host/bcm2835.c -@@ -0,0 +1,1465 @@ -+/* -+ * bcm2835 sdhost driver. -+ * -+ * The 2835 has two SD controllers: The Arasan sdhci controller -+ * (supported by the iproc driver) and a custom sdhost controller -+ * (supported by this driver). -+ * -+ * The sdhci controller supports both sdcard and sdio. The sdhost -+ * controller supports the sdcard only, but has better performance. -+ * Also note that the rpi3 has sdio wifi, so driving the sdcard with -+ * the sdhost controller allows to use the sdhci controller for wifi -+ * support. -+ * -+ * The configuration is done by devicetree via pin muxing. Both -+ * SD controller are available on the same pins (2 pin groups = pin 22 -+ * to 27 + pin 48 to 53). So it's possible to use both SD controllers -+ * at the same time with different pin groups. -+ * -+ * Author: Phil Elwell <phil@raspberrypi.org> -+ * Copyright (C) 2015-2016 Raspberry Pi (Trading) Ltd. -+ * -+ * Based on -+ * mmc-bcm2835.c by Gellert Weisz -+ * which is, in turn, based on -+ * sdhci-bcm2708.c by Broadcom -+ * sdhci-bcm2835.c by Stephen Warren and Oleksandr Tymoshenko -+ * sdhci.c and sdhci-pci.c by Pierre Ossman -+ * -+ * This program is free software; you can redistribute it and/or modify it -+ * under the terms and conditions of the GNU General Public License, -+ * version 2, as published by the Free Software Foundation. -+ * -+ * This program is distributed in the hope it will be useful, but WITHOUT -+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -+ * more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see <http://www.gnu.org/licenses/>. -+ */ -+#include <linux/clk.h> -+#include <linux/delay.h> -+#include <linux/device.h> -+#include <linux/dmaengine.h> -+#include <linux/dma-mapping.h> -+#include <linux/err.h> -+#include <linux/highmem.h> -+#include <linux/interrupt.h> -+#include <linux/io.h> -+#include <linux/iopoll.h> -+#include <linux/module.h> -+#include <linux/of_address.h> -+#include <linux/of_irq.h> -+#include <linux/platform_device.h> -+#include <linux/scatterlist.h> -+#include <linux/time.h> -+#include <linux/workqueue.h> -+ -+#include <linux/mmc/host.h> -+#include <linux/mmc/mmc.h> -+#include <linux/mmc/sd.h> -+ -+#define SDCMD 0x00 /* Command to SD card - 16 R/W */ -+#define SDARG 0x04 /* Argument to SD card - 32 R/W */ -+#define SDTOUT 0x08 /* Start value for timeout counter - 32 R/W */ -+#define SDCDIV 0x0c /* Start value for clock divider - 11 R/W */ -+#define SDRSP0 0x10 /* SD card response (31:0) - 32 R */ -+#define SDRSP1 0x14 /* SD card response (63:32) - 32 R */ -+#define SDRSP2 0x18 /* SD card response (95:64) - 32 R */ -+#define SDRSP3 0x1c /* SD card response (127:96) - 32 R */ -+#define SDHSTS 0x20 /* SD host status - 11 R/W */ -+#define SDVDD 0x30 /* SD card power control - 1 R/W */ -+#define SDEDM 0x34 /* Emergency Debug Mode - 13 R/W */ -+#define SDHCFG 0x38 /* Host configuration - 2 R/W */ -+#define SDHBCT 0x3c /* Host byte count (debug) - 32 R/W */ -+#define SDDATA 0x40 /* Data to/from SD card - 32 R/W */ -+#define SDHBLC 0x50 /* Host block count (SDIO/SDHC) - 9 R/W */ -+ -+#define SDCMD_NEW_FLAG 0x8000 -+#define SDCMD_FAIL_FLAG 0x4000 -+#define SDCMD_BUSYWAIT 0x800 -+#define SDCMD_NO_RESPONSE 0x400 -+#define SDCMD_LONG_RESPONSE 0x200 -+#define SDCMD_WRITE_CMD 0x80 -+#define SDCMD_READ_CMD 0x40 -+#define SDCMD_CMD_MASK 0x3f -+ -+#define SDCDIV_MAX_CDIV 0x7ff -+ -+#define SDHSTS_BUSY_IRPT 0x400 -+#define SDHSTS_BLOCK_IRPT 0x200 -+#define SDHSTS_SDIO_IRPT 0x100 -+#define SDHSTS_REW_TIME_OUT 0x80 -+#define SDHSTS_CMD_TIME_OUT 0x40 -+#define SDHSTS_CRC16_ERROR 0x20 -+#define SDHSTS_CRC7_ERROR 0x10 -+#define SDHSTS_FIFO_ERROR 0x08 -+/* Reserved */ -+/* Reserved */ -+#define SDHSTS_DATA_FLAG 0x01 -+ -+#define SDHSTS_TRANSFER_ERROR_MASK (SDHSTS_CRC7_ERROR | \ -+ SDHSTS_CRC16_ERROR | \ -+ SDHSTS_REW_TIME_OUT | \ -+ SDHSTS_FIFO_ERROR) -+ -+#define SDHSTS_ERROR_MASK (SDHSTS_CMD_TIME_OUT | \ -+ SDHSTS_TRANSFER_ERROR_MASK) -+ -+#define SDHCFG_BUSY_IRPT_EN BIT(10) -+#define SDHCFG_BLOCK_IRPT_EN BIT(8) -+#define SDHCFG_SDIO_IRPT_EN BIT(5) -+#define SDHCFG_DATA_IRPT_EN BIT(4) -+#define SDHCFG_SLOW_CARD BIT(3) -+#define SDHCFG_WIDE_EXT_BUS BIT(2) -+#define SDHCFG_WIDE_INT_BUS BIT(1) -+#define SDHCFG_REL_CMD_LINE BIT(0) -+ -+#define SDVDD_POWER_OFF 0 -+#define SDVDD_POWER_ON 1 -+ -+#define SDEDM_FORCE_DATA_MODE BIT(19) -+#define SDEDM_CLOCK_PULSE BIT(20) -+#define SDEDM_BYPASS BIT(21) -+ -+#define SDEDM_WRITE_THRESHOLD_SHIFT 9 -+#define SDEDM_READ_THRESHOLD_SHIFT 14 -+#define SDEDM_THRESHOLD_MASK 0x1f -+ -+#define SDEDM_FSM_MASK 0xf -+#define SDEDM_FSM_IDENTMODE 0x0 -+#define SDEDM_FSM_DATAMODE 0x1 -+#define SDEDM_FSM_READDATA 0x2 -+#define SDEDM_FSM_WRITEDATA 0x3 -+#define SDEDM_FSM_READWAIT 0x4 -+#define SDEDM_FSM_READCRC 0x5 -+#define SDEDM_FSM_WRITECRC 0x6 -+#define SDEDM_FSM_WRITEWAIT1 0x7 -+#define SDEDM_FSM_POWERDOWN 0x8 -+#define SDEDM_FSM_POWERUP 0x9 -+#define SDEDM_FSM_WRITESTART1 0xa -+#define SDEDM_FSM_WRITESTART2 0xb -+#define SDEDM_FSM_GENPULSES 0xc -+#define SDEDM_FSM_WRITEWAIT2 0xd -+#define SDEDM_FSM_STARTPOWDOWN 0xf -+ -+#define SDDATA_FIFO_WORDS 16 -+ -+#define FIFO_READ_THRESHOLD 4 -+#define FIFO_WRITE_THRESHOLD 4 -+#define SDDATA_FIFO_PIO_BURST 8 -+ -+#define PIO_THRESHOLD 1 /* Maximum block count for PIO (0 = always DMA) */ -+ -+struct bcm2835_host { -+ spinlock_t lock; -+ struct mutex mutex; -+ -+ void __iomem *ioaddr; -+ u32 phys_addr; -+ -+ struct mmc_host *mmc; -+ struct platform_device *pdev; -+ -+ int clock; /* Current clock speed */ -+ unsigned int max_clk; /* Max possible freq */ -+ struct work_struct dma_work; -+ struct delayed_work timeout_work; /* Timer for timeouts */ -+ struct sg_mapping_iter sg_miter; /* SG state for PIO */ -+ unsigned int blocks; /* remaining PIO blocks */ -+ int irq; /* Device IRQ */ -+ -+ u32 ns_per_fifo_word; -+ -+ /* cached registers */ -+ u32 hcfg; -+ u32 cdiv; -+ -+ struct mmc_request *mrq; /* Current request */ -+ struct mmc_command *cmd; /* Current command */ -+ struct mmc_data *data; /* Current data request */ -+ bool data_complete:1;/* Data finished before cmd */ -+ bool use_busy:1; /* Wait for busy interrupt */ -+ bool use_sbc:1; /* Send CMD23 */ -+ -+ /* for threaded irq handler */ -+ bool irq_block; -+ bool irq_busy; -+ bool irq_data; -+ -+ /* DMA part */ -+ struct dma_chan *dma_chan_rxtx; -+ struct dma_chan *dma_chan; -+ struct dma_slave_config dma_cfg_rx; -+ struct dma_slave_config dma_cfg_tx; -+ struct dma_async_tx_descriptor *dma_desc; -+ u32 dma_dir; -+ u32 drain_words; -+ struct page *drain_page; -+ u32 drain_offset; -+ bool use_dma; -+}; -+ -+static void bcm2835_dumpcmd(struct bcm2835_host *host, struct mmc_command *cmd, -+ const char *label) -+{ -+ struct device *dev = &host->pdev->dev; -+ -+ if (!cmd) -+ return; -+ -+ dev_dbg(dev, "%c%s op %d arg 0x%x flags 0x%x - resp %08x %08x %08x %08x, err %d\n", -+ (cmd == host->cmd) ? '>' : ' ', -+ label, cmd->opcode, cmd->arg, cmd->flags, -+ cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3], -+ cmd->error); -+} -+ -+static void bcm2835_dumpregs(struct bcm2835_host *host) -+{ -+ struct mmc_request *mrq = host->mrq; -+ struct device *dev = &host->pdev->dev; -+ -+ if (mrq) { -+ bcm2835_dumpcmd(host, mrq->sbc, "sbc"); -+ bcm2835_dumpcmd(host, mrq->cmd, "cmd"); -+ if (mrq->data) { -+ dev_dbg(dev, "data blocks %x blksz %x - err %d\n", -+ mrq->data->blocks, -+ mrq->data->blksz, -+ mrq->data->error); -+ } -+ bcm2835_dumpcmd(host, mrq->stop, "stop"); -+ } -+ -+ dev_dbg(dev, "=========== REGISTER DUMP ===========\n"); -+ dev_dbg(dev, "SDCMD 0x%08x\n", readl(host->ioaddr + SDCMD)); -+ dev_dbg(dev, "SDARG 0x%08x\n", readl(host->ioaddr + SDARG)); -+ dev_dbg(dev, "SDTOUT 0x%08x\n", readl(host->ioaddr + SDTOUT)); -+ dev_dbg(dev, "SDCDIV 0x%08x\n", readl(host->ioaddr + SDCDIV)); -+ dev_dbg(dev, "SDRSP0 0x%08x\n", readl(host->ioaddr + SDRSP0)); -+ dev_dbg(dev, "SDRSP1 0x%08x\n", readl(host->ioaddr + SDRSP1)); -+ dev_dbg(dev, "SDRSP2 0x%08x\n", readl(host->ioaddr + SDRSP2)); -+ dev_dbg(dev, "SDRSP3 0x%08x\n", readl(host->ioaddr + SDRSP3)); -+ dev_dbg(dev, "SDHSTS 0x%08x\n", readl(host->ioaddr + SDHSTS)); -+ dev_dbg(dev, "SDVDD 0x%08x\n", readl(host->ioaddr + SDVDD)); -+ dev_dbg(dev, "SDEDM 0x%08x\n", readl(host->ioaddr + SDEDM)); -+ dev_dbg(dev, "SDHCFG 0x%08x\n", readl(host->ioaddr + SDHCFG)); -+ dev_dbg(dev, "SDHBCT 0x%08x\n", readl(host->ioaddr + SDHBCT)); -+ dev_dbg(dev, "SDHBLC 0x%08x\n", readl(host->ioaddr + SDHBLC)); -+ dev_dbg(dev, "===========================================\n"); -+} -+ -+static void bcm2835_reset_internal(struct bcm2835_host *host) -+{ -+ u32 temp; -+ -+ writel(SDVDD_POWER_OFF, host->ioaddr + SDVDD); -+ writel(0, host->ioaddr + SDCMD); -+ writel(0, host->ioaddr + SDARG); -+ writel(0xf00000, host->ioaddr + SDTOUT); -+ writel(0, host->ioaddr + SDCDIV); -+ writel(0x7f8, host->ioaddr + SDHSTS); /* Write 1s to clear */ -+ writel(0, host->ioaddr + SDHCFG); -+ writel(0, host->ioaddr + SDHBCT); -+ writel(0, host->ioaddr + SDHBLC); -+ -+ /* Limit fifo usage due to silicon bug */ -+ temp = readl(host->ioaddr + SDEDM); -+ temp &= ~((SDEDM_THRESHOLD_MASK << SDEDM_READ_THRESHOLD_SHIFT) | -+ (SDEDM_THRESHOLD_MASK << SDEDM_WRITE_THRESHOLD_SHIFT)); -+ temp |= (FIFO_READ_THRESHOLD << SDEDM_READ_THRESHOLD_SHIFT) | -+ (FIFO_WRITE_THRESHOLD << SDEDM_WRITE_THRESHOLD_SHIFT); -+ writel(temp, host->ioaddr + SDEDM); -+ msleep(20); -+ writel(SDVDD_POWER_ON, host->ioaddr + SDVDD); -+ msleep(20); -+ host->clock = 0; -+ writel(host->hcfg, host->ioaddr + SDHCFG); -+ writel(host->cdiv, host->ioaddr + SDCDIV); -+} -+ -+static void bcm2835_reset(struct mmc_host *mmc) -+{ -+ struct bcm2835_host *host = mmc_priv(mmc); -+ -+ if (host->dma_chan) -+ dmaengine_terminate_sync(host->dma_chan); -+ bcm2835_reset_internal(host); -+} -+ -+static void bcm2835_finish_command(struct bcm2835_host *host); -+ -+static void bcm2835_wait_transfer_complete(struct bcm2835_host *host) -+{ -+ int timediff; -+ u32 alternate_idle; -+ -+ alternate_idle = (host->mrq->data->flags & MMC_DATA_READ) ? -+ SDEDM_FSM_READWAIT : SDEDM_FSM_WRITESTART1; -+ -+ timediff = 0; -+ -+ while (1) { -+ u32 edm, fsm; -+ -+ edm = readl(host->ioaddr + SDEDM); -+ fsm = edm & SDEDM_FSM_MASK; -+ -+ if ((fsm == SDEDM_FSM_IDENTMODE) || -+ (fsm == SDEDM_FSM_DATAMODE)) -+ break; -+ if (fsm == alternate_idle) { -+ writel(edm | SDEDM_FORCE_DATA_MODE, -+ host->ioaddr + SDEDM); -+ break; -+ } -+ -+ timediff++; -+ if (timediff == 100000) { -+ dev_err(&host->pdev->dev, -+ "wait_transfer_complete - still waiting after %d retries\n", -+ timediff); -+ bcm2835_dumpregs(host); -+ host->mrq->data->error = -ETIMEDOUT; -+ return; -+ } -+ cpu_relax(); -+ } -+} -+ -+static void bcm2835_dma_complete(void *param) -+{ -+ struct bcm2835_host *host = param; -+ -+ schedule_work(&host->dma_work); -+} -+ -+static void bcm2835_transfer_block_pio(struct bcm2835_host *host, bool is_read) -+{ -+ unsigned long flags; -+ size_t blksize; -+ unsigned long wait_max; -+ -+ blksize = host->data->blksz; -+ -+ wait_max = jiffies + msecs_to_jiffies(500); -+ -+ local_irq_save(flags); -+ -+ while (blksize) { -+ int copy_words; -+ u32 hsts = 0; -+ size_t len; -+ u32 *buf; -+ -+ if (!sg_miter_next(&host->sg_miter)) { -+ host->data->error = -EINVAL; -+ break; -+ } -+ -+ len = min(host->sg_miter.length, blksize); -+ if (len % 4) { -+ host->data->error = -EINVAL; -+ break; -+ } -+ -+ blksize -= len; -+ host->sg_miter.consumed = len; -+ -+ buf = (u32 *)host->sg_miter.addr; -+ -+ copy_words = len / 4; -+ -+ while (copy_words) { -+ int burst_words, words; -+ u32 edm; -+ -+ burst_words = min(SDDATA_FIFO_PIO_BURST, copy_words); -+ edm = readl(host->ioaddr + SDEDM); -+ if (is_read) -+ words = ((edm >> 4) & 0x1f); -+ else -+ words = SDDATA_FIFO_WORDS - ((edm >> 4) & 0x1f); -+ -+ if (words < burst_words) { -+ int fsm_state = (edm & SDEDM_FSM_MASK); -+ struct device *dev = &host->pdev->dev; -+ -+ if ((is_read && -+ (fsm_state != SDEDM_FSM_READDATA && -+ fsm_state != SDEDM_FSM_READWAIT && -+ fsm_state != SDEDM_FSM_READCRC)) || -+ (!is_read && -+ (fsm_state != SDEDM_FSM_WRITEDATA && -+ fsm_state != SDEDM_FSM_WRITESTART1 && -+ fsm_state != SDEDM_FSM_WRITESTART2))) { -+ hsts = readl(host->ioaddr + SDHSTS); -+ dev_err(dev, "fsm %x, hsts %08x\n", -+ fsm_state, hsts); -+ if (hsts & SDHSTS_ERROR_MASK) -+ break; -+ } -+ -+ if (time_after(jiffies, wait_max)) { -+ dev_err(dev, "PIO %s timeout - EDM %08x\n", -+ is_read ? "read" : "write", -+ edm); -+ hsts = SDHSTS_REW_TIME_OUT; -+ break; -+ } -+ ndelay((burst_words - words) * -+ host->ns_per_fifo_word); -+ continue; -+ } else if (words > copy_words) { -+ words = copy_words; -+ } -+ -+ copy_words -= words; -+ -+ while (words) { -+ if (is_read) -+ *(buf++) = readl(host->ioaddr + SDDATA); -+ else -+ writel(*(buf++), host->ioaddr + SDDATA); -+ words--; -+ } -+ } -+ -+ if (hsts & SDHSTS_ERROR_MASK) -+ break; -+ } -+ -+ sg_miter_stop(&host->sg_miter); -+ -+ local_irq_restore(flags); -+} -+ -+static void bcm2835_transfer_pio(struct bcm2835_host *host) -+{ -+ struct device *dev = &host->pdev->dev; -+ u32 sdhsts; -+ bool is_read; -+ -+ is_read = (host->data->flags & MMC_DATA_READ) != 0; -+ bcm2835_transfer_block_pio(host, is_read); -+ -+ sdhsts = readl(host->ioaddr + SDHSTS); -+ if (sdhsts & (SDHSTS_CRC16_ERROR | -+ SDHSTS_CRC7_ERROR | -+ SDHSTS_FIFO_ERROR)) { -+ dev_err(dev, "%s transfer error - HSTS %08x\n", -+ is_read ? "read" : "write", sdhsts); -+ host->data->error = -EILSEQ; -+ } else if ((sdhsts & (SDHSTS_CMD_TIME_OUT | -+ SDHSTS_REW_TIME_OUT))) { -+ dev_err(dev, "%s timeout error - HSTS %08x\n", -+ is_read ? "read" : "write", sdhsts); -+ host->data->error = -ETIMEDOUT; -+ } -+} -+ -+static -+void bcm2835_prepare_dma(struct bcm2835_host *host, struct mmc_data *data) -+{ -+ int len, dir_data, dir_slave; -+ struct dma_async_tx_descriptor *desc = NULL; -+ struct dma_chan *dma_chan; -+ -+ dma_chan = host->dma_chan_rxtx; -+ if (data->flags & MMC_DATA_READ) { -+ dir_data = DMA_FROM_DEVICE; -+ dir_slave = DMA_DEV_TO_MEM; -+ } else { -+ dir_data = DMA_TO_DEVICE; -+ dir_slave = DMA_MEM_TO_DEV; -+ } -+ -+ /* The block doesn't manage the FIFO DREQs properly for -+ * multi-block transfers, so don't attempt to DMA the final -+ * few words. Unfortunately this requires the final sg entry -+ * to be trimmed. N.B. This code demands that the overspill -+ * is contained in a single sg entry. -+ */ -+ -+ host->drain_words = 0; -+ if ((data->blocks > 1) && (dir_data == DMA_FROM_DEVICE)) { -+ struct scatterlist *sg; -+ u32 len; -+ int i; -+ -+ len = min((u32)(FIFO_READ_THRESHOLD - 1) * 4, -+ (u32)data->blocks * data->blksz); -+ -+ for_each_sg(data->sg, sg, data->sg_len, i) { -+ if (sg_is_last(sg)) { -+ WARN_ON(sg->length < len); -+ sg->length -= len; -+ host->drain_page = sg_page(sg); -+ host->drain_offset = sg->offset + sg->length; -+ } -+ } -+ host->drain_words = len / 4; -+ } -+ -+ /* The parameters have already been validated, so this will not fail */ -+ (void)dmaengine_slave_config(dma_chan, -+ (dir_data == DMA_FROM_DEVICE) ? -+ &host->dma_cfg_rx : -+ &host->dma_cfg_tx); -+ -+ len = dma_map_sg(dma_chan->device->dev, data->sg, data->sg_len, -+ dir_data); -+ -+ if (len > 0) { -+ desc = dmaengine_prep_slave_sg(dma_chan, data->sg, -+ len, dir_slave, -+ DMA_PREP_INTERRUPT | -+ DMA_CTRL_ACK); -+ } -+ -+ if (desc) { -+ desc->callback = bcm2835_dma_complete; -+ desc->callback_param = host; -+ host->dma_desc = desc; -+ host->dma_chan = dma_chan; -+ host->dma_dir = dir_data; -+ } -+} -+ -+static void bcm2835_start_dma(struct bcm2835_host *host) -+{ -+ dmaengine_submit(host->dma_desc); -+ dma_async_issue_pending(host->dma_chan); -+} -+ -+static void bcm2835_set_transfer_irqs(struct bcm2835_host *host) -+{ -+ u32 all_irqs = SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN | -+ SDHCFG_BUSY_IRPT_EN; -+ -+ if (host->dma_desc) { -+ host->hcfg = (host->hcfg & ~all_irqs) | -+ SDHCFG_BUSY_IRPT_EN; -+ } else { -+ host->hcfg = (host->hcfg & ~all_irqs) | -+ SDHCFG_DATA_IRPT_EN | -+ SDHCFG_BUSY_IRPT_EN; -+ } -+ -+ writel(host->hcfg, host->ioaddr + SDHCFG); -+} -+ -+static -+void bcm2835_prepare_data(struct bcm2835_host *host, struct mmc_command *cmd) -+{ -+ struct mmc_data *data = cmd->data; -+ -+ WARN_ON(host->data); -+ -+ host->data = data; -+ if (!data) -+ return; -+ -+ host->data_complete = false; -+ host->data->bytes_xfered = 0; -+ -+ if (!host->dma_desc) { -+ /* Use PIO */ -+ int flags = SG_MITER_ATOMIC; -+ -+ if (data->flags & MMC_DATA_READ) -+ flags |= SG_MITER_TO_SG; -+ else -+ flags |= SG_MITER_FROM_SG; -+ sg_miter_start(&host->sg_miter, data->sg, data->sg_len, flags); -+ host->blocks = data->blocks; -+ } -+ -+ bcm2835_set_transfer_irqs(host); -+ -+ writel(data->blksz, host->ioaddr + SDHBCT); -+ writel(data->blocks, host->ioaddr + SDHBLC); -+} -+ -+static u32 bcm2835_read_wait_sdcmd(struct bcm2835_host *host, u32 max_ms) -+{ -+ struct device *dev = &host->pdev->dev; -+ u32 value; -+ int ret; -+ -+ ret = readl_poll_timeout(host->ioaddr + SDCMD, value, -+ !(value & SDCMD_NEW_FLAG), 1, 10); -+ if (ret == -ETIMEDOUT) -+ /* if it takes a while make poll interval bigger */ -+ ret = readl_poll_timeout(host->ioaddr + SDCMD, value, -+ !(value & SDCMD_NEW_FLAG), -+ 10, max_ms * 1000); -+ if (ret == -ETIMEDOUT) -+ dev_err(dev, "%s: timeout (%d ms)\n", __func__, max_ms); -+ -+ return value; -+} -+ -+static void bcm2835_finish_request(struct bcm2835_host *host) -+{ -+ struct dma_chan *terminate_chan = NULL; -+ struct mmc_request *mrq; -+ -+ cancel_delayed_work(&host->timeout_work); -+ -+ mrq = host->mrq; -+ -+ host->mrq = NULL; -+ host->cmd = NULL; -+ host->data = NULL; -+ -+ host->dma_desc = NULL; -+ terminate_chan = host->dma_chan; -+ host->dma_chan = NULL; -+ -+ if (terminate_chan) { -+ int err = dmaengine_terminate_all(terminate_chan); -+ -+ if (err) -+ dev_err(&host->pdev->dev, -+ "failed to terminate DMA (%d)\n", err); -+ } -+ -+ mmc_request_done(host->mmc, mrq); -+} -+ -+static -+bool bcm2835_send_command(struct bcm2835_host *host, struct mmc_command *cmd) -+{ -+ struct device *dev = &host->pdev->dev; -+ u32 sdcmd, sdhsts; -+ unsigned long timeout; -+ -+ WARN_ON(host->cmd); -+ -+ sdcmd = bcm2835_read_wait_sdcmd(host, 100); -+ if (sdcmd & SDCMD_NEW_FLAG) { -+ dev_err(dev, "previous command never completed.\n"); -+ bcm2835_dumpregs(host); -+ cmd->error = -EILSEQ; -+ bcm2835_finish_request(host); -+ return false; -+ } -+ -+ if (!cmd->data && cmd->busy_timeout > 9000) -+ timeout = DIV_ROUND_UP(cmd->busy_timeout, 1000) * HZ + HZ; -+ else -+ timeout = 10 * HZ; -+ schedule_delayed_work(&host->timeout_work, timeout); -+ -+ host->cmd = cmd; -+ -+ /* Clear any error flags */ -+ sdhsts = readl(host->ioaddr + SDHSTS); -+ if (sdhsts & SDHSTS_ERROR_MASK) -+ writel(sdhsts, host->ioaddr + SDHSTS); -+ -+ if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) { -+ dev_err(dev, "unsupported response type!\n"); -+ cmd->error = -EINVAL; -+ bcm2835_finish_request(host); -+ return false; -+ } -+ -+ bcm2835_prepare_data(host, cmd); -+ -+ writel(cmd->arg, host->ioaddr + SDARG); -+ -+ sdcmd = cmd->opcode & SDCMD_CMD_MASK; -+ -+ host->use_busy = false; -+ if (!(cmd->flags & MMC_RSP_PRESENT)) { -+ sdcmd |= SDCMD_NO_RESPONSE; -+ } else { -+ if (cmd->flags & MMC_RSP_136) -+ sdcmd |= SDCMD_LONG_RESPONSE; -+ if (cmd->flags & MMC_RSP_BUSY) { -+ sdcmd |= SDCMD_BUSYWAIT; -+ host->use_busy = true; -+ } -+ } -+ -+ if (cmd->data) { -+ if (cmd->data->flags & MMC_DATA_WRITE) -+ sdcmd |= SDCMD_WRITE_CMD; -+ if (cmd->data->flags & MMC_DATA_READ) -+ sdcmd |= SDCMD_READ_CMD; -+ } -+ -+ writel(sdcmd | SDCMD_NEW_FLAG, host->ioaddr + SDCMD); -+ -+ return true; -+} -+ -+static void bcm2835_transfer_complete(struct bcm2835_host *host) -+{ -+ struct mmc_data *data; -+ -+ WARN_ON(!host->data_complete); -+ -+ data = host->data; -+ host->data = NULL; -+ -+ /* Need to send CMD12 if - -+ * a) open-ended multiblock transfer (no CMD23) -+ * b) error in multiblock transfer -+ */ -+ if (host->mrq->stop && (data->error || !host->use_sbc)) { -+ if (bcm2835_send_command(host, host->mrq->stop)) { -+ /* No busy, so poll for completion */ -+ if (!host->use_busy) -+ bcm2835_finish_command(host); -+ } -+ } else { -+ bcm2835_wait_transfer_complete(host); -+ bcm2835_finish_request(host); -+ } -+} -+ -+static void bcm2835_finish_data(struct bcm2835_host *host) -+{ -+ struct device *dev = &host->pdev->dev; -+ struct mmc_data *data; -+ -+ data = host->data; -+ -+ host->hcfg &= ~(SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN); -+ writel(host->hcfg, host->ioaddr + SDHCFG); -+ -+ data->bytes_xfered = data->error ? 0 : (data->blksz * data->blocks); -+ -+ host->data_complete = true; -+ -+ if (host->cmd) { -+ /* Data managed to finish before the -+ * command completed. Make sure we do -+ * things in the proper order. -+ */ -+ dev_dbg(dev, "Finished early - HSTS %08x\n", -+ readl(host->ioaddr + SDHSTS)); -+ } else { -+ bcm2835_transfer_complete(host); -+ } -+} -+ -+static void bcm2835_finish_command(struct bcm2835_host *host) -+{ -+ struct device *dev = &host->pdev->dev; -+ struct mmc_command *cmd = host->cmd; -+ u32 sdcmd; -+ -+ sdcmd = bcm2835_read_wait_sdcmd(host, 100); -+ -+ /* Check for errors */ -+ if (sdcmd & SDCMD_NEW_FLAG) { -+ dev_err(dev, "command never completed.\n"); -+ bcm2835_dumpregs(host); -+ host->cmd->error = -EIO; -+ bcm2835_finish_request(host); -+ return; -+ } else if (sdcmd & SDCMD_FAIL_FLAG) { -+ u32 sdhsts = readl(host->ioaddr + SDHSTS); -+ -+ /* Clear the errors */ -+ writel(SDHSTS_ERROR_MASK, host->ioaddr + SDHSTS); -+ -+ if (!(sdhsts & SDHSTS_CRC7_ERROR) || -+ (host->cmd->opcode != MMC_SEND_OP_COND)) { -+ if (sdhsts & SDHSTS_CMD_TIME_OUT) { -+ host->cmd->error = -ETIMEDOUT; -+ } else { -+ dev_err(dev, "unexpected command %d error\n", -+ host->cmd->opcode); -+ bcm2835_dumpregs(host); -+ host->cmd->error = -EILSEQ; -+ } -+ bcm2835_finish_request(host); -+ return; -+ } -+ } -+ -+ if (cmd->flags & MMC_RSP_PRESENT) { -+ if (cmd->flags & MMC_RSP_136) { -+ int i; -+ -+ for (i = 0; i < 4; i++) { -+ cmd->resp[3 - i] = -+ readl(host->ioaddr + SDRSP0 + i * 4); -+ } -+ } else { -+ cmd->resp[0] = readl(host->ioaddr + SDRSP0); -+ } -+ } -+ -+ if (cmd == host->mrq->sbc) { -+ /* Finished CMD23, now send actual command. */ -+ host->cmd = NULL; -+ if (bcm2835_send_command(host, host->mrq->cmd)) { -+ if (host->data && host->dma_desc) -+ /* DMA transfer starts now, PIO starts -+ * after irq -+ */ -+ bcm2835_start_dma(host); -+ -+ if (!host->use_busy) -+ bcm2835_finish_command(host); -+ } -+ } else if (cmd == host->mrq->stop) { -+ /* Finished CMD12 */ -+ bcm2835_finish_request(host); -+ } else { -+ /* Processed actual command. */ -+ host->cmd = NULL; -+ if (!host->data) -+ bcm2835_finish_request(host); -+ else if (host->data_complete) -+ bcm2835_transfer_complete(host); -+ } -+} -+ -+static void bcm2835_timeout(struct work_struct *work) -+{ -+ struct delayed_work *d = to_delayed_work(work); -+ struct bcm2835_host *host = -+ container_of(d, struct bcm2835_host, timeout_work); -+ struct device *dev = &host->pdev->dev; -+ -+ mutex_lock(&host->mutex); -+ -+ if (host->mrq) { -+ dev_err(dev, "timeout waiting for hardware interrupt.\n"); -+ bcm2835_dumpregs(host); -+ -+ if (host->data) { -+ host->data->error = -ETIMEDOUT; -+ bcm2835_finish_data(host); -+ } else { -+ if (host->cmd) -+ host->cmd->error = -ETIMEDOUT; -+ else -+ host->mrq->cmd->error = -ETIMEDOUT; -+ -+ bcm2835_finish_request(host); -+ } -+ } -+ -+ mutex_unlock(&host->mutex); -+} -+ -+static bool bcm2835_check_cmd_error(struct bcm2835_host *host, u32 intmask) -+{ -+ struct device *dev = &host->pdev->dev; -+ -+ if (!(intmask & SDHSTS_ERROR_MASK)) -+ return false; -+ -+ if (!host->cmd) -+ return true; -+ -+ dev_err(dev, "sdhost_busy_irq: intmask %08x\n", intmask); -+ if (intmask & SDHSTS_CRC7_ERROR) { -+ host->cmd->error = -EILSEQ; -+ } else if (intmask & (SDHSTS_CRC16_ERROR | -+ SDHSTS_FIFO_ERROR)) { -+ if (host->mrq->data) -+ host->mrq->data->error = -EILSEQ; -+ else -+ host->cmd->error = -EILSEQ; -+ } else if (intmask & SDHSTS_REW_TIME_OUT) { -+ if (host->mrq->data) -+ host->mrq->data->error = -ETIMEDOUT; -+ else -+ host->cmd->error = -ETIMEDOUT; -+ } else if (intmask & SDHSTS_CMD_TIME_OUT) { -+ host->cmd->error = -ETIMEDOUT; -+ } -+ bcm2835_dumpregs(host); -+ return true; -+} -+ -+static void bcm2835_check_data_error(struct bcm2835_host *host, u32 intmask) -+{ -+ if (!host->data) -+ return; -+ if (intmask & (SDHSTS_CRC16_ERROR | SDHSTS_FIFO_ERROR)) -+ host->data->error = -EILSEQ; -+ if (intmask & SDHSTS_REW_TIME_OUT) -+ host->data->error = -ETIMEDOUT; -+} -+ -+static void bcm2835_busy_irq(struct bcm2835_host *host) -+{ -+ if (WARN_ON(!host->cmd)) { -+ bcm2835_dumpregs(host); -+ return; -+ } -+ -+ if (WARN_ON(!host->use_busy)) { -+ bcm2835_dumpregs(host); -+ return; -+ } -+ host->use_busy = false; -+ -+ bcm2835_finish_command(host); -+} -+ -+static void bcm2835_data_irq(struct bcm2835_host *host, u32 intmask) -+{ -+ /* There are no dedicated data/space available interrupt -+ * status bits, so it is necessary to use the single shared -+ * data/space available FIFO status bits. It is therefore not -+ * an error to get here when there is no data transfer in -+ * progress. -+ */ -+ if (!host->data) -+ return; -+ -+ bcm2835_check_data_error(host, intmask); -+ if (host->data->error) -+ goto finished; -+ -+ if (host->data->flags & MMC_DATA_WRITE) { -+ /* Use the block interrupt for writes after the first block */ -+ host->hcfg &= ~(SDHCFG_DATA_IRPT_EN); -+ host->hcfg |= SDHCFG_BLOCK_IRPT_EN; -+ writel(host->hcfg, host->ioaddr + SDHCFG); -+ bcm2835_transfer_pio(host); -+ } else { -+ bcm2835_transfer_pio(host); -+ host->blocks--; -+ if ((host->blocks == 0) || host->data->error) -+ goto finished; -+ } -+ return; -+ -+finished: -+ host->hcfg &= ~(SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN); -+ writel(host->hcfg, host->ioaddr + SDHCFG); -+} -+ -+static void bcm2835_data_threaded_irq(struct bcm2835_host *host) -+{ -+ if (!host->data) -+ return; -+ if ((host->blocks == 0) || host->data->error) -+ bcm2835_finish_data(host); -+} -+ -+static void bcm2835_block_irq(struct bcm2835_host *host) -+{ -+ if (WARN_ON(!host->data)) { -+ bcm2835_dumpregs(host); -+ return; -+ } -+ -+ if (!host->dma_desc) { -+ WARN_ON(!host->blocks); -+ if (host->data->error || (--host->blocks == 0)) -+ bcm2835_finish_data(host); -+ else -+ bcm2835_transfer_pio(host); -+ } else if (host->data->flags & MMC_DATA_WRITE) { -+ bcm2835_finish_data(host); -+ } -+} -+ -+static irqreturn_t bcm2835_irq(int irq, void *dev_id) -+{ -+ irqreturn_t result = IRQ_NONE; -+ struct bcm2835_host *host = dev_id; -+ u32 intmask; -+ -+ spin_lock(&host->lock); -+ -+ intmask = readl(host->ioaddr + SDHSTS); -+ -+ writel(SDHSTS_BUSY_IRPT | -+ SDHSTS_BLOCK_IRPT | -+ SDHSTS_SDIO_IRPT | -+ SDHSTS_DATA_FLAG, -+ host->ioaddr + SDHSTS); -+ -+ if (intmask & SDHSTS_BLOCK_IRPT) { -+ bcm2835_check_data_error(host, intmask); -+ host->irq_block = true; -+ result = IRQ_WAKE_THREAD; -+ } -+ -+ if (intmask & SDHSTS_BUSY_IRPT) { -+ if (!bcm2835_check_cmd_error(host, intmask)) { -+ host->irq_busy = true; -+ result = IRQ_WAKE_THREAD; -+ } else { -+ result = IRQ_HANDLED; -+ } -+ } -+ -+ /* There is no true data interrupt status bit, so it is -+ * necessary to qualify the data flag with the interrupt -+ * enable bit. -+ */ -+ if ((intmask & SDHSTS_DATA_FLAG) && -+ (host->hcfg & SDHCFG_DATA_IRPT_EN)) { -+ bcm2835_data_irq(host, intmask); -+ host->irq_data = true; -+ result = IRQ_WAKE_THREAD; -+ } -+ -+ spin_unlock(&host->lock); -+ -+ return result; -+} -+ -+static irqreturn_t bcm2835_threaded_irq(int irq, void *dev_id) -+{ -+ struct bcm2835_host *host = dev_id; -+ unsigned long flags; -+ bool block, busy, data; -+ -+ spin_lock_irqsave(&host->lock, flags); -+ -+ block = host->irq_block; -+ busy = host->irq_busy; -+ data = host->irq_data; -+ host->irq_block = false; -+ host->irq_busy = false; -+ host->irq_data = false; -+ -+ spin_unlock_irqrestore(&host->lock, flags); -+ -+ mutex_lock(&host->mutex); -+ -+ if (block) -+ bcm2835_block_irq(host); -+ if (busy) -+ bcm2835_busy_irq(host); -+ if (data) -+ bcm2835_data_threaded_irq(host); -+ -+ mutex_unlock(&host->mutex); -+ -+ return IRQ_HANDLED; -+} -+ -+static void bcm2835_dma_complete_work(struct work_struct *work) -+{ -+ struct bcm2835_host *host = -+ container_of(work, struct bcm2835_host, dma_work); -+ struct mmc_data *data = host->data; -+ -+ mutex_lock(&host->mutex); -+ -+ if (host->dma_chan) { -+ dma_unmap_sg(host->dma_chan->device->dev, -+ data->sg, data->sg_len, -+ host->dma_dir); -+ -+ host->dma_chan = NULL; -+ } -+ -+ if (host->drain_words) { -+ unsigned long flags; -+ void *page; -+ u32 *buf; -+ -+ if (host->drain_offset & PAGE_MASK) { -+ host->drain_page += host->drain_offset >> PAGE_SHIFT; -+ host->drain_offset &= ~PAGE_MASK; -+ } -+ local_irq_save(flags); -+ page = kmap_atomic(host->drain_page); -+ buf = page + host->drain_offset; -+ -+ while (host->drain_words) { -+ u32 edm = readl(host->ioaddr + SDEDM); -+ -+ if ((edm >> 4) & 0x1f) -+ *(buf++) = readl(host->ioaddr + SDDATA); -+ host->drain_words--; -+ } -+ -+ kunmap_atomic(page); -+ local_irq_restore(flags); -+ } -+ -+ bcm2835_finish_data(host); -+ -+ mutex_unlock(&host->mutex); -+} -+ -+static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock) -+{ -+ int div; -+ -+ /* The SDCDIV register has 11 bits, and holds (div - 2). But -+ * in data mode the max is 50MHz wihout a minimum, and only -+ * the bottom 3 bits are used. Since the switch over is -+ * automatic (unless we have marked the card as slow...), -+ * chosen values have to make sense in both modes. Ident mode -+ * must be 100-400KHz, so can range check the requested -+ * clock. CMD15 must be used to return to data mode, so this -+ * can be monitored. -+ * -+ * clock 250MHz -> 0->125MHz, 1->83.3MHz, 2->62.5MHz, 3->50.0MHz -+ * 4->41.7MHz, 5->35.7MHz, 6->31.3MHz, 7->27.8MHz -+ * -+ * 623->400KHz/27.8MHz -+ * reset value (507)->491159/50MHz -+ * -+ * BUT, the 3-bit clock divisor in data mode is too small if -+ * the core clock is higher than 250MHz, so instead use the -+ * SLOW_CARD configuration bit to force the use of the ident -+ * clock divisor at all times. -+ */ -+ -+ if (clock < 100000) { -+ /* Can't stop the clock, but make it as slow as possible -+ * to show willing -+ */ -+ host->cdiv = SDCDIV_MAX_CDIV; -+ writel(host->cdiv, host->ioaddr + SDCDIV); -+ return; -+ } -+ -+ div = host->max_clk / clock; -+ if (div < 2) -+ div = 2; -+ if ((host->max_clk / div) > clock) -+ div++; -+ div -= 2; -+ -+ if (div > SDCDIV_MAX_CDIV) -+ div = SDCDIV_MAX_CDIV; -+ -+ clock = host->max_clk / (div + 2); -+ host->mmc->actual_clock = clock; -+ -+ /* Calibrate some delays */ -+ -+ host->ns_per_fifo_word = (1000000000 / clock) * -+ ((host->mmc->caps & MMC_CAP_4_BIT_DATA) ? 8 : 32); -+ -+ host->cdiv = div; -+ writel(host->cdiv, host->ioaddr + SDCDIV); -+ -+ /* Set the timeout to 500ms */ -+ writel(host->mmc->actual_clock / 2, host->ioaddr + SDTOUT); -+} -+ -+static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) -+{ -+ struct bcm2835_host *host = mmc_priv(mmc); -+ struct device *dev = &host->pdev->dev; -+ u32 edm, fsm; -+ -+ /* Reset the error statuses in case this is a retry */ -+ if (mrq->sbc) -+ mrq->sbc->error = 0; -+ if (mrq->cmd) -+ mrq->cmd->error = 0; -+ if (mrq->data) -+ mrq->data->error = 0; -+ if (mrq->stop) -+ mrq->stop->error = 0; -+ -+ if (mrq->data && !is_power_of_2(mrq->data->blksz)) { -+ dev_err(dev, "unsupported block size (%d bytes)\n", -+ mrq->data->blksz); -+ mrq->cmd->error = -EINVAL; -+ mmc_request_done(mmc, mrq); -+ return; -+ } -+ -+ if (host->use_dma && mrq->data && (mrq->data->blocks > PIO_THRESHOLD)) -+ bcm2835_prepare_dma(host, mrq->data); -+ -+ mutex_lock(&host->mutex); -+ -+ WARN_ON(host->mrq); -+ host->mrq = mrq; -+ -+ edm = readl(host->ioaddr + SDEDM); -+ fsm = edm & SDEDM_FSM_MASK; -+ -+ if ((fsm != SDEDM_FSM_IDENTMODE) && -+ (fsm != SDEDM_FSM_DATAMODE)) { -+ dev_err(dev, "previous command (%d) not complete (EDM %08x)\n", -+ readl(host->ioaddr + SDCMD) & SDCMD_CMD_MASK, -+ edm); -+ bcm2835_dumpregs(host); -+ mrq->cmd->error = -EILSEQ; -+ bcm2835_finish_request(host); -+ mutex_unlock(&host->mutex); -+ return; -+ } -+ -+ host->use_sbc = !!mrq->sbc && (host->mrq->data->flags & MMC_DATA_READ); -+ if (host->use_sbc) { -+ if (bcm2835_send_command(host, mrq->sbc)) { -+ if (!host->use_busy) -+ bcm2835_finish_command(host); -+ } -+ } else if (bcm2835_send_command(host, mrq->cmd)) { -+ if (host->data && host->dma_desc) { -+ /* DMA transfer starts now, PIO starts after irq */ -+ bcm2835_start_dma(host); -+ } -+ -+ if (!host->use_busy) -+ bcm2835_finish_command(host); -+ } -+ -+ mutex_unlock(&host->mutex); -+} -+ -+static void bcm2835_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) -+{ -+ struct bcm2835_host *host = mmc_priv(mmc); -+ -+ mutex_lock(&host->mutex); -+ -+ if (!ios->clock || ios->clock != host->clock) { -+ bcm2835_set_clock(host, ios->clock); -+ host->clock = ios->clock; -+ } -+ -+ /* set bus width */ -+ host->hcfg &= ~SDHCFG_WIDE_EXT_BUS; -+ if (ios->bus_width == MMC_BUS_WIDTH_4) -+ host->hcfg |= SDHCFG_WIDE_EXT_BUS; -+ -+ host->hcfg |= SDHCFG_WIDE_INT_BUS; -+ -+ /* Disable clever clock switching, to cope with fast core clocks */ -+ host->hcfg |= SDHCFG_SLOW_CARD; -+ -+ writel(host->hcfg, host->ioaddr + SDHCFG); -+ -+ mutex_unlock(&host->mutex); -+} -+ -+static struct mmc_host_ops bcm2835_ops = { -+ .request = bcm2835_request, -+ .set_ios = bcm2835_set_ios, -+ .hw_reset = bcm2835_reset, -+}; -+ -+static int bcm2835_add_host(struct bcm2835_host *host) -+{ -+ struct mmc_host *mmc = host->mmc; -+ struct device *dev = &host->pdev->dev; -+ char pio_limit_string[20]; -+ int ret; -+ -+ mmc->f_max = host->max_clk; -+ mmc->f_min = host->max_clk / SDCDIV_MAX_CDIV; -+ -+ mmc->max_busy_timeout = ~0 / (mmc->f_max / 1000); -+ -+ dev_dbg(dev, "f_max %d, f_min %d, max_busy_timeout %d\n", -+ mmc->f_max, mmc->f_min, mmc->max_busy_timeout); -+ -+ /* host controller capabilities */ -+ mmc->caps |= MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED | -+ MMC_CAP_NEEDS_POLL | MMC_CAP_HW_RESET | MMC_CAP_ERASE | -+ MMC_CAP_CMD23; -+ -+ spin_lock_init(&host->lock); -+ mutex_init(&host->mutex); -+ -+ if (IS_ERR_OR_NULL(host->dma_chan_rxtx)) { -+ dev_warn(dev, "unable to initialise DMA channel. Falling back to PIO\n"); -+ host->use_dma = false; -+ } else { -+ host->use_dma = true; -+ -+ host->dma_cfg_tx.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; -+ host->dma_cfg_tx.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; -+ host->dma_cfg_tx.slave_id = 13; /* DREQ channel */ -+ host->dma_cfg_tx.direction = DMA_MEM_TO_DEV; -+ host->dma_cfg_tx.src_addr = 0; -+ host->dma_cfg_tx.dst_addr = host->phys_addr + SDDATA; -+ -+ host->dma_cfg_rx.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; -+ host->dma_cfg_rx.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; -+ host->dma_cfg_rx.slave_id = 13; /* DREQ channel */ -+ host->dma_cfg_rx.direction = DMA_DEV_TO_MEM; -+ host->dma_cfg_rx.src_addr = host->phys_addr + SDDATA; -+ host->dma_cfg_rx.dst_addr = 0; -+ -+ if (dmaengine_slave_config(host->dma_chan_rxtx, -+ &host->dma_cfg_tx) != 0 || -+ dmaengine_slave_config(host->dma_chan_rxtx, -+ &host->dma_cfg_rx) != 0) -+ host->use_dma = false; -+ } -+ -+ mmc->max_segs = 128; -+ mmc->max_req_size = 524288; -+ mmc->max_seg_size = mmc->max_req_size; -+ mmc->max_blk_size = 1024; -+ mmc->max_blk_count = 65535; -+ -+ /* report supported voltage ranges */ -+ mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; -+ -+ INIT_WORK(&host->dma_work, bcm2835_dma_complete_work); -+ INIT_DELAYED_WORK(&host->timeout_work, bcm2835_timeout); -+ -+ /* Set interrupt enables */ -+ host->hcfg = SDHCFG_BUSY_IRPT_EN; -+ -+ bcm2835_reset_internal(host); -+ -+ ret = request_threaded_irq(host->irq, bcm2835_irq, -+ bcm2835_threaded_irq, -+ 0, mmc_hostname(mmc), host); -+ if (ret) { -+ dev_err(dev, "failed to request IRQ %d: %d\n", host->irq, ret); -+ return ret; -+ } -+ -+ ret = mmc_add_host(mmc); -+ if (ret) { -+ free_irq(host->irq, host); -+ return ret; -+ } -+ -+ pio_limit_string[0] = '\0'; -+ if (host->use_dma && (PIO_THRESHOLD > 0)) -+ sprintf(pio_limit_string, " (>%d)", PIO_THRESHOLD); -+ dev_info(dev, "loaded - DMA %s%s\n", -+ host->use_dma ? "enabled" : "disabled", pio_limit_string); -+ -+ return 0; -+} -+ -+static int bcm2835_probe(struct platform_device *pdev) -+{ -+ struct device *dev = &pdev->dev; -+ struct clk *clk; -+ struct resource *iomem; -+ struct bcm2835_host *host; -+ struct mmc_host *mmc; -+ const __be32 *regaddr_p; -+ int ret; -+ -+ dev_dbg(dev, "%s\n", __func__); -+ mmc = mmc_alloc_host(sizeof(*host), dev); -+ if (!mmc) -+ return -ENOMEM; -+ -+ mmc->ops = &bcm2835_ops; -+ host = mmc_priv(mmc); -+ host->mmc = mmc; -+ host->pdev = pdev; -+ spin_lock_init(&host->lock); -+ -+ iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0); -+ host->ioaddr = devm_ioremap_resource(dev, iomem); -+ if (IS_ERR(host->ioaddr)) { -+ ret = PTR_ERR(host->ioaddr); -+ goto err; -+ } -+ -+ /* Parse OF address directly to get the physical address for -+ * DMA to our registers. -+ */ -+ regaddr_p = of_get_address(pdev->dev.of_node, 0, NULL, NULL); -+ if (!regaddr_p) { -+ dev_err(dev, "Can't get phys address\n"); -+ ret = -EINVAL; -+ goto err; -+ } -+ -+ host->phys_addr = be32_to_cpup(regaddr_p); -+ -+ host->dma_chan = NULL; -+ host->dma_desc = NULL; -+ -+ host->dma_chan_rxtx = dma_request_slave_channel(dev, "rx-tx"); -+ -+ clk = devm_clk_get(dev, NULL); -+ if (IS_ERR(clk)) { -+ ret = PTR_ERR(clk); -+ if (ret != -EPROBE_DEFER) -+ dev_err(dev, "could not get clk: %d\n", ret); -+ goto err; -+ } -+ -+ host->max_clk = clk_get_rate(clk); -+ -+ host->irq = platform_get_irq(pdev, 0); -+ if (host->irq <= 0) { -+ dev_err(dev, "get IRQ failed\n"); -+ ret = -EINVAL; -+ goto err; -+ } -+ -+ ret = mmc_of_parse(mmc); -+ if (ret) -+ goto err; -+ -+ ret = bcm2835_add_host(host); -+ if (ret) -+ goto err; -+ -+ platform_set_drvdata(pdev, host); -+ -+ dev_dbg(dev, "%s -> OK\n", __func__); -+ -+ return 0; -+ -+err: -+ dev_dbg(dev, "%s -> err %d\n", __func__, ret); -+ mmc_free_host(mmc); -+ -+ return ret; -+} -+ -+static int bcm2835_remove(struct platform_device *pdev) -+{ -+ struct bcm2835_host *host = platform_get_drvdata(pdev); -+ -+ mmc_remove_host(host->mmc); -+ -+ writel(SDVDD_POWER_OFF, host->ioaddr + SDVDD); -+ -+ free_irq(host->irq, host); -+ -+ cancel_work_sync(&host->dma_work); -+ cancel_delayed_work_sync(&host->timeout_work); -+ -+ mmc_free_host(host->mmc); -+ platform_set_drvdata(pdev, NULL); -+ -+ return 0; -+} -+ -+static const struct of_device_id bcm2835_match[] = { -+ { .compatible = "brcm,bcm2835-sdhost" }, -+ { } -+}; -+MODULE_DEVICE_TABLE(of, bcm2835_match); -+ -+static struct platform_driver bcm2835_driver = { -+ .probe = bcm2835_probe, -+ .remove = bcm2835_remove, -+ .driver = { -+ .name = "sdhost-bcm2835", -+ .of_match_table = bcm2835_match, -+ }, -+}; -+module_platform_driver(bcm2835_driver); -+ -+MODULE_ALIAS("platform:sdhost-bcm2835"); -+MODULE_DESCRIPTION("BCM2835 SDHost driver"); -+MODULE_LICENSE("GPL v2"); -+MODULE_AUTHOR("Phil Elwell"); -From patchwork Wed Mar 8 09:19:05 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,3/7] mmc: bcm2835: add sdhost controller to devicetree -From: Gerd Hoffmann <kraxel@redhat.com> -X-Patchwork-Id: 9610693 -Message-Id: <1488964751-22763-6-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann <kraxel@redhat.com>, - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:05 +0100 - -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> -Acked-by: Eric Anholt <eric@anholt.net> -Acked-by: Stefan Wahren <stefan.wahren@i2se.com> ---- - arch/arm/boot/dts/bcm2835-rpi.dtsi | 6 ++++++ - arch/arm/boot/dts/bcm283x.dtsi | 10 ++++++++++ - 2 files changed, 16 insertions(+) - -diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi -index 1e00a28..8b95832 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi -@@ -69,6 +69,12 @@ - bus-width = <4>; - }; - -+&sdhost { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdhost_gpio48>; -+ bus-width = <4>; -+}; -+ - &pwm { - pinctrl-names = "default"; - pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 9798bc9..19099a5 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -350,6 +350,16 @@ - arm,primecell-periphid = <0x00241011>; - }; - -+ sdhost: mmc@7e202000 { -+ compatible = "brcm,bcm2835-sdhost"; -+ reg = <0x7e202000 0x100>; -+ interrupts = <2 24>; -+ clocks = <&clocks BCM2835_CLOCK_VPU>; -+ dmas = <&dma 13>; -+ dma-names = "rx-tx"; -+ status = "disabled"; -+ }; -+ - i2s: i2s@7e203000 { - compatible = "brcm,bcm2835-i2s"; - reg = <0x7e203000 0x20>, -From patchwork Wed Mar 8 09:19:07 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4, 4/7] arm: set CONFIG_MMC_BCM2835=y in bcm2835_defconfig and - multi_v7_defconfig -From: Gerd Hoffmann <kraxel@redhat.com> -X-Patchwork-Id: 9610689 -Message-Id: <1488964751-22763-8-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann <kraxel@redhat.com>, - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:07 +0100 - -We need to enable this controller so that we can switch the SD card's -pinmux over to it by default, which will improve storage performance. - -Read access (dd with 64k blocks on rpi2): - CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s - CONFIG_MMC_BCM2835: 19-20 MB/s - -Differences on write access are pretty much in the noise. - -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> ---- - arch/arm/configs/bcm2835_defconfig | 1 + - arch/arm/configs/multi_v7_defconfig | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/arch/arm/configs/bcm2835_defconfig b/arch/arm/configs/bcm2835_defconfig -index 4b89f4e..3767c24 100644 ---- a/arch/arm/configs/bcm2835_defconfig -+++ b/arch/arm/configs/bcm2835_defconfig -@@ -92,6 +92,7 @@ CONFIG_MMC=y - CONFIG_MMC_SDHCI=y - CONFIG_MMC_SDHCI_PLTFM=y - CONFIG_MMC_SDHCI_IPROC=y -+CONFIG_MMC_BCM2835=y - CONFIG_NEW_LEDS=y - CONFIG_LEDS_CLASS=y - CONFIG_LEDS_GPIO=y -diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig -index a94126f..63b94d0 100644 ---- a/arch/arm/configs/multi_v7_defconfig -+++ b/arch/arm/configs/multi_v7_defconfig -@@ -730,6 +730,7 @@ CONFIG_MMC_DW_EXYNOS=y - CONFIG_MMC_DW_ROCKCHIP=y - CONFIG_MMC_SH_MMCIF=y - CONFIG_MMC_SUNXI=y -+CONFIG_MMC_BCM2835=y - CONFIG_NEW_LEDS=y - CONFIG_LEDS_CLASS=y - CONFIG_LEDS_CLASS_FLASH=m -From patchwork Wed Mar 8 09:19:09 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,5/7] arm64: set CONFIG_MMC_BCM2835=y in defconfig -From: Gerd Hoffmann <kraxel@redhat.com> -X-Patchwork-Id: 9610647 -Message-Id: <1488964751-22763-10-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann <kraxel@redhat.com>, - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:09 +0100 - -We need to enable this controller so that we can switch the SD card's -pinmux over to it by default, which will improve storage performance. - -Read access (dd with 64k blocks on rpi2): - CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s - CONFIG_MMC_BCM2835: 19-20 MB/s - -Differences on write access are pretty much in the noise. - -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> ---- - arch/arm64/configs/defconfig | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index 7c48028..519a55c 100644 ---- a/arch/arm64/configs/defconfig -+++ b/arch/arm64/configs/defconfig -@@ -398,6 +398,7 @@ CONFIG_MMC_DW_EXYNOS=y - CONFIG_MMC_DW_K3=y - CONFIG_MMC_DW_ROCKCHIP=y - CONFIG_MMC_SUNXI=y -+CONFIG_MMC_BCM2835=y - CONFIG_NEW_LEDS=y - CONFIG_LEDS_CLASS=y - CONFIG_LEDS_GPIO=y -From patchwork Wed Mar 8 09:19:10 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,6/7] arm: dts: bcm283x: switch from &sdhci to &sdhost -From: Gerd Hoffmann <kraxel@redhat.com> -X-Patchwork-Id: 9610687 -Message-Id: <1488964751-22763-11-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann <kraxel@redhat.com>, - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:10 +0100 - -sdcard access with the sdhost controller is faster. - -Read access (dd with 64k blocks on rpi2): - CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s - CONFIG_MMC_BCM2835: 19-20 MB/s - -Differences on write access are pretty much in the noise. - -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> -Acked-by: Eric Anholt <eric@anholt.net> ---- - arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi -index 8b95832..e36c392 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi -@@ -65,13 +65,13 @@ - &sdhci { - pinctrl-names = "default"; - pinctrl-0 = <&emmc_gpio48>; -- status = "okay"; - bus-width = <4>; - }; - - &sdhost { - pinctrl-names = "default"; - pinctrl-0 = <&sdhost_gpio48>; -+ status = "okay"; - bus-width = <4>; - }; - -From patchwork Wed Mar 8 09:19:11 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,7/7] arm64: dts: bcm2837: add &sdhci and &sdhost -From: Gerd Hoffmann <kraxel@redhat.com> -X-Patchwork-Id: 9610637 -Message-Id: <1488964751-22763-12-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann <kraxel@redhat.com>, - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:11 +0100 - -For the raspberry pi 3 we'll need both sdhci (handles sdio wifi) and -sdhost (handles sdcard). - -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> -Acked-by: Eric Anholt <eric@anholt.net> ---- - arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -index c309633..972f14d 100644 ---- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -@@ -22,3 +22,20 @@ - &uart1 { - status = "okay"; - }; -+ -+/* SDHCI is used to control the SDIO for wireless */ -+&sdhci { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emmc_gpio34>; -+ status = "okay"; -+ bus-width = <4>; -+ non-removable; -+}; -+ -+/* SDHOST is used to drive the SD card */ -+&sdhost { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdhost_gpio48>; -+ status = "okay"; -+ bus-width = <4>; -+}; -From patchwork Sat Mar 25 13:17:00 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: mmc: bcm2835: Fix possible NULL ptr dereference in bcm2835_request -From: Stefan Wahren <stefan.wahren@i2se.com> -X-Patchwork-Id: 9644591 -Message-Id: <1490447820-751-1-git-send-email-stefan.wahren@i2se.com> -To: Ulf Hansson <ulf.hansson@linaro.org>, Eric Anholt <eric@anholt.net>, - Gerd Hoffmann <kraxel@redhat.com> -Cc: Jaehoon Chung <jh80.chung@samsung.com>, - Dan Carpenter <dan.carpenter@oracle.com>, - linux-rpi-kernel@lists.infradead.org, linux-mmc@vger.kernel.org, - Stefan Wahren <stefan.wahren@i2se.com> -Date: Sat, 25 Mar 2017 13:17:00 +0000 - -This fixes a NULL pointer dereference in case of a MMC request with a -set block count command and no data. - -Reported-by: Dan Carpenter <dan.carpenter@oracle.com> -Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> ---- - drivers/mmc/host/bcm2835.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c -index 7d1b0db..1f343a4 100644 ---- a/drivers/mmc/host/bcm2835.c -+++ b/drivers/mmc/host/bcm2835.c -@@ -1200,7 +1200,8 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) - return; - } - -- host->use_sbc = !!mrq->sbc && (host->mrq->data->flags & MMC_DATA_READ); -+ host->use_sbc = !!mrq->sbc && host->mrq->data && -+ (host->mrq->data->flags & MMC_DATA_READ); - if (host->use_sbc) { - if (bcm2835_send_command(host, mrq->sbc)) { - if (!host->use_busy) -From patchwork Tue May 23 23:42:27 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: mmc: host: fix potential null pointer dereference -From: "Gustavo A. R. Silva" <garsilva@embeddedor.com> -X-Patchwork-Id: 9744419 -Message-Id: <20170523234227.GA13018@embeddedgus> -To: Ulf Hansson <ulf.hansson@linaro.org>, - Florian Fainelli <f.fainelli@gmail.com>, - Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>, - bcm-kernel-feedback-list@broadcom.com, Eric Anholt <eric@anholt.net>, - Stefan Wahren <stefan.wahren@i2se.com> -Cc: "Gustavo A. R. Silva" <garsilva@embeddedor.com>, - linux-mmc@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, - linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org -Date: Tue, 23 May 2017 18:42:27 -0500 - -Null check at line 1165: if (mrq->cmd), implies that mrq->cmd might -be NULL. -Add null checks before dereferencing pointer mrq->cmd in order to avoid -any potential NULL pointer dereference. - -Addresses-Coverity-ID: 1408740 -Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> ---- - drivers/mmc/host/bcm2835.c | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c -index 1f343a4..abba9a2 100644 ---- a/drivers/mmc/host/bcm2835.c -+++ b/drivers/mmc/host/bcm2835.c -@@ -1172,7 +1172,10 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) - if (mrq->data && !is_power_of_2(mrq->data->blksz)) { - dev_err(dev, "unsupported block size (%d bytes)\n", - mrq->data->blksz); -- mrq->cmd->error = -EINVAL; -+ -+ if (mrq->cmd) -+ mrq->cmd->error = -EINVAL; -+ - mmc_request_done(mmc, mrq); - return; - } -@@ -1194,7 +1197,10 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) - readl(host->ioaddr + SDCMD) & SDCMD_CMD_MASK, - edm); - bcm2835_dumpregs(host); -- mrq->cmd->error = -EILSEQ; -+ -+ if (mrq->cmd) -+ mrq->cmd->error = -EILSEQ; -+ - bcm2835_finish_request(host); - mutex_unlock(&host->mutex); - return; -@@ -1207,7 +1213,7 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) - if (!host->use_busy) - bcm2835_finish_command(host); - } -- } else if (bcm2835_send_command(host, mrq->cmd)) { -+ } else if (mrq->cmd && bcm2835_send_command(host, mrq->cmd)) { - if (host->data && host->dma_desc) { - /* DMA transfer starts now, PIO starts after irq */ - bcm2835_start_dma(host); diff --git a/bcm283x-vc4-fix-vblank.patch b/bcm283x-vc4-fix-vblank.patch index ea7153d21..ce4f8b16f 100644 --- a/bcm283x-vc4-fix-vblank.patch +++ b/bcm283x-vc4-fix-vblank.patch @@ -1,6 +1,6 @@ -From 5db729b12376b0b6507503eee1dcbe5f3b089686 Mon Sep 17 00:00:00 2001 +From d40a5938a10a3ba73bce6395729fefd8b8bb1c07 Mon Sep 17 00:00:00 2001 From: Peter Robinson <pbrobinson@gmail.com> -Date: Wed, 28 Jun 2017 10:49:18 +0100 +Date: Thu, 29 Jun 2017 10:05:05 +0100 Subject: [PATCH] drm/vc4: Fix VBLANK handling in crtc->enable() path When we are enabling a CRTC, drm_crtc_vblank_get() is called before @@ -14,10 +14,10 @@ Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> 1 file changed, 43 insertions(+), 23 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index 9fcf05ca492b..138c406f4f77 100644 +index d86c8cce3182..316bd6210d69 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -528,6 +528,34 @@ static void vc4_crtc_disable(struct drm_crtc *crtc) +@@ -530,6 +530,34 @@ static void vc4_crtc_disable(struct drm_crtc *crtc) SCALER_DISPSTATX_EMPTY); } @@ -52,7 +52,7 @@ index 9fcf05ca492b..138c406f4f77 100644 static void vc4_crtc_enable(struct drm_crtc *crtc) { struct drm_device *dev = crtc->dev; -@@ -538,6 +566,12 @@ static void vc4_crtc_enable(struct drm_crtc *crtc) +@@ -540,6 +568,12 @@ static void vc4_crtc_enable(struct drm_crtc *crtc) require_hvs_enabled(dev); @@ -65,7 +65,7 @@ index 9fcf05ca492b..138c406f4f77 100644 /* Turn on the scaler, which will wait for vstart to start * compositing. */ -@@ -549,9 +583,6 @@ static void vc4_crtc_enable(struct drm_crtc *crtc) +@@ -551,9 +585,6 @@ static void vc4_crtc_enable(struct drm_crtc *crtc) /* Turn on the pixel valve, which will emit the vstart signal. */ CRTC_WRITE(PV_V_CONTROL, CRTC_READ(PV_V_CONTROL) | PV_VCONTROL_VIDEN); @@ -75,7 +75,7 @@ index 9fcf05ca492b..138c406f4f77 100644 } static bool vc4_crtc_mode_fixup(struct drm_crtc *crtc, -@@ -606,7 +637,6 @@ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, +@@ -608,7 +639,6 @@ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, { struct drm_device *dev = crtc->dev; struct vc4_dev *vc4 = to_vc4_dev(dev); @@ -83,7 +83,7 @@ index 9fcf05ca492b..138c406f4f77 100644 struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc->state); struct drm_plane *plane; bool debug_dump_regs = false; -@@ -628,25 +658,15 @@ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, +@@ -630,25 +660,15 @@ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, WARN_ON_ONCE(dlist_next - dlist_start != vc4_state->mm.size); diff --git a/dell-laptop-Adds-support-for-keyboard-backlight-timeout-AC-settings.patch b/dell-laptop-Adds-support-for-keyboard-backlight-timeout-AC-settings.patch deleted file mode 100644 index bf370c6e4..000000000 --- a/dell-laptop-Adds-support-for-keyboard-backlight-timeout-AC-settings.patch +++ /dev/null @@ -1,197 +0,0 @@ -From patchwork Sun Apr 23 19:40:47 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Subject: dell-laptop: Adds support for keyboard backlight timeout AC settings -From: =?utf-8?q?Pali_Roh=C3=A1r?= <pali.rohar@gmail.com> -X-Patchwork-Id: 9695273 -Message-Id: <1492976447-10339-1-git-send-email-pali.rohar@gmail.com> -To: Matthew Garrett <mjg59@srcf.ucam.org>, - Darren Hart <dvhart@infradead.org>, Andy Shevchenko <andy@infradead.org>, - Arcadiy Ivanov <arcadiy@ivanov.biz>, - Mario Limonciello <mario.limonciello@dell.com> -Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, - =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali.rohar@gmail.com> -Date: Sun, 23 Apr 2017 21:40:47 +0200 - -When changing keyboard backlight state on new Dell laptops, firmware -expects a new timeout AC value filled in Set New State SMBIOS call. - -Without it any change of keyboard backlight state on new Dell laptops -fails. And user can see following error message in dmesg: - - dell_laptop: Setting old previous keyboard state failed - leds dell::kbd_backlight: Setting an LED's brightness failed (-6) - -This patch adds support for retrieving current timeout AC values and also -updating them. Current timeout value in sysfs is displayed based on current -AC status, like current display brightness value. - -Detection if Dell laptop supports or not new timeout AC settings is done by -checking existence of Keyboard Backlight with AC SMBIOS token (0x0451). - -Signed-off-by: Pali Rohár <pali.rohar@gmail.com> -Acked-by: Mario Limonciello <mario.limonciello@dell.com> ---- -I have not tested this patch yet as I do not have affected machine. I would -appreciate some testing of this patch on more new Dell laptops. Without -this patch changing keyboard backlight is not possible on affected machines. ---- - drivers/platform/x86/dell-laptop.c | 59 ++++++++++++++++++++++++++++++++---- - 1 file changed, 53 insertions(+), 6 deletions(-) - -diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c -index f57dd28..cddf3c2 100644 ---- a/drivers/platform/x86/dell-laptop.c -+++ b/drivers/platform/x86/dell-laptop.c -@@ -42,6 +42,7 @@ - #define KBD_LED_AUTO_50_TOKEN 0x02EB - #define KBD_LED_AUTO_75_TOKEN 0x02EC - #define KBD_LED_AUTO_100_TOKEN 0x02F6 -+#define KBD_LED_AC_TOKEN 0x0451 - - struct quirk_entry { - u8 touchpad_led; -@@ -1024,7 +1025,7 @@ static void touchpad_led_exit(void) - * bit 2 Pointing stick - * bit 3 Any mouse - * bits 4-7 Reserved for future use -- * cbRES2, byte3 Current Timeout -+ * cbRES2, byte3 Current Timeout on battery - * bits 7:6 Timeout units indicator: - * 00b Seconds - * 01b Minutes -@@ -1036,6 +1037,15 @@ static void touchpad_led_exit(void) - * cbRES3, byte0 Current setting of ALS value that turns the light on or off. - * cbRES3, byte1 Current ALS reading - * cbRES3, byte2 Current keyboard light level. -+ * cbRES3, byte3 Current timeout on AC Power -+ * bits 7:6 Timeout units indicator: -+ * 00b Seconds -+ * 01b Minutes -+ * 10b Hours -+ * 11b Days -+ * Bits 5:0 Timeout value (0-63) in sec/min/hr/day -+ * NOTE: A value of 0 means always on (no timeout) if any bits of RES3 byte2 -+ * are set upon return from the upon return from the [Get Feature information] call. - * - * cbArg1 0x2 = Set New State - * cbRES1 Standard return codes (0, -1, -2) -@@ -1058,7 +1068,7 @@ static void touchpad_led_exit(void) - * bit 2 Pointing stick - * bit 3 Any mouse - * bits 4-7 Reserved for future use -- * cbArg2, byte3 Desired Timeout -+ * cbArg2, byte3 Desired Timeout on battery - * bits 7:6 Timeout units indicator: - * 00b Seconds - * 01b Minutes -@@ -1067,6 +1077,13 @@ static void touchpad_led_exit(void) - * bits 5:0 Timeout value (0-63) in sec/min/hr/day - * cbArg3, byte0 Desired setting of ALS value that turns the light on or off. - * cbArg3, byte2 Desired keyboard light level. -+ * cbArg3, byte3 Desired Timeout on AC power -+ * bits 7:6 Timeout units indicator: -+ * 00b Seconds -+ * 01b Minutes -+ * 10b Hours -+ * 11b Days -+ * bits 5:0 Timeout value (0-63) in sec/min/hr/day - */ - - -@@ -1112,6 +1129,8 @@ struct kbd_state { - u8 triggers; - u8 timeout_value; - u8 timeout_unit; -+ u8 timeout_value_ac; -+ u8 timeout_unit_ac; - u8 als_setting; - u8 als_value; - u8 level; -@@ -1131,6 +1150,7 @@ struct kbd_state { - static struct kbd_info kbd_info; - static bool kbd_als_supported; - static bool kbd_triggers_supported; -+static bool kbd_timeout_ac_supported; - - static u8 kbd_mode_levels[16]; - static int kbd_mode_levels_count; -@@ -1269,6 +1289,8 @@ static int kbd_get_state(struct kbd_state *state) - state->als_setting = buffer->output[2] & 0xFF; - state->als_value = (buffer->output[2] >> 8) & 0xFF; - state->level = (buffer->output[2] >> 16) & 0xFF; -+ state->timeout_value_ac = (buffer->output[2] >> 24) & 0x3F; -+ state->timeout_unit_ac = (buffer->output[2] >> 30) & 0x3; - - out: - dell_smbios_release_buffer(); -@@ -1288,6 +1310,8 @@ static int kbd_set_state(struct kbd_state *state) - buffer->input[1] |= (state->timeout_unit & 0x3) << 30; - buffer->input[2] = state->als_setting & 0xFF; - buffer->input[2] |= (state->level & 0xFF) << 16; -+ buffer->input[2] |= (state->timeout_value_ac & 0x3F) << 24; -+ buffer->input[2] |= (state->timeout_unit_ac & 0x3) << 30; - dell_smbios_send_request(4, 11); - ret = buffer->output[0]; - dell_smbios_release_buffer(); -@@ -1394,6 +1418,13 @@ static inline int kbd_init_info(void) - if (ret) - return ret; - -+ /* NOTE: Old models without KBD_LED_AC_TOKEN token supports only one -+ * timeout value which is shared for both battery and AC power -+ * settings. So do not try to set AC values on old models. -+ */ -+ if (dell_smbios_find_token(KBD_LED_AC_TOKEN)) -+ kbd_timeout_ac_supported = true; -+ - kbd_get_state(&state); - - /* NOTE: timeout value is stored in 6 bits so max value is 63 */ -@@ -1573,8 +1604,14 @@ static ssize_t kbd_led_timeout_store(struct device *dev, - return ret; - - new_state = state; -- new_state.timeout_value = value; -- new_state.timeout_unit = unit; -+ -+ if (kbd_timeout_ac_supported && power_supply_is_system_supplied() > 0) { -+ new_state.timeout_value_ac = value; -+ new_state.timeout_unit_ac = unit; -+ } else { -+ new_state.timeout_value = value; -+ new_state.timeout_unit = unit; -+ } - - ret = kbd_set_state_safe(&new_state, &state); - if (ret) -@@ -1587,16 +1624,26 @@ static ssize_t kbd_led_timeout_show(struct device *dev, - struct device_attribute *attr, char *buf) - { - struct kbd_state state; -+ int value; - int ret; - int len; -+ u8 unit; - - ret = kbd_get_state(&state); - if (ret) - return ret; - -- len = sprintf(buf, "%d", state.timeout_value); -+ if (kbd_timeout_ac_supported && power_supply_is_system_supplied() > 0) { -+ value = state.timeout_value_ac; -+ unit = state.timeout_unit_ac; -+ } else { -+ value = state.timeout_value; -+ unit = state.timeout_unit; -+ } -+ -+ len = sprintf(buf, "%d", value); - -- switch (state.timeout_unit) { -+ switch (unit) { - case KBD_TIMEOUT_SECONDS: - return len + sprintf(buf+len, "s\n"); - case KBD_TIMEOUT_MINUTES: diff --git a/efi-Add-SHIM-and-image-security-database-GUID-defini.patch b/efi-Add-SHIM-and-image-security-database-GUID-defini.patch deleted file mode 100644 index 4d380ea76..000000000 --- a/efi-Add-SHIM-and-image-security-database-GUID-defini.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 3a9fe1504e08824d894bb3a804c6a313f5d1be8a Mon Sep 17 00:00:00 2001 -From: Josh Boyer <jwboyer@fedoraproject.org> -Date: Tue, 25 Oct 2016 12:54:11 -0400 -Subject: [PATCH 11/20] efi: Add SHIM and image security database GUID - definitions - -Add the definitions for shim and image security database, both of which -are used widely in various Linux distros. - -Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> ---- - include/linux/efi.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/include/linux/efi.h b/include/linux/efi.h -index 2d089487d2da..ce943d5accfd 100644 ---- a/include/linux/efi.h -+++ b/include/linux/efi.h -@@ -592,6 +592,9 @@ void efi_native_runtime_setup(void); - #define EFI_MEMORY_ATTRIBUTES_TABLE_GUID EFI_GUID(0xdcfa911d, 0x26eb, 0x469f, 0xa2, 0x20, 0x38, 0xb7, 0xdc, 0x46, 0x12, 0x20) - #define EFI_CONSOLE_OUT_DEVICE_GUID EFI_GUID(0xd3b36f2c, 0xd551, 0x11d4, 0x9a, 0x46, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d) - -+#define EFI_IMAGE_SECURITY_DATABASE_GUID EFI_GUID(0xd719b2cb, 0x3d3a, 0x4596, 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f) -+#define EFI_SHIM_LOCK_GUID EFI_GUID(0x605dab50, 0xe046, 0x4300, 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23) -+ - /* - * This GUID is used to pass to the kernel proper the struct screen_info - * structure that was populated by the stub based on the GOP protocol instance --- -2.9.3 - diff --git a/efi-lockdown.patch b/efi-lockdown.patch index 7803d6dff..e04878458 100644 --- a/efi-lockdown.patch +++ b/efi-lockdown.patch @@ -1,4 +1,4 @@ -From 85255f3885abdd1d2e5dc9f6e51f2fc9db075843 Mon Sep 17 00:00:00 2001 +From df7d76ae50f18d4465e59fdf7f19d3df44906cb5 Mon Sep 17 00:00:00 2001 From: Josh Boyer <jwboyer@fedoraproject.org> Date: Mon, 21 Nov 2016 23:55:55 +0000 Subject: [PATCH 07/32] efi: Add EFI_SECURE_BOOT bit @@ -18,10 +18,10 @@ Signed-off-by: David Howells <dhowells@redhat.com> 2 files changed, 2 insertions(+) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 4bf0c89..396285b 100644 +index 69780ed..447905e 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c -@@ -1184,6 +1184,7 @@ void __init setup_arch(char **cmdline_p) +@@ -1182,6 +1182,7 @@ void __init setup_arch(char **cmdline_p) pr_info("Secure boot disabled\n"); break; case efi_secureboot_mode_enabled: @@ -42,13 +42,13 @@ index 94d34e0..6049600 100644 #ifdef CONFIG_EFI /* -- -2.7.5 +2.7.4 -From 341507e80b888b5b587bdb60f0d95275dbbcad89 Mon Sep 17 00:00:00 2001 +From f05a90c19a9613d8d50597319ed91f691e25b689 Mon Sep 17 00:00:00 2001 From: David Howells <dhowells@redhat.com> Date: Mon, 21 Nov 2016 23:36:17 +0000 -Subject: [PATCH 09/32] Add the ability to lock down access to the running kernel - image +Subject: [PATCH 09/32] Add the ability to lock down access to the running + kernel image Provide a single call to allow kernel code to determine whether the system should be locked down, thereby disallowing various accesses that might @@ -67,10 +67,10 @@ Signed-off-by: David Howells <dhowells@redhat.com> create mode 100644 security/lock_down.c diff --git a/include/linux/kernel.h b/include/linux/kernel.h -index 4c26dc3..b820a80 100644 +index cb09238..3cd3be9 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h -@@ -275,6 +275,15 @@ extern int oops_may_print(void); +@@ -273,6 +273,15 @@ extern int oops_may_print(void); void do_exit(long error_code) __noreturn; void complete_and_exit(struct completion *, long) __noreturn; @@ -87,10 +87,10 @@ index 4c26dc3..b820a80 100644 int __must_check _kstrtoul(const char *s, unsigned int base, unsigned long *res); int __must_check _kstrtol(const char *s, unsigned int base, long *res); diff --git a/include/linux/security.h b/include/linux/security.h -index 96899fa..5808570 100644 +index d3868f2..187b74b 100644 --- a/include/linux/security.h +++ b/include/linux/security.h -@@ -1678,5 +1678,16 @@ static inline void free_secdata(void *secdata) +@@ -1679,5 +1679,16 @@ static inline void free_secdata(void *secdata) { } #endif /* CONFIG_SECURITY */ @@ -191,9 +191,9 @@ index 0000000..5788c60 +} +EXPORT_SYMBOL(kernel_is_locked_down); -- -2.7.5 +2.7.4 -From dfabd5c5acc95a2de69d44f794e6f1ce894fd3ff Mon Sep 17 00:00:00 2001 +From fb6feb38e297260d050fc477c72683ac51d07ae3 Mon Sep 17 00:00:00 2001 From: David Howells <dhowells@redhat.com> Date: Mon, 21 Nov 2016 23:55:55 +0000 Subject: [PATCH 10/32] efi: Lock down the kernel if booted in secure boot mode @@ -211,10 +211,10 @@ Signed-off-by: David Howells <dhowells@redhat.com> 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index cc98d5a..21f3985 100644 +index 874c123..a315974 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -1817,6 +1817,18 @@ config EFI_MIXED +@@ -1816,6 +1816,18 @@ config EFI_MIXED If unsure, say N. @@ -234,7 +234,7 @@ index cc98d5a..21f3985 100644 def_bool y prompt "Enable seccomp to safely compute untrusted bytecode" diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 396285b..85dfa74 100644 +index 447905e..d44e60e 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -69,6 +69,7 @@ @@ -243,9 +243,9 @@ index 396285b..85dfa74 100644 #include <linux/jiffies.h> +#include <linux/security.h> + #include <linux/usb/xhci-dbgp.h> #include <video/edid.h> - -@@ -1185,7 +1186,12 @@ void __init setup_arch(char **cmdline_p) +@@ -1183,7 +1184,12 @@ void __init setup_arch(char **cmdline_p) break; case efi_secureboot_mode_enabled: set_bit(EFI_SECURE_BOOT, &efi.flags); @@ -260,9 +260,9 @@ index 396285b..85dfa74 100644 default: pr_info("Secure boot could not be determined\n"); -- -2.7.5 +2.7.4 -From 0329e34894da0599619b03fa6cb16d575bfc68d4 Mon Sep 17 00:00:00 2001 +From 7182f2f5b254d6dc6d3105d2f99219a76adf9de0 Mon Sep 17 00:00:00 2001 From: David Howells <dhowells@redhat.com> Date: Wed, 23 Nov 2016 13:22:22 +0000 Subject: [PATCH 11/32] Enforce module signatures if the kernel is locked down @@ -289,13 +289,13 @@ index 7eba6de..3331f2e 100644 return err; -- -2.7.5 +2.7.4 -From 236e7dcbf5eb7b27416a819d6cb69d3006481cef Mon Sep 17 00:00:00 2001 +From 7e97c58bcd0b4c082b889fb093a2779147532b9f Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> Date: Tue, 22 Nov 2016 08:46:16 +0000 -Subject: [PATCH 12/32] Restrict /dev/mem and /dev/kmem when the kernel is locked - down +Subject: [PATCH 12/32] Restrict /dev/mem and /dev/kmem when the kernel is + locked down Allowing users to write to address space makes it possible for the kernel to be subverted, avoiding module loading restrictions. Prevent this when the @@ -308,10 +308,10 @@ Signed-off-by: David Howells <dhowells@redhat.com> 1 file changed, 6 insertions(+) diff --git a/drivers/char/mem.c b/drivers/char/mem.c -index 6e0cbe0..a97b22f 100644 +index 6d9cc2d..f814404 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c -@@ -179,6 +179,9 @@ static ssize_t write_mem(struct file *file, const char __user *buf, +@@ -163,6 +163,9 @@ static ssize_t write_mem(struct file *file, const char __user *buf, if (p != *ppos) return -EFBIG; @@ -321,7 +321,7 @@ index 6e0cbe0..a97b22f 100644 if (!valid_phys_addr_range(p, count)) return -EFAULT; -@@ -540,6 +543,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf, +@@ -513,6 +516,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf, char *kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */ int err = 0; @@ -332,9 +332,9 @@ index 6e0cbe0..a97b22f 100644 unsigned long to_write = min_t(unsigned long, count, (unsigned long)high_memory - p); -- -2.7.5 +2.7.4 -From 58a5ca7a67b9091800f61c1c411b3f411fcd857b Mon Sep 17 00:00:00 2001 +From b83b68a9a13120664eaabf21a7b3ff0b065bd5b2 Mon Sep 17 00:00:00 2001 From: Kyle McMartin <kyle@redhat.com> Date: Mon, 21 Nov 2016 23:55:56 +0000 Subject: [PATCH 13/32] Add a sysrq option to exit secure boot mode @@ -354,10 +354,10 @@ Signed-off-by: David Howells <dhowells@redhat.com> 7 files changed, 68 insertions(+), 8 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 21f3985..457c049 100644 +index a315974..6931e68 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -1829,6 +1829,16 @@ config EFI_SECURE_BOOT_LOCK_DOWN +@@ -1828,6 +1828,16 @@ config EFI_SECURE_BOOT_LOCK_DOWN image. Say Y here to automatically lock down the kernel when a system boots with UEFI Secure Boot enabled. @@ -375,7 +375,7 @@ index 21f3985..457c049 100644 def_bool y prompt "Enable seccomp to safely compute untrusted bytecode" diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 85dfa74..a415a48 100644 +index d44e60e..f7635d0 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -71,6 +71,11 @@ @@ -387,10 +387,10 @@ index 85dfa74..a415a48 100644 +#include <linux/sysrq.h> +#include <linux/init_task.h> + + #include <linux/usb/xhci-dbgp.h> #include <video/edid.h> - #include <asm/mtrr.h> -@@ -1330,6 +1335,32 @@ void __init i386_reserve_resources(void) +@@ -1328,6 +1333,32 @@ void __init i386_reserve_resources(void) #endif /* CONFIG_X86_32 */ @@ -436,10 +436,10 @@ index 022be0e..4a054a5 100644 input_set_drvdata(udev->dev, udev); diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c -index c6fc714..0c96cf6 100644 +index 7113674..e1addc3 100644 --- a/drivers/tty/sysrq.c +++ b/drivers/tty/sysrq.c -@@ -481,6 +481,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = { +@@ -479,6 +479,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = { /* x: May be registered on mips for TLB dump */ /* x: May be registered on ppc/powerpc for xmon */ /* x: May be registered on sparc64 for global PMU dump */ @@ -447,7 +447,7 @@ index c6fc714..0c96cf6 100644 NULL, /* x */ /* y: May be registered on sparc64 for global register dump */ NULL, /* y */ -@@ -524,7 +525,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p) +@@ -522,7 +523,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p) sysrq_key_table[i] = op_p; } @@ -456,7 +456,7 @@ index c6fc714..0c96cf6 100644 { struct sysrq_key_op *op_p; int orig_log_level; -@@ -544,11 +545,15 @@ void __handle_sysrq(int key, bool check_mask) +@@ -542,11 +543,15 @@ void __handle_sysrq(int key, bool check_mask) op_p = __sysrq_get_key_op(key); if (op_p) { @@ -473,7 +473,7 @@ index c6fc714..0c96cf6 100644 pr_cont("%s\n", op_p->action_msg); console_loglevel = orig_log_level; op_p->handler(key); -@@ -580,7 +585,7 @@ void __handle_sysrq(int key, bool check_mask) +@@ -578,7 +583,7 @@ void __handle_sysrq(int key, bool check_mask) void handle_sysrq(int key) { if (sysrq_on()) @@ -482,7 +482,7 @@ index c6fc714..0c96cf6 100644 } EXPORT_SYMBOL(handle_sysrq); -@@ -661,7 +666,7 @@ static void sysrq_do_reset(unsigned long _state) +@@ -659,7 +664,7 @@ static void sysrq_do_reset(unsigned long _state) static void sysrq_handle_reset_request(struct sysrq_state *state) { if (state->reset_requested) @@ -491,7 +491,7 @@ index c6fc714..0c96cf6 100644 if (sysrq_reset_downtime_ms) mod_timer(&state->keyreset_timer, -@@ -812,8 +817,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq, +@@ -810,8 +815,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq, default: if (sysrq->active && value && value != 2) { @@ -503,7 +503,7 @@ index c6fc714..0c96cf6 100644 } break; } -@@ -1097,7 +1104,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf, +@@ -1095,7 +1102,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf, if (get_user(c, buf)) return -EFAULT; @@ -570,10 +570,10 @@ index 387fa7d..f7c52a9 100644 int unregister_sysrq_key(int key, struct sysrq_key_op *op); struct sysrq_key_op *__sysrq_get_key_op(int key); diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c -index c8146d5..b480cad 100644 +index ca18391..c4524b8 100644 --- a/kernel/debug/kdb/kdb_main.c +++ b/kernel/debug/kdb/kdb_main.c -@@ -1970,7 +1970,7 @@ static int kdb_sr(int argc, const char **argv) +@@ -1967,7 +1967,7 @@ static int kdb_sr(int argc, const char **argv) return KDB_ARGCOUNT; kdb_trap_printk++; @@ -583,9 +583,9 @@ index c8146d5..b480cad 100644 return 0; -- -2.7.5 +2.7.4 -From 1b5f90719268c27616172f00cde6e1078eb413c5 Mon Sep 17 00:00:00 2001 +From 8884bd44932e595323fcddfb09c2a2a586134cdf Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> Date: Tue, 22 Nov 2016 08:46:15 +0000 Subject: [PATCH 14/32] kexec: Disable at runtime if the kernel is locked down @@ -622,12 +622,13 @@ index 980936a..46de8e6 100644 * This leaves us room for future extensions. */ -- -2.7.5 +2.7.4 -From 85eaf32ad6cb1ce6ab88601daac8e601386929bb Mon Sep 17 00:00:00 2001 +From cace563d1743c3d2faf1e46bd4df8e63e2310207 Mon Sep 17 00:00:00 2001 From: Dave Young <dyoung@redhat.com> Date: Tue, 22 Nov 2016 08:46:15 +0000 -Subject: [PATCH] Copy secure_boot flag in boot params across kexec reboot +Subject: [PATCH 15/32] Copy secure_boot flag in boot params across kexec + reboot Kexec reboot in case secure boot being enabled does not keep the secure boot mode in new kernel, so later one can load unsigned kernel via legacy @@ -659,12 +660,13 @@ index d0a814a..3551bca 100644 ei->efi_systab = current_ei->efi_systab; ei->efi_systab_hi = current_ei->efi_systab_hi; -- -2.7.5 +2.7.4 -From 421f4933387c7663b99d63624bdc23d4037e9c26 Mon Sep 17 00:00:00 2001 +From 08a3467acbc28bb469d1eebd0f5fd40b944d984a Mon Sep 17 00:00:00 2001 From: "Lee, Chun-Yi" <joeyli.kernel@gmail.com> Date: Wed, 23 Nov 2016 13:49:19 +0000 -Subject: [PATCH 16/32] kexec_file: Disable at runtime if securelevel has been set +Subject: [PATCH 16/32] kexec_file: Disable at runtime if securelevel has been + set When KEXEC_VERIFY_SIG is not enabled, kernel should not loads image through kexec_file systemcall if securelevel has been set. @@ -680,7 +682,7 @@ Signed-off-by: David Howells <dhowells@redhat.com> 1 file changed, 6 insertions(+) diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c -index b118735..f6937ee 100644 +index b56a558..003cade 100644 --- a/kernel/kexec_file.c +++ b/kernel/kexec_file.c @@ -268,6 +268,12 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd, @@ -697,9 +699,9 @@ index b118735..f6937ee 100644 if (flags != (flags & KEXEC_FILE_FLAGS)) return -EINVAL; -- -2.7.5 +2.7.4 -From 0376070dd24c4226e047cf5ab8d68c8341b8d521 Mon Sep 17 00:00:00 2001 +From 925fd10d7a99a6f999dde76daf2b1ef1238b251a Mon Sep 17 00:00:00 2001 From: Josh Boyer <jwboyer@fedoraproject.org> Date: Tue, 22 Nov 2016 08:46:15 +0000 Subject: [PATCH 17/32] hibernate: Disable when the kernel is locked down @@ -716,10 +718,10 @@ Signed-off-by: David Howells <dhowells@redhat.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c -index a8b978c..50cca5d 100644 +index 86385af..1629798 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c -@@ -70,7 +70,7 @@ static const struct platform_hibernation_ops *hibernation_ops; +@@ -67,7 +67,7 @@ static const struct platform_hibernation_ops *hibernation_ops; bool hibernation_available(void) { @@ -729,12 +731,12 @@ index a8b978c..50cca5d 100644 /** -- -2.7.5 +2.7.4 -From fff7953fd653f695d0a43872726086637cad224b Mon Sep 17 00:00:00 2001 +From b14fb5fcd60c84a09a15bd7ec974b6fbce68335c Mon Sep 17 00:00:00 2001 From: Matthew Garrett <mjg59@srcf.ucam.org> Date: Wed, 23 Nov 2016 13:28:17 +0000 -Subject: [PATCH] uswsusp: Disable when the kernel is locked down +Subject: [PATCH 18/32] uswsusp: Disable when the kernel is locked down uswsusp allows a user process to dump and then restore kernel state, which makes it possible to modify the running kernel. Disable this if the kernel @@ -761,12 +763,13 @@ index 22df9f7..e4b926d 100644 if (!atomic_add_unless(&snapshot_device_available, -1, 0)) { -- -2.7.5 +2.7.4 -From a4cb6a7d28d27aa8166b7e0d5f75fe16f2f18ac8 Mon Sep 17 00:00:00 2001 +From d8167273e7562e5aa866d2b65e25bb1962de972c Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> Date: Tue, 22 Nov 2016 08:46:15 +0000 -Subject: [PATCH 19/32] PCI: Lock down BAR access when the kernel is locked down +Subject: [PATCH 19/32] PCI: Lock down BAR access when the kernel is locked + down Any hardware that can potentially generate DMA has to be locked down in order to avoid it being possible for an attacker to modify kernel code, @@ -783,10 +786,10 @@ Signed-off-by: David Howells <dhowells@redhat.com> 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c -index 7ac258f..7d29b03 100644 +index 0666287..b10992c 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c -@@ -727,6 +727,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj, +@@ -718,6 +718,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj, loff_t init_off = off; u8 *data = (u8 *) buf; @@ -796,17 +799,17 @@ index 7ac258f..7d29b03 100644 if (off > dev->cfg_size) return 0; if (off + count > dev->cfg_size) { -@@ -1022,6 +1025,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr, - resource_size_t start, end; - int i; +@@ -1009,6 +1012,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr, + enum pci_mmap_state mmap_type; + struct resource *res = &pdev->resource[bar]; + if (kernel_is_locked_down()) + return -EPERM; + - for (i = 0; i < PCI_ROM_RESOURCE; i++) - if (res == &pdev->resource[i]) - break; -@@ -1121,6 +1127,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj, + if (res->flags & IORESOURCE_MEM && iomem_is_exclusive(res->start)) + return -EINVAL; + +@@ -1108,6 +1114,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj, struct bin_attribute *attr, char *buf, loff_t off, size_t count) { @@ -817,7 +820,7 @@ index 7ac258f..7d29b03 100644 } diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c -index dc8912e..e2c5eff 100644 +index f82710a..139d6f0 100644 --- a/drivers/pci/proc.c +++ b/drivers/pci/proc.c @@ -116,6 +116,9 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf, @@ -842,13 +845,13 @@ index dc8912e..e2c5eff 100644 ret = pci_domain_nr(dev->bus); @@ -233,7 +239,7 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma) struct pci_filp_private *fpriv = file->private_data; - int i, ret, write_combine = 0, res_bit; + int i, ret, write_combine = 0, res_bit = IORESOURCE_MEM; - if (!capable(CAP_SYS_RAWIO)) + if (!capable(CAP_SYS_RAWIO) || kernel_is_locked_down()) return -EPERM; - if (fpriv->mmap_state == pci_mmap_io) + if (fpriv->mmap_state == pci_mmap_io) { diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c index 9bf993e..c095247 100644 --- a/drivers/pci/syscall.c @@ -863,12 +866,13 @@ index 9bf993e..c095247 100644 dev = pci_get_bus_and_slot(bus, dfn); -- -2.7.5 +2.7.4 -From 4f9b39483a30ae4bd6e9c90caaf3a0466161d024 Mon Sep 17 00:00:00 2001 +From 169d13e0c5240ac6aad13aace5ecbdb3de2cfada Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> Date: Tue, 22 Nov 2016 08:46:16 +0000 -Subject: [PATCH 20/32] x86: Lock down IO port access when the kernel is locked down +Subject: [PATCH 20/32] x86: Lock down IO port access when the kernel is locked + down IO port access would permit users to gain access to PCI configuration registers, which in turn (on a lot of hardware) give access to MMIO @@ -886,10 +890,10 @@ Signed-off-by: David Howells <dhowells@redhat.com> 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c -index 9c3cf09..4a613fe 100644 +index b01bc8517..4ccaace 100644 --- a/arch/x86/kernel/ioport.c +++ b/arch/x86/kernel/ioport.c -@@ -30,7 +30,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on) +@@ -29,7 +29,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on) if ((from + num <= from) || (from + num > IO_BITMAP_BITS)) return -EINVAL; @@ -898,7 +902,7 @@ index 9c3cf09..4a613fe 100644 return -EPERM; /* -@@ -120,7 +120,7 @@ SYSCALL_DEFINE1(iopl, unsigned int, level) +@@ -113,7 +113,7 @@ SYSCALL_DEFINE1(iopl, unsigned int, level) return -EINVAL; /* Trying to gain more privileges? */ if (level > old) { @@ -908,10 +912,10 @@ index 9c3cf09..4a613fe 100644 } regs->flags = (regs->flags & ~X86_EFLAGS_IOPL) | diff --git a/drivers/char/mem.c b/drivers/char/mem.c -index a97b22f..8705f8f 100644 +index f814404..9afebb6 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c -@@ -768,6 +768,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig) +@@ -741,6 +741,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig) static int open_port(struct inode *inode, struct file *filp) { @@ -921,9 +925,9 @@ index a97b22f..8705f8f 100644 } -- -2.7.5 +2.7.4 -From b746ba587c937240794cd7006c15a0fb3b2f8128 Mon Sep 17 00:00:00 2001 +From efd24f7e9af624b62f39efce4f60b31f0ca643d8 Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> Date: Tue, 22 Nov 2016 08:46:17 +0000 Subject: [PATCH 21/32] x86: Restrict MSR access when the kernel is locked down @@ -965,9 +969,9 @@ index ef68880..fbcce02 100644 err = -EFAULT; break; -- -2.7.5 +2.7.4 -From 5aff4c16ee0a6441b1abbf6e80a5da9cf2007469 Mon Sep 17 00:00:00 2001 +From 62ebdffbcb0726b98562e9f1173a6d5967755764 Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> Date: Tue, 22 Nov 2016 08:46:16 +0000 Subject: [PATCH 22/32] asus-wmi: Restrict debugfs interface when the kernel is @@ -986,10 +990,10 @@ Signed-off-by: David Howells <dhowells@redhat.com> 1 file changed, 9 insertions(+) diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c -index 8fe5890..feef250 100644 +index 43cb680..9be3e08 100644 --- a/drivers/platform/x86/asus-wmi.c +++ b/drivers/platform/x86/asus-wmi.c -@@ -1900,6 +1900,9 @@ static int show_dsts(struct seq_file *m, void *data) +@@ -1898,6 +1898,9 @@ static int show_dsts(struct seq_file *m, void *data) int err; u32 retval = -1; @@ -999,7 +1003,7 @@ index 8fe5890..feef250 100644 err = asus_wmi_get_devstate(asus, asus->debug.dev_id, &retval); if (err < 0) -@@ -1916,6 +1919,9 @@ static int show_devs(struct seq_file *m, void *data) +@@ -1914,6 +1917,9 @@ static int show_devs(struct seq_file *m, void *data) int err; u32 retval = -1; @@ -1009,7 +1013,7 @@ index 8fe5890..feef250 100644 err = asus_wmi_set_devstate(asus->debug.dev_id, asus->debug.ctrl_param, &retval); -@@ -1940,6 +1946,9 @@ static int show_call(struct seq_file *m, void *data) +@@ -1938,6 +1944,9 @@ static int show_call(struct seq_file *m, void *data) union acpi_object *obj; acpi_status status; @@ -1020,13 +1024,13 @@ index 8fe5890..feef250 100644 1, asus->debug.method_id, &input, &output); -- -2.7.5 +2.7.4 -From f0b27fdb42b57c2044ea3cf49371f786acc7b58e Mon Sep 17 00:00:00 2001 +From 31f493d03dde1854fa9e540f87a751fbeeb41cb9 Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> Date: Tue, 22 Nov 2016 08:46:16 +0000 -Subject: [PATCH 23/32] ACPI: Limit access to custom_method when the kernel is locked - down +Subject: [PATCH 23/32] ACPI: Limit access to custom_method when the kernel is + locked down custom_method effectively allows arbitrary access to system memory, making it possible for an attacker to circumvent restrictions on module loading. @@ -1053,13 +1057,13 @@ index c68e724..e4d721c 100644 /* parse the table header to get the table length */ if (count <= sizeof(struct acpi_table_header)) -- -2.7.5 +2.7.4 -From d67f882220ae3d969b496ad93fcbbcd3b09288cd Mon Sep 17 00:00:00 2001 +From 1dec5dc62c78f78b9efe44aac3d6119d97b67017 Mon Sep 17 00:00:00 2001 From: Josh Boyer <jwboyer@redhat.com> Date: Tue, 22 Nov 2016 08:46:16 +0000 -Subject: [PATCH 24/32] acpi: Ignore acpi_rsdp kernel param when the kernel has been - locked down +Subject: [PATCH 24/32] acpi: Ignore acpi_rsdp kernel param when the kernel has + been locked down This option allows userspace to pass the RSDP address to the kernel, which makes it possible for a user to circumvent any restrictions imposed on @@ -1085,13 +1089,13 @@ index db78d35..d4d4ba3 100644 #endif -- -2.7.5 +2.7.4 -From 15b10045321ac2af988918726a461178237d2d24 Mon Sep 17 00:00:00 2001 +From 96eaf04100d7365d93f898013175351c7d2702a6 Mon Sep 17 00:00:00 2001 From: Linn Crosetto <linn@hpe.com> Date: Wed, 23 Nov 2016 13:32:27 +0000 -Subject: [PATCH 25/32] acpi: Disable ACPI table override if the kernel is locked - down +Subject: [PATCH 25/32] acpi: Disable ACPI table override if the kernel is + locked down From the kernel documentation (initrd_table_override.txt): @@ -1126,13 +1130,13 @@ index 2604189..601096d 100644 memblock_find_in_range(0, ACPI_TABLE_UPGRADE_MAX_PHYS, all_tables_size, PAGE_SIZE); -- -2.7.5 +2.7.4 -From dec3a108f63021d82b132847a02e8496f613ac6f Mon Sep 17 00:00:00 2001 +From 521979b819b853f7578ba8edef8b33bc2077026d Mon Sep 17 00:00:00 2001 From: Linn Crosetto <linn@hpe.com> Date: Wed, 23 Nov 2016 13:39:41 +0000 -Subject: [PATCH 26/32] acpi: Disable APEI error injection if the kernel is locked - down +Subject: [PATCH 26/32] acpi: Disable APEI error injection if the kernel is + locked down ACPI provides an error injection mechanism, EINJ, for debugging and testing the ACPI Platform Error Interface (APEI) and other RAS features. If @@ -1170,9 +1174,9 @@ index ec50c32..e082718 100644 if (flags && (flags & ~(SETWA_FLAGS_APICID|SETWA_FLAGS_MEM|SETWA_FLAGS_PCIE_SBDF))) -- -2.7.5 +2.7.4 -From dcc51d5b69c23c3f955b332d959f13cb61b4500c Mon Sep 17 00:00:00 2001 +From fe597dad1cba83345d62c4079c0d8861c426698c Mon Sep 17 00:00:00 2001 From: Matthew Garrett <mjg59@coreos.com> Date: Wed, 23 Nov 2016 13:41:23 +0000 Subject: [PATCH 27/32] Enable cold boot attack mitigation @@ -1228,13 +1232,13 @@ index 801c7a1..ef9409b 100644 * If the boot loader gave us a value for secure_boot then we use that, * otherwise we ask the BIOS. -- -2.7.5 +2.7.4 -From 6cff44c809671affbf65ac2e0d0c2b0a0f705756 Mon Sep 17 00:00:00 2001 +From 04fac895731801bc6cb26a6061f1c353c80a866c Mon Sep 17 00:00:00 2001 From: "Lee, Chun-Yi" <jlee@suse.com> Date: Wed, 23 Nov 2016 13:52:16 +0000 -Subject: [PATCH 28/32] bpf: Restrict kernel image access functions when the kernel - is locked down +Subject: [PATCH 28/32] bpf: Restrict kernel image access functions when the + kernel is locked down There are some bpf functions can be used to read kernel memory: bpf_probe_read, bpf_probe_write_user and bpf_trace_printk. These allow @@ -1285,9 +1289,9 @@ index cee9802..7fde851 100644 for (i = 0; i < fmt_size; i++) { if ((!isprint(fmt[i]) && !isspace(fmt[i])) || !isascii(fmt[i])) -- -2.7.5 +2.7.4 -From 9c7dd48309e4d8e18a9979f6c0cbf9c7b8bf4ea1 Mon Sep 17 00:00:00 2001 +From 707d0e14c2c0d6c3139ff4bcb16ee22c462b4304 Mon Sep 17 00:00:00 2001 From: David Howells <dhowells@redhat.com> Date: Tue, 22 Nov 2016 10:10:34 +0000 Subject: [PATCH 29/32] scsi: Lock down the eata driver @@ -1313,7 +1317,7 @@ cc: linux-scsi@vger.kernel.org 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c -index 227dd2c..5c036d1 100644 +index 227dd2c..5c036d10 100644 --- a/drivers/scsi/eata.c +++ b/drivers/scsi/eata.c @@ -1552,8 +1552,13 @@ static int eata2x_detect(struct scsi_host_template *tpnt) @@ -1332,12 +1336,13 @@ index 227dd2c..5c036d1 100644 #if defined(MODULE) /* io_port could have been modified when loading as a module */ -- -2.7.5 +2.7.4 -From 5e2b99e099ba52131c7a87695b294961a0bf54f1 Mon Sep 17 00:00:00 2001 +From 07e05e0b7d806a05eba55092630bb75a92311344 Mon Sep 17 00:00:00 2001 From: David Howells <dhowells@redhat.com> Date: Fri, 25 Nov 2016 14:37:45 +0000 -Subject: [PATCH 30/32] Prohibit PCMCIA CIS storage when the kernel is locked down +Subject: [PATCH 30/32] Prohibit PCMCIA CIS storage when the kernel is locked + down Prohibit replacement of the PCMCIA Card Information Structure when the kernel is locked down. @@ -1364,9 +1369,9 @@ index 55ef7d1..193e4f7 100644 if (off) -- -2.7.5 +2.7.4 -From 6d6e052a6c2df0a7a492439efe1ac6d62498e0d4 Mon Sep 17 00:00:00 2001 +From cf1e877adbe35c5f72a9d85570b494aa3f35be6a Mon Sep 17 00:00:00 2001 From: David Howells <dhowells@redhat.com> Date: Wed, 7 Dec 2016 10:28:39 +0000 Subject: [PATCH 31/32] Lock down TIOCSSERIAL @@ -1383,10 +1388,10 @@ Signed-off-by: David Howells <dhowells@redhat.com> 1 file changed, 6 insertions(+) diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c -index 3fe5689..4181b00 100644 +index 9939c3d..7c040e2 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c -@@ -821,6 +821,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port, +@@ -820,6 +820,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port, new_flags = new_info->flags; old_custom_divisor = uport->custom_divisor; @@ -1400,5 +1405,5 @@ index 3fe5689..4181b00 100644 retval = -EPERM; if (change_irq || change_port || -- -2.7.5 +2.7.4 diff --git a/filter-aarch64.sh b/filter-aarch64.sh index 70d6338b0..e94f282a2 100644 --- a/filter-aarch64.sh +++ b/filter-aarch64.sh @@ -13,4 +13,6 @@ driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds medi ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell micrel myricom neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti via wiznet xircom" -singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr vc4" +drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel radeon rockchip tegra tinydrm vc4" + +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr" diff --git a/filter-armv7hl.sh b/filter-armv7hl.sh index 2141dfef4..db80ef62f 100644 --- a/filter-armv7hl.sh +++ b/filter-armv7hl.sh @@ -13,6 +13,6 @@ driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn media mem ethdrvs="3com adaptec alteon altera amd atheros broadcom cadence chelsio cisco dec dlink emulex icplus mellanox micrel myricom natsemi neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis sun tehuti via wiznet xircom" -drmdrvs="amd armada bridge ast exynos i2c imx mgag200 msm omapdrm panel nouveau radeon rockchip tegra tilcdc via" +drmdrvs="amd armada bridge ast exynos etnaviv hisilicon i2c imx meson mgag200 msm omapdrm panel nouveau radeon rockchip sti tegra tilcdc tinydrm via vc4" -singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr vc4" +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr" diff --git a/filter-i686.sh b/filter-i686.sh index d4770e669..46db4d88c 100644 --- a/filter-i686.sh +++ b/filter-i686.sh @@ -11,4 +11,4 @@ driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick mfd mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1" -singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub hid-sensor-magn-3d hid-sensor-incl-3d hid-sensor-gyro-3d hid-sensor-iio-common hid-sensor-accel-3d hid-sensor-trigger hid-sensor-als hid-sensor-rotation target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr parport_serial" +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub hid-sensor-magn-3d hid-sensor-incl-3d hid-sensor-gyro-3d hid-sensor-iio-common hid-sensor-accel-3d hid-sensor-trigger hid-sensor-als hid-sensor-rotation hid-sensor-temperature hid-sensor-humidity target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr parport_serial" diff --git a/genetlink-fix-counting-regression-on-ctrl_dumpfamily.patch b/genetlink-fix-counting-regression-on-ctrl_dumpfamily.patch deleted file mode 100644 index ab048d1c9..000000000 --- a/genetlink-fix-counting-regression-on-ctrl_dumpfamily.patch +++ /dev/null @@ -1,55 +0,0 @@ -From: Stanislaw Gruszka <sgruszka@redhat.com> -Date: 2017-03-22 15:08:33 -Subject: [PATCH 4.11] genetlink: fix counting regression on ctrl_dumpfamily() - -Commit 2ae0f17df1cd ("genetlink: use idr to track families") replaced - - if (++n < fams_to_skip) - continue; -into: - - if (n++ < fams_to_skip) - continue; - -This subtle change cause that on retry ctrl_dumpfamily() call we omit -one family that failed to do ctrl_fill_info() on previous call, because -cb->args[0] = n number counts also family that failed to do -ctrl_fill_info(). - -Patch fixes the problem and avoid confusion in the future just decrease -n counter when ctrl_fill_info() fail. - -User visible problem caused by this bug is failure to get access to -some genetlink family i.e. nl80211. However problem is reproducible -only if number of registered genetlink families is big enough to -cause second call of ctrl_dumpfamily(). - -Cc: Xose Vazquez Perez <xose.vazquez@gmail.com> -Cc: Larry Finger <Larry.Finger@lwfinger.net> -Cc: Johannes Berg <johannes@sipsolutions.net> -Fixes: 2ae0f17df1cd ("genetlink: use idr to track families") -Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> ---- -Dave, please also target this for 4.10+ -stable. - - net/netlink/genetlink.c | 4 +++- - 1 files changed, 3 insertions(+), 1 deletions(-) - -diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c -index fb6e10f..92e0981 100644 ---- a/net/netlink/genetlink.c -+++ b/net/netlink/genetlink.c -@@ -783,8 +783,10 @@ static int ctrl_dumpfamily(struct sk_buff *skb, struct netlink_callback *cb) - - if (ctrl_fill_info(rt, NETLINK_CB(cb->skb).portid, - cb->nlh->nlmsg_seq, NLM_F_MULTI, -- skb, CTRL_CMD_NEWFAMILY) < 0) -+ skb, CTRL_CMD_NEWFAMILY) < 0) { -+ n--; - break; -+ } - } - - cb->args[0] = n; --- -1.7.1 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 537b132c8..e57d02943 100644 --- a/kernel-aarch64-debug.config +++ b/kernel-aarch64-debug.config @@ -45,6 +45,7 @@ CONFIG_ACPI_ALS=m CONFIG_ACPI_APEI_GHES=y CONFIG_ACPI_APEI_PCIEAER=y CONFIG_ACPI_APEI=y +CONFIG_ACPI_BGRT=y CONFIG_ACPI_BUTTON=m CONFIG_ACPI_CONFIGFS=m CONFIG_ACPI_CONTAINER=y @@ -138,6 +139,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -168,7 +171,7 @@ CONFIG_AIC7XXX_RESET_DELAY_MS=15000 CONFIG_AIX_PARTITION=y # CONFIG_AK09911 is not set # CONFIG_AK8974 is not set -# CONFIG_AK8975 is not set +CONFIG_AK8975=m # CONFIG_AL3320A is not set CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m @@ -247,12 +250,14 @@ CONFIG_ARM64_ERRATUM_827319=y CONFIG_ARM64_ERRATUM_832075=y CONFIG_ARM64_ERRATUM_834220=y CONFIG_ARM64_ERRATUM_843419=y +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_HW_AFDBM=y CONFIG_ARM64_LSE_ATOMICS=y CONFIG_ARM64_PAN=y CONFIG_ARM64_PTDUMP_DEBUGFS=y CONFIG_ARM64_PTDUMP=y # CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set +# CONFIG_ARM64_RELOC_TEST is not set CONFIG_ARM64_SW_TTBR0_PAN=y CONFIG_ARM64_UAO=y CONFIG_ARM64_VA_BITS=48 @@ -395,6 +400,7 @@ CONFIG_AUXDISPLAY=y # CONFIG_AVERAGE is not set CONFIG_AX25_DAMA_SLAVE=y CONFIG_AX25=m +CONFIG_AXP20X_ADC=m CONFIG_AXP20X_POWER=m CONFIG_AXP288_ADC=m CONFIG_AXP288_CHARGER=m @@ -424,6 +430,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m @@ -448,12 +455,14 @@ CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV=m CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_NC=y +CONFIG_BATTERY_AXP20X=m # CONFIG_BATTERY_BQ27XXX is not set # CONFIG_BATTERY_DS2760 is not set # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_SBS is not set @@ -465,6 +474,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM2835_MBOX=y +CONFIG_BCM2835_THERMAL=m # CONFIG_BCM2835_VCHIQ is not set CONFIG_BCM2835_WDT=m CONFIG_BCM63XX_PHY=m @@ -480,14 +490,17 @@ CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_BCM_PDC_MBOX is not set +# CONFIG_BCM_VIDEOCORE is not set CONFIG_BE2ISCSI=m # CONFIG_BE2NET_HWMON is not set CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set # CONFIG_BEFS_FS is not set +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -510,7 +523,6 @@ CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -535,6 +547,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -640,6 +653,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -691,14 +705,17 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -713,6 +730,7 @@ CONFIG_CAN_SOFTING=m CONFIG_CAN_SUN4I=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y # CONFIG_CAPI_EICON is not set @@ -739,6 +757,7 @@ CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -853,6 +872,7 @@ CONFIG_COMMON_CLK_HI3519=m CONFIG_COMMON_CLK_HI3660=y # CONFIG_COMMON_CLK_HI3798CV200 is not set CONFIG_COMMON_CLK_HI6220=y +CONFIG_COMMON_CLK_HI655X=m CONFIG_COMMON_CLK_MAX77686=m CONFIG_COMMON_CLK_PWM=m CONFIG_COMMON_CLK_QCOM=y @@ -956,9 +976,11 @@ CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m CONFIG_CRYPTO_DEV_CCP=y +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y @@ -966,8 +988,9 @@ CONFIG_CRYPTO_DEV_MARVELL_CESA=m CONFIG_CRYPTO_DEV_MV_CESA=m CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_ROCKCHIP=m +CONFIG_CRYPTO_DEV_SAFEXCEL=m CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -1122,7 +1145,7 @@ CONFIG_DEBUG_WX=y CONFIG_DEFAULT_CFQ=y CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set # CONFIG_DEFXX is not set CONFIG_DETECT_HUNG_TASK=y @@ -1172,6 +1195,7 @@ CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m CONFIG_DMIID=y +CONFIG_DM_INTEGRITY=m CONFIG_DMI_SYSFS=y CONFIG_DMI=y CONFIG_DM_LOG_USERSPACE=m @@ -1217,8 +1241,11 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DUMB_VGA_DAC=m +CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +CONFIG_DRM_DW_HDMI=m CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_HDLCD=m # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set CONFIG_DRM_HISI_HIBMC=m @@ -1234,6 +1261,8 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y CONFIG_DRM_LVDS_ENCODER=m CONFIG_DRM=m CONFIG_DRM_MALI_DISPLAY=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set +CONFIG_DRM_MESON_DW_HDMI=m CONFIG_DRM_MESON=m CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set @@ -1250,20 +1279,24 @@ CONFIG_DRM_MSM=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m CONFIG_DRM_NXP_PTN3460=m -CONFIG_DRM_PANEL_JDI_LT070ME05000=m +# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_LG_LG4573=m +CONFIG_DRM_PANEL_LVDS=m CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m CONFIG_DRM_PANEL_SAMSUNG_LD9040=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_PANEL=y CONFIG_DRM_PARADE_PS8622=m CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set CONFIG_DRM_ROCKCHIP=m # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set @@ -1387,15 +1420,17 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y CONFIG_EARLY_PRINTK=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_MV64X60=m +CONFIG_EDAC_THUNDERX=m CONFIG_EDAC_XGENE=m CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m @@ -1453,7 +1488,6 @@ CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXTCON_ADC_JACK=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_GPIO=m -CONFIG_EXTCON_INTEL_INT3496=m CONFIG_EXTCON=m # CONFIG_EXTCON_MAX3355 is not set CONFIG_EXTCON_QCOM_SPMI_MISC=m @@ -1669,6 +1703,7 @@ CONFIG_GPIO_AXP209=m CONFIG_GPIO_DEVRES=y CONFIG_GPIO_DWAPB=m CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GRGPIO is not set @@ -1705,6 +1740,7 @@ CONFIG_GPIO_WATCHDOG=m CONFIG_GPIO_XGENE_SB=m CONFIG_GPIO_XGENE=y # CONFIG_GPIO_XILINX is not set +CONFIG_GPIO_XLP=m CONFIG_GREENASIA_FF=y # CONFIG_GREYBUS is not set # CONFIG_GS_FPGABOOT is not set @@ -1716,6 +1752,7 @@ CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -1728,6 +1765,7 @@ CONFIG_HI6220_MBOX=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1771,6 +1809,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1792,12 +1831,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1952,6 +1993,7 @@ CONFIG_I2C_HID=m CONFIG_I2C_MESON=m CONFIG_I2C_MLXCPLD=m CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m CONFIG_I2C_MUX_PCA9541=m @@ -1993,6 +2035,7 @@ CONFIG_I2C_VERSATILE=m CONFIG_I2C_VIPERBOARD=m CONFIG_I2C_XGENE_SLIMPRO=m # CONFIG_I2C_XILINX is not set +CONFIG_I2C_XLP9XX=m CONFIG_I2C=y # CONFIG_I2O is not set # CONFIG_I40E_DCB is not set @@ -2012,6 +2055,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -2029,6 +2074,7 @@ CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 CONFIG_IIO_CROS_EC_BARO=m +CONFIG_IIO_CROS_EC_LIGHT_PROX=m CONFIG_IIO_CROS_EC_SENSORS_CORE=m CONFIG_IIO_CROS_EC_SENSORS=m # CONFIG_IIO_HRTIMER_TRIGGER is not set @@ -2155,7 +2201,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_PCSPKR=m @@ -2189,6 +2234,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2371,6 +2417,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2471,6 +2518,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2486,7 +2535,7 @@ CONFIG_JOYSTICK_XPAD=m CONFIG_JOYSTICK_ZHENHUA=m # CONFIG_JSA1212 is not set CONFIG_JUMP_LABEL=y -# CONFIG_K3_DMA is not set +CONFIG_K3_DMA=m CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS=y CONFIG_KARMA_PARTITION=y @@ -2561,7 +2610,9 @@ CONFIG_KSZ884X_PCI=m CONFIG_KUSER_HELPERS=y CONFIG_KVM=y CONFIG_KXCJK1013=m -# CONFIG_KXSD9 is not set +CONFIG_KXSD9_I2C=m +CONFIG_KXSD9=m +CONFIG_KXSD9_SPI=m CONFIG_L2TP_DEBUGFS=m CONFIG_L2TP_ETH=m CONFIG_L2TP_IP=m @@ -2596,7 +2647,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m CONFIG_LEDS_GPIO=m CONFIG_LEDS_GPIO_REGISTER=y # CONFIG_LEDS_IS31FL319X is not set @@ -2671,7 +2721,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2684,6 +2733,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2712,6 +2762,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2750,8 +2802,10 @@ CONFIG_MANTIS_CORE=m CONFIG_MARVELL_PHY=m # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set @@ -2760,6 +2814,7 @@ CONFIG_MAX30100=m # CONFIG_MAX63XX_WATCHDOG is not set CONFIG_MAX77620_THERMAL=m CONFIG_MAX77620_WATCHDOG=m +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y @@ -2802,6 +2857,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2860,7 +2916,7 @@ CONFIG_MFD_AXP20X_RSB=m CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set CONFIG_MFD_CROS_EC_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_SPI=m @@ -2872,7 +2928,6 @@ CONFIG_MFD_CROS_EC_SPI=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set CONFIG_MFD_HI655X_PMIC=m # CONFIG_MFD_JANZ_CMODIO is not set @@ -2920,6 +2975,7 @@ CONFIG_MFD_SYSCON=y # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2970,6 +3026,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -2996,6 +3053,7 @@ CONFIG_MMC_BCM2835=m CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_CAVIUM_THUNDERX=m CONFIG_MMC_CB710=m # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_DW_EXYNOS is not set @@ -3026,6 +3084,7 @@ CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m CONFIG_MMC_SDHCI_PXAV3=m CONFIG_MMC_SDHCI_TEGRA=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m CONFIG_MMC_SPI=m CONFIG_MMC_SUNXI=m @@ -3047,7 +3106,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -3079,8 +3137,9 @@ CONFIG_MOVABLE_NODE=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -3208,6 +3267,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -3251,11 +3311,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3378,6 +3442,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3473,6 +3538,7 @@ CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NETWORK_PHY_TIMESTAMPING=y CONFIG_NETXEN_NIC=m CONFIG_NET_XGENE=m +CONFIG_NET_XGENE_V2=m CONFIG_NET=y CONFIG_NEW_LEDS=y CONFIG_NFC_DIGITAL=m @@ -3689,6 +3755,7 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOUVEAU_PLATFORM_DRIVER=y CONFIG_NOZOMI=m CONFIG_NR_CPUS=256 +CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m # CONFIG_NTB is not set @@ -3838,19 +3905,24 @@ CONFIG_PCIE_ARMADA_8K=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +CONFIG_PCIE_DW_HOST=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_DW=y CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCIE_QCOM=y CONFIG_PCIE_ROCKCHIP=y +# CONFIG_PCI_FTPCI100 is not set CONFIG_PCI_HERMES=m CONFIG_PCI_HISI=y CONFIG_PCI_HOST_GENERIC=y CONFIG_PCI_HOST_THUNDER_ECAM=y CONFIG_PCI_HOST_THUNDER_PEM=y CONFIG_PCI_IOV=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_MSI=y CONFIG_PCI_MVEBU=y CONFIG_PCI_PASID=y @@ -3858,6 +3930,7 @@ CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI_TEGRA=y CONFIG_PCI_XGENE_MSI=y CONFIG_PCI_XGENE=y @@ -3897,6 +3970,8 @@ CONFIG_PHY_MVEBU_SATA=y # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_APQ8064_SATA is not set # CONFIG_PHY_QCOM_IPQ806X_SATA is not set +CONFIG_PHY_QCOM_QMP=m +CONFIG_PHY_QCOM_QUSB2=m # CONFIG_PHY_QCOM_UFS is not set CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_QCOM_USB_HS=m @@ -3942,7 +4017,6 @@ CONFIG_PINCTRL_QDF2XXX=y CONFIG_PINCTRL_SINGLE=y # CONFIG_PINCTRL_SUNRISEPOINT is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y @@ -4067,12 +4141,13 @@ CONFIG_QCOM_FALKOR_ERRATUM_1009=y CONFIG_QCOM_GSBI=y CONFIG_QCOM_HIDMA=m CONFIG_QCOM_HIDMA_MGMT=m +CONFIG_QCOM_IOMMU=y CONFIG_QCOM_IRQ_COMBINER=y CONFIG_QCOM_L2_PMU=y +CONFIG_QCOM_L3_PMU=y CONFIG_QCOM_Q6V5_PIL=m CONFIG_QCOM_QDF2400_ERRATUM_0065=y CONFIG_QCOM_QFPROM=m -CONFIG_QCOM_SMD=m CONFIG_QCOM_SMD_RPM=m CONFIG_QCOM_SMEM=m CONFIG_QCOM_SMP2P=m @@ -4134,10 +4209,12 @@ CONFIG_RADIO_TERRATEC=m CONFIG_RADIO_TRUST=m CONFIG_RADIO_TYPHOON=m CONFIG_RADIO_WL1273=m +CONFIG_RADIO_WL128X=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_RANDOMIZE_BASE is not set +CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y CONFIG_RAW_DRIVER=y @@ -4185,7 +4262,6 @@ CONFIG_REGULATOR_ACT8865=m # CONFIG_REGULATOR_AD5398 is not set # CONFIG_REGULATOR_ANATOP is not set CONFIG_REGULATOR_AXP20X=m -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DA9210 is not set # CONFIG_REGULATOR_DA9211 is not set # CONFIG_REGULATOR_DEBUG is not set @@ -4223,8 +4299,10 @@ CONFIG_REGULATOR_RK808=m # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set # CONFIG_REGULATOR_TPS6507X is not set +# CONFIG_REGULATOR_TPS65132 is not set # CONFIG_REGULATOR_TPS6524X is not set CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VCTRL=m CONFIG_REGULATOR_VEXPRESS=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m CONFIG_REGULATOR=y @@ -4259,12 +4337,12 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m -CONFIG_ROCKCHIP_ANALOGIX_DP=m -# CONFIG_ROCKCHIP_CDN_DP is not set -CONFIG_ROCKCHIP_DW_HDMI=m -CONFIG_ROCKCHIP_DW_MIPI_DSI=m +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +CONFIG_ROCKCHIP_DW_HDMI=y +CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_ROCKCHIP_EFUSE=m -CONFIG_ROCKCHIP_INNO_HDMI=m +CONFIG_ROCKCHIP_INNO_HDMI=y CONFIG_ROCKCHIP_IODOMAIN=m CONFIG_ROCKCHIP_IOMMU=y CONFIG_ROCKCHIP_MBOX=y @@ -4276,6 +4354,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPMSG=m CONFIG_RPMSG_QCOM_SMD=m CONFIG_RPR0521=m @@ -4416,6 +4495,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4623,6 +4703,7 @@ CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ARM_SCPI=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m @@ -4910,7 +4991,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DEBUG=y CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4926,7 +5007,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4961,6 +5044,7 @@ CONFIG_SND_HDA_TEGRA=m CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4968,8 +5052,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y # CONFIG_SND_KIRKWOOD_SOC is not set @@ -5015,6 +5099,8 @@ CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -5030,6 +5116,7 @@ CONFIG_SND_SOC_APQ8016_SBC=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -5043,7 +5130,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_SPI=m @@ -5064,10 +5153,12 @@ CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -5164,13 +5255,14 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m CONFIG_SND_YMFPCI=m # CONFIG_SOC_CAMERA is not set +CONFIG_SOC_TEGRA_FLOWCTRL=y # CONFIG_SOC_TI is not set # CONFIG_SOC_ZTE is not set CONFIG_SOFT_WATCHDOG=m @@ -5224,6 +5316,7 @@ CONFIG_SPI_THUNDERX=m # CONFIG_SPI_TOPCLIFF_PCH is not set # CONFIG_SPI_XCOMM is not set # CONFIG_SPI_XILINX is not set +CONFIG_SPI_XLP=m CONFIG_SPI=y # CONFIG_SPI_ZYNQMP_GQSPI is not set CONFIG_SPMI=m @@ -5237,6 +5330,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y CONFIG_SRAM=y +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -5272,14 +5366,11 @@ CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_STUB_CLK_HI6220=y # CONFIG_SUN4I_EMAC is not set +CONFIG_SUN4I_GPADC=m CONFIG_SUN50I_A64_CCU=y -# CONFIG_SUN5I_CCU is not set -# CONFIG_SUN6I_A31_CCU is not set -# CONFIG_SUN8I_A23_CCU is not set -# CONFIG_SUN8I_A33_CCU is not set -# CONFIG_SUN8I_H3_CCU is not set +CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_R_CCU=y # CONFIG_SUN8I_V3S_CCU is not set -# CONFIG_SUN9I_A80_CCU is not set CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -5310,6 +5401,7 @@ CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set # CONFIG_SYS_HYPERVISOR is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -5333,6 +5425,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m CONFIG_TCG_TIS_I2C_ATMEL=m @@ -5373,6 +5466,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set CONFIG_TCS3472=m +# CONFIG_TEE is not set CONFIG_TEGRA124_EMC=y CONFIG_TEGRA20_APB_DMA=y CONFIG_TEGRA210_ADMA=y @@ -5413,6 +5507,7 @@ CONFIG_TEST_LIST_SORT=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -5441,6 +5536,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -5450,7 +5546,7 @@ CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m -# CONFIG_TI_ST is not set +CONFIG_TI_ST=m # CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set @@ -5516,6 +5612,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -5558,11 +5655,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5654,6 +5756,7 @@ CONFIG_USB_DWC3_PCI=m CONFIG_USB_DWC3_ULPI=y # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_EG20T is not set +CONFIG_USB_EHCI_HCD_ORION=m CONFIG_USB_EHCI_HCD_PLATFORM=m CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_MSM=m @@ -5820,6 +5923,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_OTG=y # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5832,6 +5936,7 @@ CONFIG_USB_PWC=m CONFIG_USB_QCOM_8X16_PHY=m # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_R8A66597 is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -6014,6 +6119,7 @@ CONFIG_VIA_VELOCITY=m CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_AU0828_RC is not set CONFIG_VIDEO_AU0828_V4L2=y +# CONFIG_VIDEO_BCM2835 is not set CONFIG_VIDEO_BT848=m CONFIG_VIDEO_CAFE_CCIC=m CONFIG_VIDEO_CPIA2=m @@ -6117,6 +6223,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -6125,6 +6232,7 @@ CONFIG_VLSI_FIR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -6152,6 +6260,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -6219,6 +6328,7 @@ CONFIG_WQ_WATCHDOG=y # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_PTDUMP=y # CONFIG_XEN is not set CONFIG_XFRM_MIGRATE=y @@ -6267,3 +6377,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-aarch64.config b/kernel-aarch64.config index 2ea836952..b5715c027 100644 --- a/kernel-aarch64.config +++ b/kernel-aarch64.config @@ -45,6 +45,7 @@ CONFIG_ACPI_ALS=m CONFIG_ACPI_APEI_GHES=y CONFIG_ACPI_APEI_PCIEAER=y CONFIG_ACPI_APEI=y +CONFIG_ACPI_BGRT=y CONFIG_ACPI_BUTTON=m CONFIG_ACPI_CONFIGFS=m CONFIG_ACPI_CONTAINER=y @@ -138,6 +139,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -168,7 +171,7 @@ CONFIG_AIC7XXX_RESET_DELAY_MS=15000 CONFIG_AIX_PARTITION=y # CONFIG_AK09911 is not set # CONFIG_AK8974 is not set -# CONFIG_AK8975 is not set +CONFIG_AK8975=m # CONFIG_AL3320A is not set CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m @@ -247,12 +250,14 @@ CONFIG_ARM64_ERRATUM_827319=y CONFIG_ARM64_ERRATUM_832075=y CONFIG_ARM64_ERRATUM_834220=y CONFIG_ARM64_ERRATUM_843419=y +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_HW_AFDBM=y CONFIG_ARM64_LSE_ATOMICS=y CONFIG_ARM64_PAN=y CONFIG_ARM64_PTDUMP_DEBUGFS=y # CONFIG_ARM64_PTDUMP is not set # CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set +# CONFIG_ARM64_RELOC_TEST is not set CONFIG_ARM64_SW_TTBR0_PAN=y CONFIG_ARM64_UAO=y CONFIG_ARM64_VA_BITS=48 @@ -395,6 +400,7 @@ CONFIG_AUXDISPLAY=y # CONFIG_AVERAGE is not set CONFIG_AX25_DAMA_SLAVE=y CONFIG_AX25=m +CONFIG_AXP20X_ADC=m CONFIG_AXP20X_POWER=m CONFIG_AXP288_ADC=m CONFIG_AXP288_CHARGER=m @@ -424,6 +430,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m @@ -448,12 +455,14 @@ CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV=m CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_NC=y +CONFIG_BATTERY_AXP20X=m # CONFIG_BATTERY_BQ27XXX is not set # CONFIG_BATTERY_DS2760 is not set # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_SBS is not set @@ -465,6 +474,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM2835_MBOX=y +CONFIG_BCM2835_THERMAL=m # CONFIG_BCM2835_VCHIQ is not set CONFIG_BCM2835_WDT=m CONFIG_BCM63XX_PHY=m @@ -480,14 +490,17 @@ CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_BCM_PDC_MBOX is not set +# CONFIG_BCM_VIDEOCORE is not set CONFIG_BE2ISCSI=m # CONFIG_BE2NET_HWMON is not set CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set # CONFIG_BEFS_FS is not set +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -510,7 +523,6 @@ CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -535,6 +547,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -640,6 +653,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -691,14 +705,17 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -713,6 +730,7 @@ CONFIG_CAN_SOFTING=m CONFIG_CAN_SUN4I=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y # CONFIG_CAPI_EICON is not set @@ -739,6 +757,7 @@ CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -853,6 +872,7 @@ CONFIG_COMMON_CLK_HI3519=m CONFIG_COMMON_CLK_HI3660=y # CONFIG_COMMON_CLK_HI3798CV200 is not set CONFIG_COMMON_CLK_HI6220=y +CONFIG_COMMON_CLK_HI655X=m CONFIG_COMMON_CLK_MAX77686=m CONFIG_COMMON_CLK_PWM=m CONFIG_COMMON_CLK_QCOM=y @@ -955,9 +975,11 @@ CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m CONFIG_CRYPTO_DEV_CCP=y +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y @@ -965,8 +987,9 @@ CONFIG_CRYPTO_DEV_MARVELL_CESA=m CONFIG_CRYPTO_DEV_MV_CESA=m CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_ROCKCHIP=m +CONFIG_CRYPTO_DEV_SAFEXCEL=m CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -1113,7 +1136,7 @@ CONFIG_DEBUG_WX=y CONFIG_DEFAULT_CFQ=y CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set # CONFIG_DEFXX is not set # CONFIG_DETECT_HUNG_TASK is not set @@ -1162,6 +1185,7 @@ CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m CONFIG_DMIID=y +CONFIG_DM_INTEGRITY=m CONFIG_DMI_SYSFS=y CONFIG_DMI=y CONFIG_DM_LOG_USERSPACE=m @@ -1207,8 +1231,11 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DUMB_VGA_DAC=m +CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +CONFIG_DRM_DW_HDMI=m CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_HDLCD=m # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set CONFIG_DRM_HISI_HIBMC=m @@ -1224,6 +1251,8 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y CONFIG_DRM_LVDS_ENCODER=m CONFIG_DRM=m CONFIG_DRM_MALI_DISPLAY=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set +CONFIG_DRM_MESON_DW_HDMI=m CONFIG_DRM_MESON=m CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set @@ -1240,20 +1269,24 @@ CONFIG_DRM_MSM=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m CONFIG_DRM_NXP_PTN3460=m -CONFIG_DRM_PANEL_JDI_LT070ME05000=m +# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_LG_LG4573=m +CONFIG_DRM_PANEL_LVDS=m CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m CONFIG_DRM_PANEL_SAMSUNG_LD9040=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_PANEL=y CONFIG_DRM_PARADE_PS8622=m CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set CONFIG_DRM_ROCKCHIP=m # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set @@ -1377,15 +1410,17 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y CONFIG_EARLY_PRINTK=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_MV64X60=m +CONFIG_EDAC_THUNDERX=m CONFIG_EDAC_XGENE=m CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m @@ -1443,7 +1478,6 @@ CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXTCON_ADC_JACK=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_GPIO=m -CONFIG_EXTCON_INTEL_INT3496=m CONFIG_EXTCON=m # CONFIG_EXTCON_MAX3355 is not set CONFIG_EXTCON_QCOM_SPMI_MISC=m @@ -1652,6 +1686,7 @@ CONFIG_GPIO_AXP209=m CONFIG_GPIO_DEVRES=y CONFIG_GPIO_DWAPB=m CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GRGPIO is not set @@ -1688,6 +1723,7 @@ CONFIG_GPIO_WATCHDOG=m CONFIG_GPIO_XGENE_SB=m CONFIG_GPIO_XGENE=y # CONFIG_GPIO_XILINX is not set +CONFIG_GPIO_XLP=m CONFIG_GREENASIA_FF=y # CONFIG_GREYBUS is not set # CONFIG_GS_FPGABOOT is not set @@ -1699,6 +1735,7 @@ CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -1711,6 +1748,7 @@ CONFIG_HI6220_MBOX=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1754,6 +1792,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1775,12 +1814,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1935,6 +1976,7 @@ CONFIG_I2C_HID=m CONFIG_I2C_MESON=m CONFIG_I2C_MLXCPLD=m CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m CONFIG_I2C_MUX_PCA9541=m @@ -1976,6 +2018,7 @@ CONFIG_I2C_VERSATILE=m CONFIG_I2C_VIPERBOARD=m CONFIG_I2C_XGENE_SLIMPRO=m # CONFIG_I2C_XILINX is not set +CONFIG_I2C_XLP9XX=m CONFIG_I2C=y # CONFIG_I2O is not set # CONFIG_I40E_DCB is not set @@ -1995,6 +2038,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -2012,6 +2057,7 @@ CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 CONFIG_IIO_CROS_EC_BARO=m +CONFIG_IIO_CROS_EC_LIGHT_PROX=m CONFIG_IIO_CROS_EC_SENSORS_CORE=m CONFIG_IIO_CROS_EC_SENSORS=m # CONFIG_IIO_HRTIMER_TRIGGER is not set @@ -2138,7 +2184,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_PCSPKR=m @@ -2172,6 +2217,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2354,6 +2400,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2454,6 +2501,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2469,7 +2518,7 @@ CONFIG_JOYSTICK_XPAD=m CONFIG_JOYSTICK_ZHENHUA=m # CONFIG_JSA1212 is not set CONFIG_JUMP_LABEL=y -# CONFIG_K3_DMA is not set +CONFIG_K3_DMA=m CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS=y CONFIG_KARMA_PARTITION=y @@ -2542,7 +2591,9 @@ CONFIG_KSZ884X_PCI=m CONFIG_KUSER_HELPERS=y CONFIG_KVM=y CONFIG_KXCJK1013=m -# CONFIG_KXSD9 is not set +CONFIG_KXSD9_I2C=m +CONFIG_KXSD9=m +CONFIG_KXSD9_SPI=m CONFIG_L2TP_DEBUGFS=m CONFIG_L2TP_ETH=m CONFIG_L2TP_IP=m @@ -2577,7 +2628,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m CONFIG_LEDS_GPIO=m CONFIG_LEDS_GPIO_REGISTER=y # CONFIG_LEDS_IS31FL319X is not set @@ -2652,7 +2702,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2665,6 +2714,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2693,6 +2743,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2731,8 +2783,10 @@ CONFIG_MANTIS_CORE=m CONFIG_MARVELL_PHY=m # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set @@ -2741,6 +2795,7 @@ CONFIG_MAX30100=m # CONFIG_MAX63XX_WATCHDOG is not set CONFIG_MAX77620_THERMAL=m CONFIG_MAX77620_WATCHDOG=m +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 # CONFIG_MC3230 is not set @@ -2782,6 +2837,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2840,7 +2896,7 @@ CONFIG_MFD_AXP20X_RSB=m CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set CONFIG_MFD_CROS_EC_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_SPI=m @@ -2852,7 +2908,6 @@ CONFIG_MFD_CROS_EC_SPI=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set CONFIG_MFD_HI655X_PMIC=m # CONFIG_MFD_JANZ_CMODIO is not set @@ -2900,6 +2955,7 @@ CONFIG_MFD_SYSCON=y # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2950,6 +3006,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -2976,6 +3033,7 @@ CONFIG_MMC_BCM2835=m CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_CAVIUM_THUNDERX=m CONFIG_MMC_CB710=m # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_DW_EXYNOS is not set @@ -3006,6 +3064,7 @@ CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m CONFIG_MMC_SDHCI_PXAV3=m CONFIG_MMC_SDHCI_TEGRA=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m CONFIG_MMC_SPI=m CONFIG_MMC_SUNXI=m @@ -3026,7 +3085,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -3058,8 +3116,9 @@ CONFIG_MOVABLE_NODE=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -3187,6 +3246,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -3230,11 +3290,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3357,6 +3421,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3452,6 +3517,7 @@ CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NETWORK_PHY_TIMESTAMPING=y CONFIG_NETXEN_NIC=m CONFIG_NET_XGENE=m +CONFIG_NET_XGENE_V2=m CONFIG_NET=y CONFIG_NEW_LEDS=y CONFIG_NFC_DIGITAL=m @@ -3668,6 +3734,7 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOUVEAU_PLATFORM_DRIVER=y CONFIG_NOZOMI=m CONFIG_NR_CPUS=256 +CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m # CONFIG_NTB is not set @@ -3817,19 +3884,24 @@ CONFIG_PCIE_ARMADA_8K=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +CONFIG_PCIE_DW_HOST=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_DW=y CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCIE_QCOM=y CONFIG_PCIE_ROCKCHIP=y +# CONFIG_PCI_FTPCI100 is not set CONFIG_PCI_HERMES=m CONFIG_PCI_HISI=y CONFIG_PCI_HOST_GENERIC=y CONFIG_PCI_HOST_THUNDER_ECAM=y CONFIG_PCI_HOST_THUNDER_PEM=y CONFIG_PCI_IOV=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_MSI=y CONFIG_PCI_MVEBU=y CONFIG_PCI_PASID=y @@ -3837,6 +3909,7 @@ CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI_TEGRA=y CONFIG_PCI_XGENE_MSI=y CONFIG_PCI_XGENE=y @@ -3876,6 +3949,8 @@ CONFIG_PHY_MVEBU_SATA=y # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_APQ8064_SATA is not set # CONFIG_PHY_QCOM_IPQ806X_SATA is not set +CONFIG_PHY_QCOM_QMP=m +CONFIG_PHY_QCOM_QUSB2=m # CONFIG_PHY_QCOM_UFS is not set CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_QCOM_USB_HS=m @@ -3921,7 +3996,6 @@ CONFIG_PINCTRL_QDF2XXX=y CONFIG_PINCTRL_SINGLE=y # CONFIG_PINCTRL_SUNRISEPOINT is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y @@ -4045,12 +4119,13 @@ CONFIG_QCOM_FALKOR_ERRATUM_1009=y CONFIG_QCOM_GSBI=y CONFIG_QCOM_HIDMA=m CONFIG_QCOM_HIDMA_MGMT=m +CONFIG_QCOM_IOMMU=y CONFIG_QCOM_IRQ_COMBINER=y CONFIG_QCOM_L2_PMU=y +CONFIG_QCOM_L3_PMU=y CONFIG_QCOM_Q6V5_PIL=m CONFIG_QCOM_QDF2400_ERRATUM_0065=y CONFIG_QCOM_QFPROM=m -CONFIG_QCOM_SMD=m CONFIG_QCOM_SMD_RPM=m CONFIG_QCOM_SMEM=m CONFIG_QCOM_SMP2P=m @@ -4112,10 +4187,12 @@ CONFIG_RADIO_TERRATEC=m CONFIG_RADIO_TRUST=m CONFIG_RADIO_TYPHOON=m CONFIG_RADIO_WL1273=m +CONFIG_RADIO_WL128X=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_RANDOMIZE_BASE is not set +CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y CONFIG_RAW_DRIVER=y @@ -4163,7 +4240,6 @@ CONFIG_REGULATOR_ACT8865=m # CONFIG_REGULATOR_AD5398 is not set # CONFIG_REGULATOR_ANATOP is not set CONFIG_REGULATOR_AXP20X=m -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DA9210 is not set # CONFIG_REGULATOR_DA9211 is not set # CONFIG_REGULATOR_DEBUG is not set @@ -4201,8 +4277,10 @@ CONFIG_REGULATOR_RK808=m # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set # CONFIG_REGULATOR_TPS6507X is not set +# CONFIG_REGULATOR_TPS65132 is not set # CONFIG_REGULATOR_TPS6524X is not set CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VCTRL=m CONFIG_REGULATOR_VEXPRESS=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m CONFIG_REGULATOR=y @@ -4237,12 +4315,12 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m -CONFIG_ROCKCHIP_ANALOGIX_DP=m -# CONFIG_ROCKCHIP_CDN_DP is not set -CONFIG_ROCKCHIP_DW_HDMI=m -CONFIG_ROCKCHIP_DW_MIPI_DSI=m +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +CONFIG_ROCKCHIP_DW_HDMI=y +CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_ROCKCHIP_EFUSE=m -CONFIG_ROCKCHIP_INNO_HDMI=m +CONFIG_ROCKCHIP_INNO_HDMI=y CONFIG_ROCKCHIP_IODOMAIN=m CONFIG_ROCKCHIP_IOMMU=y CONFIG_ROCKCHIP_MBOX=y @@ -4254,6 +4332,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPMSG=m CONFIG_RPMSG_QCOM_SMD=m CONFIG_RPR0521=m @@ -4394,6 +4473,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4601,6 +4681,7 @@ CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ARM_SCPI=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m @@ -4888,7 +4969,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG is not set # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4904,7 +4985,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4939,6 +5022,7 @@ CONFIG_SND_HDA_TEGRA=m CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4946,8 +5030,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y # CONFIG_SND_KIRKWOOD_SOC is not set @@ -4992,6 +5076,8 @@ CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -5007,6 +5093,7 @@ CONFIG_SND_SOC_APQ8016_SBC=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -5020,7 +5107,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_SPI=m @@ -5041,10 +5130,12 @@ CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -5141,13 +5232,14 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y # CONFIG_SND_VERBOSE_PRINTK is not set CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m CONFIG_SND_YMFPCI=m # CONFIG_SOC_CAMERA is not set +CONFIG_SOC_TEGRA_FLOWCTRL=y # CONFIG_SOC_TI is not set # CONFIG_SOC_ZTE is not set CONFIG_SOFT_WATCHDOG=m @@ -5201,6 +5293,7 @@ CONFIG_SPI_THUNDERX=m # CONFIG_SPI_TOPCLIFF_PCH is not set # CONFIG_SPI_XCOMM is not set # CONFIG_SPI_XILINX is not set +CONFIG_SPI_XLP=m CONFIG_SPI=y # CONFIG_SPI_ZYNQMP_GQSPI is not set CONFIG_SPMI=m @@ -5214,6 +5307,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y CONFIG_SRAM=y +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -5249,14 +5343,11 @@ CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_STUB_CLK_HI6220=y # CONFIG_SUN4I_EMAC is not set +CONFIG_SUN4I_GPADC=m CONFIG_SUN50I_A64_CCU=y -# CONFIG_SUN5I_CCU is not set -# CONFIG_SUN6I_A31_CCU is not set -# CONFIG_SUN8I_A23_CCU is not set -# CONFIG_SUN8I_A33_CCU is not set -# CONFIG_SUN8I_H3_CCU is not set +CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_R_CCU=y # CONFIG_SUN8I_V3S_CCU is not set -# CONFIG_SUN9I_A80_CCU is not set CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -5287,6 +5378,7 @@ CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set # CONFIG_SYS_HYPERVISOR is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -5310,6 +5402,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m CONFIG_TCG_TIS_I2C_ATMEL=m @@ -5350,6 +5443,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set CONFIG_TCS3472=m +# CONFIG_TEE is not set CONFIG_TEGRA124_EMC=y CONFIG_TEGRA20_APB_DMA=y CONFIG_TEGRA210_ADMA=y @@ -5390,6 +5484,7 @@ CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -5418,6 +5513,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -5427,7 +5523,7 @@ CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m -# CONFIG_TI_ST is not set +CONFIG_TI_ST=m # CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set @@ -5493,6 +5589,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -5535,11 +5632,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5631,6 +5733,7 @@ CONFIG_USB_DWC3_PCI=m CONFIG_USB_DWC3_ULPI=y # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_EG20T is not set +CONFIG_USB_EHCI_HCD_ORION=m CONFIG_USB_EHCI_HCD_PLATFORM=m CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_MSM=m @@ -5797,6 +5900,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_OTG=y # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5809,6 +5913,7 @@ CONFIG_USB_PWC=m CONFIG_USB_QCOM_8X16_PHY=m # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_R8A66597 is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5991,6 +6096,7 @@ CONFIG_VIA_VELOCITY=m CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_AU0828_RC is not set CONFIG_VIDEO_AU0828_V4L2=y +# CONFIG_VIDEO_BCM2835 is not set CONFIG_VIDEO_BT848=m CONFIG_VIDEO_CAFE_CCIC=m CONFIG_VIDEO_CPIA2=m @@ -6094,6 +6200,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -6102,6 +6209,7 @@ CONFIG_VLSI_FIR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -6129,6 +6237,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -6196,6 +6305,7 @@ CONFIG_WM8350_WATCHDOG=m # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set +CONFIG_X86_MCELOG_LEGACY=y # CONFIG_X86_PTDUMP is not set # CONFIG_XEN is not set CONFIG_XFRM_MIGRATE=y @@ -6244,3 +6354,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config index f7236b04c..23fd756bd 100644 --- a/kernel-armv7hl-debug.config +++ b/kernel-armv7hl-debug.config @@ -116,6 +116,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set CONFIG_AEABI=y # CONFIG_AFE4403 is not set @@ -125,6 +127,7 @@ CONFIG_AEABI=y # CONFIG_AF_RXRPC is not set # CONFIG_AFS_FS is not set # CONFIG_AHCI_CEVA is not set +CONFIG_AHCI_DM816=m CONFIG_AHCI_IMX=m CONFIG_AHCI_MVEBU=m # CONFIG_AHCI_QORIQ is not set @@ -245,6 +248,7 @@ CONFIG_ARCH_VIRT=y # CONFIG_ARCH_ZX is not set CONFIG_ARCH_ZYNQ=y # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_PTDUMP=y CONFIG_ARMADA_THERMAL=m CONFIG_ARM_AMBA=y @@ -434,6 +438,7 @@ CONFIG_AX25=m CONFIG_AX88796_93CX6=y CONFIG_AX88796=m CONFIG_AXI_DMAC=m +CONFIG_AXP20X_ADC=m CONFIG_AXP20X_POWER=m CONFIG_AXP288_ADC=m CONFIG_AXP288_CHARGER=m @@ -463,6 +468,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_DA9052=m @@ -490,6 +496,7 @@ CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV=m CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_NC=y +CONFIG_BATTERY_AXP20X=m CONFIG_BATTERY_BQ27XXX_I2C=m CONFIG_BATTERY_BQ27XXX=m CONFIG_BATTERY_DA9052=m @@ -498,6 +505,7 @@ CONFIG_BATTERY_DA9052=m # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set CONFIG_BATTERY_RX51=m @@ -511,6 +519,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM2835_MBOX=y +CONFIG_BCM2835_THERMAL=m # CONFIG_BCM2835_VCHIQ is not set CONFIG_BCM2835_WDT=m CONFIG_BCM63XX_PHY=m @@ -525,13 +534,16 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_BCM_VIDEOCORE is not set CONFIG_BE2ISCSI=m # CONFIG_BE2NET_HWMON is not set CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set # CONFIG_BEFS_FS is not set +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -554,7 +566,6 @@ CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -579,6 +590,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -685,6 +697,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -739,14 +752,17 @@ CONFIG_CAN_FLEXCAN=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -764,6 +780,7 @@ CONFIG_CAN_SUN4I=m # CONFIG_CAN_TI_HECC is not set # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y # CONFIG_CAPI_EICON is not set @@ -785,6 +802,7 @@ CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -900,7 +918,6 @@ CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set CONFIG_COMMON_CLK_MAX77686=m -CONFIG_COMMON_CLK_MAX77802=m CONFIG_COMMON_CLK_PALMAS=m CONFIG_COMMON_CLK_PWM=m CONFIG_COMMON_CLK_QCOM=y @@ -909,7 +926,7 @@ CONFIG_COMMON_CLK_S2MPS11=m CONFIG_COMMON_CLK_SCPI=m # CONFIG_COMMON_CLK_SI514 is not set CONFIG_COMMON_CLK_SI5351=m -CONFIG_COMMON_CLK_SI570=m +# CONFIG_COMMON_CLK_SI570 is not set CONFIG_COMMON_CLK_TI_ADPLL=m # CONFIG_COMMON_CLK_VC5 is not set CONFIG_COMMON_CLK_VERSATILE=y @@ -1000,7 +1017,9 @@ CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m +CONFIG_CRYPTO_DEV_EXYNOS_RNG=m CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=m CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=m # CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set @@ -1028,7 +1047,7 @@ CONFIG_CRYPTO_DEV_S5P=m CONFIG_CRYPTO_DEV_SAHARA=m CONFIG_CRYPTO_DEV_SUN4I_SS=m CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -1242,6 +1261,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m +CONFIG_DM_INTEGRITY=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_MIRROR=y @@ -1309,6 +1329,7 @@ CONFIG_DRM_EXYNOS_MIXER=y CONFIG_DRM_EXYNOS_ROTATOR=y CONFIG_DRM_EXYNOS_VIDI=y CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_FSL_DCU is not set CONFIG_DRM_HDLCD=m # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set @@ -1330,6 +1351,8 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y CONFIG_DRM_LVDS_ENCODER=m CONFIG_DRM=m CONFIG_DRM_MALI_DISPLAY=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set +CONFIG_DRM_MESON_DW_HDMI=m CONFIG_DRM_MESON=m CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set @@ -1362,20 +1385,24 @@ CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01=m CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM=m CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1=m CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1=m -CONFIG_DRM_PANEL_JDI_LT070ME05000=m +# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_LG_LG4573=m +CONFIG_DRM_PANEL_LVDS=m CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m CONFIG_DRM_PANEL_SAMSUNG_LD9040=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_PANEL=y CONFIG_DRM_PARADE_PS8622=m CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set CONFIG_DRM_ROCKCHIP=m # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set @@ -1504,16 +1531,17 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y CONFIG_EARLY_PRINTK=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_HIGHBANK_L2=m CONFIG_EDAC_HIGHBANK_MC=m CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_MV64X60=m CONFIG_EDAC_SYNOPSYS=m CONFIG_EDAC=y @@ -1572,7 +1600,6 @@ CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXTCON_ADC_JACK=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_GPIO=m -CONFIG_EXTCON_INTEL_INT3496=m # CONFIG_EXTCON_MAX3355 is not set CONFIG_EXTCON_MAX8997=m CONFIG_EXTCON_PALMAS=m @@ -1802,6 +1829,7 @@ CONFIG_GPIO_DA9055=m CONFIG_GPIO_DEVRES=y CONFIG_GPIO_DWAPB=m CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GRGPIO is not set @@ -1861,6 +1889,7 @@ CONFIG_HAVE_ARM_ARCH_TIMER=y CONFIG_HAVE_ARM_TWD=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HDQ_MASTER_OMAP=m CONFIG_HEADERS_CHECK=y @@ -1873,6 +1902,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1916,6 +1946,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1937,12 +1968,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -2039,7 +2072,6 @@ CONFIG_HWMON=y CONFIG_HW_PERF_EVENTS=y CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m -CONFIG_HW_RANDOM_EXYNOS=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_MSM=m CONFIG_HW_RANDOM_MXC_RNGA=m @@ -2097,6 +2129,7 @@ CONFIG_I2C_IMX=m CONFIG_I2C_MESON=m CONFIG_I2C_MLXCPLD=m CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m CONFIG_I2C_MUX_PCA9541=m @@ -2158,6 +2191,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -2175,6 +2210,7 @@ CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 CONFIG_IIO_CROS_EC_BARO=m +CONFIG_IIO_CROS_EC_LIGHT_PROX=m CONFIG_IIO_CROS_EC_SENSORS_CORE=m CONFIG_IIO_CROS_EC_SENSORS=m # CONFIG_IIO_HRTIMER_TRIGGER is not set @@ -2207,6 +2243,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10 # CONFIG_IMG_ASCII_LCD is not set CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m +CONFIG_IMX7_PM_DOMAINS=y CONFIG_IMX_DMA=m CONFIG_IMX_GPCV2=y CONFIG_IMX_IPUV3_CORE=m @@ -2313,7 +2350,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PALMAS_PWRBUTTON=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set @@ -2352,6 +2388,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2536,6 +2573,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2648,6 +2686,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2782,7 +2822,6 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m CONFIG_LEDS_DA9052=m CONFIG_LEDS_DAC124S085=m -CONFIG_LEDS_DELL_NETBOOKS=m CONFIG_LEDS_GPIO=m CONFIG_LEDS_GPIO_REGISTER=y # CONFIG_LEDS_IS31FL319X is not set @@ -2860,7 +2899,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2873,6 +2911,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2901,6 +2940,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=32768 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2961,14 +3002,17 @@ CONFIG_MANTIS_CORE=m CONFIG_MARVELL_PHY=m # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y @@ -3011,6 +3055,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -3069,7 +3114,7 @@ CONFIG_MFD_AXP20X_RSB=m CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set CONFIG_MFD_CROS_EC_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_SPI=m @@ -3105,7 +3150,6 @@ CONFIG_MFD_NVEC=y CONFIG_MFD_OMAP_USB_HOST=y CONFIG_MFD_PALMAS=y # CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_PM8921_CORE is not set CONFIG_MFD_PM8XXX=m CONFIG_MFD_QCOM_RPM=m # CONFIG_MFD_RC5T583 is not set @@ -3131,6 +3175,7 @@ CONFIG_MFD_T7L66XB=y CONFIG_MFD_TC6387XB=y # CONFIG_MFD_TC6393XB is not set CONFIG_MFD_TI_AM335X_TSCADC=m +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -3182,6 +3227,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -3247,6 +3293,7 @@ CONFIG_MMC_SDHCI_S3C_DMA=y CONFIG_MMC_SDHCI_S3C=m CONFIG_MMC_SDHCI_ST=m CONFIG_MMC_SDHCI_TEGRA=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m CONFIG_MMC_SPI=m CONFIG_MMC_SUNXI=m @@ -3271,7 +3318,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -3305,6 +3351,7 @@ CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -3464,6 +3511,7 @@ CONFIG_NEON=y CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -3507,11 +3555,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3633,6 +3685,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3946,6 +3999,7 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOUVEAU_PLATFORM_DRIVER=y CONFIG_NOZOMI=m CONFIG_NR_CPUS=32 +CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m # CONFIG_NTB is not set @@ -3954,6 +4008,7 @@ CONFIG_NTP_PPS=y CONFIG_NVEC_PAZ00=y CONFIG_NVEC_POWER=y CONFIG_NVME_FC=m +CONFIG_NVMEM_IMX_IIM=m CONFIG_NVMEM_IMX_OCOTP=m CONFIG_NVMEM=m CONFIG_NVMEM_SUNXI_SID=m @@ -4129,7 +4184,9 @@ CONFIG_PCF50633_GPIO=m # CONFIG_PCH_GBE is not set CONFIG_PCI_AARDVARK=y # CONFIG_PCI_DEBUG is not set -CONFIG_PCI_DRA7XX=y +# CONFIG_PCI_DRA7XX_EP is not set +# CONFIG_PCI_DRA7XX_HOST is not set +# CONFIG_PCI_DRA7XX is not set CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIE_ALTERA is not set @@ -4137,20 +4194,25 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +CONFIG_PCIE_DW_HOST=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_DW=y CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCIE_QCOM=y CONFIG_PCIE_ROCKCHIP=y CONFIG_PCIE_XILINX=y CONFIG_PCI_EXYNOS=y +# CONFIG_PCI_FTPCI100 is not set CONFIG_PCI_HERMES=m CONFIG_PCI_HOST_GENERIC=y CONFIG_PCI_IMX6=y CONFIG_PCI_IOV=y # CONFIG_PCI_LAYERSCAPE is not set +CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_MSI=y CONFIG_PCI_MVEBU=y CONFIG_PCI_PASID=y @@ -4158,6 +4220,7 @@ CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI_TEGRA=y CONFIG_PCI=y CONFIG_PCMCIA_3C574=m @@ -4202,6 +4265,8 @@ CONFIG_PHY_MVEBU_SATA=y # CONFIG_PHY_PXA_28NM_USB2 is not set CONFIG_PHY_QCOM_APQ8064_SATA=m # CONFIG_PHY_QCOM_IPQ806X_SATA is not set +CONFIG_PHY_QCOM_QMP=m +CONFIG_PHY_QCOM_QUSB2=m CONFIG_PHY_QCOM_UFS=m CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_QCOM_USB_HS=m @@ -4254,7 +4319,6 @@ CONFIG_PINCTRL_SAMSUNG=y CONFIG_PINCTRL_SINGLE=y # CONFIG_PINCTRL_SUNRISEPOINT is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set CONFIG_PINCTRL=y CONFIG_PINCTRL_ZYNQ=y CONFIG_PINMUX=y @@ -4398,11 +4462,11 @@ CONFIG_QCOM_COINCELL=m CONFIG_QCOM_GSBI=m # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set -CONFIG_QCOM_IRQ_COMBINER=y +CONFIG_QCOM_IOMMU=y +CONFIG_QCOM_PM8XXX_XOADC=m CONFIG_QCOM_PM=y CONFIG_QCOM_Q6V5_PIL=m CONFIG_QCOM_QFPROM=m -CONFIG_QCOM_SMD=m CONFIG_QCOM_SMD_RPM=m CONFIG_QCOM_SMEM=m CONFIG_QCOM_SMP2P=m @@ -4468,6 +4532,7 @@ CONFIG_RADIO_WL128X=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set +CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y CONFIG_RAW_DRIVER=y @@ -4521,7 +4586,6 @@ CONFIG_REGULATOR_AD5398=m CONFIG_REGULATOR_ANATOP=m CONFIG_REGULATOR_AS3722=m CONFIG_REGULATOR_AXP20X=m -CONFIG_REGULATOR_CPCAP=m CONFIG_REGULATOR_DA9052=m CONFIG_REGULATOR_DA9055=m CONFIG_REGULATOR_DA9210=m @@ -4570,6 +4634,7 @@ CONFIG_REGULATOR_TPS62360=m CONFIG_REGULATOR_TPS65023=m CONFIG_REGULATOR_TPS6507X=m CONFIG_REGULATOR_TPS65090=m +# CONFIG_REGULATOR_TPS65132 is not set CONFIG_REGULATOR_TPS65217=m CONFIG_REGULATOR_TPS65218=m CONFIG_REGULATOR_TPS6524X=m @@ -4579,6 +4644,7 @@ CONFIG_REGULATOR_TPS65912=m CONFIG_REGULATOR_TPS80031=m CONFIG_REGULATOR_TWL4030=y CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VCTRL=m CONFIG_REGULATOR_VEXPRESS=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m CONFIG_REGULATOR_WM8994=m @@ -4612,12 +4678,12 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m -CONFIG_ROCKCHIP_ANALOGIX_DP=m -# CONFIG_ROCKCHIP_CDN_DP is not set -CONFIG_ROCKCHIP_DW_HDMI=m -CONFIG_ROCKCHIP_DW_MIPI_DSI=m +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +CONFIG_ROCKCHIP_DW_HDMI=y +CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_ROCKCHIP_EFUSE=m -CONFIG_ROCKCHIP_INNO_HDMI=m +CONFIG_ROCKCHIP_INNO_HDMI=y CONFIG_ROCKCHIP_IODOMAIN=m CONFIG_ROCKCHIP_IOMMU=y CONFIG_ROCKCHIP_MBOX=y @@ -4788,6 +4854,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4996,6 +5063,7 @@ CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ARM_SCPI=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DA9052_ADC=m @@ -5205,6 +5273,7 @@ CONFIG_SERIAL_ST_ASC=y CONFIG_SERIAL_TEGRA=y # CONFIG_SERIAL_TIMBERDALE is not set CONFIG_SERIAL_UARTLITE_CONSOLE=y +CONFIG_SERIAL_UARTLITE_NR_UARTS=1 CONFIG_SERIAL_UARTLITE=y CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y CONFIG_SERIAL_XILINX_PS_UART=y @@ -5314,7 +5383,7 @@ CONFIG_SND_DAVINCI_SOC_VCIF=m # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DEBUG=y CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -5330,7 +5399,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -5365,6 +5436,7 @@ CONFIG_SND_HDA_TEGRA=m CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_IMX_SOC=m @@ -5373,8 +5445,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB=m @@ -5436,6 +5508,8 @@ CONFIG_SND_SIS7019=m CONFIG_SND_SOC_AC97_BUS=y CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set CONFIG_SND_SOC_ADI_AXI_I2S=m CONFIG_SND_SOC_ADI_AXI_SPDIF=m @@ -5454,6 +5528,7 @@ CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -5467,7 +5542,9 @@ CONFIG_SND_SOC_CS42L42=m CONFIG_SND_SOC_CS42XX8_I2C=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_SPI=m @@ -5498,12 +5575,17 @@ CONFIG_SND_SOC_IMX_WM8962=m CONFIG_SND_SOC_LPASS_CPU=m CONFIG_SND_SOC_LPASS_PLATFORM=m CONFIG_SND_SOC=m +CONFIG_SND_SOC_MAX98090=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set -CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m +CONFIG_SND_SOC_MAX98927=m +# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set +CONFIG_SND_SOC_MSM8916_WCD_ANALOg=m CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m +CONFIG_SND_SOC_ODROID=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -5614,8 +5696,8 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m @@ -5651,6 +5733,7 @@ CONFIG_SOC_OMAP5=y CONFIG_SOC_STIH407=y # CONFIG_SOC_STIH415 is not set # CONFIG_SOC_STIH416 is not set +CONFIG_SOC_TEGRA_FLOWCTRL=y CONFIG_SOC_TI81XX=y # CONFIG_SOC_TI is not set # CONFIG_SOC_VF610 is not set @@ -5725,6 +5808,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y CONFIG_SRAM=y +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -5770,12 +5854,13 @@ CONFIG_ST_THERMAL=m CONFIG_ST_THERMAL_MEMMAP=m # CONFIG_ST_THERMAL_SYSCFG is not set CONFIG_SUN4I_EMAC=m -# CONFIG_SUN50I_A64_CCU is not set +CONFIG_SUN4I_GPADC=m CONFIG_SUN5I_CCU=y CONFIG_SUN6I_A31_CCU=y CONFIG_SUN8I_A23_CCU=y CONFIG_SUN8I_A33_CCU=y CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_R_CCU=y CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN9I_A80_CCU=y CONFIG_SUNDANCE=m @@ -5809,6 +5894,7 @@ CONFIG_SYSCON_REBOOT_MODE=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -5832,6 +5918,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m CONFIG_TCG_TIS_I2C_ATMEL=m @@ -5872,6 +5959,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set CONFIG_TCS3472=m +# CONFIG_TEE is not set CONFIG_TEGRA124_EMC=y CONFIG_TEGRA20_APB_DMA=y CONFIG_TEGRA20_MC=y @@ -5912,6 +6000,7 @@ CONFIG_TEST_LIST_SORT=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -5948,6 +6037,7 @@ CONFIG_TI_EDMA=y CONFIG_TI_EMIF=m CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -6029,6 +6119,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -6077,12 +6168,17 @@ CONFIG_TWL4030_WATCHDOG=m CONFIG_TWL6030_GPADC=m CONFIG_TWL6030_USB=m CONFIG_TWL6040_CORE=y +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m # CONFIG_UACCESS_WITH_MEMCPY is not set CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -6358,6 +6454,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_OTG=y # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -6370,6 +6467,7 @@ CONFIG_USB_PWC=m CONFIG_USB_QCOM_8X16_PHY=m # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_R8A66597 is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -6558,6 +6656,7 @@ CONFIG_VIDEO_AM437X_VPFE=m CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_AU0828_RC is not set CONFIG_VIDEO_AU0828_V4L2=y +# CONFIG_VIDEO_BCM2835 is not set CONFIG_VIDEO_BT848=m CONFIG_VIDEO_CAFE_CCIC=m CONFIG_VIDEO_CODA=m @@ -6688,6 +6787,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -6696,6 +6796,7 @@ CONFIG_VLSI_FIR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -6724,6 +6825,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -6793,6 +6895,7 @@ CONFIG_WQ_WATCHDOG=y # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_PTDUMP=y # CONFIG_XEN is not set CONFIG_XFRM_MIGRATE=y @@ -6843,3 +6946,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config index 1182ca991..f10288623 100644 --- a/kernel-armv7hl-lpae-debug.config +++ b/kernel-armv7hl-lpae-debug.config @@ -116,6 +116,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set CONFIG_AEABI=y # CONFIG_AFE4403 is not set @@ -125,6 +127,7 @@ CONFIG_AEABI=y # CONFIG_AF_RXRPC is not set # CONFIG_AFS_FS is not set # CONFIG_AHCI_CEVA is not set +CONFIG_AHCI_DM816=m CONFIG_AHCI_MVEBU=m # CONFIG_AHCI_QORIQ is not set CONFIG_AHCI_SUNXI=m @@ -146,7 +149,7 @@ CONFIG_AIC7XXX_RESET_DELAY_MS=15000 CONFIG_AIX_PARTITION=y # CONFIG_AK09911 is not set # CONFIG_AK8974 is not set -# CONFIG_AK8975 is not set +CONFIG_AK8975=m # CONFIG_AL3320A is not set CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m @@ -236,6 +239,7 @@ CONFIG_ARCH_VIRT=y # CONFIG_ARCH_ZX is not set # CONFIG_ARCH_ZYNQ is not set # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_PTDUMP=y CONFIG_ARMADA_THERMAL=m CONFIG_ARM_AMBA=y @@ -419,6 +423,7 @@ CONFIG_AX25_DAMA_SLAVE=y CONFIG_AX25=m CONFIG_AX88796_93CX6=y CONFIG_AX88796=m +CONFIG_AXP20X_ADC=m CONFIG_AXP20X_POWER=m CONFIG_AXP288_ADC=m CONFIG_AXP288_CHARGER=m @@ -448,6 +453,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m @@ -472,12 +478,14 @@ CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV=m CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_NC=y +CONFIG_BATTERY_AXP20X=m # CONFIG_BATTERY_BQ27XXX is not set # CONFIG_BATTERY_DS2760 is not set # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set CONFIG_BATTERY_SBS=m @@ -489,6 +497,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM2835_MBOX=y +CONFIG_BCM2835_THERMAL=m # CONFIG_BCM2835_VCHIQ is not set CONFIG_BCM2835_WDT=m CONFIG_BCM63XX_PHY=m @@ -503,13 +512,16 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_BCM_VIDEOCORE is not set CONFIG_BE2ISCSI=m # CONFIG_BE2NET_HWMON is not set CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set # CONFIG_BEFS_FS is not set +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -532,7 +544,6 @@ CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -557,6 +568,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -663,6 +675,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -716,14 +729,17 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -741,6 +757,7 @@ CONFIG_CAN_SUN4I=m # CONFIG_CAN_TI_HECC is not set # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y # CONFIG_CAPI_EICON is not set @@ -762,6 +779,7 @@ CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -873,7 +891,6 @@ CONFIG_CNIC=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set CONFIG_COMMON_CLK_MAX77686=m -CONFIG_COMMON_CLK_MAX77802=m CONFIG_COMMON_CLK_PWM=m CONFIG_COMMON_CLK_RK808=m CONFIG_COMMON_CLK_S2MPS11=m @@ -970,7 +987,9 @@ CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m +CONFIG_CRYPTO_DEV_EXYNOS_RNG=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_CRYPTO_DEV_MARVELL_CESA=m @@ -979,7 +998,7 @@ CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_S5P=m CONFIG_CRYPTO_DEV_SUN4I_SS=m CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -1191,6 +1210,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m +CONFIG_DM_INTEGRITY=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_MIRROR=y @@ -1256,6 +1276,7 @@ CONFIG_DRM_EXYNOS_MIXER=y CONFIG_DRM_EXYNOS_ROTATOR=y CONFIG_DRM_EXYNOS_VIDI=y CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_FSL_DCU is not set CONFIG_DRM_HDLCD=m # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set @@ -1272,6 +1293,8 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y CONFIG_DRM_LVDS_ENCODER=m CONFIG_DRM=m CONFIG_DRM_MALI_DISPLAY=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set +CONFIG_DRM_MESON_DW_HDMI=m CONFIG_DRM_MESON=m CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set @@ -1280,20 +1303,24 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m CONFIG_DRM_NXP_PTN3460=m # CONFIG_DRM_OMAP is not set -CONFIG_DRM_PANEL_JDI_LT070ME05000=m +# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_LG_LG4573=m +CONFIG_DRM_PANEL_LVDS=m CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m CONFIG_DRM_PANEL_SAMSUNG_LD9040=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_PANEL=y CONFIG_DRM_PARADE_PS8622=m CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set CONFIG_DRM_ROCKCHIP=m # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set @@ -1419,16 +1446,17 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y CONFIG_EARLY_PRINTK=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_HIGHBANK_L2=m CONFIG_EDAC_HIGHBANK_MC=m CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_MV64X60=m CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m @@ -1486,7 +1514,6 @@ CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXTCON_ADC_JACK=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_GPIO=m -CONFIG_EXTCON_INTEL_INT3496=m # CONFIG_EXTCON_MAX3355 is not set CONFIG_EXTCON_MAX8997=m # CONFIG_EXTCON_QCOM_SPMI_MISC is not set @@ -1709,6 +1736,7 @@ CONFIG_GPIO_DAVINCI=y CONFIG_GPIO_DEVRES=y CONFIG_GPIO_DWAPB=m CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GRGPIO is not set @@ -1760,6 +1788,7 @@ CONFIG_HAVE_ARM_ARCH_TIMER=y CONFIG_HAVE_ARM_TWD=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -1771,6 +1800,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1814,6 +1844,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1835,12 +1866,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1939,7 +1972,6 @@ CONFIG_HWMON=y CONFIG_HW_PERF_EVENTS=y CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m -CONFIG_HW_RANDOM_EXYNOS=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_TIMERIOMEM=m @@ -1990,6 +2022,7 @@ CONFIG_I2C_HID=m CONFIG_I2C_MESON=m CONFIG_I2C_MLXCPLD=m CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m CONFIG_I2C_MUX_PCA9541=m @@ -2048,6 +2081,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -2065,6 +2100,7 @@ CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 CONFIG_IIO_CROS_EC_BARO=m +CONFIG_IIO_CROS_EC_LIGHT_PROX=m CONFIG_IIO_CROS_EC_SENSORS_CORE=m CONFIG_IIO_CROS_EC_SENSORS=m # CONFIG_IIO_HRTIMER_TRIGGER is not set @@ -2193,7 +2229,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_PCSPKR=m @@ -2227,6 +2262,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2410,6 +2446,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2522,6 +2559,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2614,7 +2653,9 @@ CONFIG_KUSER_HELPERS=y CONFIG_KVM_ARM_HOST=y CONFIG_KVM=y CONFIG_KXCJK1013=m -# CONFIG_KXSD9 is not set +CONFIG_KXSD9_I2C=m +CONFIG_KXSD9=m +CONFIG_KXSD9_SPI=m CONFIG_L2TP_DEBUGFS=m CONFIG_L2TP_ETH=m CONFIG_L2TP_IP=m @@ -2650,7 +2691,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m CONFIG_LEDS_DAC124S085=m -CONFIG_LEDS_DELL_NETBOOKS=m CONFIG_LEDS_GPIO=m CONFIG_LEDS_GPIO_REGISTER=y # CONFIG_LEDS_IS31FL319X is not set @@ -2726,7 +2766,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2739,6 +2778,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2767,6 +2807,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=32768 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2820,14 +2862,17 @@ CONFIG_MANTIS_CORE=m CONFIG_MARVELL_PHY=m # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y @@ -2868,6 +2913,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2926,7 +2972,7 @@ CONFIG_MFD_AXP20X_RSB=m CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set CONFIG_MFD_CROS_EC_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_SPI=m @@ -2961,7 +3007,6 @@ CONFIG_MFD_MAX8997=y # CONFIG_MFD_NVEC is not set # CONFIG_MFD_PALMAS is not set # CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_PM8921_CORE is not set # CONFIG_MFD_PM8XXX is not set # CONFIG_MFD_RC5T583 is not set # CONFIG_MFD_RDC321X is not set @@ -2977,6 +3022,7 @@ CONFIG_MFD_SEC_CORE=y CONFIG_MFD_SM501_GPIO=y CONFIG_MFD_SM501=m # CONFIG_MFD_SMSC is not set +CONFIG_MFD_SPMI_PMIC=m # CONFIG_MFD_STMPE is not set CONFIG_MFD_SUN4I_GPADC=m CONFIG_MFD_SYSCON=y @@ -2985,6 +3031,7 @@ CONFIG_MFD_SYSCON=y # CONFIG_MFD_TC6387XB is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -3036,6 +3083,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -3095,6 +3143,7 @@ CONFIG_MMC_SDHCI_PXAV3=m CONFIG_MMC_SDHCI_S3C_DMA=y CONFIG_MMC_SDHCI_S3C=m CONFIG_MMC_SDHCI_TEGRA=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m CONFIG_MMC_SPI=m CONFIG_MMC_SUNXI=m @@ -3117,7 +3166,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -3149,8 +3197,9 @@ CONFIG_MPL115=m CONFIG_MPL3115=m CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -3293,6 +3342,7 @@ CONFIG_NEON=y CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -3336,11 +3386,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3462,6 +3516,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3772,12 +3827,14 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOUVEAU_PLATFORM_DRIVER=y CONFIG_NOZOMI=m CONFIG_NR_CPUS=32 +CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m # CONFIG_NTB is not set # CONFIG_NTFS_FS is not set CONFIG_NTP_PPS=y CONFIG_NVME_FC=m +CONFIG_NVMEM_IMX_IIM=m CONFIG_NVMEM=m CONFIG_NVMEM_SUNXI_SID=m CONFIG_NVME_RDMA=m @@ -3916,6 +3973,9 @@ CONFIG_PCF50633_GPIO=m # CONFIG_PCH_GBE is not set CONFIG_PCI_AARDVARK=y # CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_DRA7XX_EP is not set +# CONFIG_PCI_DRA7XX_HOST is not set +# CONFIG_PCI_DRA7XX is not set CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIE_ALTERA is not set @@ -3923,18 +3983,23 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +CONFIG_PCIE_DW_HOST=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_DW=y CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCIE_ROCKCHIP=y CONFIG_PCI_EXYNOS=y +# CONFIG_PCI_FTPCI100 is not set CONFIG_PCI_HERMES=m CONFIG_PCI_HOST_GENERIC=y CONFIG_PCI_IOV=y CONFIG_PCI_KEYSTONE=y # CONFIG_PCI_LAYERSCAPE is not set +CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_MSI=y CONFIG_PCI_MVEBU=y CONFIG_PCI_PASID=y @@ -3942,6 +4007,7 @@ CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI_TEGRA=y CONFIG_PCI=y CONFIG_PCMCIA_3C574=m @@ -3982,8 +4048,8 @@ CONFIG_PHY_MVEBU_SATA=y # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_IPQ806X_SATA is not set -CONFIG_PHY_QCOM_USB_HSIC=m -CONFIG_PHY_QCOM_USB_HS=m +# CONFIG_PHY_QCOM_USB_HSIC is not set +# CONFIG_PHY_QCOM_USB_HS is not set CONFIG_PHY_ROCKCHIP_DP=m CONFIG_PHY_ROCKCHIP_EMMC=m CONFIG_PHY_ROCKCHIP_INNO_USB2=m @@ -4021,14 +4087,13 @@ CONFIG_PINCTRL_SAMSUNG=y CONFIG_PINCTRL_SINGLE=y # CONFIG_PINCTRL_SUNRISEPOINT is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PJ4B_ERRATA_4742=y CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set -# CONFIG_PL310_ERRATA_588369 is not set -# CONFIG_PL310_ERRATA_727915 is not set +CONFIG_PL310_ERRATA_588369=y +CONFIG_PL310_ERRATA_727915=y CONFIG_PL310_ERRATA_753970=y CONFIG_PL310_ERRATA_769419=y CONFIG_PL320_MBOX=y @@ -4144,7 +4209,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCOM_EMAC is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set -CONFIG_QCOM_IRQ_COMBINER=y +CONFIG_QCOM_PM8XXX_XOADC=m CONFIG_QEDE=m CONFIG_QEDF=m CONFIG_QEDI=m @@ -4195,9 +4260,11 @@ CONFIG_RADIO_TERRATEC=m CONFIG_RADIO_TRUST=m CONFIG_RADIO_TYPHOON=m CONFIG_RADIO_WL1273=m +CONFIG_RADIO_WL128X=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set +CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y CONFIG_RAW_DRIVER=y @@ -4248,7 +4315,6 @@ CONFIG_REGULATOR_AD5398=m # CONFIG_REGULATOR_ANATOP is not set CONFIG_REGULATOR_AS3722=m CONFIG_REGULATOR_AXP20X=m -CONFIG_REGULATOR_CPCAP=m CONFIG_REGULATOR_DA9210=m CONFIG_REGULATOR_DA9211=m # CONFIG_REGULATOR_DEBUG is not set @@ -4286,6 +4352,7 @@ CONFIG_REGULATOR_TPS62360=m CONFIG_REGULATOR_TPS65023=m CONFIG_REGULATOR_TPS6507X=m CONFIG_REGULATOR_TPS65090=m +# CONFIG_REGULATOR_TPS65132 is not set CONFIG_REGULATOR_TPS65217=y CONFIG_REGULATOR_TPS6524X=m CONFIG_REGULATOR_TPS6586X=m @@ -4293,6 +4360,7 @@ CONFIG_REGULATOR_TPS65910=m CONFIG_REGULATOR_TPS65912=m CONFIG_REGULATOR_TPS80031=m CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VCTRL=m CONFIG_REGULATOR_VEXPRESS=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m CONFIG_REGULATOR_WM8994=m @@ -4326,12 +4394,12 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m -CONFIG_ROCKCHIP_ANALOGIX_DP=m -# CONFIG_ROCKCHIP_CDN_DP is not set -CONFIG_ROCKCHIP_DW_HDMI=m -CONFIG_ROCKCHIP_DW_MIPI_DSI=m +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +CONFIG_ROCKCHIP_DW_HDMI=y +CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_ROCKCHIP_EFUSE=m -CONFIG_ROCKCHIP_INNO_HDMI=m +CONFIG_ROCKCHIP_INNO_HDMI=y CONFIG_ROCKCHIP_IODOMAIN=m CONFIG_ROCKCHIP_IOMMU=y CONFIG_ROCKCHIP_MBOX=y @@ -4488,6 +4556,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4696,6 +4765,7 @@ CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ARM_SCPI=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m @@ -4992,7 +5062,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DEBUG=y CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -5008,7 +5078,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -5043,6 +5115,7 @@ CONFIG_SND_HDA_TEGRA=m CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -5050,8 +5123,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB=m @@ -5101,6 +5174,8 @@ CONFIG_SND_SIS7019=m CONFIG_SND_SOC_AC97_BUS=y CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -5116,6 +5191,7 @@ CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -5129,7 +5205,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_SPI=m @@ -5148,12 +5226,16 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC_IMX_ES8328 is not set # CONFIG_SND_SOC_INNO_RK3036 is not set CONFIG_SND_SOC=m +CONFIG_SND_SOC_MAX98090=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m +CONFIG_SND_SOC_ODROID=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -5258,8 +5340,8 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m @@ -5277,6 +5359,7 @@ CONFIG_SOC_EXYNOS5420=y CONFIG_SOC_EXYNOS5440=y CONFIG_SOC_EXYNOS5800=y # CONFIG_SOC_OMAP5 is not set +CONFIG_SOC_TEGRA_FLOWCTRL=y # CONFIG_SOC_TI is not set # CONFIG_SOC_ZTE is not set CONFIG_SOFT_WATCHDOG=m @@ -5341,6 +5424,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y CONFIG_SRAM=y +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -5377,12 +5461,13 @@ CONFIG_STRICT_MODULE_RWX=y CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUN4I_EMAC=m -# CONFIG_SUN50I_A64_CCU is not set +CONFIG_SUN4I_GPADC=m CONFIG_SUN5I_CCU=y CONFIG_SUN6I_A31_CCU=y CONFIG_SUN8I_A23_CCU=y CONFIG_SUN8I_A33_CCU=y CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_R_CCU=y CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN9I_A80_CCU=y CONFIG_SUNDANCE=m @@ -5417,6 +5502,7 @@ CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -5440,6 +5526,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m CONFIG_TCG_TIS_I2C_ATMEL=m @@ -5480,6 +5567,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set CONFIG_TCS3472=m +# CONFIG_TEE is not set CONFIG_TEGRA124_EMC=y CONFIG_TEGRA20_APB_DMA=y # CONFIG_TEGRA20_MC is not set @@ -5520,6 +5608,7 @@ CONFIG_TEST_LIST_SORT=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -5548,6 +5637,7 @@ CONFIG_TI_DAVINCI_MDIO=m CONFIG_TI_EDMA=y CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -5559,7 +5649,7 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m CONFIG_TI_SOC_THERMAL=m -# CONFIG_TI_ST is not set +CONFIG_TI_ST=m CONFIG_TI_SYSCON_RESET=m CONFIG_TI_THERMAL=y # CONFIG_TI_TLC4541 is not set @@ -5627,6 +5717,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -5669,12 +5760,17 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m # CONFIG_UACCESS_WITH_MEMCPY is not set CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5933,6 +6029,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_OTG=y # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5944,6 +6041,7 @@ CONFIG_USB_PWC=m # CONFIG_USB_PXA27X is not set # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_R8A66597 is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -6129,6 +6227,7 @@ CONFIG_VIA_VELOCITY=m CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_AU0828_RC is not set CONFIG_VIDEO_AU0828_V4L2=y +# CONFIG_VIDEO_BCM2835 is not set CONFIG_VIDEO_BT848=m CONFIG_VIDEO_CAFE_CCIC=m CONFIG_VIDEO_CPIA2=m @@ -6244,6 +6343,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -6252,6 +6352,7 @@ CONFIG_VLSI_FIR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -6279,6 +6380,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -6346,6 +6448,7 @@ CONFIG_WQ_WATCHDOG=y # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_PTDUMP=y CONFIG_XEN_BACKEND=y # CONFIG_XEN_BALLOON is not set @@ -6408,3 +6511,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config index e515dbcca..b9666f82a 100644 --- a/kernel-armv7hl-lpae.config +++ b/kernel-armv7hl-lpae.config @@ -116,6 +116,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set CONFIG_AEABI=y # CONFIG_AFE4403 is not set @@ -125,6 +127,7 @@ CONFIG_AEABI=y # CONFIG_AF_RXRPC is not set # CONFIG_AFS_FS is not set # CONFIG_AHCI_CEVA is not set +CONFIG_AHCI_DM816=m CONFIG_AHCI_MVEBU=m # CONFIG_AHCI_QORIQ is not set CONFIG_AHCI_SUNXI=m @@ -146,7 +149,7 @@ CONFIG_AIC7XXX_RESET_DELAY_MS=15000 CONFIG_AIX_PARTITION=y # CONFIG_AK09911 is not set # CONFIG_AK8974 is not set -# CONFIG_AK8975 is not set +CONFIG_AK8975=m # CONFIG_AL3320A is not set CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m @@ -236,6 +239,7 @@ CONFIG_ARCH_VIRT=y # CONFIG_ARCH_ZX is not set # CONFIG_ARCH_ZYNQ is not set # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARMADA_THERMAL=m CONFIG_ARM_AMBA=y CONFIG_ARM_APPENDED_DTB=y @@ -418,6 +422,7 @@ CONFIG_AX25_DAMA_SLAVE=y CONFIG_AX25=m CONFIG_AX88796_93CX6=y CONFIG_AX88796=m +CONFIG_AXP20X_ADC=m CONFIG_AXP20X_POWER=m CONFIG_AXP288_ADC=m CONFIG_AXP288_CHARGER=m @@ -447,6 +452,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m @@ -471,12 +477,14 @@ CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV=m CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_NC=y +CONFIG_BATTERY_AXP20X=m # CONFIG_BATTERY_BQ27XXX is not set # CONFIG_BATTERY_DS2760 is not set # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set CONFIG_BATTERY_SBS=m @@ -488,6 +496,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM2835_MBOX=y +CONFIG_BCM2835_THERMAL=m # CONFIG_BCM2835_VCHIQ is not set CONFIG_BCM2835_WDT=m CONFIG_BCM63XX_PHY=m @@ -502,13 +511,16 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_BCM_VIDEOCORE is not set CONFIG_BE2ISCSI=m # CONFIG_BE2NET_HWMON is not set CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set # CONFIG_BEFS_FS is not set +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -531,7 +543,6 @@ CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -556,6 +567,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -662,6 +674,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -715,14 +728,17 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -740,6 +756,7 @@ CONFIG_CAN_SUN4I=m # CONFIG_CAN_TI_HECC is not set # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y # CONFIG_CAPI_EICON is not set @@ -761,6 +778,7 @@ CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -872,7 +890,6 @@ CONFIG_CNIC=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set CONFIG_COMMON_CLK_MAX77686=m -CONFIG_COMMON_CLK_MAX77802=m CONFIG_COMMON_CLK_PWM=m CONFIG_COMMON_CLK_RK808=m CONFIG_COMMON_CLK_S2MPS11=m @@ -968,7 +985,9 @@ CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m +CONFIG_CRYPTO_DEV_EXYNOS_RNG=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_CRYPTO_DEV_MARVELL_CESA=m @@ -977,7 +996,7 @@ CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_S5P=m CONFIG_CRYPTO_DEV_SUN4I_SS=m CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -1181,6 +1200,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m +CONFIG_DM_INTEGRITY=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_MIRROR=y @@ -1246,6 +1266,7 @@ CONFIG_DRM_EXYNOS_MIXER=y CONFIG_DRM_EXYNOS_ROTATOR=y CONFIG_DRM_EXYNOS_VIDI=y CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_FSL_DCU is not set CONFIG_DRM_HDLCD=m # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set @@ -1262,6 +1283,8 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y CONFIG_DRM_LVDS_ENCODER=m CONFIG_DRM=m CONFIG_DRM_MALI_DISPLAY=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set +CONFIG_DRM_MESON_DW_HDMI=m CONFIG_DRM_MESON=m CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set @@ -1270,20 +1293,24 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m CONFIG_DRM_NXP_PTN3460=m # CONFIG_DRM_OMAP is not set -CONFIG_DRM_PANEL_JDI_LT070ME05000=m +# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_LG_LG4573=m +CONFIG_DRM_PANEL_LVDS=m CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m CONFIG_DRM_PANEL_SAMSUNG_LD9040=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_PANEL=y CONFIG_DRM_PARADE_PS8622=m CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set CONFIG_DRM_ROCKCHIP=m # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set @@ -1409,16 +1436,17 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y CONFIG_EARLY_PRINTK=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_HIGHBANK_L2=m CONFIG_EDAC_HIGHBANK_MC=m CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_MV64X60=m CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m @@ -1476,7 +1504,6 @@ CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXTCON_ADC_JACK=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_GPIO=m -CONFIG_EXTCON_INTEL_INT3496=m # CONFIG_EXTCON_MAX3355 is not set CONFIG_EXTCON_MAX8997=m # CONFIG_EXTCON_QCOM_SPMI_MISC is not set @@ -1692,6 +1719,7 @@ CONFIG_GPIO_DAVINCI=y CONFIG_GPIO_DEVRES=y CONFIG_GPIO_DWAPB=m CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GRGPIO is not set @@ -1743,6 +1771,7 @@ CONFIG_HAVE_ARM_ARCH_TIMER=y CONFIG_HAVE_ARM_TWD=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -1754,6 +1783,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1797,6 +1827,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1818,12 +1849,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1922,7 +1955,6 @@ CONFIG_HWMON=y CONFIG_HW_PERF_EVENTS=y CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m -CONFIG_HW_RANDOM_EXYNOS=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_TIMERIOMEM=m @@ -1973,6 +2005,7 @@ CONFIG_I2C_HID=m CONFIG_I2C_MESON=m CONFIG_I2C_MLXCPLD=m CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m CONFIG_I2C_MUX_PCA9541=m @@ -2031,6 +2064,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -2048,6 +2083,7 @@ CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 CONFIG_IIO_CROS_EC_BARO=m +CONFIG_IIO_CROS_EC_LIGHT_PROX=m CONFIG_IIO_CROS_EC_SENSORS_CORE=m CONFIG_IIO_CROS_EC_SENSORS=m # CONFIG_IIO_HRTIMER_TRIGGER is not set @@ -2176,7 +2212,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_PCSPKR=m @@ -2210,6 +2245,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2393,6 +2429,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2505,6 +2542,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2595,7 +2634,9 @@ CONFIG_KUSER_HELPERS=y CONFIG_KVM_ARM_HOST=y CONFIG_KVM=y CONFIG_KXCJK1013=m -# CONFIG_KXSD9 is not set +CONFIG_KXSD9_I2C=m +CONFIG_KXSD9=m +CONFIG_KXSD9_SPI=m CONFIG_L2TP_DEBUGFS=m CONFIG_L2TP_ETH=m CONFIG_L2TP_IP=m @@ -2631,7 +2672,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m CONFIG_LEDS_DAC124S085=m -CONFIG_LEDS_DELL_NETBOOKS=m CONFIG_LEDS_GPIO=m CONFIG_LEDS_GPIO_REGISTER=y # CONFIG_LEDS_IS31FL319X is not set @@ -2707,7 +2747,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2720,6 +2759,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2748,6 +2788,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=32768 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2801,14 +2843,17 @@ CONFIG_MANTIS_CORE=m CONFIG_MARVELL_PHY=m # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 # CONFIG_MC3230 is not set @@ -2848,6 +2893,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2906,7 +2952,7 @@ CONFIG_MFD_AXP20X_RSB=m CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set CONFIG_MFD_CROS_EC_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_SPI=m @@ -2941,7 +2987,6 @@ CONFIG_MFD_MAX8997=y # CONFIG_MFD_NVEC is not set # CONFIG_MFD_PALMAS is not set # CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_PM8921_CORE is not set # CONFIG_MFD_PM8XXX is not set # CONFIG_MFD_RC5T583 is not set # CONFIG_MFD_RDC321X is not set @@ -2957,6 +3002,7 @@ CONFIG_MFD_SEC_CORE=y CONFIG_MFD_SM501_GPIO=y CONFIG_MFD_SM501=m # CONFIG_MFD_SMSC is not set +CONFIG_MFD_SPMI_PMIC=m # CONFIG_MFD_STMPE is not set CONFIG_MFD_SUN4I_GPADC=m CONFIG_MFD_SYSCON=y @@ -2965,6 +3011,7 @@ CONFIG_MFD_SYSCON=y # CONFIG_MFD_TC6387XB is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -3016,6 +3063,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -3075,6 +3123,7 @@ CONFIG_MMC_SDHCI_PXAV3=m CONFIG_MMC_SDHCI_S3C_DMA=y CONFIG_MMC_SDHCI_S3C=m CONFIG_MMC_SDHCI_TEGRA=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m CONFIG_MMC_SPI=m CONFIG_MMC_SUNXI=m @@ -3096,7 +3145,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -3128,8 +3176,9 @@ CONFIG_MPL115=m CONFIG_MPL3115=m CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -3272,6 +3321,7 @@ CONFIG_NEON=y CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -3315,11 +3365,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3441,6 +3495,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3751,12 +3806,14 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOUVEAU_PLATFORM_DRIVER=y CONFIG_NOZOMI=m CONFIG_NR_CPUS=32 +CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m # CONFIG_NTB is not set # CONFIG_NTFS_FS is not set CONFIG_NTP_PPS=y CONFIG_NVME_FC=m +CONFIG_NVMEM_IMX_IIM=m CONFIG_NVMEM=m CONFIG_NVMEM_SUNXI_SID=m CONFIG_NVME_RDMA=m @@ -3895,6 +3952,9 @@ CONFIG_PCF50633_GPIO=m # CONFIG_PCH_GBE is not set CONFIG_PCI_AARDVARK=y # CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_DRA7XX_EP is not set +# CONFIG_PCI_DRA7XX_HOST is not set +# CONFIG_PCI_DRA7XX is not set CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIE_ALTERA is not set @@ -3902,18 +3962,23 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +CONFIG_PCIE_DW_HOST=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_DW=y CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCIE_ROCKCHIP=y CONFIG_PCI_EXYNOS=y +# CONFIG_PCI_FTPCI100 is not set CONFIG_PCI_HERMES=m CONFIG_PCI_HOST_GENERIC=y CONFIG_PCI_IOV=y CONFIG_PCI_KEYSTONE=y # CONFIG_PCI_LAYERSCAPE is not set +CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_MSI=y CONFIG_PCI_MVEBU=y CONFIG_PCI_PASID=y @@ -3921,6 +3986,7 @@ CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI_TEGRA=y CONFIG_PCI=y CONFIG_PCMCIA_3C574=m @@ -3961,8 +4027,8 @@ CONFIG_PHY_MVEBU_SATA=y # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_IPQ806X_SATA is not set -CONFIG_PHY_QCOM_USB_HSIC=m -CONFIG_PHY_QCOM_USB_HS=m +# CONFIG_PHY_QCOM_USB_HSIC is not set +# CONFIG_PHY_QCOM_USB_HS is not set CONFIG_PHY_ROCKCHIP_DP=m CONFIG_PHY_ROCKCHIP_EMMC=m CONFIG_PHY_ROCKCHIP_INNO_USB2=m @@ -4000,14 +4066,13 @@ CONFIG_PINCTRL_SAMSUNG=y CONFIG_PINCTRL_SINGLE=y # CONFIG_PINCTRL_SUNRISEPOINT is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PJ4B_ERRATA_4742=y CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set -# CONFIG_PL310_ERRATA_588369 is not set -# CONFIG_PL310_ERRATA_727915 is not set +CONFIG_PL310_ERRATA_588369=y +CONFIG_PL310_ERRATA_727915=y CONFIG_PL310_ERRATA_753970=y CONFIG_PL310_ERRATA_769419=y CONFIG_PL320_MBOX=y @@ -4122,7 +4187,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCOM_EMAC is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set -CONFIG_QCOM_IRQ_COMBINER=y +CONFIG_QCOM_PM8XXX_XOADC=m CONFIG_QEDE=m CONFIG_QEDF=m CONFIG_QEDI=m @@ -4173,9 +4238,11 @@ CONFIG_RADIO_TERRATEC=m CONFIG_RADIO_TRUST=m CONFIG_RADIO_TYPHOON=m CONFIG_RADIO_WL1273=m +CONFIG_RADIO_WL128X=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set +CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y CONFIG_RAW_DRIVER=y @@ -4226,7 +4293,6 @@ CONFIG_REGULATOR_AD5398=m # CONFIG_REGULATOR_ANATOP is not set CONFIG_REGULATOR_AS3722=m CONFIG_REGULATOR_AXP20X=m -CONFIG_REGULATOR_CPCAP=m CONFIG_REGULATOR_DA9210=m CONFIG_REGULATOR_DA9211=m # CONFIG_REGULATOR_DEBUG is not set @@ -4264,6 +4330,7 @@ CONFIG_REGULATOR_TPS62360=m CONFIG_REGULATOR_TPS65023=m CONFIG_REGULATOR_TPS6507X=m CONFIG_REGULATOR_TPS65090=m +# CONFIG_REGULATOR_TPS65132 is not set CONFIG_REGULATOR_TPS65217=y CONFIG_REGULATOR_TPS6524X=m CONFIG_REGULATOR_TPS6586X=m @@ -4271,6 +4338,7 @@ CONFIG_REGULATOR_TPS65910=m CONFIG_REGULATOR_TPS65912=m CONFIG_REGULATOR_TPS80031=m CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VCTRL=m CONFIG_REGULATOR_VEXPRESS=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m CONFIG_REGULATOR_WM8994=m @@ -4304,12 +4372,12 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m -CONFIG_ROCKCHIP_ANALOGIX_DP=m -# CONFIG_ROCKCHIP_CDN_DP is not set -CONFIG_ROCKCHIP_DW_HDMI=m -CONFIG_ROCKCHIP_DW_MIPI_DSI=m +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +CONFIG_ROCKCHIP_DW_HDMI=y +CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_ROCKCHIP_EFUSE=m -CONFIG_ROCKCHIP_INNO_HDMI=m +CONFIG_ROCKCHIP_INNO_HDMI=y CONFIG_ROCKCHIP_IODOMAIN=m CONFIG_ROCKCHIP_IOMMU=y CONFIG_ROCKCHIP_MBOX=y @@ -4466,6 +4534,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4674,6 +4743,7 @@ CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ARM_SCPI=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m @@ -4970,7 +5040,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG is not set # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4986,7 +5056,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -5021,6 +5093,7 @@ CONFIG_SND_HDA_TEGRA=m CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -5028,8 +5101,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB=m @@ -5078,6 +5151,8 @@ CONFIG_SND_SIS7019=m CONFIG_SND_SOC_AC97_BUS=y CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -5093,6 +5168,7 @@ CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -5106,7 +5182,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_SPI=m @@ -5125,12 +5203,16 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC_IMX_ES8328 is not set # CONFIG_SND_SOC_INNO_RK3036 is not set CONFIG_SND_SOC=m +CONFIG_SND_SOC_MAX98090=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m +CONFIG_SND_SOC_ODROID=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -5235,8 +5317,8 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y # CONFIG_SND_VERBOSE_PRINTK is not set CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m @@ -5254,6 +5336,7 @@ CONFIG_SOC_EXYNOS5420=y CONFIG_SOC_EXYNOS5440=y CONFIG_SOC_EXYNOS5800=y # CONFIG_SOC_OMAP5 is not set +CONFIG_SOC_TEGRA_FLOWCTRL=y # CONFIG_SOC_TI is not set # CONFIG_SOC_ZTE is not set CONFIG_SOFT_WATCHDOG=m @@ -5318,6 +5401,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y CONFIG_SRAM=y +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -5354,12 +5438,13 @@ CONFIG_STRICT_MODULE_RWX=y CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUN4I_EMAC=m -# CONFIG_SUN50I_A64_CCU is not set +CONFIG_SUN4I_GPADC=m CONFIG_SUN5I_CCU=y CONFIG_SUN6I_A31_CCU=y CONFIG_SUN8I_A23_CCU=y CONFIG_SUN8I_A33_CCU=y CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_R_CCU=y CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN9I_A80_CCU=y CONFIG_SUNDANCE=m @@ -5394,6 +5479,7 @@ CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -5417,6 +5503,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m CONFIG_TCG_TIS_I2C_ATMEL=m @@ -5457,6 +5544,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set CONFIG_TCS3472=m +# CONFIG_TEE is not set CONFIG_TEGRA124_EMC=y CONFIG_TEGRA20_APB_DMA=y # CONFIG_TEGRA20_MC is not set @@ -5497,6 +5585,7 @@ CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -5525,6 +5614,7 @@ CONFIG_TI_DAVINCI_MDIO=m CONFIG_TI_EDMA=y CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -5536,7 +5626,7 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m CONFIG_TI_SOC_THERMAL=m -# CONFIG_TI_ST is not set +CONFIG_TI_ST=m CONFIG_TI_SYSCON_RESET=m CONFIG_TI_THERMAL=y # CONFIG_TI_TLC4541 is not set @@ -5604,6 +5694,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -5646,12 +5737,17 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m # CONFIG_UACCESS_WITH_MEMCPY is not set CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5910,6 +6006,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_OTG=y # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5921,6 +6018,7 @@ CONFIG_USB_PWC=m # CONFIG_USB_PXA27X is not set # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_R8A66597 is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -6106,6 +6204,7 @@ CONFIG_VIA_VELOCITY=m CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_AU0828_RC is not set CONFIG_VIDEO_AU0828_V4L2=y +# CONFIG_VIDEO_BCM2835 is not set CONFIG_VIDEO_BT848=m CONFIG_VIDEO_CAFE_CCIC=m CONFIG_VIDEO_CPIA2=m @@ -6221,6 +6320,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -6229,6 +6329,7 @@ CONFIG_VLSI_FIR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -6256,6 +6357,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -6323,6 +6425,7 @@ CONFIG_WM8350_WATCHDOG=m # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set +CONFIG_X86_MCELOG_LEGACY=y # CONFIG_X86_PTDUMP is not set CONFIG_XEN_BACKEND=y # CONFIG_XEN_BALLOON is not set @@ -6385,3 +6488,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config index cbe6d8aa3..19187df50 100644 --- a/kernel-armv7hl.config +++ b/kernel-armv7hl.config @@ -116,6 +116,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set CONFIG_AEABI=y # CONFIG_AFE4403 is not set @@ -125,6 +127,7 @@ CONFIG_AEABI=y # CONFIG_AF_RXRPC is not set # CONFIG_AFS_FS is not set # CONFIG_AHCI_CEVA is not set +CONFIG_AHCI_DM816=m CONFIG_AHCI_IMX=m CONFIG_AHCI_MVEBU=m # CONFIG_AHCI_QORIQ is not set @@ -245,6 +248,7 @@ CONFIG_ARCH_VIRT=y # CONFIG_ARCH_ZX is not set CONFIG_ARCH_ZYNQ=y # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARMADA_THERMAL=m CONFIG_ARM_AMBA=y CONFIG_ARM_APPENDED_DTB=y @@ -433,6 +437,7 @@ CONFIG_AX25=m CONFIG_AX88796_93CX6=y CONFIG_AX88796=m CONFIG_AXI_DMAC=m +CONFIG_AXP20X_ADC=m CONFIG_AXP20X_POWER=m CONFIG_AXP288_ADC=m CONFIG_AXP288_CHARGER=m @@ -462,6 +467,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_DA9052=m @@ -489,6 +495,7 @@ CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV=m CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_NC=y +CONFIG_BATTERY_AXP20X=m CONFIG_BATTERY_BQ27XXX_I2C=m CONFIG_BATTERY_BQ27XXX=m CONFIG_BATTERY_DA9052=m @@ -497,6 +504,7 @@ CONFIG_BATTERY_DA9052=m # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set CONFIG_BATTERY_RX51=m @@ -510,6 +518,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM2835_MBOX=y +CONFIG_BCM2835_THERMAL=m # CONFIG_BCM2835_VCHIQ is not set CONFIG_BCM2835_WDT=m CONFIG_BCM63XX_PHY=m @@ -524,13 +533,16 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_BCM_VIDEOCORE is not set CONFIG_BE2ISCSI=m # CONFIG_BE2NET_HWMON is not set CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set # CONFIG_BEFS_FS is not set +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -553,7 +565,6 @@ CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -578,6 +589,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -684,6 +696,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -738,14 +751,17 @@ CONFIG_CAN_FLEXCAN=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -763,6 +779,7 @@ CONFIG_CAN_SUN4I=m # CONFIG_CAN_TI_HECC is not set # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y # CONFIG_CAPI_EICON is not set @@ -784,6 +801,7 @@ CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -899,7 +917,6 @@ CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set CONFIG_COMMON_CLK_MAX77686=m -CONFIG_COMMON_CLK_MAX77802=m CONFIG_COMMON_CLK_PALMAS=m CONFIG_COMMON_CLK_PWM=m CONFIG_COMMON_CLK_QCOM=y @@ -908,7 +925,7 @@ CONFIG_COMMON_CLK_S2MPS11=m CONFIG_COMMON_CLK_SCPI=m # CONFIG_COMMON_CLK_SI514 is not set CONFIG_COMMON_CLK_SI5351=m -CONFIG_COMMON_CLK_SI570=m +# CONFIG_COMMON_CLK_SI570 is not set CONFIG_COMMON_CLK_TI_ADPLL=m # CONFIG_COMMON_CLK_VC5 is not set CONFIG_COMMON_CLK_VERSATILE=y @@ -998,7 +1015,9 @@ CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m +CONFIG_CRYPTO_DEV_EXYNOS_RNG=m CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=m CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=m # CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set @@ -1026,7 +1045,7 @@ CONFIG_CRYPTO_DEV_S5P=m CONFIG_CRYPTO_DEV_SAHARA=m CONFIG_CRYPTO_DEV_SUN4I_SS=m CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -1232,6 +1251,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m +CONFIG_DM_INTEGRITY=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_MIRROR=y @@ -1299,6 +1319,7 @@ CONFIG_DRM_EXYNOS_MIXER=y CONFIG_DRM_EXYNOS_ROTATOR=y CONFIG_DRM_EXYNOS_VIDI=y CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_FSL_DCU is not set CONFIG_DRM_HDLCD=m # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set @@ -1320,6 +1341,8 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y CONFIG_DRM_LVDS_ENCODER=m CONFIG_DRM=m CONFIG_DRM_MALI_DISPLAY=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set +CONFIG_DRM_MESON_DW_HDMI=m CONFIG_DRM_MESON=m CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set @@ -1352,20 +1375,24 @@ CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01=m CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM=m CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1=m CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1=m -CONFIG_DRM_PANEL_JDI_LT070ME05000=m +# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_LG_LG4573=m +CONFIG_DRM_PANEL_LVDS=m CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m CONFIG_DRM_PANEL_SAMSUNG_LD9040=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_PANEL=y CONFIG_DRM_PARADE_PS8622=m CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set CONFIG_DRM_ROCKCHIP=m # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set @@ -1494,16 +1521,17 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y CONFIG_EARLY_PRINTK=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_HIGHBANK_L2=m CONFIG_EDAC_HIGHBANK_MC=m CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_MV64X60=m CONFIG_EDAC_SYNOPSYS=m CONFIG_EDAC=y @@ -1562,7 +1590,6 @@ CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXTCON_ADC_JACK=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_GPIO=m -CONFIG_EXTCON_INTEL_INT3496=m # CONFIG_EXTCON_MAX3355 is not set CONFIG_EXTCON_MAX8997=m CONFIG_EXTCON_PALMAS=m @@ -1785,6 +1812,7 @@ CONFIG_GPIO_DA9055=m CONFIG_GPIO_DEVRES=y CONFIG_GPIO_DWAPB=m CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GRGPIO is not set @@ -1844,6 +1872,7 @@ CONFIG_HAVE_ARM_ARCH_TIMER=y CONFIG_HAVE_ARM_TWD=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HDQ_MASTER_OMAP=m CONFIG_HEADERS_CHECK=y @@ -1856,6 +1885,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1899,6 +1929,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1920,12 +1951,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -2022,7 +2055,6 @@ CONFIG_HWMON=y CONFIG_HW_PERF_EVENTS=y CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m -CONFIG_HW_RANDOM_EXYNOS=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_MSM=m CONFIG_HW_RANDOM_MXC_RNGA=m @@ -2080,6 +2112,7 @@ CONFIG_I2C_IMX=m CONFIG_I2C_MESON=m CONFIG_I2C_MLXCPLD=m CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m CONFIG_I2C_MUX_PCA9541=m @@ -2141,6 +2174,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -2158,6 +2193,7 @@ CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 CONFIG_IIO_CROS_EC_BARO=m +CONFIG_IIO_CROS_EC_LIGHT_PROX=m CONFIG_IIO_CROS_EC_SENSORS_CORE=m CONFIG_IIO_CROS_EC_SENSORS=m # CONFIG_IIO_HRTIMER_TRIGGER is not set @@ -2190,6 +2226,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10 # CONFIG_IMG_ASCII_LCD is not set CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m +CONFIG_IMX7_PM_DOMAINS=y CONFIG_IMX_DMA=m CONFIG_IMX_GPCV2=y CONFIG_IMX_IPUV3_CORE=m @@ -2296,7 +2333,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PALMAS_PWRBUTTON=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set @@ -2335,6 +2371,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2519,6 +2556,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2631,6 +2669,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2763,7 +2803,6 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m CONFIG_LEDS_DA9052=m CONFIG_LEDS_DAC124S085=m -CONFIG_LEDS_DELL_NETBOOKS=m CONFIG_LEDS_GPIO=m CONFIG_LEDS_GPIO_REGISTER=y # CONFIG_LEDS_IS31FL319X is not set @@ -2841,7 +2880,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2854,6 +2892,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2882,6 +2921,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=32768 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2942,14 +2983,17 @@ CONFIG_MANTIS_CORE=m CONFIG_MARVELL_PHY=m # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 # CONFIG_MC3230 is not set @@ -2991,6 +3035,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -3049,7 +3094,7 @@ CONFIG_MFD_AXP20X_RSB=m CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set CONFIG_MFD_CROS_EC_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_SPI=m @@ -3085,7 +3130,6 @@ CONFIG_MFD_NVEC=y CONFIG_MFD_OMAP_USB_HOST=y CONFIG_MFD_PALMAS=y # CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_PM8921_CORE is not set CONFIG_MFD_PM8XXX=m CONFIG_MFD_QCOM_RPM=m # CONFIG_MFD_RC5T583 is not set @@ -3111,6 +3155,7 @@ CONFIG_MFD_T7L66XB=y CONFIG_MFD_TC6387XB=y # CONFIG_MFD_TC6393XB is not set CONFIG_MFD_TI_AM335X_TSCADC=m +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -3162,6 +3207,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -3227,6 +3273,7 @@ CONFIG_MMC_SDHCI_S3C_DMA=y CONFIG_MMC_SDHCI_S3C=m CONFIG_MMC_SDHCI_ST=m CONFIG_MMC_SDHCI_TEGRA=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m CONFIG_MMC_SPI=m CONFIG_MMC_SUNXI=m @@ -3250,7 +3297,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -3284,6 +3330,7 @@ CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -3443,6 +3490,7 @@ CONFIG_NEON=y CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -3486,11 +3534,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3612,6 +3664,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3925,6 +3978,7 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOUVEAU_PLATFORM_DRIVER=y CONFIG_NOZOMI=m CONFIG_NR_CPUS=32 +CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m # CONFIG_NTB is not set @@ -3933,6 +3987,7 @@ CONFIG_NTP_PPS=y CONFIG_NVEC_PAZ00=y CONFIG_NVEC_POWER=y CONFIG_NVME_FC=m +CONFIG_NVMEM_IMX_IIM=m CONFIG_NVMEM_IMX_OCOTP=m CONFIG_NVMEM=m CONFIG_NVMEM_SUNXI_SID=m @@ -4108,7 +4163,9 @@ CONFIG_PCF50633_GPIO=m # CONFIG_PCH_GBE is not set CONFIG_PCI_AARDVARK=y # CONFIG_PCI_DEBUG is not set -CONFIG_PCI_DRA7XX=y +# CONFIG_PCI_DRA7XX_EP is not set +# CONFIG_PCI_DRA7XX_HOST is not set +# CONFIG_PCI_DRA7XX is not set CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIE_ALTERA is not set @@ -4116,20 +4173,25 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +CONFIG_PCIE_DW_HOST=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_DW=y CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCIE_QCOM=y CONFIG_PCIE_ROCKCHIP=y CONFIG_PCIE_XILINX=y CONFIG_PCI_EXYNOS=y +# CONFIG_PCI_FTPCI100 is not set CONFIG_PCI_HERMES=m CONFIG_PCI_HOST_GENERIC=y CONFIG_PCI_IMX6=y CONFIG_PCI_IOV=y # CONFIG_PCI_LAYERSCAPE is not set +CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_MSI=y CONFIG_PCI_MVEBU=y CONFIG_PCI_PASID=y @@ -4137,6 +4199,7 @@ CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI_TEGRA=y CONFIG_PCI=y CONFIG_PCMCIA_3C574=m @@ -4181,6 +4244,8 @@ CONFIG_PHY_MVEBU_SATA=y # CONFIG_PHY_PXA_28NM_USB2 is not set CONFIG_PHY_QCOM_APQ8064_SATA=m # CONFIG_PHY_QCOM_IPQ806X_SATA is not set +CONFIG_PHY_QCOM_QMP=m +CONFIG_PHY_QCOM_QUSB2=m CONFIG_PHY_QCOM_UFS=m CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_QCOM_USB_HS=m @@ -4233,7 +4298,6 @@ CONFIG_PINCTRL_SAMSUNG=y CONFIG_PINCTRL_SINGLE=y # CONFIG_PINCTRL_SUNRISEPOINT is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set CONFIG_PINCTRL=y CONFIG_PINCTRL_ZYNQ=y CONFIG_PINMUX=y @@ -4376,11 +4440,11 @@ CONFIG_QCOM_COINCELL=m CONFIG_QCOM_GSBI=m # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set -CONFIG_QCOM_IRQ_COMBINER=y +CONFIG_QCOM_IOMMU=y +CONFIG_QCOM_PM8XXX_XOADC=m CONFIG_QCOM_PM=y CONFIG_QCOM_Q6V5_PIL=m CONFIG_QCOM_QFPROM=m -CONFIG_QCOM_SMD=m CONFIG_QCOM_SMD_RPM=m CONFIG_QCOM_SMEM=m CONFIG_QCOM_SMP2P=m @@ -4446,6 +4510,7 @@ CONFIG_RADIO_WL128X=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set +CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y CONFIG_RAW_DRIVER=y @@ -4499,7 +4564,6 @@ CONFIG_REGULATOR_AD5398=m CONFIG_REGULATOR_ANATOP=m CONFIG_REGULATOR_AS3722=m CONFIG_REGULATOR_AXP20X=m -CONFIG_REGULATOR_CPCAP=m CONFIG_REGULATOR_DA9052=m CONFIG_REGULATOR_DA9055=m CONFIG_REGULATOR_DA9210=m @@ -4548,6 +4612,7 @@ CONFIG_REGULATOR_TPS62360=m CONFIG_REGULATOR_TPS65023=m CONFIG_REGULATOR_TPS6507X=m CONFIG_REGULATOR_TPS65090=m +# CONFIG_REGULATOR_TPS65132 is not set CONFIG_REGULATOR_TPS65217=m CONFIG_REGULATOR_TPS65218=m CONFIG_REGULATOR_TPS6524X=m @@ -4557,6 +4622,7 @@ CONFIG_REGULATOR_TPS65912=m CONFIG_REGULATOR_TPS80031=m CONFIG_REGULATOR_TWL4030=y CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VCTRL=m CONFIG_REGULATOR_VEXPRESS=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m CONFIG_REGULATOR_WM8994=m @@ -4590,12 +4656,12 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m -CONFIG_ROCKCHIP_ANALOGIX_DP=m -# CONFIG_ROCKCHIP_CDN_DP is not set -CONFIG_ROCKCHIP_DW_HDMI=m -CONFIG_ROCKCHIP_DW_MIPI_DSI=m +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +CONFIG_ROCKCHIP_DW_HDMI=y +CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_ROCKCHIP_EFUSE=m -CONFIG_ROCKCHIP_INNO_HDMI=m +CONFIG_ROCKCHIP_INNO_HDMI=y CONFIG_ROCKCHIP_IODOMAIN=m CONFIG_ROCKCHIP_IOMMU=y CONFIG_ROCKCHIP_MBOX=y @@ -4766,6 +4832,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4974,6 +5041,7 @@ CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ARM_SCPI=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DA9052_ADC=m @@ -5183,6 +5251,7 @@ CONFIG_SERIAL_ST_ASC=y CONFIG_SERIAL_TEGRA=y # CONFIG_SERIAL_TIMBERDALE is not set CONFIG_SERIAL_UARTLITE_CONSOLE=y +CONFIG_SERIAL_UARTLITE_NR_UARTS=1 CONFIG_SERIAL_UARTLITE=y CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y CONFIG_SERIAL_XILINX_PS_UART=y @@ -5292,7 +5361,7 @@ CONFIG_SND_DAVINCI_SOC_VCIF=m # CONFIG_SND_DEBUG is not set # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -5308,7 +5377,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -5343,6 +5414,7 @@ CONFIG_SND_HDA_TEGRA=m CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_IMX_SOC=m @@ -5351,8 +5423,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB=m @@ -5413,6 +5485,8 @@ CONFIG_SND_SIS7019=m CONFIG_SND_SOC_AC97_BUS=y CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set CONFIG_SND_SOC_ADI_AXI_I2S=m CONFIG_SND_SOC_ADI_AXI_SPDIF=m @@ -5431,6 +5505,7 @@ CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -5444,7 +5519,9 @@ CONFIG_SND_SOC_CS42L42=m CONFIG_SND_SOC_CS42XX8_I2C=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_SPI=m @@ -5475,12 +5552,17 @@ CONFIG_SND_SOC_IMX_WM8962=m CONFIG_SND_SOC_LPASS_CPU=m CONFIG_SND_SOC_LPASS_PLATFORM=m CONFIG_SND_SOC=m +CONFIG_SND_SOC_MAX98090=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set -CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m +CONFIG_SND_SOC_MAX98927=m +# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set +CONFIG_SND_SOC_MSM8916_WCD_ANALOg=m CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m +CONFIG_SND_SOC_ODROID=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -5591,8 +5673,8 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y # CONFIG_SND_VERBOSE_PRINTK is not set CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m @@ -5628,6 +5710,7 @@ CONFIG_SOC_OMAP5=y CONFIG_SOC_STIH407=y # CONFIG_SOC_STIH415 is not set # CONFIG_SOC_STIH416 is not set +CONFIG_SOC_TEGRA_FLOWCTRL=y CONFIG_SOC_TI81XX=y # CONFIG_SOC_TI is not set # CONFIG_SOC_VF610 is not set @@ -5702,6 +5785,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y CONFIG_SRAM=y +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -5747,12 +5831,13 @@ CONFIG_ST_THERMAL=m CONFIG_ST_THERMAL_MEMMAP=m # CONFIG_ST_THERMAL_SYSCFG is not set CONFIG_SUN4I_EMAC=m -# CONFIG_SUN50I_A64_CCU is not set +CONFIG_SUN4I_GPADC=m CONFIG_SUN5I_CCU=y CONFIG_SUN6I_A31_CCU=y CONFIG_SUN8I_A23_CCU=y CONFIG_SUN8I_A33_CCU=y CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_R_CCU=y CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN9I_A80_CCU=y CONFIG_SUNDANCE=m @@ -5786,6 +5871,7 @@ CONFIG_SYSCON_REBOOT_MODE=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -5809,6 +5895,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m CONFIG_TCG_TIS_I2C_ATMEL=m @@ -5849,6 +5936,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set CONFIG_TCS3472=m +# CONFIG_TEE is not set CONFIG_TEGRA124_EMC=y CONFIG_TEGRA20_APB_DMA=y CONFIG_TEGRA20_MC=y @@ -5889,6 +5977,7 @@ CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -5925,6 +6014,7 @@ CONFIG_TI_EDMA=y CONFIG_TI_EMIF=m CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -6006,6 +6096,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -6054,12 +6145,17 @@ CONFIG_TWL4030_WATCHDOG=m CONFIG_TWL6030_GPADC=m CONFIG_TWL6030_USB=m CONFIG_TWL6040_CORE=y +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m # CONFIG_UACCESS_WITH_MEMCPY is not set CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -6335,6 +6431,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_OTG=y # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -6347,6 +6444,7 @@ CONFIG_USB_PWC=m CONFIG_USB_QCOM_8X16_PHY=m # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_R8A66597 is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -6535,6 +6633,7 @@ CONFIG_VIDEO_AM437X_VPFE=m CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_AU0828_RC is not set CONFIG_VIDEO_AU0828_V4L2=y +# CONFIG_VIDEO_BCM2835 is not set CONFIG_VIDEO_BT848=m CONFIG_VIDEO_CAFE_CCIC=m CONFIG_VIDEO_CODA=m @@ -6665,6 +6764,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -6673,6 +6773,7 @@ CONFIG_VLSI_FIR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -6701,6 +6802,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -6770,6 +6872,7 @@ CONFIG_WM8350_WATCHDOG=m # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set +CONFIG_X86_MCELOG_LEGACY=y # CONFIG_X86_PTDUMP is not set # CONFIG_XEN is not set CONFIG_XFRM_MIGRATE=y @@ -6820,3 +6923,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config index 295b2e607..bf5c983c9 100644 --- a/kernel-i686-PAE.config +++ b/kernel-i686-PAE.config @@ -151,6 +151,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -223,6 +225,7 @@ CONFIG_APPLE_PROPERTIES=y CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y # CONFIG_AS3935 is not set CONFIG_ASUS_LAPTOP=m CONFIG_ASUS_NB_WMI=m @@ -349,6 +352,7 @@ CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -380,6 +384,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set CONFIG_BATTERY_OLPC=y @@ -404,6 +409,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set CONFIG_BE2ISCSI=m @@ -411,6 +417,7 @@ CONFIG_BE2ISCSI=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -433,7 +440,6 @@ CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -458,6 +464,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -561,6 +568,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -609,14 +617,17 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -630,6 +641,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y CONFIG_CAPI_EICON=y @@ -651,6 +663,7 @@ CONFIG_CC_STACKPROTECTOR=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -829,6 +842,7 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m CONFIG_CRYPTO_DEV_CCP=y +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_GEODE=m CONFIG_CRYPTO_DEV_HIFN_795X=m @@ -843,7 +857,7 @@ CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -997,6 +1011,7 @@ CONFIG_DELL_RBTN=m CONFIG_DELL_SMBIOS=m CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI_AIO=m +CONFIG_DELL_WMI_LED=m CONFIG_DELL_WMI=m # CONFIG_DETECT_HUNG_TASK is not set CONFIG_DEV_APPLETALK=m @@ -1038,6 +1053,7 @@ CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m CONFIG_DMIID=y +CONFIG_DM_INTEGRITY=m CONFIG_DMI_SYSFS=y CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m @@ -1081,8 +1097,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_GMA3600=y CONFIG_DRM_GMA500=m # CONFIG_DRM_GMA600 is not set @@ -1097,13 +1115,16 @@ CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_I915_ALPHA_SUPPORT is not set CONFIG_DRM_I915_CAPTURE_ERROR=y CONFIG_DRM_I915_COMPRESS_ERROR=y +# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set CONFIG_DRM_I915_GVT_KVMGT=m CONFIG_DRM_I915_GVT=y CONFIG_DRM_I915=m CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set CONFIG_DRM=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1112,18 +1133,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set +CONFIG_DRM_PANEL_LVDS=m # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1238,6 +1263,7 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1250,6 +1276,7 @@ CONFIG_EDAC_AMD8131=m CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_E752X=m CONFIG_EDAC_E7XXX=m +CONFIG_EDAC_GHES=y CONFIG_EDAC_I3000=m CONFIG_EDAC_I3200=m CONFIG_EDAC_I5000=m @@ -1262,9 +1289,7 @@ CONFIG_EDAC_I82875P=m CONFIG_EDAC_I82975X=m CONFIG_EDAC_IE31200=m CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_R82600=m -# CONFIG_EDAC_SBRIDGE is not set CONFIG_EDAC_X38=m CONFIG_EDAC=y CONFIG_EDD=m @@ -1553,6 +1578,7 @@ CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m # CONFIG_GPIO_F7188X is not set +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set CONFIG_GPIO_ICH=m @@ -1598,6 +1624,7 @@ CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HDMI_LPE_AUDIO=m CONFIG_HEADERS_CHECK=y @@ -1610,6 +1637,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1654,6 +1682,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1675,12 +1704,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1844,6 +1875,7 @@ CONFIG_I2C_ISCH=m CONFIG_I2C_ISMT=m CONFIG_I2C_MLXCPLD=m # CONFIG_I2C_MUX_GPIO is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set @@ -1903,6 +1935,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -2038,7 +2072,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_PCSPKR=m @@ -2061,10 +2094,13 @@ CONFIG_INPUT_YEALINK=m CONFIG_INT3406_THERMAL=m CONFIG_INT340X_THERMAL=m # CONFIG_INTEGRITY is not set +# CONFIG_INTEL_ATOMISP is not set CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y CONFIG_INTEL_IDMA64=m +# CONFIG_INTEL_INT0002_VGPIO is not set CONFIG_INTEL_IOATDMA=m # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y @@ -2088,6 +2124,7 @@ CONFIG_INTEL_RST=m # CONFIG_INTEL_SCU_IPC is not set CONFIG_INTEL_SMARTCONNECT=y CONFIG_INTEL_SOC_DTS_THERMAL=m +# CONFIG_INTEL_SOC_PMIC_CHTWC is not set CONFIG_INTEL_SOC_PMIC=y # CONFIG_INTEL_TH is not set # CONFIG_INTEL_TXT is not set @@ -2099,6 +2136,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IOMMU_STRESS is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2284,6 +2322,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2384,6 +2423,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2510,7 +2551,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set CONFIG_LEDS_INTEL_SS4200=m # CONFIG_LEDS_IS31FL319X is not set @@ -2586,7 +2626,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2599,6 +2638,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2627,6 +2667,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2672,14 +2714,17 @@ CONFIG_MARVELL_PHY=m # CONFIG_MATH_EMULATION is not set # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y @@ -2720,6 +2765,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2770,7 +2816,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set CONFIG_MFD_CS5535=m # CONFIG_MFD_DA9052_I2C is not set @@ -2780,7 +2826,6 @@ CONFIG_MFD_CS5535=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set CONFIG_MFD_INTEL_LPSS_ACPI=m CONFIG_MFD_INTEL_LPSS_PCI=m @@ -2824,6 +2869,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2879,6 +2925,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_INFINIBAND is not set # CONFIG_MLX90614 is not set @@ -2920,6 +2967,7 @@ CONFIG_MMC_SDHCI=m # CONFIG_MMC_SDHCI_OF is not set CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2941,7 +2989,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -CONFIG_MODULE_SIG_UEFI=y CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -2980,8 +3027,9 @@ CONFIG_MPILIB=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -3091,6 +3139,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -3134,11 +3183,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3261,6 +3314,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3573,6 +3627,7 @@ CONFIG_NOUVEAU_DEBUG=5 CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOZOMI=m CONFIG_NR_CPUS=32 +CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m CONFIG_NSC_GPIO=m @@ -3720,6 +3775,8 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCI_GOANY=y @@ -3730,12 +3787,14 @@ CONFIG_PCI_HERMES=m CONFIG_PCI_HYPERV=m CONFIG_PCI_IOV=y CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_MSI=y CONFIG_PCI_PASID=y CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3790,7 +3849,6 @@ CONFIG_PINCTRL_CHERRYVIEW=y # CONFIG_PINCTRL_SINGLE is not set CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y @@ -3951,6 +4009,7 @@ CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y # CONFIG_RAPIDIO is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -3991,9 +4050,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=y CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -4027,6 +4087,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4154,6 +4215,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4368,6 +4430,7 @@ CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m @@ -4650,7 +4713,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG is not set # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4666,7 +4729,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4700,6 +4765,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4752,6 +4818,8 @@ CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4766,6 +4834,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4779,7 +4848,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_SPI=m @@ -4802,6 +4873,8 @@ CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m @@ -4818,10 +4891,12 @@ CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set CONFIG_SND_SOC_NAU8540=m # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4951,6 +5026,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -5011,6 +5087,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -5076,6 +5153,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -5101,6 +5179,7 @@ CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -5131,6 +5210,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -5209,6 +5289,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -5250,11 +5331,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5459,6 +5545,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5468,6 +5555,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5746,6 +5834,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5759,6 +5848,7 @@ CONFIG_VMWARE_VMCI_VSOCKETS=m CONFIG_VMXNET3=m CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -5786,6 +5876,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5882,6 +5973,7 @@ CONFIG_X86_LONGRUN=y CONFIG_X86_MCE_AMD=y CONFIG_X86_MCE_INJECT=m CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_MCE=y CONFIG_X86_MPPARSE=y CONFIG_X86_MSR=y @@ -5917,6 +6009,7 @@ CONFIG_XEN_COMPAT_XENFS=y CONFIG_XEN_DEBUG_FS=y # CONFIG_XEN_DEBUG is not set CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_DOM0=y CONFIG_XEN_FBDEV_FRONTEND=y CONFIG_XENFS=m CONFIG_XEN_GNTDEV=m @@ -5925,7 +6018,9 @@ CONFIG_XEN_NETDEV_BACKEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_XEN_PVHVM=y CONFIG_XEN_PVH=y +CONFIG_XEN_PV=y CONFIG_XEN_SAVE_RESTORE=y CONFIG_XEN_SCRUB_PAGES=y CONFIG_XEN_SCSI_BACKEND=m @@ -5979,3 +6074,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-i686-PAEdebug.config b/kernel-i686-PAEdebug.config index 1b000858e..5eb9308f1 100644 --- a/kernel-i686-PAEdebug.config +++ b/kernel-i686-PAEdebug.config @@ -151,6 +151,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -223,6 +225,7 @@ CONFIG_APPLE_PROPERTIES=y CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_PTDUMP=y # CONFIG_AS3935 is not set CONFIG_ASUS_LAPTOP=m @@ -350,6 +353,7 @@ CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -381,6 +385,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set CONFIG_BATTERY_OLPC=y @@ -405,6 +410,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set CONFIG_BE2ISCSI=m @@ -412,6 +418,7 @@ CONFIG_BE2ISCSI=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -434,7 +441,6 @@ CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -459,6 +465,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -562,6 +569,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -610,14 +618,17 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -631,6 +642,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y CONFIG_CAPI_EICON=y @@ -652,6 +664,7 @@ CONFIG_CC_STACKPROTECTOR=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -831,6 +844,7 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m CONFIG_CRYPTO_DEV_CCP=y +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_GEODE=m CONFIG_CRYPTO_DEV_HIFN_795X=m @@ -845,7 +859,7 @@ CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -1007,6 +1021,7 @@ CONFIG_DELL_RBTN=m CONFIG_DELL_SMBIOS=m CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI_AIO=m +CONFIG_DELL_WMI_LED=m CONFIG_DELL_WMI=m CONFIG_DETECT_HUNG_TASK=y CONFIG_DEV_APPLETALK=m @@ -1049,6 +1064,7 @@ CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m CONFIG_DMIID=y +CONFIG_DM_INTEGRITY=m CONFIG_DMI_SYSFS=y CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m @@ -1092,8 +1108,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_GMA3600=y CONFIG_DRM_GMA500=m # CONFIG_DRM_GMA600 is not set @@ -1108,13 +1126,16 @@ CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_I915_ALPHA_SUPPORT is not set CONFIG_DRM_I915_CAPTURE_ERROR=y CONFIG_DRM_I915_COMPRESS_ERROR=y +# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set CONFIG_DRM_I915_GVT_KVMGT=m CONFIG_DRM_I915_GVT=y CONFIG_DRM_I915=m CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set CONFIG_DRM=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1123,18 +1144,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set +CONFIG_DRM_PANEL_LVDS=m # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1249,6 +1274,7 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1261,6 +1287,7 @@ CONFIG_EDAC_AMD8131=m CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_E752X=m CONFIG_EDAC_E7XXX=m +CONFIG_EDAC_GHES=y CONFIG_EDAC_I3000=m CONFIG_EDAC_I3200=m CONFIG_EDAC_I5000=m @@ -1273,9 +1300,7 @@ CONFIG_EDAC_I82875P=m CONFIG_EDAC_I82975X=m CONFIG_EDAC_IE31200=m CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_R82600=m -# CONFIG_EDAC_SBRIDGE is not set CONFIG_EDAC_X38=m CONFIG_EDAC=y CONFIG_EDD=m @@ -1571,6 +1596,7 @@ CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m # CONFIG_GPIO_F7188X is not set +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set CONFIG_GPIO_ICH=m @@ -1616,6 +1642,7 @@ CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HDMI_LPE_AUDIO=m CONFIG_HEADERS_CHECK=y @@ -1628,6 +1655,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1672,6 +1700,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1693,12 +1722,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1862,6 +1893,7 @@ CONFIG_I2C_ISCH=m CONFIG_I2C_ISMT=m CONFIG_I2C_MLXCPLD=m # CONFIG_I2C_MUX_GPIO is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set @@ -1921,6 +1953,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -2056,7 +2090,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_PCSPKR=m @@ -2079,10 +2112,13 @@ CONFIG_INPUT_YEALINK=m CONFIG_INT3406_THERMAL=m CONFIG_INT340X_THERMAL=m # CONFIG_INTEGRITY is not set +# CONFIG_INTEL_ATOMISP is not set CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y CONFIG_INTEL_IDMA64=m +# CONFIG_INTEL_INT0002_VGPIO is not set CONFIG_INTEL_IOATDMA=m # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y @@ -2106,6 +2142,7 @@ CONFIG_INTEL_RST=m # CONFIG_INTEL_SCU_IPC is not set CONFIG_INTEL_SMARTCONNECT=y CONFIG_INTEL_SOC_DTS_THERMAL=m +# CONFIG_INTEL_SOC_PMIC_CHTWC is not set CONFIG_INTEL_SOC_PMIC=y # CONFIG_INTEL_TH is not set # CONFIG_INTEL_TXT is not set @@ -2117,6 +2154,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IOMMU_STRESS is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2302,6 +2340,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2402,6 +2441,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2530,7 +2571,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set CONFIG_LEDS_INTEL_SS4200=m # CONFIG_LEDS_IS31FL319X is not set @@ -2606,7 +2646,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2619,6 +2658,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2647,6 +2687,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2692,14 +2734,17 @@ CONFIG_MARVELL_PHY=m # CONFIG_MATH_EMULATION is not set # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y @@ -2740,6 +2785,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2790,7 +2836,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set CONFIG_MFD_CS5535=m # CONFIG_MFD_DA9052_I2C is not set @@ -2800,7 +2846,6 @@ CONFIG_MFD_CS5535=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set CONFIG_MFD_INTEL_LPSS_ACPI=m CONFIG_MFD_INTEL_LPSS_PCI=m @@ -2844,6 +2889,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2899,6 +2945,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_INFINIBAND is not set # CONFIG_MLX90614 is not set @@ -2940,6 +2987,7 @@ CONFIG_MMC_SDHCI=m # CONFIG_MMC_SDHCI_OF is not set CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2961,7 +3009,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -CONFIG_MODULE_SIG_UEFI=y CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -3000,8 +3047,9 @@ CONFIG_MPILIB=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -3111,6 +3159,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -3154,11 +3203,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3281,6 +3334,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3593,6 +3647,7 @@ CONFIG_NOUVEAU_DEBUG=5 CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOZOMI=m CONFIG_NR_CPUS=32 +CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m CONFIG_NSC_GPIO=m @@ -3740,6 +3795,8 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCI_GOANY=y @@ -3750,12 +3807,14 @@ CONFIG_PCI_HERMES=m CONFIG_PCI_HYPERV=m CONFIG_PCI_IOV=y CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_MSI=y CONFIG_PCI_PASID=y CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3810,7 +3869,6 @@ CONFIG_PINCTRL_CHERRYVIEW=y # CONFIG_PINCTRL_SINGLE is not set CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y @@ -3972,6 +4030,7 @@ CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y # CONFIG_RAPIDIO is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4012,9 +4071,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=y CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -4048,6 +4108,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4175,6 +4236,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4389,6 +4451,7 @@ CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m @@ -4671,7 +4734,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DEBUG=y CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4687,7 +4750,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4721,6 +4786,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4774,6 +4840,8 @@ CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4788,6 +4856,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4801,7 +4870,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_SPI=m @@ -4824,6 +4895,8 @@ CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m @@ -4840,10 +4913,12 @@ CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set CONFIG_SND_SOC_NAU8540=m # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4973,6 +5048,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -5033,6 +5109,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -5098,6 +5175,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -5123,6 +5201,7 @@ CONFIG_TEST_LIST_SORT=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -5153,6 +5232,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -5231,6 +5311,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -5272,11 +5353,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5481,6 +5567,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5490,6 +5577,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5768,6 +5856,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5781,6 +5870,7 @@ CONFIG_VMWARE_VMCI_VSOCKETS=m CONFIG_VMXNET3=m CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -5808,6 +5898,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5904,6 +5995,7 @@ CONFIG_X86_LONGRUN=y CONFIG_X86_MCE_AMD=y CONFIG_X86_MCE_INJECT=m CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_MCE=y CONFIG_X86_MPPARSE=y CONFIG_X86_MSR=y @@ -5939,6 +6031,7 @@ CONFIG_XEN_COMPAT_XENFS=y CONFIG_XEN_DEBUG_FS=y # CONFIG_XEN_DEBUG is not set CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_DOM0=y CONFIG_XEN_FBDEV_FRONTEND=y CONFIG_XENFS=m CONFIG_XEN_GNTDEV=m @@ -5947,7 +6040,9 @@ CONFIG_XEN_NETDEV_BACKEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_XEN_PVHVM=y CONFIG_XEN_PVH=y +CONFIG_XEN_PV=y CONFIG_XEN_SAVE_RESTORE=y CONFIG_XEN_SCRUB_PAGES=y CONFIG_XEN_SCSI_BACKEND=m @@ -6001,3 +6096,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config index f6d44423b..edcdbe09e 100644 --- a/kernel-i686-debug.config +++ b/kernel-i686-debug.config @@ -151,6 +151,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -223,6 +225,7 @@ CONFIG_APPLE_PROPERTIES=y CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_PTDUMP=y # CONFIG_AS3935 is not set CONFIG_ASUS_LAPTOP=m @@ -350,6 +353,7 @@ CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -381,6 +385,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set CONFIG_BATTERY_OLPC=y @@ -405,6 +410,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set CONFIG_BE2ISCSI=m @@ -412,6 +418,7 @@ CONFIG_BE2ISCSI=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -434,7 +441,6 @@ CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -459,6 +465,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -562,6 +569,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -610,14 +618,17 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -631,6 +642,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y CONFIG_CAPI_EICON=y @@ -652,6 +664,7 @@ CONFIG_CC_STACKPROTECTOR=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -831,6 +844,7 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m CONFIG_CRYPTO_DEV_CCP=y +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_GEODE=m CONFIG_CRYPTO_DEV_HIFN_795X=m @@ -845,7 +859,7 @@ CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -1007,6 +1021,7 @@ CONFIG_DELL_RBTN=m CONFIG_DELL_SMBIOS=m CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI_AIO=m +CONFIG_DELL_WMI_LED=m CONFIG_DELL_WMI=m CONFIG_DETECT_HUNG_TASK=y CONFIG_DEV_APPLETALK=m @@ -1049,6 +1064,7 @@ CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m CONFIG_DMIID=y +CONFIG_DM_INTEGRITY=m CONFIG_DMI_SYSFS=y CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m @@ -1092,8 +1108,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_GMA3600=y CONFIG_DRM_GMA500=m # CONFIG_DRM_GMA600 is not set @@ -1108,13 +1126,16 @@ CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_I915_ALPHA_SUPPORT is not set CONFIG_DRM_I915_CAPTURE_ERROR=y CONFIG_DRM_I915_COMPRESS_ERROR=y +# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set CONFIG_DRM_I915_GVT_KVMGT=m CONFIG_DRM_I915_GVT=y CONFIG_DRM_I915=m CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set CONFIG_DRM=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1123,18 +1144,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set +CONFIG_DRM_PANEL_LVDS=m # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1249,6 +1274,7 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1261,6 +1287,7 @@ CONFIG_EDAC_AMD8131=m CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_E752X=m CONFIG_EDAC_E7XXX=m +CONFIG_EDAC_GHES=y CONFIG_EDAC_I3000=m CONFIG_EDAC_I3200=m CONFIG_EDAC_I5000=m @@ -1273,9 +1300,7 @@ CONFIG_EDAC_I82875P=m CONFIG_EDAC_I82975X=m CONFIG_EDAC_IE31200=m CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_R82600=m -# CONFIG_EDAC_SBRIDGE is not set CONFIG_EDAC_X38=m CONFIG_EDAC=y CONFIG_EDD=m @@ -1571,6 +1596,7 @@ CONFIG_GPIO_CS5535=y # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m # CONFIG_GPIO_F7188X is not set +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set CONFIG_GPIO_ICH=m @@ -1616,6 +1642,7 @@ CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HDMI_LPE_AUDIO=m CONFIG_HEADERS_CHECK=y @@ -1628,6 +1655,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1672,6 +1700,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1693,12 +1722,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1862,6 +1893,7 @@ CONFIG_I2C_ISCH=m CONFIG_I2C_ISMT=m CONFIG_I2C_MLXCPLD=m # CONFIG_I2C_MUX_GPIO is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set @@ -1921,6 +1953,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -2056,7 +2090,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_PCSPKR=m @@ -2079,10 +2112,13 @@ CONFIG_INPUT_YEALINK=m CONFIG_INT3406_THERMAL=m CONFIG_INT340X_THERMAL=m # CONFIG_INTEGRITY is not set +# CONFIG_INTEL_ATOMISP is not set CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y CONFIG_INTEL_IDMA64=m +# CONFIG_INTEL_INT0002_VGPIO is not set CONFIG_INTEL_IOATDMA=m # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y @@ -2106,6 +2142,7 @@ CONFIG_INTEL_RST=m # CONFIG_INTEL_SCU_IPC is not set CONFIG_INTEL_SMARTCONNECT=y CONFIG_INTEL_SOC_DTS_THERMAL=m +# CONFIG_INTEL_SOC_PMIC_CHTWC is not set CONFIG_INTEL_SOC_PMIC=y # CONFIG_INTEL_TH is not set # CONFIG_INTEL_TXT is not set @@ -2117,6 +2154,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IOMMU_STRESS is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2302,6 +2340,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2402,6 +2441,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2530,7 +2571,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set CONFIG_LEDS_INTEL_SS4200=m # CONFIG_LEDS_IS31FL319X is not set @@ -2606,7 +2646,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2619,6 +2658,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2647,6 +2687,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2692,14 +2734,17 @@ CONFIG_MARVELL_PHY=m # CONFIG_MATH_EMULATION is not set # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y @@ -2740,6 +2785,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2790,7 +2836,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set CONFIG_MFD_CS5535=m # CONFIG_MFD_DA9052_I2C is not set @@ -2800,7 +2846,6 @@ CONFIG_MFD_CS5535=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set CONFIG_MFD_INTEL_LPSS_ACPI=m CONFIG_MFD_INTEL_LPSS_PCI=m @@ -2844,6 +2889,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2899,6 +2945,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_INFINIBAND is not set # CONFIG_MLX90614 is not set @@ -2940,6 +2987,7 @@ CONFIG_MMC_SDHCI=m # CONFIG_MMC_SDHCI_OF is not set CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2961,7 +3009,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -CONFIG_MODULE_SIG_UEFI=y CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -3000,8 +3047,9 @@ CONFIG_MPILIB=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -3111,6 +3159,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -3154,11 +3203,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3281,6 +3334,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3593,6 +3647,7 @@ CONFIG_NOUVEAU_DEBUG=5 CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOZOMI=m CONFIG_NR_CPUS=32 +CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m CONFIG_NSC_GPIO=m @@ -3740,6 +3795,8 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCI_GOANY=y @@ -3750,12 +3807,14 @@ CONFIG_PCI_HERMES=m CONFIG_PCI_HYPERV=m CONFIG_PCI_IOV=y CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_MSI=y CONFIG_PCI_PASID=y CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3810,7 +3869,6 @@ CONFIG_PINCTRL_CHERRYVIEW=y # CONFIG_PINCTRL_SINGLE is not set CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y @@ -3972,6 +4030,7 @@ CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y # CONFIG_RAPIDIO is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4012,9 +4071,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=y CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -4048,6 +4108,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4175,6 +4236,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4389,6 +4451,7 @@ CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m @@ -4671,7 +4734,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DEBUG=y CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4687,7 +4750,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4721,6 +4786,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4774,6 +4840,8 @@ CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4788,6 +4856,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4801,7 +4870,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_SPI=m @@ -4824,6 +4895,8 @@ CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m @@ -4840,10 +4913,12 @@ CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set CONFIG_SND_SOC_NAU8540=m # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4973,6 +5048,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -5033,6 +5109,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -5098,6 +5175,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -5123,6 +5201,7 @@ CONFIG_TEST_LIST_SORT=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -5153,6 +5232,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -5231,6 +5311,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -5272,11 +5353,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5481,6 +5567,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5490,6 +5577,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5768,6 +5856,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5781,6 +5870,7 @@ CONFIG_VMWARE_VMCI_VSOCKETS=m CONFIG_VMXNET3=m CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -5808,6 +5898,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5904,6 +5995,7 @@ CONFIG_X86_LONGRUN=y CONFIG_X86_MCE_AMD=y CONFIG_X86_MCE_INJECT=m CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_MCE=y CONFIG_X86_MPPARSE=y CONFIG_X86_MSR=y @@ -5938,6 +6030,7 @@ CONFIG_XEN_BLKDEV_FRONTEND=m CONFIG_XEN_COMPAT_XENFS=y CONFIG_XEN_DEBUG_FS=y # CONFIG_XEN_DEBUG is not set +CONFIG_XEN_DOM0=y CONFIG_XEN_FBDEV_FRONTEND=y CONFIG_XENFS=m CONFIG_XEN_GNTDEV=m @@ -5946,7 +6039,9 @@ CONFIG_XEN_NETDEV_BACKEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_XEN_PVHVM=y CONFIG_XEN_PVH=y +CONFIG_XEN_PV=y CONFIG_XEN_SAVE_RESTORE=y CONFIG_XEN_SCRUB_PAGES=y CONFIG_XEN_SCSI_BACKEND=m @@ -5999,3 +6094,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-i686.config b/kernel-i686.config index b2c87dec4..38f571487 100644 --- a/kernel-i686.config +++ b/kernel-i686.config @@ -151,6 +151,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -223,6 +225,7 @@ CONFIG_APPLE_PROPERTIES=y CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y # CONFIG_AS3935 is not set CONFIG_ASUS_LAPTOP=m CONFIG_ASUS_NB_WMI=m @@ -349,6 +352,7 @@ CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -380,6 +384,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set CONFIG_BATTERY_OLPC=y @@ -404,6 +409,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set CONFIG_BE2ISCSI=m @@ -411,6 +417,7 @@ CONFIG_BE2ISCSI=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -433,7 +440,6 @@ CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -458,6 +464,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -561,6 +568,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -609,14 +617,17 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -630,6 +641,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y CONFIG_CAPI_EICON=y @@ -651,6 +663,7 @@ CONFIG_CC_STACKPROTECTOR=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -829,6 +842,7 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m CONFIG_CRYPTO_DEV_CCP=y +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_GEODE=m CONFIG_CRYPTO_DEV_HIFN_795X=m @@ -843,7 +857,7 @@ CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -997,6 +1011,7 @@ CONFIG_DELL_RBTN=m CONFIG_DELL_SMBIOS=m CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI_AIO=m +CONFIG_DELL_WMI_LED=m CONFIG_DELL_WMI=m # CONFIG_DETECT_HUNG_TASK is not set CONFIG_DEV_APPLETALK=m @@ -1038,6 +1053,7 @@ CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m CONFIG_DMIID=y +CONFIG_DM_INTEGRITY=m CONFIG_DMI_SYSFS=y CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m @@ -1081,8 +1097,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_GMA3600=y CONFIG_DRM_GMA500=m # CONFIG_DRM_GMA600 is not set @@ -1097,13 +1115,16 @@ CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_I915_ALPHA_SUPPORT is not set CONFIG_DRM_I915_CAPTURE_ERROR=y CONFIG_DRM_I915_COMPRESS_ERROR=y +# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set CONFIG_DRM_I915_GVT_KVMGT=m CONFIG_DRM_I915_GVT=y CONFIG_DRM_I915=m CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set CONFIG_DRM=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1112,18 +1133,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set +CONFIG_DRM_PANEL_LVDS=m # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1238,6 +1263,7 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1250,6 +1276,7 @@ CONFIG_EDAC_AMD8131=m CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_E752X=m CONFIG_EDAC_E7XXX=m +CONFIG_EDAC_GHES=y CONFIG_EDAC_I3000=m CONFIG_EDAC_I3200=m CONFIG_EDAC_I5000=m @@ -1262,9 +1289,7 @@ CONFIG_EDAC_I82875P=m CONFIG_EDAC_I82975X=m CONFIG_EDAC_IE31200=m CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_R82600=m -# CONFIG_EDAC_SBRIDGE is not set CONFIG_EDAC_X38=m CONFIG_EDAC=y CONFIG_EDD=m @@ -1553,6 +1578,7 @@ CONFIG_GPIO_CS5535=y # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m # CONFIG_GPIO_F7188X is not set +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set CONFIG_GPIO_ICH=m @@ -1598,6 +1624,7 @@ CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HDMI_LPE_AUDIO=m CONFIG_HEADERS_CHECK=y @@ -1610,6 +1637,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1654,6 +1682,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1675,12 +1704,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1844,6 +1875,7 @@ CONFIG_I2C_ISCH=m CONFIG_I2C_ISMT=m CONFIG_I2C_MLXCPLD=m # CONFIG_I2C_MUX_GPIO is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set @@ -1903,6 +1935,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -2038,7 +2072,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_PCSPKR=m @@ -2061,10 +2094,13 @@ CONFIG_INPUT_YEALINK=m CONFIG_INT3406_THERMAL=m CONFIG_INT340X_THERMAL=m # CONFIG_INTEGRITY is not set +# CONFIG_INTEL_ATOMISP is not set CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y CONFIG_INTEL_IDMA64=m +# CONFIG_INTEL_INT0002_VGPIO is not set CONFIG_INTEL_IOATDMA=m # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y @@ -2088,6 +2124,7 @@ CONFIG_INTEL_RST=m # CONFIG_INTEL_SCU_IPC is not set CONFIG_INTEL_SMARTCONNECT=y CONFIG_INTEL_SOC_DTS_THERMAL=m +# CONFIG_INTEL_SOC_PMIC_CHTWC is not set CONFIG_INTEL_SOC_PMIC=y # CONFIG_INTEL_TH is not set # CONFIG_INTEL_TXT is not set @@ -2099,6 +2136,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IOMMU_STRESS is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2284,6 +2322,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2384,6 +2423,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2510,7 +2551,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set CONFIG_LEDS_INTEL_SS4200=m # CONFIG_LEDS_IS31FL319X is not set @@ -2586,7 +2626,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2599,6 +2638,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2627,6 +2667,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2672,14 +2714,17 @@ CONFIG_MARVELL_PHY=m # CONFIG_MATH_EMULATION is not set # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y @@ -2720,6 +2765,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2770,7 +2816,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set CONFIG_MFD_CS5535=m # CONFIG_MFD_DA9052_I2C is not set @@ -2780,7 +2826,6 @@ CONFIG_MFD_CS5535=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set CONFIG_MFD_INTEL_LPSS_ACPI=m CONFIG_MFD_INTEL_LPSS_PCI=m @@ -2824,6 +2869,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2879,6 +2925,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_INFINIBAND is not set # CONFIG_MLX90614 is not set @@ -2920,6 +2967,7 @@ CONFIG_MMC_SDHCI=m # CONFIG_MMC_SDHCI_OF is not set CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2941,7 +2989,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -CONFIG_MODULE_SIG_UEFI=y CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -2980,8 +3027,9 @@ CONFIG_MPILIB=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -3091,6 +3139,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -3134,11 +3183,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3261,6 +3314,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3573,6 +3627,7 @@ CONFIG_NOUVEAU_DEBUG=5 CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOZOMI=m CONFIG_NR_CPUS=32 +CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m CONFIG_NSC_GPIO=m @@ -3720,6 +3775,8 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCI_GOANY=y @@ -3730,12 +3787,14 @@ CONFIG_PCI_HERMES=m CONFIG_PCI_HYPERV=m CONFIG_PCI_IOV=y CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_MSI=y CONFIG_PCI_PASID=y CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3790,7 +3849,6 @@ CONFIG_PINCTRL_CHERRYVIEW=y # CONFIG_PINCTRL_SINGLE is not set CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y @@ -3951,6 +4009,7 @@ CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y # CONFIG_RAPIDIO is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -3991,9 +4050,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=y CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -4027,6 +4087,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4154,6 +4215,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4368,6 +4430,7 @@ CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m @@ -4650,7 +4713,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG is not set # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4666,7 +4729,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4700,6 +4765,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4752,6 +4818,8 @@ CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4766,6 +4834,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4779,7 +4848,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_SPI=m @@ -4802,6 +4873,8 @@ CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m @@ -4818,10 +4891,12 @@ CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set CONFIG_SND_SOC_NAU8540=m # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4951,6 +5026,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -5011,6 +5087,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -5076,6 +5153,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -5101,6 +5179,7 @@ CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -5131,6 +5210,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -5209,6 +5289,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -5250,11 +5331,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5459,6 +5545,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5468,6 +5555,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5746,6 +5834,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5759,6 +5848,7 @@ CONFIG_VMWARE_VMCI_VSOCKETS=m CONFIG_VMXNET3=m CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -5786,6 +5876,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5882,6 +5973,7 @@ CONFIG_X86_LONGRUN=y CONFIG_X86_MCE_AMD=y CONFIG_X86_MCE_INJECT=m CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_MCE=y CONFIG_X86_MPPARSE=y CONFIG_X86_MSR=y @@ -5916,6 +6008,7 @@ CONFIG_XEN_BLKDEV_FRONTEND=m CONFIG_XEN_COMPAT_XENFS=y CONFIG_XEN_DEBUG_FS=y # CONFIG_XEN_DEBUG is not set +CONFIG_XEN_DOM0=y CONFIG_XEN_FBDEV_FRONTEND=y CONFIG_XENFS=m CONFIG_XEN_GNTDEV=m @@ -5924,7 +6017,9 @@ CONFIG_XEN_NETDEV_BACKEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_XEN_PVHVM=y CONFIG_XEN_PVH=y +CONFIG_XEN_PV=y CONFIG_XEN_SAVE_RESTORE=y CONFIG_XEN_SCRUB_PAGES=y CONFIG_XEN_SCSI_BACKEND=m @@ -5977,3 +6072,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-ppc64-debug.config b/kernel-ppc64-debug.config index 46c54c5ea..86e58ba7e 100644 --- a/kernel-ppc64-debug.config +++ b/kernel-ppc64-debug.config @@ -118,6 +118,8 @@ CONFIG_ADB=y # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -175,6 +177,7 @@ CONFIG_APPLE_AIRPORT=m CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_PTDUMP=y # CONFIG_AS3935 is not set CONFIG_ASYMMETRIC_KEY_TYPE=y @@ -299,6 +302,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -329,6 +333,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_SBS is not set @@ -352,6 +357,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set CONFIG_BE2ISCSI=m @@ -359,6 +365,7 @@ CONFIG_BE2ISCSI=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -389,7 +396,6 @@ CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m CONFIG_BLK_DEV_GENERIC=y -# CONFIG_BLK_DEV_HD is not set # CONFIG_BLK_DEV_HPT366 is not set CONFIG_BLK_DEV_IDECD=m # CONFIG_BLK_DEV_IDECS is not set @@ -441,6 +447,7 @@ CONFIG_BLK_DEV_SR=y # CONFIG_BLK_DEV_SVWKS is not set CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_TC86C001 is not set +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_TRIFLEX is not set # CONFIG_BLK_DEV_TRM290 is not set @@ -548,6 +555,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -596,16 +604,19 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set # CONFIG_CAN_MPC5XXX is not set # CONFIG_CAN_MSCAN is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -619,6 +630,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y CONFIG_CAPI_EICON=y @@ -638,6 +650,7 @@ CONFIG_CB710_CORE=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -738,6 +751,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set # CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI570 is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_COMMON_RESET_HI3660 is not set @@ -807,11 +821,13 @@ CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_CRC32C_VPMSUM=m CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m # CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m # CONFIG_CRYPTO_DEV_FSL_CAAM is not set CONFIG_CRYPTO_DEV_HIFN_795X=m @@ -824,7 +840,7 @@ CONFIG_CRYPTO_DEV_NX=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m CONFIG_CRYPTO_DEV_VMX=y -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -881,6 +897,7 @@ CONFIG_CRYPTO_USER_API_RNG=y CONFIG_CRYPTO_USER_API_SKCIPHER=y CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_VMAC=m +# CONFIG_CRYPTO_VPMSUM_TESTER is not set CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_XTS=y @@ -1018,6 +1035,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m +CONFIG_DM_INTEGRITY=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_MIRROR=y @@ -1059,8 +1077,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_HISI_HIBMC=m CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_I2C_ADV7511=m @@ -1070,7 +1090,9 @@ CONFIG_DRM_I2C_NXP_TDA998X=m CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set CONFIG_DRM=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1079,13 +1101,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set +# CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set +# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1197,6 +1228,7 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1205,8 +1237,8 @@ CONFIG_EDAC_AMD8111=m CONFIG_EDAC_AMD8131=m CONFIG_EDAC_CPC925=m # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m # CONFIG_EDAC_MPC85XX is not set CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m @@ -1255,7 +1287,6 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y # CONFIG_EXTCON_ADC_JACK is not set -CONFIG_EXTCON_INTEL_INT3496=m # CONFIG_EXTCON is not set # CONFIG_EXTCON_QCOM_SPMI_MISC is not set CONFIG_EXTRA_FIRMWARE="" @@ -1479,6 +1510,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_IT87 is not set @@ -1520,6 +1552,7 @@ CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y # CONFIG_HCALL_STATS is not set +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -1531,6 +1564,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set # CONFIG_HIBERNATION is not set CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1574,6 +1608,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1595,12 +1630,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1751,6 +1788,7 @@ CONFIG_I2C=m CONFIG_I2C_MLXCPLD=m CONFIG_I2C_MPC=m # CONFIG_I2C_MUX_GPIO is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set @@ -1813,6 +1851,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -1948,7 +1988,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set # CONFIG_INPUT_PCSPKR is not set @@ -1977,6 +2016,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_SPI is not set CONFIG_IO_EVENT_IRQ=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2158,6 +2198,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2256,6 +2297,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2383,7 +2426,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set # CONFIG_LEDS_IS31FL319X is not set # CONFIG_LEDS_IS31FL32XX is not set @@ -2457,7 +2499,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2470,6 +2511,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2499,6 +2541,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2539,14 +2583,17 @@ CONFIG_MARVELL_PHY=m # CONFIG_MATH_EMULATION is not set # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y @@ -2586,6 +2633,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2640,7 +2688,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=m -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set @@ -2650,7 +2698,6 @@ CONFIG_MFD_CPCAP=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_KEMPLD is not set @@ -2691,6 +2738,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2741,6 +2789,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -2783,6 +2832,7 @@ CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_OF=m CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2804,7 +2854,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -2838,8 +2887,9 @@ CONFIG_MOVABLE_NODE=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -2938,6 +2988,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -2981,11 +3032,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3107,6 +3162,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3552,16 +3608,20 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set # CONFIG_PCIEPORTBUS is not set CONFIG_PCIE_PTM=y CONFIG_PCI_HERMES=m CONFIG_PCI_IOV=y +# CONFIG_PCI_MSI_IRQ_DOMAIN is not set CONFIG_PCI_MSI=y CONFIG_PCI_PASID=y CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3603,7 +3663,6 @@ CONFIG_PID_NS=y # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set @@ -3654,8 +3713,10 @@ CONFIG_PPC64=y # CONFIG_PPC_83xx is not set # CONFIG_PPC_86xx is not set # CONFIG_PPC_CELL is not set +CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN=y CONFIG_PPC_DENORMALISATION=y CONFIG_PPC_DISABLE_WERROR=y +CONFIG_PPC_DT_CPU_FTRS=y # CONFIG_PPC_EARLY_DEBUG is not set CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_EPAPR_HV_BYTECHAN is not set @@ -3793,6 +3854,7 @@ CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_RAPIDIO is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -3833,9 +3895,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -3869,6 +3932,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4000,6 +4064,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4211,6 +4276,7 @@ CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m @@ -4494,7 +4560,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DEBUG=y CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4510,7 +4576,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4544,6 +4612,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4551,8 +4620,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y CONFIG_SND_KORG1212=m @@ -4599,6 +4668,8 @@ CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4613,6 +4684,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4626,7 +4698,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m # CONFIG_SND_SOC_ES8328 is not set # CONFIG_SND_SOC_FSL_ASOC_CARD is not set # CONFIG_SND_SOC_FSL_ASRC is not set @@ -4645,10 +4719,12 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC is not set # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4720,8 +4796,8 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m @@ -4737,7 +4813,7 @@ CONFIG_SONY_FF=y CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y # CONFIG_SOUND_PRIME is not set -# CONFIG_SPAPR_TCE_IOMMU is not set +CONFIG_SPAPR_TCE_IOMMU=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPARSE_RCU_POINTER=y @@ -4773,6 +4849,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -4833,6 +4910,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -4856,6 +4934,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m # CONFIG_TCG_TIS_I2C_ATMEL is not set @@ -4896,6 +4975,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -4921,6 +5001,7 @@ CONFIG_TEST_LIST_SORT=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -4945,6 +5026,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -5017,6 +5099,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -5059,11 +5142,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5274,6 +5362,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5283,6 +5372,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5430,7 +5520,7 @@ CONFIG_VETH=m # CONFIG_VF610_ADC is not set # CONFIG_VF610_DAC is not set CONFIG_VFAT_FS=m -CONFIG_VFIO_IOMMU_TYPE1=m +# CONFIG_VFIO_IOMMU_TYPE1 is not set CONFIG_VFIO=m CONFIG_VFIO_MDEV_DEVICE=m CONFIG_VFIO_MDEV=m @@ -5557,6 +5647,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5565,6 +5656,7 @@ CONFIG_VLSI_FIR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m CONFIG_VSX=y # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set @@ -5593,6 +5685,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5668,6 +5761,7 @@ CONFIG_WQ_WATCHDOG=y # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_PTDUMP=y CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_STATISTICS=y @@ -5715,3 +5809,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-ppc64.config b/kernel-ppc64.config index a793d5527..de5284ba0 100644 --- a/kernel-ppc64.config +++ b/kernel-ppc64.config @@ -118,6 +118,8 @@ CONFIG_ADB=y # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -175,6 +177,7 @@ CONFIG_APPLE_AIRPORT=m CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y # CONFIG_AS3935 is not set CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYNC_RAID6_TEST=m @@ -298,6 +301,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -328,6 +332,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_SBS is not set @@ -351,6 +356,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set CONFIG_BE2ISCSI=m @@ -358,6 +364,7 @@ CONFIG_BE2ISCSI=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -388,7 +395,6 @@ CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m CONFIG_BLK_DEV_GENERIC=y -# CONFIG_BLK_DEV_HD is not set # CONFIG_BLK_DEV_HPT366 is not set CONFIG_BLK_DEV_IDECD=m # CONFIG_BLK_DEV_IDECS is not set @@ -440,6 +446,7 @@ CONFIG_BLK_DEV_SR=y # CONFIG_BLK_DEV_SVWKS is not set CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_TC86C001 is not set +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_TRIFLEX is not set # CONFIG_BLK_DEV_TRM290 is not set @@ -547,6 +554,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -595,16 +603,19 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set # CONFIG_CAN_MPC5XXX is not set # CONFIG_CAN_MSCAN is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -618,6 +629,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y CONFIG_CAPI_EICON=y @@ -637,6 +649,7 @@ CONFIG_CB710_CORE=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -737,6 +750,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set # CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI570 is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_COMMON_RESET_HI3660 is not set @@ -805,11 +819,13 @@ CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_CRC32C_VPMSUM=m CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m # CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m # CONFIG_CRYPTO_DEV_FSL_CAAM is not set CONFIG_CRYPTO_DEV_HIFN_795X=m @@ -822,7 +838,7 @@ CONFIG_CRYPTO_DEV_NX=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m CONFIG_CRYPTO_DEV_VMX=y -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -879,6 +895,7 @@ CONFIG_CRYPTO_USER_API_RNG=y CONFIG_CRYPTO_USER_API_SKCIPHER=y CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_VMAC=m +# CONFIG_CRYPTO_VPMSUM_TESTER is not set CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_XTS=y @@ -1007,6 +1024,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m +CONFIG_DM_INTEGRITY=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_MIRROR=y @@ -1048,8 +1066,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_HISI_HIBMC=m CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_I2C_ADV7511=m @@ -1059,7 +1079,9 @@ CONFIG_DRM_I2C_NXP_TDA998X=m CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set CONFIG_DRM=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1068,13 +1090,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set +# CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set +# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1186,6 +1217,7 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1194,8 +1226,8 @@ CONFIG_EDAC_AMD8111=m CONFIG_EDAC_AMD8131=m CONFIG_EDAC_CPC925=m # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m # CONFIG_EDAC_MPC85XX is not set CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m @@ -1244,7 +1276,6 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y # CONFIG_EXTCON_ADC_JACK is not set -CONFIG_EXTCON_INTEL_INT3496=m # CONFIG_EXTCON is not set # CONFIG_EXTCON_QCOM_SPMI_MISC is not set CONFIG_EXTRA_FIRMWARE="" @@ -1461,6 +1492,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_IT87 is not set @@ -1502,6 +1534,7 @@ CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y # CONFIG_HCALL_STATS is not set +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -1513,6 +1546,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set # CONFIG_HIBERNATION is not set CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1556,6 +1590,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1577,12 +1612,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1733,6 +1770,7 @@ CONFIG_I2C=m CONFIG_I2C_MLXCPLD=m CONFIG_I2C_MPC=m # CONFIG_I2C_MUX_GPIO is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set @@ -1795,6 +1833,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -1930,7 +1970,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set # CONFIG_INPUT_PCSPKR is not set @@ -1959,6 +1998,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_SPI is not set CONFIG_IO_EVENT_IRQ=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2140,6 +2180,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2238,6 +2279,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2363,7 +2406,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set # CONFIG_LEDS_IS31FL319X is not set # CONFIG_LEDS_IS31FL32XX is not set @@ -2437,7 +2479,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2450,6 +2491,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2479,6 +2521,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2519,14 +2563,17 @@ CONFIG_MARVELL_PHY=m # CONFIG_MATH_EMULATION is not set # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 # CONFIG_MC3230 is not set @@ -2565,6 +2612,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2619,7 +2667,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=m -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set @@ -2629,7 +2677,6 @@ CONFIG_MFD_CPCAP=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_KEMPLD is not set @@ -2670,6 +2717,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2720,6 +2768,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -2762,6 +2811,7 @@ CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_OF=m CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2782,7 +2832,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -2816,8 +2865,9 @@ CONFIG_MOVABLE_NODE=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -2916,6 +2966,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -2959,11 +3010,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3085,6 +3140,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3530,16 +3586,20 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set # CONFIG_PCIEPORTBUS is not set CONFIG_PCIE_PTM=y CONFIG_PCI_HERMES=m CONFIG_PCI_IOV=y +# CONFIG_PCI_MSI_IRQ_DOMAIN is not set CONFIG_PCI_MSI=y CONFIG_PCI_PASID=y CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3581,7 +3641,6 @@ CONFIG_PID_NS=y # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set @@ -3632,8 +3691,10 @@ CONFIG_PPC64=y # CONFIG_PPC_83xx is not set # CONFIG_PPC_86xx is not set # CONFIG_PPC_CELL is not set +CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN=y CONFIG_PPC_DENORMALISATION=y CONFIG_PPC_DISABLE_WERROR=y +CONFIG_PPC_DT_CPU_FTRS=y # CONFIG_PPC_EARLY_DEBUG is not set CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_EPAPR_HV_BYTECHAN is not set @@ -3770,6 +3831,7 @@ CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_RAPIDIO is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -3810,9 +3872,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -3846,6 +3909,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -3977,6 +4041,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4188,6 +4253,7 @@ CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m @@ -4471,7 +4537,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG is not set # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4487,7 +4553,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4521,6 +4589,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4528,8 +4597,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y CONFIG_SND_KORG1212=m @@ -4575,6 +4644,8 @@ CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4589,6 +4660,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4602,7 +4674,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m # CONFIG_SND_SOC_ES8328 is not set # CONFIG_SND_SOC_FSL_ASOC_CARD is not set # CONFIG_SND_SOC_FSL_ASRC is not set @@ -4621,10 +4695,12 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC is not set # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4696,8 +4772,8 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y # CONFIG_SND_VERBOSE_PRINTK is not set CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m @@ -4713,7 +4789,7 @@ CONFIG_SONY_FF=y CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y # CONFIG_SOUND_PRIME is not set -# CONFIG_SPAPR_TCE_IOMMU is not set +CONFIG_SPAPR_TCE_IOMMU=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPARSE_RCU_POINTER=y @@ -4749,6 +4825,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -4809,6 +4886,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -4832,6 +4910,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m # CONFIG_TCG_TIS_I2C_ATMEL is not set @@ -4872,6 +4951,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -4897,6 +4977,7 @@ CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -4921,6 +5002,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -4993,6 +5075,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -5035,11 +5118,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5250,6 +5338,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5259,6 +5348,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5406,7 +5496,7 @@ CONFIG_VETH=m # CONFIG_VF610_ADC is not set # CONFIG_VF610_DAC is not set CONFIG_VFAT_FS=m -CONFIG_VFIO_IOMMU_TYPE1=m +# CONFIG_VFIO_IOMMU_TYPE1 is not set CONFIG_VFIO=m CONFIG_VFIO_MDEV_DEVICE=m CONFIG_VFIO_MDEV=m @@ -5533,6 +5623,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5541,6 +5632,7 @@ CONFIG_VLSI_FIR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m CONFIG_VSX=y # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set @@ -5569,6 +5661,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5644,6 +5737,7 @@ CONFIG_WM8350_WATCHDOG=m # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set +CONFIG_X86_MCELOG_LEGACY=y # CONFIG_X86_PTDUMP is not set CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_STATISTICS=y @@ -5691,3 +5785,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config index c40265de2..7e734fb90 100644 --- a/kernel-ppc64le-debug.config +++ b/kernel-ppc64le-debug.config @@ -115,6 +115,8 @@ CONFIG_ADB_PMU_LED_DISK=y # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -169,6 +171,7 @@ CONFIG_APM_POWER=m CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_PTDUMP=y # CONFIG_AS3935 is not set CONFIG_ASYMMETRIC_KEY_TYPE=y @@ -293,6 +296,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -323,6 +327,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_SBS is not set @@ -346,6 +351,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set CONFIG_BE2ISCSI=m @@ -353,6 +359,7 @@ CONFIG_BE2ISCSI=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -374,7 +381,6 @@ CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -401,6 +407,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -505,6 +512,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -553,16 +561,19 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set # CONFIG_CAN_MPC5XXX is not set # CONFIG_CAN_MSCAN is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -576,6 +587,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y CONFIG_CAPI_EICON=y @@ -595,6 +607,7 @@ CONFIG_CB710_CORE=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -695,6 +708,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set # CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI570 is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_COMMON_RESET_HI3660 is not set @@ -762,11 +776,13 @@ CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_CRC32C_VPMSUM=m CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m # CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m # CONFIG_CRYPTO_DEV_FSL_CAAM is not set CONFIG_CRYPTO_DEV_HIFN_795X=m @@ -779,7 +795,7 @@ CONFIG_CRYPTO_DEV_NX=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m CONFIG_CRYPTO_DEV_VMX=y -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -836,6 +852,7 @@ CONFIG_CRYPTO_USER_API_RNG=y CONFIG_CRYPTO_USER_API_SKCIPHER=y CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_VMAC=m +# CONFIG_CRYPTO_VPMSUM_TESTER is not set CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_XTS=y @@ -974,6 +991,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m +CONFIG_DM_INTEGRITY=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_MIRROR=y @@ -1015,8 +1033,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_HISI_HIBMC=m CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_I2C_ADV7511=m @@ -1026,7 +1046,9 @@ CONFIG_DRM_I2C_NXP_TDA998X=m CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set CONFIG_DRM=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1035,13 +1057,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set +# CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set +# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1153,14 +1184,15 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_CPC925 is not set # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m # CONFIG_EDAC_MPC85XX is not set CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m @@ -1209,7 +1241,6 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y # CONFIG_EXTCON_ADC_JACK is not set -CONFIG_EXTCON_INTEL_INT3496=m # CONFIG_EXTCON is not set # CONFIG_EXTCON_QCOM_SPMI_MISC is not set CONFIG_EXTRA_FIRMWARE="" @@ -1433,6 +1464,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_IT87 is not set @@ -1474,6 +1506,7 @@ CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y # CONFIG_HCALL_STATS is not set +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -1485,6 +1518,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set # CONFIG_HIBERNATION is not set CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1528,6 +1562,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1549,12 +1584,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1704,6 +1741,7 @@ CONFIG_I2C=m CONFIG_I2C_MLXCPLD=m CONFIG_I2C_MPC=m # CONFIG_I2C_MUX_GPIO is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set @@ -1759,6 +1797,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -1894,7 +1934,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set # CONFIG_INPUT_PCSPKR is not set @@ -1923,6 +1962,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_SPI is not set CONFIG_IO_EVENT_IRQ=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2104,6 +2144,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2202,6 +2243,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2329,7 +2372,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set # CONFIG_LEDS_IS31FL319X is not set # CONFIG_LEDS_IS31FL32XX is not set @@ -2403,7 +2445,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2416,6 +2457,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2445,6 +2487,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2485,14 +2529,17 @@ CONFIG_MARVELL_PHY=m # CONFIG_MATH_EMULATION is not set # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y @@ -2532,6 +2579,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2586,7 +2634,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=m -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set @@ -2596,7 +2644,6 @@ CONFIG_MFD_CPCAP=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_KEMPLD is not set @@ -2637,6 +2684,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2687,6 +2735,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -2729,6 +2778,7 @@ CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_OF=m CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2749,7 +2799,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -2783,8 +2832,9 @@ CONFIG_MOVABLE_NODE=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -2883,6 +2933,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -2926,11 +2977,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3052,6 +3107,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3495,16 +3551,20 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set # CONFIG_PCIEPORTBUS is not set CONFIG_PCIE_PTM=y CONFIG_PCI_HERMES=m CONFIG_PCI_IOV=y +# CONFIG_PCI_MSI_IRQ_DOMAIN is not set CONFIG_PCI_MSI=y CONFIG_PCI_PASID=y CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3546,7 +3606,6 @@ CONFIG_PID_NS=y # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set @@ -3594,8 +3653,10 @@ CONFIG_PPC64=y # CONFIG_PPC_83xx is not set # CONFIG_PPC_86xx is not set # CONFIG_PPC_CELL is not set +CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN=y CONFIG_PPC_DENORMALISATION=y CONFIG_PPC_DISABLE_WERROR=y +CONFIG_PPC_DT_CPU_FTRS=y # CONFIG_PPC_EARLY_DEBUG is not set CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_EPAPR_HV_BYTECHAN is not set @@ -3733,6 +3794,7 @@ CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_RAPIDIO is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -3773,9 +3835,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -3809,6 +3872,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -3940,6 +4004,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4151,6 +4216,7 @@ CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m @@ -4425,7 +4491,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DEBUG=y CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4441,7 +4507,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4475,6 +4543,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4482,8 +4551,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y CONFIG_SND_KORG1212=m @@ -4528,6 +4597,8 @@ CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4542,6 +4613,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4555,7 +4627,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m # CONFIG_SND_SOC_ES8328 is not set # CONFIG_SND_SOC_FSL_ASOC_CARD is not set # CONFIG_SND_SOC_FSL_ASRC is not set @@ -4574,10 +4648,12 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC is not set # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4649,8 +4725,8 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m @@ -4666,7 +4742,7 @@ CONFIG_SONY_FF=y CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y # CONFIG_SOUND_PRIME is not set -# CONFIG_SPAPR_TCE_IOMMU is not set +CONFIG_SPAPR_TCE_IOMMU=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPARSE_RCU_POINTER=y @@ -4702,6 +4778,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -4762,6 +4839,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -4785,6 +4863,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m # CONFIG_TCG_TIS_I2C_ATMEL is not set @@ -4825,6 +4904,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -4850,6 +4930,7 @@ CONFIG_TEST_LIST_SORT=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -4874,6 +4955,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -4946,6 +5028,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -4988,11 +5071,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5203,6 +5291,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5212,6 +5301,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5359,7 +5449,7 @@ CONFIG_VETH=m # CONFIG_VF610_ADC is not set # CONFIG_VF610_DAC is not set CONFIG_VFAT_FS=m -CONFIG_VFIO_IOMMU_TYPE1=m +# CONFIG_VFIO_IOMMU_TYPE1 is not set CONFIG_VFIO=m CONFIG_VFIO_MDEV_DEVICE=m CONFIG_VFIO_MDEV=m @@ -5486,6 +5576,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5494,6 +5585,7 @@ CONFIG_VLSI_FIR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m CONFIG_VSX=y # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set @@ -5522,6 +5614,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5591,6 +5684,7 @@ CONFIG_WQ_WATCHDOG=y # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_PTDUMP=y CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_STATISTICS=y @@ -5638,3 +5732,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-ppc64le.config b/kernel-ppc64le.config index 915390b15..4e6b87062 100644 --- a/kernel-ppc64le.config +++ b/kernel-ppc64le.config @@ -115,6 +115,8 @@ CONFIG_ADB_PMU_LED_DISK=y # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -169,6 +171,7 @@ CONFIG_APM_POWER=m CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y # CONFIG_AS3935 is not set CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYNC_RAID6_TEST=m @@ -292,6 +295,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -322,6 +326,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_SBS is not set @@ -345,6 +350,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set CONFIG_BE2ISCSI=m @@ -352,6 +358,7 @@ CONFIG_BE2ISCSI=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -373,7 +380,6 @@ CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -400,6 +406,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -504,6 +511,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -552,16 +560,19 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set # CONFIG_CAN_MPC5XXX is not set # CONFIG_CAN_MSCAN is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -575,6 +586,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y CONFIG_CAPI_EICON=y @@ -594,6 +606,7 @@ CONFIG_CB710_CORE=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -694,6 +707,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set # CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI570 is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_COMMON_RESET_HI3660 is not set @@ -760,11 +774,13 @@ CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_CRC32C_VPMSUM=m CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m # CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m # CONFIG_CRYPTO_DEV_FSL_CAAM is not set CONFIG_CRYPTO_DEV_HIFN_795X=m @@ -777,7 +793,7 @@ CONFIG_CRYPTO_DEV_NX=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m CONFIG_CRYPTO_DEV_VMX=y -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -834,6 +850,7 @@ CONFIG_CRYPTO_USER_API_RNG=y CONFIG_CRYPTO_USER_API_SKCIPHER=y CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_VMAC=m +# CONFIG_CRYPTO_VPMSUM_TESTER is not set CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_XTS=y @@ -963,6 +980,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m +CONFIG_DM_INTEGRITY=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_MIRROR=y @@ -1004,8 +1022,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_HISI_HIBMC=m CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_I2C_ADV7511=m @@ -1015,7 +1035,9 @@ CONFIG_DRM_I2C_NXP_TDA998X=m CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set CONFIG_DRM=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1024,13 +1046,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set +# CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set +# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1142,14 +1173,15 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_CPC925 is not set # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m # CONFIG_EDAC_MPC85XX is not set CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m @@ -1198,7 +1230,6 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y # CONFIG_EXTCON_ADC_JACK is not set -CONFIG_EXTCON_INTEL_INT3496=m # CONFIG_EXTCON is not set # CONFIG_EXTCON_QCOM_SPMI_MISC is not set CONFIG_EXTRA_FIRMWARE="" @@ -1415,6 +1446,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_IT87 is not set @@ -1456,6 +1488,7 @@ CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y # CONFIG_HCALL_STATS is not set +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -1467,6 +1500,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set # CONFIG_HIBERNATION is not set CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1510,6 +1544,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1531,12 +1566,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1686,6 +1723,7 @@ CONFIG_I2C=m CONFIG_I2C_MLXCPLD=m CONFIG_I2C_MPC=m # CONFIG_I2C_MUX_GPIO is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set @@ -1741,6 +1779,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -1876,7 +1916,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set # CONFIG_INPUT_PCSPKR is not set @@ -1905,6 +1944,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_SPI is not set CONFIG_IO_EVENT_IRQ=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2086,6 +2126,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2184,6 +2225,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2309,7 +2352,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set # CONFIG_LEDS_IS31FL319X is not set # CONFIG_LEDS_IS31FL32XX is not set @@ -2383,7 +2425,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2396,6 +2437,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2425,6 +2467,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2465,14 +2509,17 @@ CONFIG_MARVELL_PHY=m # CONFIG_MATH_EMULATION is not set # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 # CONFIG_MC3230 is not set @@ -2511,6 +2558,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2565,7 +2613,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=m -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set @@ -2575,7 +2623,6 @@ CONFIG_MFD_CPCAP=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_KEMPLD is not set @@ -2616,6 +2663,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2666,6 +2714,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -2708,6 +2757,7 @@ CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_OF=m CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2727,7 +2777,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -2761,8 +2810,9 @@ CONFIG_MOVABLE_NODE=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -2861,6 +2911,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -2904,11 +2955,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3030,6 +3085,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3473,16 +3529,20 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set # CONFIG_PCIEPORTBUS is not set CONFIG_PCIE_PTM=y CONFIG_PCI_HERMES=m CONFIG_PCI_IOV=y +# CONFIG_PCI_MSI_IRQ_DOMAIN is not set CONFIG_PCI_MSI=y CONFIG_PCI_PASID=y CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3524,7 +3584,6 @@ CONFIG_PID_NS=y # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set @@ -3572,8 +3631,10 @@ CONFIG_PPC64=y # CONFIG_PPC_83xx is not set # CONFIG_PPC_86xx is not set # CONFIG_PPC_CELL is not set +CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN=y CONFIG_PPC_DENORMALISATION=y CONFIG_PPC_DISABLE_WERROR=y +CONFIG_PPC_DT_CPU_FTRS=y # CONFIG_PPC_EARLY_DEBUG is not set CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_EPAPR_HV_BYTECHAN is not set @@ -3710,6 +3771,7 @@ CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_RAPIDIO is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -3750,9 +3812,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -3786,6 +3849,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -3917,6 +3981,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4128,6 +4193,7 @@ CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m @@ -4402,7 +4468,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG is not set # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4418,7 +4484,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4452,6 +4520,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4459,8 +4528,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y CONFIG_SND_KORG1212=m @@ -4504,6 +4573,8 @@ CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4518,6 +4589,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4531,7 +4603,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m # CONFIG_SND_SOC_ES8328 is not set # CONFIG_SND_SOC_FSL_ASOC_CARD is not set # CONFIG_SND_SOC_FSL_ASRC is not set @@ -4550,10 +4624,12 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC is not set # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4625,8 +4701,8 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y # CONFIG_SND_VERBOSE_PRINTK is not set CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m @@ -4642,7 +4718,7 @@ CONFIG_SONY_FF=y CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y # CONFIG_SOUND_PRIME is not set -# CONFIG_SPAPR_TCE_IOMMU is not set +CONFIG_SPAPR_TCE_IOMMU=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPARSE_RCU_POINTER=y @@ -4678,6 +4754,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -4738,6 +4815,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -4761,6 +4839,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m # CONFIG_TCG_TIS_I2C_ATMEL is not set @@ -4801,6 +4880,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -4826,6 +4906,7 @@ CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -4850,6 +4931,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -4922,6 +5004,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -4964,11 +5047,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5179,6 +5267,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5188,6 +5277,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5335,7 +5425,7 @@ CONFIG_VETH=m # CONFIG_VF610_ADC is not set # CONFIG_VF610_DAC is not set CONFIG_VFAT_FS=m -CONFIG_VFIO_IOMMU_TYPE1=m +# CONFIG_VFIO_IOMMU_TYPE1 is not set CONFIG_VFIO=m CONFIG_VFIO_MDEV_DEVICE=m CONFIG_VFIO_MDEV=m @@ -5462,6 +5552,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5470,6 +5561,7 @@ CONFIG_VLSI_FIR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m CONFIG_VSX=y # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set @@ -5498,6 +5590,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5567,6 +5660,7 @@ CONFIG_WM8350_WATCHDOG=m # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set +CONFIG_X86_MCELOG_LEGACY=y # CONFIG_X86_PTDUMP is not set CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_STATISTICS=y @@ -5614,3 +5708,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-ppc64p7-debug.config b/kernel-ppc64p7-debug.config index 0a5afe940..5b666cbee 100644 --- a/kernel-ppc64p7-debug.config +++ b/kernel-ppc64p7-debug.config @@ -115,6 +115,8 @@ CONFIG_ADB_PMU_LED_DISK=y # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -169,6 +171,7 @@ CONFIG_APM_POWER=m CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_PTDUMP=y # CONFIG_AS3935 is not set CONFIG_ASYMMETRIC_KEY_TYPE=y @@ -293,6 +296,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -323,6 +327,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_SBS is not set @@ -346,6 +351,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set CONFIG_BE2ISCSI=m @@ -353,6 +359,7 @@ CONFIG_BE2ISCSI=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -374,7 +381,6 @@ CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -401,6 +407,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -505,6 +512,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -553,16 +561,19 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set # CONFIG_CAN_MPC5XXX is not set # CONFIG_CAN_MSCAN is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -576,6 +587,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y CONFIG_CAPI_EICON=y @@ -595,6 +607,7 @@ CONFIG_CB710_CORE=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -695,6 +708,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set # CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI570 is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_COMMON_RESET_HI3660 is not set @@ -762,11 +776,13 @@ CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_CRC32C_VPMSUM=m CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m # CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m # CONFIG_CRYPTO_DEV_FSL_CAAM is not set CONFIG_CRYPTO_DEV_HIFN_795X=m @@ -779,7 +795,7 @@ CONFIG_CRYPTO_DEV_NX=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m CONFIG_CRYPTO_DEV_VMX=y -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -836,6 +852,7 @@ CONFIG_CRYPTO_USER_API_RNG=y CONFIG_CRYPTO_USER_API_SKCIPHER=y CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_VMAC=m +# CONFIG_CRYPTO_VPMSUM_TESTER is not set CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_XTS=y @@ -973,6 +990,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m +CONFIG_DM_INTEGRITY=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_MIRROR=y @@ -1014,8 +1032,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_HISI_HIBMC=m CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_I2C_ADV7511=m @@ -1025,7 +1045,9 @@ CONFIG_DRM_I2C_NXP_TDA998X=m CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set CONFIG_DRM=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1034,13 +1056,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set +# CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set +# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1152,14 +1183,15 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_CPC925 is not set # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m # CONFIG_EDAC_MPC85XX is not set CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m @@ -1208,7 +1240,6 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y # CONFIG_EXTCON_ADC_JACK is not set -CONFIG_EXTCON_INTEL_INT3496=m # CONFIG_EXTCON is not set # CONFIG_EXTCON_QCOM_SPMI_MISC is not set CONFIG_EXTRA_FIRMWARE="" @@ -1432,6 +1463,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_IT87 is not set @@ -1473,6 +1505,7 @@ CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y # CONFIG_HCALL_STATS is not set +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -1484,6 +1517,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set # CONFIG_HIBERNATION is not set CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1527,6 +1561,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1548,12 +1583,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1703,6 +1740,7 @@ CONFIG_I2C=m CONFIG_I2C_MLXCPLD=m CONFIG_I2C_MPC=m # CONFIG_I2C_MUX_GPIO is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set @@ -1758,6 +1796,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -1893,7 +1933,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set # CONFIG_INPUT_PCSPKR is not set @@ -1922,6 +1961,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_SPI is not set CONFIG_IO_EVENT_IRQ=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2103,6 +2143,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2201,6 +2242,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2328,7 +2371,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set # CONFIG_LEDS_IS31FL319X is not set # CONFIG_LEDS_IS31FL32XX is not set @@ -2402,7 +2444,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2415,6 +2456,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2444,6 +2486,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2484,14 +2528,17 @@ CONFIG_MARVELL_PHY=m # CONFIG_MATH_EMULATION is not set # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y @@ -2531,6 +2578,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2585,7 +2633,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=m -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set @@ -2595,7 +2643,6 @@ CONFIG_MFD_CPCAP=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_KEMPLD is not set @@ -2636,6 +2683,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2686,6 +2734,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -2728,6 +2777,7 @@ CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_OF=m CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2748,7 +2798,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -2782,8 +2831,9 @@ CONFIG_MOVABLE_NODE=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -2882,6 +2932,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -2925,11 +2976,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3051,6 +3106,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3494,16 +3550,20 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set # CONFIG_PCIEPORTBUS is not set CONFIG_PCIE_PTM=y CONFIG_PCI_HERMES=m CONFIG_PCI_IOV=y +# CONFIG_PCI_MSI_IRQ_DOMAIN is not set CONFIG_PCI_MSI=y CONFIG_PCI_PASID=y CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3545,7 +3605,6 @@ CONFIG_PID_NS=y # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set @@ -3593,8 +3652,10 @@ CONFIG_PPC64=y # CONFIG_PPC_83xx is not set # CONFIG_PPC_86xx is not set # CONFIG_PPC_CELL is not set +CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN=y CONFIG_PPC_DENORMALISATION=y CONFIG_PPC_DISABLE_WERROR=y +CONFIG_PPC_DT_CPU_FTRS=y # CONFIG_PPC_EARLY_DEBUG is not set CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_EPAPR_HV_BYTECHAN is not set @@ -3732,6 +3793,7 @@ CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_RAPIDIO is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -3772,9 +3834,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -3808,6 +3871,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -3939,6 +4003,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4150,6 +4215,7 @@ CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m @@ -4424,7 +4490,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DEBUG=y CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4440,7 +4506,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4474,6 +4542,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4481,8 +4550,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y CONFIG_SND_KORG1212=m @@ -4527,6 +4596,8 @@ CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4541,6 +4612,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4554,7 +4626,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m # CONFIG_SND_SOC_ES8328 is not set # CONFIG_SND_SOC_FSL_ASOC_CARD is not set # CONFIG_SND_SOC_FSL_ASRC is not set @@ -4573,10 +4647,12 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC is not set # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4648,8 +4724,8 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m @@ -4665,7 +4741,7 @@ CONFIG_SONY_FF=y CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y # CONFIG_SOUND_PRIME is not set -# CONFIG_SPAPR_TCE_IOMMU is not set +CONFIG_SPAPR_TCE_IOMMU=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPARSE_RCU_POINTER=y @@ -4701,6 +4777,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -4761,6 +4838,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -4784,6 +4862,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m # CONFIG_TCG_TIS_I2C_ATMEL is not set @@ -4824,6 +4903,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -4849,6 +4929,7 @@ CONFIG_TEST_LIST_SORT=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -4873,6 +4954,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -4945,6 +5027,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -4987,11 +5070,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5202,6 +5290,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5211,6 +5300,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5358,7 +5448,7 @@ CONFIG_VETH=m # CONFIG_VF610_ADC is not set # CONFIG_VF610_DAC is not set CONFIG_VFAT_FS=m -CONFIG_VFIO_IOMMU_TYPE1=m +# CONFIG_VFIO_IOMMU_TYPE1 is not set CONFIG_VFIO=m CONFIG_VFIO_MDEV_DEVICE=m CONFIG_VFIO_MDEV=m @@ -5485,6 +5575,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5493,6 +5584,7 @@ CONFIG_VLSI_FIR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m CONFIG_VSX=y # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set @@ -5521,6 +5613,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5590,6 +5683,7 @@ CONFIG_WQ_WATCHDOG=y # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_PTDUMP=y CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_STATISTICS=y @@ -5637,3 +5731,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-ppc64p7.config b/kernel-ppc64p7.config index e6fbcf5db..719bca476 100644 --- a/kernel-ppc64p7.config +++ b/kernel-ppc64p7.config @@ -115,6 +115,8 @@ CONFIG_ADB_PMU_LED_DISK=y # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -169,6 +171,7 @@ CONFIG_APM_POWER=m CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y # CONFIG_AS3935 is not set CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYNC_RAID6_TEST=m @@ -292,6 +295,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -322,6 +326,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_SBS is not set @@ -345,6 +350,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set CONFIG_BE2ISCSI=m @@ -352,6 +358,7 @@ CONFIG_BE2ISCSI=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -373,7 +380,6 @@ CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -400,6 +406,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m @@ -504,6 +511,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -552,16 +560,19 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set # CONFIG_CAN_MPC5XXX is not set # CONFIG_CAN_MSCAN is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -575,6 +586,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y CONFIG_CAPI_EICON=y @@ -594,6 +606,7 @@ CONFIG_CB710_CORE=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -694,6 +707,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set # CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI570 is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_COMMON_RESET_HI3660 is not set @@ -760,11 +774,13 @@ CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_CRC32C_VPMSUM=m CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m # CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m # CONFIG_CRYPTO_DEV_FSL_CAAM is not set CONFIG_CRYPTO_DEV_HIFN_795X=m @@ -777,7 +793,7 @@ CONFIG_CRYPTO_DEV_NX=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m CONFIG_CRYPTO_DEV_VMX=y -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -834,6 +850,7 @@ CONFIG_CRYPTO_USER_API_RNG=y CONFIG_CRYPTO_USER_API_SKCIPHER=y CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_VMAC=m +# CONFIG_CRYPTO_VPMSUM_TESTER is not set CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_XTS=y @@ -962,6 +979,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m +CONFIG_DM_INTEGRITY=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_MIRROR=y @@ -1003,8 +1021,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_HISI_HIBMC=m CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_I2C_ADV7511=m @@ -1014,7 +1034,9 @@ CONFIG_DRM_I2C_NXP_TDA998X=m CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set CONFIG_DRM=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1023,13 +1045,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set +# CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set +# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1141,14 +1172,15 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_CPC925 is not set # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m # CONFIG_EDAC_MPC85XX is not set CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m @@ -1197,7 +1229,6 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y # CONFIG_EXTCON_ADC_JACK is not set -CONFIG_EXTCON_INTEL_INT3496=m # CONFIG_EXTCON is not set # CONFIG_EXTCON_QCOM_SPMI_MISC is not set CONFIG_EXTRA_FIRMWARE="" @@ -1414,6 +1445,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_IT87 is not set @@ -1455,6 +1487,7 @@ CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y # CONFIG_HCALL_STATS is not set +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -1466,6 +1499,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set # CONFIG_HIBERNATION is not set CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1509,6 +1543,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1530,12 +1565,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1685,6 +1722,7 @@ CONFIG_I2C=m CONFIG_I2C_MLXCPLD=m CONFIG_I2C_MPC=m # CONFIG_I2C_MUX_GPIO is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set @@ -1740,6 +1778,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -1875,7 +1915,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set # CONFIG_INPUT_PCSPKR is not set @@ -1904,6 +1943,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_SPI is not set CONFIG_IO_EVENT_IRQ=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2085,6 +2125,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2183,6 +2224,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2308,7 +2351,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set # CONFIG_LEDS_IS31FL319X is not set # CONFIG_LEDS_IS31FL32XX is not set @@ -2382,7 +2424,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2395,6 +2436,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2424,6 +2466,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2464,14 +2508,17 @@ CONFIG_MARVELL_PHY=m # CONFIG_MATH_EMULATION is not set # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 # CONFIG_MC3230 is not set @@ -2510,6 +2557,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2564,7 +2612,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=m -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set @@ -2574,7 +2622,6 @@ CONFIG_MFD_CPCAP=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_KEMPLD is not set @@ -2615,6 +2662,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2665,6 +2713,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -2707,6 +2756,7 @@ CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_OF=m CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2726,7 +2776,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -2760,8 +2809,9 @@ CONFIG_MOVABLE_NODE=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -2860,6 +2910,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -2903,11 +2954,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3029,6 +3084,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3472,16 +3528,20 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set # CONFIG_PCIEPORTBUS is not set CONFIG_PCIE_PTM=y CONFIG_PCI_HERMES=m CONFIG_PCI_IOV=y +# CONFIG_PCI_MSI_IRQ_DOMAIN is not set CONFIG_PCI_MSI=y CONFIG_PCI_PASID=y CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3523,7 +3583,6 @@ CONFIG_PID_NS=y # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set @@ -3571,8 +3630,10 @@ CONFIG_PPC64=y # CONFIG_PPC_83xx is not set # CONFIG_PPC_86xx is not set # CONFIG_PPC_CELL is not set +CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN=y CONFIG_PPC_DENORMALISATION=y CONFIG_PPC_DISABLE_WERROR=y +CONFIG_PPC_DT_CPU_FTRS=y # CONFIG_PPC_EARLY_DEBUG is not set CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_EPAPR_HV_BYTECHAN is not set @@ -3709,6 +3770,7 @@ CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_RAPIDIO is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -3749,9 +3811,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -3785,6 +3848,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -3916,6 +3980,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4127,6 +4192,7 @@ CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m @@ -4401,7 +4467,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG is not set # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4417,7 +4483,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4451,6 +4519,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4458,8 +4527,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y CONFIG_SND_KORG1212=m @@ -4503,6 +4572,8 @@ CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4517,6 +4588,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4530,7 +4602,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m # CONFIG_SND_SOC_ES8328 is not set # CONFIG_SND_SOC_FSL_ASOC_CARD is not set # CONFIG_SND_SOC_FSL_ASRC is not set @@ -4549,10 +4623,12 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC is not set # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4624,8 +4700,8 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y # CONFIG_SND_VERBOSE_PRINTK is not set CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m @@ -4641,7 +4717,7 @@ CONFIG_SONY_FF=y CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y # CONFIG_SOUND_PRIME is not set -# CONFIG_SPAPR_TCE_IOMMU is not set +CONFIG_SPAPR_TCE_IOMMU=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPARSE_RCU_POINTER=y @@ -4677,6 +4753,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -4737,6 +4814,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -4760,6 +4838,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m # CONFIG_TCG_TIS_I2C_ATMEL is not set @@ -4800,6 +4879,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -4825,6 +4905,7 @@ CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -4849,6 +4930,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -4921,6 +5003,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -4963,11 +5046,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5178,6 +5266,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5187,6 +5276,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5334,7 +5424,7 @@ CONFIG_VETH=m # CONFIG_VF610_ADC is not set # CONFIG_VF610_DAC is not set CONFIG_VFAT_FS=m -CONFIG_VFIO_IOMMU_TYPE1=m +# CONFIG_VFIO_IOMMU_TYPE1 is not set CONFIG_VFIO=m CONFIG_VFIO_MDEV_DEVICE=m CONFIG_VFIO_MDEV=m @@ -5461,6 +5551,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5469,6 +5560,7 @@ CONFIG_VLSI_FIR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m CONFIG_VSX=y # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set @@ -5497,6 +5589,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5566,6 +5659,7 @@ CONFIG_WM8350_WATCHDOG=m # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set +CONFIG_X86_MCELOG_LEGACY=y # CONFIG_X86_PTDUMP is not set CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_STATISTICS=y @@ -5613,3 +5707,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config index c1a343c01..ea1ef6e3a 100644 --- a/kernel-s390x-debug.config +++ b/kernel-s390x-debug.config @@ -114,6 +114,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -169,7 +171,9 @@ CONFIG_APPLDATA_OS=m # CONFIG_APPLICOM is not set CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m +CONFIG_ARCH_RANDOM=y # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_PTDUMP=y # CONFIG_AS3935 is not set CONFIG_ASYMMETRIC_KEY_TYPE=y @@ -293,6 +297,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set # CONFIG_BACKLIGHT_CLASS_DEVICE is not set # CONFIG_BACKLIGHT_GENERIC is not set @@ -323,6 +328,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_SBS is not set @@ -346,6 +352,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set # CONFIG_BCMA is not set +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_BE2ISCSI is not set @@ -353,6 +360,7 @@ CONFIG_BCMGENET=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -374,7 +382,6 @@ CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -399,6 +406,7 @@ CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y # CONFIG_BLK_DEV_SX8 is not set +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set # CONFIG_BLK_DEV_UMEM is not set @@ -503,6 +511,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -550,14 +559,17 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m # CONFIG_CAN is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -571,6 +583,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y # CONFIG_CAPI_EICON is not set @@ -593,6 +606,7 @@ CONFIG_CCW=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD is not set # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -691,6 +705,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set # CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI570 is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_COMMON_RESET_HI3660 is not set @@ -765,11 +780,12 @@ CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DES_S390=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -969,6 +985,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m +CONFIG_DM_INTEGRITY=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_MIRROR=y @@ -1010,8 +1027,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_HISI_HIBMC=m CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_I2C_ADV7511=m @@ -1022,6 +1041,8 @@ CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1030,13 +1051,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set +# CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set +# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1148,13 +1178,14 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EADM_SCH=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set # CONFIG_ECHO is not set CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m # CONFIG_EEPROM_93XX46 is not set @@ -1202,7 +1233,6 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y # CONFIG_EXTCON_ADC_JACK is not set -CONFIG_EXTCON_INTEL_INT3496=m # CONFIG_EXTCON is not set # CONFIG_EXTCON_QCOM_SPMI_MISC is not set CONFIG_EXTRA_FIRMWARE="" @@ -1376,7 +1406,7 @@ CONFIG_GAMEPORT_NS558=m # CONFIG_GDB_SCRIPTS is not set # CONFIG_GENERIC_ADC_BATTERY is not set # CONFIG_GENERIC_ADC_THERMAL is not set -# CONFIG_GENERIC_PHY is not set +CONFIG_GENERIC_PHY=y CONFIG_GENEVE=m # CONFIG_GEN_RTC is not set CONFIG_GENWQE=m @@ -1403,6 +1433,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_IT87 is not set @@ -1440,6 +1471,7 @@ CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -1451,6 +1483,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1495,6 +1528,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1516,12 +1550,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1614,6 +1650,7 @@ CONFIG_HWLAT_TRACER=y # CONFIG_HWMON is not set CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_OMAP=m +CONFIG_HW_RANDOM_S390=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=m CONFIG_HW_RANDOM_VIRTIO=m @@ -1658,6 +1695,7 @@ CONFIG_I2C=m CONFIG_I2C_MLXCPLD=m # CONFIG_I2C_MUX_GPIO is not set # CONFIG_I2C_MUX is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set # CONFIG_I2C_MUX_PCA954x is not set @@ -1707,6 +1745,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m # CONFIG_IEEE802154_DRIVERS is not set CONFIG_IEEE802154_FAKELB=m @@ -1842,7 +1882,6 @@ CONFIG_INPUT_LEDS=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_MOUSE is not set -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_PCSPKR=m @@ -1870,6 +1909,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_IIO is not set # CONFIG_INV_MPU6050_SPI is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2050,6 +2090,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2149,6 +2190,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2269,7 +2312,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set # CONFIG_LEDS_IS31FL319X is not set # CONFIG_LEDS_IS31FL32XX is not set @@ -2342,7 +2384,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2355,6 +2396,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2383,6 +2425,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2422,15 +2466,19 @@ CONFIG_MARCH_ZEC12=y CONFIG_MARVELL_PHY=m # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set +CONFIG_MAX_PHYSMEM_BITS=46 CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y # CONFIG_MC3230 is not set @@ -2452,6 +2500,7 @@ CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_BUS_MUX_GPIO is not set # CONFIG_MDIO_BUS_MUX is not set # CONFIG_MDIO_BUS_MUX_MMIOREG is not set +CONFIG_MDIO_DEVICE=m # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_HISI_FEMAC is not set # CONFIG_MDIO_OCTEON is not set @@ -2468,6 +2517,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2521,7 +2571,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set # CONFIG_MFD_CORE is not set -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set @@ -2531,7 +2581,6 @@ CONFIG_MFD_CPCAP=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_KEMPLD is not set @@ -2572,6 +2621,7 @@ CONFIG_MFD_SM501_GPIO=y # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2621,6 +2671,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -2662,6 +2713,7 @@ CONFIG_MMC_SDHCI=m # CONFIG_MMC_SDHCI_OF is not set CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2682,7 +2734,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -2716,8 +2767,9 @@ CONFIG_MOVABLE_NODE=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -2812,6 +2864,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -2855,11 +2908,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -2982,6 +3039,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3289,6 +3347,7 @@ CONFIG_NOUVEAU_DEBUG=5 CONFIG_NOUVEAU_DEBUG_DEFAULT=3 # CONFIG_NOZOMI is not set CONFIG_NR_CPUS=64 +CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m # CONFIG_NTB is not set @@ -3418,10 +3477,13 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCI_HERMES=m CONFIG_PCI_IOV=y +# CONFIG_PCI_MSI_IRQ_DOMAIN is not set CONFIG_PCI_MSI=y CONFIG_PCI_NR_FUNCTIONS=64 CONFIG_PCI_PASID=y @@ -3429,6 +3491,7 @@ CONFIG_PCI_PASID=y CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3471,7 +3534,6 @@ CONFIG_PID_NS=y # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set @@ -3622,6 +3684,7 @@ CONFIG_RADIO_WL1273=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -3662,9 +3725,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -3698,6 +3762,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -3825,6 +3890,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -3837,6 +3903,7 @@ CONFIG_RTLLIB=m CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set CONFIG_S2IO=m +CONFIG_S390_CCW_IOMMU=y CONFIG_S390_GUEST_OLD_TRANSPORT=y CONFIG_S390_GUEST=y CONFIG_S390_HYPFS_FS=y @@ -4049,6 +4116,7 @@ CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m # CONFIG_SENSORS_APDS990X is not set CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m # CONFIG_SENSORS_BH1770 is not set CONFIG_SENSORS_DME1737=m @@ -4319,7 +4387,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DEBUG=y CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4335,7 +4403,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4369,6 +4439,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4376,8 +4447,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y CONFIG_SND_KORG1212=m @@ -4421,6 +4492,8 @@ CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4435,6 +4508,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4448,7 +4522,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m # CONFIG_SND_SOC_ES8328 is not set # CONFIG_SND_SOC_FSL_ASOC_CARD is not set # CONFIG_SND_SOC_FSL_ASRC is not set @@ -4467,10 +4543,12 @@ CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4542,8 +4620,8 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m @@ -4592,6 +4670,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -4651,6 +4730,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -4674,6 +4754,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m # CONFIG_TCG_TIS_I2C_ATMEL is not set @@ -4714,6 +4795,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -4739,6 +4821,7 @@ CONFIG_TEST_LIST_SORT=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -4763,6 +4846,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m # CONFIG_TIFM_CORE is not set +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -4841,6 +4925,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -4882,11 +4967,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5090,6 +5180,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5099,6 +5190,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5246,6 +5338,7 @@ CONFIG_VETH=m # CONFIG_VF610_ADC is not set # CONFIG_VF610_DAC is not set CONFIG_VFAT_FS=m +CONFIG_VFIO_CCW=m CONFIG_VFIO_IOMMU_TYPE1=m CONFIG_VFIO=m CONFIG_VFIO_MDEV_DEVICE=m @@ -5373,6 +5466,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5383,6 +5477,7 @@ CONFIG_VMLOGRDR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -5410,6 +5505,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5478,6 +5574,7 @@ CONFIG_WQ_WATCHDOG=y # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_PTDUMP=y CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_STATISTICS=y @@ -5521,3 +5618,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-s390x.config b/kernel-s390x.config index a036cb5ca..026a01195 100644 --- a/kernel-s390x.config +++ b/kernel-s390x.config @@ -114,6 +114,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -169,7 +171,9 @@ CONFIG_APPLDATA_OS=m # CONFIG_APPLICOM is not set CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m +CONFIG_ARCH_RANDOM=y # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y # CONFIG_AS3935 is not set CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYNC_RAID6_TEST=m @@ -292,6 +296,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set # CONFIG_BACKLIGHT_CLASS_DEVICE is not set # CONFIG_BACKLIGHT_GENERIC is not set @@ -322,6 +327,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_SBS is not set @@ -345,6 +351,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set # CONFIG_BCMA is not set +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_BE2ISCSI is not set @@ -352,6 +359,7 @@ CONFIG_BCMGENET=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -373,7 +381,6 @@ CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -398,6 +405,7 @@ CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y # CONFIG_BLK_DEV_SX8 is not set +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_UB is not set # CONFIG_BLK_DEV_UMEM is not set @@ -502,6 +510,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -549,14 +558,17 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m # CONFIG_CAN is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -570,6 +582,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y # CONFIG_CAPI_EICON is not set @@ -592,6 +605,7 @@ CONFIG_CCW=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD is not set # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -690,6 +704,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set # CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI570 is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_COMMON_RESET_HI3660 is not set @@ -763,11 +778,12 @@ CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DES_S390=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -958,6 +974,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m +CONFIG_DM_INTEGRITY=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_MIRROR=y @@ -999,8 +1016,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_HISI_HIBMC=m CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_I2C_ADV7511=m @@ -1011,6 +1030,8 @@ CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1019,13 +1040,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set +# CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set +# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1137,13 +1167,14 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EADM_SCH=m CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set # CONFIG_ECHO is not set CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_GHES=y CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m # CONFIG_EEPROM_93XX46 is not set @@ -1191,7 +1222,6 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y # CONFIG_EXTCON_ADC_JACK is not set -CONFIG_EXTCON_INTEL_INT3496=m # CONFIG_EXTCON is not set # CONFIG_EXTCON_QCOM_SPMI_MISC is not set CONFIG_EXTRA_FIRMWARE="" @@ -1358,7 +1388,7 @@ CONFIG_GAMEPORT_NS558=m # CONFIG_GDB_SCRIPTS is not set # CONFIG_GENERIC_ADC_BATTERY is not set # CONFIG_GENERIC_ADC_THERMAL is not set -# CONFIG_GENERIC_PHY is not set +CONFIG_GENERIC_PHY=y CONFIG_GENEVE=m # CONFIG_GEN_RTC is not set CONFIG_GENWQE=m @@ -1385,6 +1415,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_IT87 is not set @@ -1422,6 +1453,7 @@ CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -1433,6 +1465,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1477,6 +1510,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1498,12 +1532,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1596,6 +1632,7 @@ CONFIG_HWLAT_TRACER=y # CONFIG_HWMON is not set CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_OMAP=m +CONFIG_HW_RANDOM_S390=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=m CONFIG_HW_RANDOM_VIRTIO=m @@ -1640,6 +1677,7 @@ CONFIG_I2C=m CONFIG_I2C_MLXCPLD=m # CONFIG_I2C_MUX_GPIO is not set # CONFIG_I2C_MUX is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set # CONFIG_I2C_MUX_PCA954x is not set @@ -1689,6 +1727,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m # CONFIG_IEEE802154_DRIVERS is not set CONFIG_IEEE802154_FAKELB=m @@ -1824,7 +1864,6 @@ CONFIG_INPUT_LEDS=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_MOUSE is not set -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_PCSPKR=m @@ -1852,6 +1891,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_IIO is not set # CONFIG_INV_MPU6050_SPI is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2032,6 +2072,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2131,6 +2172,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2249,7 +2292,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set # CONFIG_LEDS_IS31FL319X is not set # CONFIG_LEDS_IS31FL32XX is not set @@ -2322,7 +2364,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2335,6 +2376,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +# CONFIG_LOAD_UEFI_KEYS is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2363,6 +2405,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2402,15 +2446,19 @@ CONFIG_MARCH_ZEC12=y CONFIG_MARVELL_PHY=m # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set +CONFIG_MAX_PHYSMEM_BITS=46 CONFIG_MAX_RAW_DEVS=8192 # CONFIG_MC3230 is not set # CONFIG_MCB is not set @@ -2431,6 +2479,7 @@ CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_BUS_MUX_GPIO is not set # CONFIG_MDIO_BUS_MUX is not set # CONFIG_MDIO_BUS_MUX_MMIOREG is not set +CONFIG_MDIO_DEVICE=m # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_HISI_FEMAC is not set # CONFIG_MDIO_OCTEON is not set @@ -2447,6 +2496,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2500,7 +2550,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set # CONFIG_MFD_CORE is not set -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set @@ -2510,7 +2560,6 @@ CONFIG_MFD_CPCAP=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_KEMPLD is not set @@ -2551,6 +2600,7 @@ CONFIG_MFD_SM501_GPIO=y # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2600,6 +2650,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -2641,6 +2692,7 @@ CONFIG_MMC_SDHCI=m # CONFIG_MMC_SDHCI_OF is not set CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2660,7 +2712,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -# CONFIG_MODULE_SIG_UEFI is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -2694,8 +2745,9 @@ CONFIG_MOVABLE_NODE=y # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -2790,6 +2842,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -2833,11 +2886,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -2960,6 +3017,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3267,6 +3325,7 @@ CONFIG_NOUVEAU_DEBUG=5 CONFIG_NOUVEAU_DEBUG_DEFAULT=3 # CONFIG_NOZOMI is not set CONFIG_NR_CPUS=64 +CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m # CONFIG_NTB is not set @@ -3396,10 +3455,13 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCI_HERMES=m CONFIG_PCI_IOV=y +# CONFIG_PCI_MSI_IRQ_DOMAIN is not set CONFIG_PCI_MSI=y CONFIG_PCI_NR_FUNCTIONS=64 CONFIG_PCI_PASID=y @@ -3407,6 +3469,7 @@ CONFIG_PCI_PASID=y CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3449,7 +3512,6 @@ CONFIG_PID_NS=y # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set @@ -3599,6 +3661,7 @@ CONFIG_RADIO_WL1273=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -3639,9 +3702,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -3675,6 +3739,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -3802,6 +3867,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -3814,6 +3880,7 @@ CONFIG_RTLLIB=m CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set CONFIG_S2IO=m +CONFIG_S390_CCW_IOMMU=y CONFIG_S390_GUEST_OLD_TRANSPORT=y CONFIG_S390_GUEST=y CONFIG_S390_HYPFS_FS=y @@ -4026,6 +4093,7 @@ CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m # CONFIG_SENSORS_APDS990X is not set CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m # CONFIG_SENSORS_BH1770 is not set CONFIG_SENSORS_DME1737=m @@ -4296,7 +4364,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG is not set # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4312,7 +4380,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4346,6 +4416,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4353,8 +4424,8 @@ CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set CONFIG_SND_ISIGHT=m CONFIG_SND_JACK=y CONFIG_SND_KORG1212=m @@ -4397,6 +4468,8 @@ CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4411,6 +4484,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4424,7 +4498,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m # CONFIG_SND_SOC_ES8328 is not set # CONFIG_SND_SOC_FSL_ASOC_CARD is not set # CONFIG_SND_SOC_FSL_ASRC is not set @@ -4443,10 +4519,12 @@ CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4518,8 +4596,8 @@ CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y # CONFIG_SND_VERBOSE_PRINTK is not set CONFIG_SND_VERBOSE_PROCFS=y -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m @@ -4568,6 +4646,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -4627,6 +4706,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -4650,6 +4730,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m # CONFIG_TCG_TIS_I2C_ATMEL is not set @@ -4690,6 +4771,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -4715,6 +4797,7 @@ CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -4739,6 +4822,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m # CONFIG_TIFM_CORE is not set +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -4817,6 +4901,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -4858,11 +4943,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5066,6 +5156,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5075,6 +5166,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5222,6 +5314,7 @@ CONFIG_VETH=m # CONFIG_VF610_ADC is not set # CONFIG_VF610_DAC is not set CONFIG_VFAT_FS=m +CONFIG_VFIO_CCW=m CONFIG_VFIO_IOMMU_TYPE1=m CONFIG_VFIO=m CONFIG_VFIO_MDEV_DEVICE=m @@ -5349,6 +5442,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5359,6 +5453,7 @@ CONFIG_VMLOGRDR=m # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -5386,6 +5481,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5454,6 +5550,7 @@ CONFIG_WM8350_WATCHDOG=m # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set +CONFIG_X86_MCELOG_LEGACY=y # CONFIG_X86_PTDUMP is not set CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_STATISTICS=y @@ -5497,3 +5594,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config index 9364257c1..98bf5347d 100644 --- a/kernel-x86_64-debug.config +++ b/kernel-x86_64-debug.config @@ -153,6 +153,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -190,7 +192,7 @@ CONFIG_AIC7XXX_RESET_DELAY_MS=15000 CONFIG_AIX_PARTITION=y # CONFIG_AK09911 is not set # CONFIG_AK8974 is not set -# CONFIG_AK8975 is not set +CONFIG_AK8975=m # CONFIG_AL3320A is not set CONFIG_ALIENWARE_WMI=m CONFIG_ALI_FIR=m @@ -222,6 +224,7 @@ CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m # CONFIG_ARCH_MEMORY_PROBE is not set # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_PTDUMP=y # CONFIG_AS3935 is not set CONFIG_ASUS_LAPTOP=m @@ -323,6 +326,11 @@ CONFIG_AUXDISPLAY=y # CONFIG_AVERAGE is not set CONFIG_AX25_DAMA_SLAVE=y CONFIG_AX25=m +# CONFIG_AXP20X_ADC is not set +# CONFIG_AXP20X_POWER is not set +CONFIG_AXP288_ADC=m +CONFIG_AXP288_CHARGER=m +CONFIG_AXP288_FUEL_GAUGE=m CONFIG_B43_BCMA_PIO=y CONFIG_B43_BCMA=y CONFIG_B43_DEBUG=y @@ -349,6 +357,7 @@ CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -379,8 +388,9 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set -# CONFIG_BATTERY_MAX17042 is not set +CONFIG_BATTERY_MAX17042=m # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -402,6 +412,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set CONFIG_BE2ISCSI=m @@ -409,6 +420,7 @@ CONFIG_BE2ISCSI=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -435,7 +447,6 @@ CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -461,6 +472,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_TRIFLEX is not set # CONFIG_BLK_DEV_UB is not set @@ -565,6 +577,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -614,14 +627,17 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -635,6 +651,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y CONFIG_CAPI_EICON=y @@ -656,6 +673,7 @@ CONFIG_CC_STACKPROTECTOR=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -686,7 +704,7 @@ CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_SCHED=y CONFIG_CGROUPS=y # CONFIG_CHARGER_BQ2415X is not set -# CONFIG_CHARGER_BQ24190 is not set +CONFIG_CHARGER_BQ24190=m # CONFIG_CHARGER_BQ24257 is not set # CONFIG_CHARGER_BQ24735 is not set # CONFIG_CHARGER_BQ25890 is not set @@ -715,6 +733,7 @@ CONFIG_CHR_DEV_ST=m CONFIG_CHROMEOS_LAPTOP=m CONFIG_CHROMEOS_PSTORE=m CONFIG_CHROME_PLATFORMS=y +CONFIG_CHT_WC_PMIC_OPREGION=y CONFIG_CICADA_PHY=m CONFIG_CIFS_ACL=y # CONFIG_CIFS_DEBUG2 is not set @@ -756,6 +775,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set # CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI570 is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_COMMON_RESET_HI3660 is not set @@ -847,6 +867,7 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m CONFIG_CRYPTO_DEV_CCP=y +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y @@ -860,7 +881,7 @@ CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -1035,6 +1056,7 @@ CONFIG_DELL_RBTN=m CONFIG_DELL_SMBIOS=m CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI_AIO=m +CONFIG_DELL_WMI_LED=m CONFIG_DELL_WMI=m CONFIG_DETECT_HUNG_TASK=y CONFIG_DEV_APPLETALK=m @@ -1081,6 +1103,7 @@ CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m CONFIG_DMIID=y +CONFIG_DM_INTEGRITY=m CONFIG_DMI_SYSFS=y CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m @@ -1124,8 +1147,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_GMA3600=y CONFIG_DRM_GMA500=m # CONFIG_DRM_GMA600 is not set @@ -1140,13 +1165,16 @@ CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_I915_ALPHA_SUPPORT is not set CONFIG_DRM_I915_CAPTURE_ERROR=y CONFIG_DRM_I915_COMPRESS_ERROR=y +# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set CONFIG_DRM_I915_GVT_KVMGT=m CONFIG_DRM_I915_GVT=y CONFIG_DRM_I915=m CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set CONFIG_DRM=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1155,16 +1183,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set +CONFIG_DRM_PANEL_LVDS=m # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1279,19 +1313,19 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_AMD64_ERROR_INJECTION is not set CONFIG_EDAC_AMD64=m -CONFIG_EDAC_AMD76X=m CONFIG_EDAC_AMD8111=m CONFIG_EDAC_AMD8131=m # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_E752X=m -CONFIG_EDAC_E7XXX=m +CONFIG_EDAC_GHES=y CONFIG_EDAC_I3000=m CONFIG_EDAC_I3200=m CONFIG_EDAC_I5000=m @@ -1299,14 +1333,10 @@ CONFIG_EDAC_I5100=m CONFIG_EDAC_I5400=m CONFIG_EDAC_I7300=m CONFIG_EDAC_I7CORE=m -CONFIG_EDAC_I82860=m -CONFIG_EDAC_I82875P=m CONFIG_EDAC_I82975X=m CONFIG_EDAC_IE31200=m CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_PND2=m -CONFIG_EDAC_R82600=m CONFIG_EDAC_SBRIDGE=m CONFIG_EDAC_SKX=m CONFIG_EDAC_X38=m @@ -1374,9 +1404,16 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y # CONFIG_EXTCON_ADC_JACK is not set +CONFIG_EXTCON_AXP288=m +# CONFIG_EXTCON_GPIO is not set +CONFIG_EXTCON_INTEL_CHT_WC=m CONFIG_EXTCON_INTEL_INT3496=m -# CONFIG_EXTCON is not set +CONFIG_EXTCON=m +# CONFIG_EXTCON_MAX3355 is not set # CONFIG_EXTCON_QCOM_SPMI_MISC is not set +# CONFIG_EXTCON_RT8973A is not set +# CONFIG_EXTCON_SM5502 is not set +# CONFIG_EXTCON_USB_GPIO is not set CONFIG_EXTRA_FIRMWARE="" # CONFIG_EZNPS_GIC is not set # CONFIG_EZX_PCAP is not set @@ -1593,12 +1630,14 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_AMDPT is not set +# CONFIG_GPIO_AXP209 is not set # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_CS5535 is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m # CONFIG_GPIO_F7188X is not set +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set CONFIG_GPIO_ICH=m @@ -1644,6 +1683,7 @@ CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HDMI_LPE_AUDIO=m CONFIG_HEADERS_CHECK=y @@ -1658,6 +1698,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1702,6 +1743,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1723,12 +1765,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1867,16 +1911,17 @@ CONFIG_I2C_AMD8111=m # CONFIG_I2C_CADENCE is not set # CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_CHARDEV=m +CONFIG_I2C_CHT_WC=m CONFIG_I2C_COMPAT=y # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEMUX_PINCTRL is not set CONFIG_I2C_DESIGNWARE_BAYTRAIL=y -CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_CORE=y # CONFIG_I2C_DESIGNWARE is not set -CONFIG_I2C_DESIGNWARE_PCI=m -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PCI=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set # CONFIG_I2C_EMEV2 is not set @@ -1888,6 +1933,7 @@ CONFIG_I2C_ISCH=m CONFIG_I2C_ISMT=m CONFIG_I2C_MLXCPLD=m # CONFIG_I2C_MUX_GPIO is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set @@ -1950,6 +1996,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -2032,6 +2080,7 @@ CONFIG_INFINIBAND_MTHCA=m CONFIG_INFINIBAND_NES=m CONFIG_INFINIBAND_OCRDMA=m CONFIG_INFINIBAND_ON_DEMAND_PAGING=y +CONFIG_INFINIBAND_OPA_VNIC=m # CONFIG_INFINIBAND_QEDR is not set CONFIG_INFINIBAND_QIB_DCA=y CONFIG_INFINIBAND_QIB=m @@ -2052,6 +2101,7 @@ CONFIG_INPUT_APANEL=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_ATLAS_BTNS=m # CONFIG_INPUT_ATMEL_CAPTOUCH is not set +CONFIG_INPUT_AXP20X_PEK=m # CONFIG_INPUT_BMA150 is not set CONFIG_INPUT_CM109=m CONFIG_INPUT_CMA3000_I2C=m @@ -2086,7 +2136,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_PCSPKR=m @@ -2109,10 +2158,13 @@ CONFIG_INPUT_YEALINK=m CONFIG_INT3406_THERMAL=m CONFIG_INT340X_THERMAL=m # CONFIG_INTEGRITY is not set +# CONFIG_INTEL_ATOMISP is not set CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y CONFIG_INTEL_IDMA64=m +CONFIG_INTEL_INT0002_VGPIO=m CONFIG_INTEL_IOATDMA=m # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y @@ -2141,6 +2193,7 @@ CONFIG_INTEL_RST=m # CONFIG_INTEL_SCU_IPC is not set CONFIG_INTEL_SMARTCONNECT=y CONFIG_INTEL_SOC_DTS_THERMAL=m +CONFIG_INTEL_SOC_PMIC_CHTWC=y CONFIG_INTEL_SOC_PMIC=y # CONFIG_INTEL_TH is not set CONFIG_INTEL_TURBO_MAX_3=y @@ -2148,12 +2201,13 @@ CONFIG_INTEL_TXT=y CONFIG_INTEL_VBTN=m CONFIG_INTEL_XWAY_PHY=m # CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_INV_MPU6050_I2C is not set -# CONFIG_INV_MPU6050_IIO is not set +CONFIG_INV_MPU6050_I2C=m +CONFIG_INV_MPU6050_IIO=m # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IOMMU_DEBUG is not set # CONFIG_IOMMU_STRESS is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2340,6 +2394,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2440,6 +2495,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2567,7 +2624,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set CONFIG_LEDS_INTEL_SS4200=m # CONFIG_LEDS_IS31FL319X is not set @@ -2643,7 +2699,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2656,6 +2711,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2684,6 +2740,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2723,14 +2781,17 @@ CONFIG_MANTIS_CORE=m CONFIG_MARVELL_PHY=m # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y @@ -2769,6 +2830,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2819,11 +2881,11 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_ASIC3 is not set # CONFIG_MFD_ATMEL_FLEXCOM is not set # CONFIG_MFD_ATMEL_HLCDC is not set -# CONFIG_MFD_AXP20X_I2C is not set -# CONFIG_MFD_AXP20X is not set +CONFIG_MFD_AXP20X_I2C=y +CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set @@ -2833,7 +2895,6 @@ CONFIG_MFD_CPCAP=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set CONFIG_MFD_INTEL_LPSS_ACPI=m CONFIG_MFD_INTEL_LPSS_PCI=m @@ -2877,6 +2938,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2931,6 +2993,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -2973,6 +3036,7 @@ CONFIG_MMC_SDHCI=m # CONFIG_MMC_SDHCI_OF is not set CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2994,7 +3058,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -CONFIG_MODULE_SIG_UEFI=y CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -3029,8 +3092,9 @@ CONFIG_MPILIB=y CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m # CONFIG_MPSC is not set -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -3135,6 +3199,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -3178,11 +3243,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3305,6 +3374,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3771,18 +3841,22 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCI_HERMES=m CONFIG_PCI_HYPERV=m CONFIG_PCI_IOV=y CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_MSI=y CONFIG_PCI_PASID=y CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3835,7 +3909,6 @@ CONFIG_PINCTRL_CHERRYVIEW=y # CONFIG_PINCTRL_MSM8994 is not set CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y @@ -3996,6 +4069,7 @@ CONFIG_RAID_ATTRS=m CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MEMORY=y # CONFIG_RAPIDIO is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4036,9 +4110,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=y CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -4072,6 +4147,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4199,6 +4275,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4414,6 +4491,7 @@ CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m @@ -4633,7 +4711,7 @@ CONFIG_SH_ETH=m # CONFIG_SIGMA is not set CONFIG_SIGMATEL_FIR=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y -# CONFIG_SILEAD_DMI is not set +CONFIG_SILEAD_DMI=y CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4701,7 +4779,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DEBUG=y CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4717,7 +4795,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4751,6 +4831,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4804,6 +4885,8 @@ CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4818,6 +4901,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4831,7 +4915,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_SPI=m @@ -4854,6 +4940,8 @@ CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m @@ -4870,10 +4958,12 @@ CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set CONFIG_SND_SOC_NAU8540=m # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -5007,6 +5097,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -5067,6 +5158,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -5131,6 +5223,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -5156,6 +5249,7 @@ CONFIG_TEST_LIST_SORT=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -5186,6 +5280,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -5263,6 +5358,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -5305,11 +5401,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5514,6 +5615,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5523,6 +5625,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5644,7 +5747,7 @@ CONFIG_USB_WDM=m CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m CONFIG_USB_XHCI_HCD=y -# CONFIG_USB_XHCI_PLATFORM is not set +CONFIG_USB_XHCI_PLATFORM=m CONFIG_USB_XUSBATM=m CONFIG_USB=y CONFIG_USB_YUREX=m @@ -5802,6 +5905,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5818,6 +5922,7 @@ CONFIG_VOP_BUS=m CONFIG_VOP=m CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -5845,6 +5950,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5933,6 +6039,7 @@ CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_MCE_AMD=y CONFIG_X86_MCE_INJECT=m CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_MCE=y CONFIG_X86_MPPARSE=y CONFIG_X86_MSR=y @@ -5966,6 +6073,7 @@ CONFIG_XEN_COMPAT_XENFS=y CONFIG_XEN_DEBUG_FS=y # CONFIG_XEN_DEBUG is not set CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_DOM0=y CONFIG_XEN_FBDEV_FRONTEND=y CONFIG_XENFS=m CONFIG_XEN_GNTDEV=m @@ -5975,7 +6083,9 @@ CONFIG_XEN_NETDEV_BACKEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_XEN_PVHVM=y CONFIG_XEN_PVH=y +CONFIG_XEN_PV=y CONFIG_XEN_SAVE_RESTORE=y CONFIG_XEN_SCRUB_PAGES=y CONFIG_XEN_SCSI_BACKEND=m @@ -6030,3 +6140,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel-x86_64.config b/kernel-x86_64.config index c65afc783..f1e7819cf 100644 --- a/kernel-x86_64.config +++ b/kernel-x86_64.config @@ -153,6 +153,8 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADM8211 is not set # CONFIG_ADT7316 is not set # CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -190,7 +192,7 @@ CONFIG_AIC7XXX_RESET_DELAY_MS=15000 CONFIG_AIX_PARTITION=y # CONFIG_AK09911 is not set # CONFIG_AK8974 is not set -# CONFIG_AK8975 is not set +CONFIG_AK8975=m # CONFIG_AL3320A is not set CONFIG_ALIENWARE_WMI=m CONFIG_ALI_FIR=m @@ -222,6 +224,7 @@ CONFIG_AQUANTIA_PHY=m CONFIG_AR5523=m # CONFIG_ARCH_MEMORY_PROBE is not set # CONFIG_ARCNET is not set +CONFIG_ARM64_ERRATUM_858921=y # CONFIG_AS3935 is not set CONFIG_ASUS_LAPTOP=m CONFIG_ASUS_NB_WMI=m @@ -322,6 +325,11 @@ CONFIG_AUXDISPLAY=y # CONFIG_AVERAGE is not set CONFIG_AX25_DAMA_SLAVE=y CONFIG_AX25=m +# CONFIG_AXP20X_ADC is not set +# CONFIG_AXP20X_POWER is not set +CONFIG_AXP288_ADC=m +CONFIG_AXP288_CHARGER=m +CONFIG_AXP288_FUEL_GAUGE=m CONFIG_B43_BCMA_PIO=y CONFIG_B43_BCMA=y # CONFIG_B43_DEBUG is not set @@ -348,6 +356,7 @@ CONFIG_B53_SRAB_DRIVER=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_ARCXCNN=m # CONFIG_BACKLIGHT_BD6107 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -378,8 +387,9 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set -# CONFIG_BATTERY_MAX17042 is not set +CONFIG_BATTERY_MAX17042=m # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -401,6 +411,7 @@ CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA=m +# CONFIG_BCM_FLEXRM_MBOX is not set CONFIG_BCMGENET=m # CONFIG_BCM_KONA_USB2_PHY is not set CONFIG_BE2ISCSI=m @@ -408,6 +419,7 @@ CONFIG_BE2ISCSI=m CONFIG_BE2NET=m # CONFIG_BEFS_DEBUG is not set CONFIG_BEFS_FS=m +CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFS_FS is not set CONFIG_BH1750=m # CONFIG_BH1780 is not set @@ -434,7 +446,6 @@ CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_FD=m -# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_IO_TRACE=y @@ -460,6 +471,7 @@ CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_TRIFLEX is not set # CONFIG_BLK_DEV_UB is not set @@ -564,6 +576,7 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIUART_NOKIA=m CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIVHCI=m CONFIG_BT_HIDP=m CONFIG_BT_HS=y @@ -613,14 +626,17 @@ CONFIG_CAN_ESD_USB2=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_LEDS=y CONFIG_CAN=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m # CONFIG_CAN_PEAK_PCMCIA is not set CONFIG_CAN_PEAK_USB=m @@ -634,6 +650,7 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m # CONFIG_CAN_TSCAN1 is not set CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m # CONFIG_CAN_XILINXCAN is not set CONFIG_CAPI_AVM=y CONFIG_CAPI_EICON=y @@ -655,6 +672,7 @@ CONFIG_CC_STACKPROTECTOR=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m CONFIG_CEPH_FS_POSIX_ACL=y @@ -685,7 +703,7 @@ CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_SCHED=y CONFIG_CGROUPS=y # CONFIG_CHARGER_BQ2415X is not set -# CONFIG_CHARGER_BQ24190 is not set +CONFIG_CHARGER_BQ24190=m # CONFIG_CHARGER_BQ24257 is not set # CONFIG_CHARGER_BQ24735 is not set # CONFIG_CHARGER_BQ25890 is not set @@ -714,6 +732,7 @@ CONFIG_CHR_DEV_ST=m CONFIG_CHROMEOS_LAPTOP=m CONFIG_CHROMEOS_PSTORE=m CONFIG_CHROME_PLATFORMS=y +CONFIG_CHT_WC_PMIC_OPREGION=y CONFIG_CICADA_PHY=m CONFIG_CIFS_ACL=y # CONFIG_CIFS_DEBUG2 is not set @@ -755,6 +774,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set # CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI570 is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_COMMON_RESET_HI3660 is not set @@ -845,6 +865,7 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m CONFIG_CRYPTO_DEV_CCP=y +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y @@ -858,7 +879,7 @@ CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_MENU=y @@ -1025,6 +1046,7 @@ CONFIG_DELL_RBTN=m CONFIG_DELL_SMBIOS=m CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI_AIO=m +CONFIG_DELL_WMI_LED=m CONFIG_DELL_WMI=m # CONFIG_DETECT_HUNG_TASK is not set CONFIG_DEV_APPLETALK=m @@ -1070,6 +1092,7 @@ CONFIG_DM_DELAY=m # CONFIG_DM_ERA is not set CONFIG_DM_FLAKEY=m CONFIG_DMIID=y +CONFIG_DM_INTEGRITY=m CONFIG_DMI_SYSFS=y CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_LOG_WRITES=m @@ -1113,8 +1136,10 @@ CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_MM_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DUMB_VGA_DAC is not set -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_GMA3600=y CONFIG_DRM_GMA500=m # CONFIG_DRM_GMA600 is not set @@ -1129,13 +1154,16 @@ CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_I915_ALPHA_SUPPORT is not set CONFIG_DRM_I915_CAPTURE_ERROR=y CONFIG_DRM_I915_COMPRESS_ERROR=y +# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set CONFIG_DRM_I915_GVT_KVMGT=m CONFIG_DRM_I915_GVT=y CONFIG_DRM_I915=m CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_LVDS_ENCODER is not set CONFIG_DRM=m +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m # CONFIG_DRM_MGA is not set # CONFIG_DRM_MXSFB is not set @@ -1144,16 +1172,22 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set +CONFIG_DRM_PANEL_LVDS=m # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_SAVAGE is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SIL_SII8620=m @@ -1268,19 +1302,19 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set # CONFIG_EDAC_AMD64_ERROR_INJECTION is not set CONFIG_EDAC_AMD64=m -CONFIG_EDAC_AMD76X=m CONFIG_EDAC_AMD8111=m CONFIG_EDAC_AMD8131=m # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_E752X=m -CONFIG_EDAC_E7XXX=m +CONFIG_EDAC_GHES=y CONFIG_EDAC_I3000=m CONFIG_EDAC_I3200=m CONFIG_EDAC_I5000=m @@ -1288,14 +1322,10 @@ CONFIG_EDAC_I5100=m CONFIG_EDAC_I5400=m CONFIG_EDAC_I7300=m CONFIG_EDAC_I7CORE=m -CONFIG_EDAC_I82860=m -CONFIG_EDAC_I82875P=m CONFIG_EDAC_I82975X=m CONFIG_EDAC_IE31200=m CONFIG_EDAC_LEGACY_SYSFS=y -CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_PND2=m -CONFIG_EDAC_R82600=m CONFIG_EDAC_SBRIDGE=m CONFIG_EDAC_SKX=m CONFIG_EDAC_X38=m @@ -1363,9 +1393,16 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y # CONFIG_EXTCON_ADC_JACK is not set +CONFIG_EXTCON_AXP288=m +# CONFIG_EXTCON_GPIO is not set +CONFIG_EXTCON_INTEL_CHT_WC=m CONFIG_EXTCON_INTEL_INT3496=m -# CONFIG_EXTCON is not set +CONFIG_EXTCON=m +# CONFIG_EXTCON_MAX3355 is not set # CONFIG_EXTCON_QCOM_SPMI_MISC is not set +# CONFIG_EXTCON_RT8973A is not set +# CONFIG_EXTCON_SM5502 is not set +# CONFIG_EXTCON_USB_GPIO is not set CONFIG_EXTRA_FIRMWARE="" # CONFIG_EZNPS_GIC is not set # CONFIG_EZX_PCAP is not set @@ -1575,12 +1612,14 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_AMDPT is not set +# CONFIG_GPIO_AXP209 is not set # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_CS5535 is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m # CONFIG_GPIO_F7188X is not set +# CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set CONFIG_GPIO_ICH=m @@ -1626,6 +1665,7 @@ CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HDMI_LPE_AUDIO=m CONFIG_HEADERS_CHECK=y @@ -1640,6 +1680,7 @@ CONFIG_HFSPLUS_FS=m # CONFIG_HI8435 is not set CONFIG_HIBERNATION=y CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_ACRUX=m CONFIG_HID_ALPS=m @@ -1684,6 +1725,7 @@ CONFIG_HID_MAYFLASH=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -1705,12 +1747,14 @@ CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_TEMP=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_HID_SONY=m CONFIG_HID_SPEEDLINK=m @@ -1849,16 +1893,17 @@ CONFIG_I2C_AMD8111=m # CONFIG_I2C_CADENCE is not set # CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_CHARDEV=m +CONFIG_I2C_CHT_WC=m CONFIG_I2C_COMPAT=y # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEMUX_PINCTRL is not set CONFIG_I2C_DESIGNWARE_BAYTRAIL=y -CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_CORE=y # CONFIG_I2C_DESIGNWARE is not set -CONFIG_I2C_DESIGNWARE_PCI=m -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PCI=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set # CONFIG_I2C_EMEV2 is not set @@ -1870,6 +1915,7 @@ CONFIG_I2C_ISCH=m CONFIG_I2C_ISMT=m CONFIG_I2C_MLXCPLD=m # CONFIG_I2C_MUX_GPIO is not set +CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX=m CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_MUX_PCA9541 is not set @@ -1932,6 +1978,8 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_ATUSB=m +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set +CONFIG_IEEE802154_CA8210=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m @@ -2014,6 +2062,7 @@ CONFIG_INFINIBAND_MTHCA=m CONFIG_INFINIBAND_NES=m CONFIG_INFINIBAND_OCRDMA=m CONFIG_INFINIBAND_ON_DEMAND_PAGING=y +CONFIG_INFINIBAND_OPA_VNIC=m # CONFIG_INFINIBAND_QEDR is not set CONFIG_INFINIBAND_QIB_DCA=y CONFIG_INFINIBAND_QIB=m @@ -2034,6 +2083,7 @@ CONFIG_INPUT_APANEL=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_ATLAS_BTNS=m # CONFIG_INPUT_ATMEL_CAPTOUCH is not set +CONFIG_INPUT_AXP20X_PEK=m # CONFIG_INPUT_BMA150 is not set CONFIG_INPUT_CM109=m CONFIG_INPUT_CMA3000_I2C=m @@ -2068,7 +2118,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_PCF50633_PMU=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_PCSPKR=m @@ -2091,10 +2140,13 @@ CONFIG_INPUT_YEALINK=m CONFIG_INT3406_THERMAL=m CONFIG_INT340X_THERMAL=m # CONFIG_INTEGRITY is not set +# CONFIG_INTEL_ATOMISP is not set CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y CONFIG_INTEL_IDMA64=m +CONFIG_INTEL_INT0002_VGPIO=m CONFIG_INTEL_IOATDMA=m # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y @@ -2123,6 +2175,7 @@ CONFIG_INTEL_RST=m # CONFIG_INTEL_SCU_IPC is not set CONFIG_INTEL_SMARTCONNECT=y CONFIG_INTEL_SOC_DTS_THERMAL=m +CONFIG_INTEL_SOC_PMIC_CHTWC=y CONFIG_INTEL_SOC_PMIC=y # CONFIG_INTEL_TH is not set CONFIG_INTEL_TURBO_MAX_3=y @@ -2130,12 +2183,13 @@ CONFIG_INTEL_TXT=y CONFIG_INTEL_VBTN=m CONFIG_INTEL_XWAY_PHY=m # CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_INV_MPU6050_I2C is not set -# CONFIG_INV_MPU6050_IIO is not set +CONFIG_INV_MPU6050_I2C=m +CONFIG_INV_MPU6050_IIO=m # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IOMMU_DEBUG is not set # CONFIG_IOMMU_STRESS is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_BFQ=m CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y @@ -2322,6 +2376,7 @@ CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SIR=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SPI=m CONFIG_IR_STREAMZAP=m @@ -2422,6 +2477,8 @@ CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_SPACEORB=m @@ -2547,7 +2604,6 @@ CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_GPIO is not set CONFIG_LEDS_INTEL_SS4200=m # CONFIG_LEDS_IS31FL319X is not set @@ -2623,7 +2679,6 @@ CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m @@ -2636,6 +2691,7 @@ CONFIG_LITELINK_DONGLE=m CONFIG_LLC=m CONFIG_LMP91000=m # CONFIG_LNET is not set +CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m @@ -2664,6 +2720,8 @@ CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_LTC2632 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTR501 is not set # CONFIG_LUSTRE_FS is not set @@ -2703,14 +2761,17 @@ CONFIG_MANTIS_CORE=m CONFIG_MARVELL_PHY=m # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set CONFIG_MAX1363=m CONFIG_MAX30100=m +# CONFIG_MAX30102 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_MAXSMP=y @@ -2749,6 +2810,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_DEBUG=y +CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_MEDIA_CONTROLLER=y @@ -2799,11 +2861,11 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_ASIC3 is not set # CONFIG_MFD_ATMEL_FLEXCOM is not set # CONFIG_MFD_ATMEL_HLCDC is not set -# CONFIG_MFD_AXP20X_I2C is not set -# CONFIG_MFD_AXP20X is not set +CONFIG_MFD_AXP20X_I2C=y +CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set @@ -2813,7 +2875,6 @@ CONFIG_MFD_CPCAP=m # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_HI6421_PMIC is not set CONFIG_MFD_INTEL_LPSS_ACPI=m CONFIG_MFD_INTEL_LPSS_PCI=m @@ -2857,6 +2918,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TC6393XB is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TIMBERDALE is not set # CONFIG_MFD_TPS65086 is not set @@ -2911,6 +2973,7 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_INFINIBAND=m # CONFIG_MLX90614 is not set @@ -2953,6 +3016,7 @@ CONFIG_MMC_SDHCI=m # CONFIG_MMC_SDHCI_OF is not set CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDRICOH_CS=m # CONFIG_MMC_SPI is not set # CONFIG_MMC_TEST is not set @@ -2974,7 +3038,6 @@ CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y -CONFIG_MODULE_SIG_UEFI=y CONFIG_MODULE_SIG=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULES=y @@ -3009,8 +3072,9 @@ CONFIG_MPILIB=y CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m # CONFIG_MPSC is not set -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set @@ -3115,6 +3179,7 @@ CONFIG_NE2K_PCI=m CONFIG_NET_9P=m CONFIG_NET_9P_RDMA=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CSUM=m @@ -3158,11 +3223,15 @@ CONFIG_NET_DEVLINK=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_IPSET=m @@ -3285,6 +3354,7 @@ CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y @@ -3751,18 +3821,22 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCI_HERMES=m CONFIG_PCI_HYPERV=m CONFIG_PCI_IOV=y CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_MSI=y CONFIG_PCI_PASID=y CONFIG_PCIPCWATCHDOG=m CONFIG_PCI_PRI=y # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI=y CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_3C589=m @@ -3815,7 +3889,6 @@ CONFIG_PINCTRL_CHERRYVIEW=y # CONFIG_PINCTRL_MSM8994 is not set CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINCTRL_TI_IODELAY is not set CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y @@ -3975,6 +4048,7 @@ CONFIG_RAID_ATTRS=m CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MEMORY=y # CONFIG_RAPIDIO is not set +CONFIG_RAS_CEC=y CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4015,9 +4089,10 @@ CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m CONFIG_REGMAP_I2C=y CONFIG_REGMAP=y -CONFIG_REGULATOR_CPCAP=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_REGULATOR_VCTRL=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -4051,6 +4126,7 @@ CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPMSG_CHAR is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4178,6 +4254,7 @@ CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y @@ -4393,6 +4470,7 @@ CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BH1770=m @@ -4612,7 +4690,7 @@ CONFIG_SH_ETH=m # CONFIG_SIGMA is not set CONFIG_SIGMATEL_FIR=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y -# CONFIG_SILEAD_DMI is not set +CONFIG_SILEAD_DMI=y CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4680,7 +4758,7 @@ CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG is not set # CONFIG_SND_DEBUG_VERBOSE is not set CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y CONFIG_SND_DICE=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_DRIVERS=y @@ -4696,7 +4774,9 @@ CONFIG_SND_ES1938=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m @@ -4730,6 +4810,7 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m +CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INDIGODJ=m @@ -4782,6 +4863,8 @@ CONFIG_SND_SIMPLE_SCU_CARD=m CONFIG_SND_SIS7019=m CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4554 is not set @@ -4796,6 +4879,7 @@ CONFIG_SND_SOC_AMD_ACP=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set @@ -4809,7 +4893,9 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set +CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_SPI=m @@ -4832,6 +4918,8 @@ CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m @@ -4848,10 +4936,12 @@ CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set CONFIG_SND_SOC_NAU8540=m # CONFIG_SND_SOC_NAU8810 is not set +CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set @@ -4985,6 +5075,7 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SRAM is not set +# CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_GPIO=y @@ -5045,6 +5136,7 @@ CONFIG_SYN_COOKIES=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_BLACKLIST_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set @@ -5109,6 +5201,7 @@ CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set +# CONFIG_TEE is not set CONFIG_TEHUTI=m CONFIG_TEKRAM_DONGLE=m CONFIG_TELCLOCK=m @@ -5134,6 +5227,7 @@ CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_UUID is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -5164,6 +5258,7 @@ CONFIG_TI_ADS1015=m # CONFIG_TI_DAC7512 is not set CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m +CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set # CONFIG_TIMER_STATS is not set @@ -5241,6 +5336,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TS4800=m # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +CONFIG_TOUCHSCREEN_TSC2007_IIO=y CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_UCB1400=m @@ -5283,11 +5379,16 @@ CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_SECURITY=y # CONFIG_UBSAN_ALIGNMENT is not set # CONFIG_UBSAN is not set # CONFIG_UBSAN_SANITIZE_ALL is not set @@ -5492,6 +5593,7 @@ CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OXU210HP_HCD is not set +CONFIG_USB_PCI=y CONFIG_USBPCWATCHDOG=m CONFIG_USB_PEGASUS=m CONFIG_USB_PHY=y @@ -5501,6 +5603,7 @@ CONFIG_USB_PULSE8_CEC=m CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set # CONFIG_USB_RIO500 is not set CONFIG_USB_RTL8150=m @@ -5622,7 +5725,7 @@ CONFIG_USB_WDM=m CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m CONFIG_USB_XHCI_HCD=y -# CONFIG_USB_XHCI_PLATFORM is not set +CONFIG_USB_XHCI_PLATFORM=m CONFIG_USB_XUSBATM=m CONFIG_USB=y CONFIG_USB_YUREX=m @@ -5780,6 +5883,7 @@ CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m +CONFIG_VL6180=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y @@ -5796,6 +5900,7 @@ CONFIG_VOP_BUS=m CONFIG_VOP=m CONFIG_VORTEX=m CONFIG_VSOCKETS=m +CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y @@ -5823,6 +5928,7 @@ CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m @@ -5911,6 +6017,7 @@ CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_MCE_AMD=y CONFIG_X86_MCE_INJECT=m CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_MCE=y CONFIG_X86_MPPARSE=y CONFIG_X86_MSR=y @@ -5944,6 +6051,7 @@ CONFIG_XEN_COMPAT_XENFS=y CONFIG_XEN_DEBUG_FS=y # CONFIG_XEN_DEBUG is not set CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_DOM0=y CONFIG_XEN_FBDEV_FRONTEND=y CONFIG_XENFS=m CONFIG_XEN_GNTDEV=m @@ -5953,7 +6061,9 @@ CONFIG_XEN_NETDEV_BACKEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_XEN_PVHVM=y CONFIG_XEN_PVH=y +CONFIG_XEN_PV=y CONFIG_XEN_SAVE_RESTORE=y CONFIG_XEN_SCRUB_PAGES=y CONFIG_XEN_SCSI_BACKEND=m @@ -6008,3 +6118,4 @@ CONFIG_ZRAM=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y +# CONFIG_ZX_TDM is not set diff --git a/kernel.spec b/kernel.spec index de1216a6f..68a5fe702 100644 --- a/kernel.spec +++ b/kernel.spec @@ -50,7 +50,7 @@ Summary: The Linux kernel # base_sublevel is the kernel version we're starting with and patching # on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base, # which yields a base_sublevel of 0. -%define base_sublevel 11 +%define base_sublevel 12 ## If this is a released kernel ## %if 0%{?released_kernel} @@ -58,7 +58,7 @@ Summary: The Linux kernel %define stable_rc 0 # Do we have a -stable update to apply? -%define stable_update 11 +%define stable_update 3 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -535,156 +535,154 @@ Patch002: 0001-iio-Use-event-header-from-kernel-tree.patch # Git trees. # Standalone patches +# 100 - Generic long running patches -# a tempory patch for QCOM hardware enablement. Will be gone by end of 2016/F-26 GA -Patch420: qcom-QDF2432-tmp-errata.patch +Patch110: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch -# Upstream (in 4.12) patches to fix HiKey WiFi -Patch421: arm-hikey-fixWiFi.patch +Patch111: input-kill-stupid-messages.patch -# http://www.spinics.net/lists/linux-tegra/msg26029.html -Patch422: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch - -# Fix OMAP4 (pandaboard) -Patch423: arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch - -# BBWireless Bluetooth -Patch424: arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch - -# http://patchwork.ozlabs.org/patch/587554/ -Patch425: ARM-tegra-usb-no-reset.patch - -Patch426: AllWinner-h3.patch -Patch427: AllWinner-net-emac.patch - -# http://www.spinics.net/lists/linux-bluetooth/msg70169.html -# https://www.spinics.net/lists/devicetree/msg170619.html -Patch428: ti-bluetooth.patch - -Patch429: arm64-hikey-fixes.patch +Patch112: die-floppy-die.patch -Patch430: arm-rk3288-tinker.patch +Patch113: no-pcspkr-modalias.patch -# https://www.spinics.net/lists/arm-kernel/msg554183.html -Patch431: arm-imx6-hummingboard2.patch +Patch114: silence-fbcon-logo.patch -# Cavium fixes -Patch432: arm64-cavium-fixes.patch +Patch115: Kbuild-Add-an-option-to-enable-GCC-VTA.patch -Patch433: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch +Patch116: crash-driver.patch -# https://patchwork.kernel.org/patch/9815555/ -# https://patchwork.kernel.org/patch/9815651/ -# Patch434: qcom-rmsg-spmi-fixes.patch +Patch117: lis3-improve-handling-of-null-rate.patch -# http://www.spinics.net/lists/devicetree/msg163238.html -Patch440: bcm2837-initial-support.patch +Patch118: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch -# bcm283x mmc for wifi http://www.spinics.net/lists/arm-kernel/msg567077.html -Patch441: bcm283x-mmc-bcm2835.patch +Patch119: criu-no-expert.patch -# Upstream fixes for i2c/serial/ethernet MAC addresses -Patch442: bcm283x-fixes.patch +Patch120: ath9k-rx-dma-stop-check.patch -# https://lists.freedesktop.org/archives/dri-devel/2017-February/133823.html -Patch443: vc4-fix-vblank-cursor-update-issue.patch +Patch121: xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch -Patch444: bcm283x-hdmi-audio.patch +Patch122: Input-synaptics-pin-3-touches-when-the-firmware-repo.patch -Patch445: bcm2835-clk-audio-jitter-issues.patch +Patch123: firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch -# http://www.spinics.net/lists/dri-devel/msg132235.html -Patch446: drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch - -# https://lists.freedesktop.org/archives/dri-devel/2017-June/143688.html -Patch447: vc4-tformat-fixes.patch - -# https://patchwork.freedesktop.org/patch/163300/ -# https://patchwork.freedesktop.org/patch/161978/ -Patch448: bcm283x-vc4-fix-vblank.patch +# 200 - x86 / secureboot -Patch460: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch +Patch201: efi-lockdown.patch -Patch466: input-kill-stupid-messages.patch +Patch202: KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch -Patch467: die-floppy-die.patch +Patch203: Add-EFI-signature-data-types.patch -Patch468: no-pcspkr-modalias.patch +Patch204: Add-an-EFI-signature-blob-parser-and-key-loader.patch -Patch470: silence-fbcon-logo.patch +Patch205: MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch -Patch471: Kbuild-Add-an-option-to-enable-GCC-VTA.patch +Patch206: MODSIGN-Support-not-importing-certs-from-db.patch -Patch472: crash-driver.patch +Patch210: disable-i8042-check-on-apple-mac.patch -Patch473: efi-lockdown.patch +Patch211: drm-i915-hush-check-crtc-state.patch -Patch487: Add-EFI-signature-data-types.patch +# 300 - ARM patches -Patch488: Add-an-EFI-signature-blob-parser-and-key-loader.patch +# a tempory patch for QCOM hardware enablement. Will be gone by F-26 GA +Patch301: qcom-QDF2432-tmp-errata.patch -# This doesn't apply. It seems like it could be replaced by -# https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5ac7eace2d00eab5ae0e9fdee63e38aee6001f7c -# which has an explicit line about blacklisting -Patch489: KEYS-Add-a-system-blacklist-keyring.patch +# http://www.spinics.net/lists/linux-tegra/msg26029.html +Patch302: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch -Patch490: MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch +# Fix OMAP4 (pandaboard) +Patch303: arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch -Patch491: MODSIGN-Support-not-importing-certs-from-db.patch +# http://www.spinics.net/lists/arm-kernel/msg582772.html +Patch304: arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch -Patch493: drm-i915-hush-check-crtc-state.patch +# http://patchwork.ozlabs.org/patch/587554/ +Patch305: ARM-tegra-usb-no-reset.patch -Patch494: disable-i8042-check-on-apple-mac.patch +Patch306: AllWinner-net-emac.patch -Patch495: lis3-improve-handling-of-null-rate.patch +# http://www.spinics.net/lists/devicetree/msg163238.html +Patch308: bcm2837-initial-support.patch -Patch497: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch +# http://www.spinics.net/lists/dri-devel/msg132235.html +Patch309: drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch -Patch498: criu-no-expert.patch +# https://www.spinics.net/lists/arm-kernel/msg554183.html +Patch311: arm-imx6-hummingboard2.patch -Patch499: ath9k-rx-dma-stop-check.patch +Patch312: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch -Patch500: xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch +Patch313: bcm2835-clk-audio-jitter-issues.patch +Patch314: bcm2835-fix-potential-null-pointer-dereferences.patch -Patch501: Input-synaptics-pin-3-touches-when-the-firmware-repo.patch +# https://patchwork.freedesktop.org/patch/163300/ +# https://patchwork.freedesktop.org/patch/161978/ +Patch315: bcm283x-vc4-fix-vblank.patch -Patch502: firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch +# https://patchwork.kernel.org/patch/9815555/ +# https://patchwork.kernel.org/patch/9815651/ +# https://patchwork.kernel.org/patch/9819885/ +# https://patchwork.kernel.org/patch/9820417/ +# https://patchwork.kernel.org/patch/9821151/ +# https://patchwork.kernel.org/patch/9821157/ +Patch316: qcom-msm89xx-fixes.patch -# Patch503: drm-i915-turn-off-wc-mmaps.patch +Patch317: arm-thermal-fixes.patch +# https://patchwork.kernel.org/patch/9802555/ +Patch318: pinctrl-bcm2835-Avoid-warning-from-__irq_do_set_handler.patch -Patch509: MODSIGN-Don-t-try-secure-boot-if-EFI-runtime-is-disa.patch +# https://patchwork.kernel.org/patch/9831825/ +# https://patchwork.kernel.org/patch/9833721/ +Patch319: arm-tegra-fix-gpu-iommu.patch -# rhbz 1436686 -Patch600: dell-laptop-Adds-support-for-keyboard-backlight-timeout-AC-settings.patch +# https://www.spinics.net/lists/linux-arm-msm/msg28203.html +Patch320: qcom-display-iommu.patch -#CVE-2016-3134 rhbz 1317383 1317384 -Patch665: netfilter-x_tables-deal-with-bogus-nextoffset-values.patch +# This breaks RPi booting with a LPAE kernel, we don't support the DSI ports currently +# Revert it while I engage upstream to work out what's going on +Patch321: Revert-ARM-dts-bcm2835-Add-the-DSI-module-nodes-and-.patch -#rhbz 1435154 -Patch666: powerpc-prom-Increase-RMA-size-to-512MB.patch +# 400 - IBM (ppc/s390x) patches -# CVE-2017-7645 rhbz 1443615 1443617 -Patch667: CVE-2017-7645.patch +# 500 - Temp fixes/CVEs etc # CVE-2017-7477 rhbz 1445207 1445208 -Patch668: CVE-2017-7477.patch - -#CVE-2017-9059 rhbz 1451386 1451996 -Patch669: 0001-SUNRPC-Refactor-svc_set_num_threads.patch -Patch670: 0002-NFSv4-Fix-callback-server-shutdown.patch - -# rhbz 1455780 -Patch676: 2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch - -# rhbz 1459272 -Patch680: 0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch -Patch681: 0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch +Patch502: CVE-2017-7477.patch # rhbz 1459326 -Patch683: RFC-audit-fix-a-race-condition-with-the-auditd-tracking-code.patch - -# rhbz 1458599 -Patch685: 0001-ACPI-LPSS-Only-call-pwm_add_table-for-the-first-PWM-.patch +Patch504: RFC-audit-fix-a-race-condition-with-the-auditd-tracking-code.patch + +# 600 - Patches for improved Bay and Cherry Trail device support +# Below patches are pending in -next: +Patch601: 0001-platform-x86-Add-driver-for-ACPI-INT0002-Virtual-GPI.patch +Patch602: 0002-mfd-Add-Cherry-Trail-Whiskey-Cove-PMIC-driver.patch +Patch603: 0003-power-supply-core-Add-support-for-supplied-from-devi.patch +Patch604: 0004-platform-x86-intel_cht_int33fe-Set-supplied-from-pro.patch +Patch605: 0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch +Patch606: 0006-Input-axp20x-pek-Add-wakeup-support.patch +Patch607: 0007-platform-x86-silead_dmi-Add-touchscreen-info-for-GP-.patch +Patch608: 0008-platform-x86-silead_dmi-Add-touchscreen-info-for-PoV.patch +Patch609: 0009-platform-x86-silead_dmi-Add-touchscreen-info-for-Pip.patch +# Below patches are submitted upstream, awaiting review / merging +Patch610: 0010-Input-silead-Add-support-for-capactive-home-button-f.patch +Patch611: 0011-Input-goodix-Add-support-for-capacitive-home-button.patch +Patch612: 0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch +Patch613: 0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch +Patch614: 0014-mmc-sdhci-acpi-Workaround-conflict-with-PCI-wifi-on-.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 + +# CVE-2017-7542 rhbz 1473649 1473650 +Patch701: 0001-ipv6-avoid-overflow-of-offset-in-ip6_find_1stfragopt.patch + +# CVE-2017-11473 rhbz 1473209 147310 +Patch702: CVE-2017-11473.patch + +# rhbz 1431375 +Patch703: HID-rmi-Make-sure-the-HID-device-is-opened-on-resume.patch +Patch704: input-rmi4-remove-the-need-for-artifical-IRQ.patch # END OF PATCH DEFINITIONS @@ -1889,7 +1887,7 @@ find $RPM_BUILD_ROOT/usr/tmp-headers/include \ # Copy all the architectures we care about to their respective asm directories for arch in arm arm64 powerpc s390 x86 ; do mkdir -p $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include -mv $RPM_BUILD_ROOT/usr/tmp-headers/include/asm-${arch} $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/asm +mv $RPM_BUILD_ROOT/usr/tmp-headers/include/arch-${arch}/asm $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/ cp -a $RPM_BUILD_ROOT/usr/tmp-headers/include/asm-generic $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/. done @@ -1920,6 +1918,9 @@ rm -rf %{buildroot}%{_docdir}/perf-tip mkdir -p %{buildroot}/%{_mandir}/man1 pushd %{buildroot}/%{_mandir}/man1 tar -xf %{SOURCE10} +%if !%{with_tools} + rm -f kvm_stat.1 +%endif popd %endif @@ -1964,6 +1965,9 @@ popd pushd tools/gpio make DESTDIR=%{buildroot} install popd +pushd tools/kvm/kvm_stat +make INSTALL_ROOT=%{buildroot} install-tools +popd %endif %if %{with_bootwrapper} @@ -2161,6 +2165,8 @@ fi %{_bindir}/lsgpio %{_bindir}/gpio-hammer %{_bindir}/gpio-event-mon +%{_mandir}/man1/kvm_stat* +%{_bindir}/kvm_stat %endif %if %{with_debuginfo} @@ -2254,6 +2260,10 @@ fi # # %changelog +* Mon Jul 24 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.12.3-300 +- Linux v4.12.3 +- Fix rhbz 1431375 + * Mon Jul 17 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.11-300 - Linux v4.11.11 - Bring back /dev/port (rhbz 1471429 1451220) diff --git a/netfilter-x_tables-deal-with-bogus-nextoffset-values.patch b/netfilter-x_tables-deal-with-bogus-nextoffset-values.patch deleted file mode 100644 index e6f5fa6f5..000000000 --- a/netfilter-x_tables-deal-with-bogus-nextoffset-values.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 2b32a7d82223d76ace432305b18c5816cadff878 Mon Sep 17 00:00:00 2001 -From: Florian Westphal <fw () strlen ! de> -Date: Thu, 10 Mar 2016 00:56:02 -0800 -Subject: [PATCH] netfilter: x_tables: deal with bogus nextoffset values - -Ben Hawkes says: - - In the mark_source_chains function (net/ipv4/netfilter/ip_tables.c) it - is possible for a user-supplied ipt_entry structure to have a large - next_offset field. This field is not bounds checked prior to writing a - counter value at the supplied offset. - -Problem is that xt_entry_foreach() macro stops iterating once e->next_offset -is out of bounds, assuming this is the last entry. - -With malformed data thats not necessarily the case so we can -write outside of allocated area later as we might not have walked the -entire blob. - -Fix this by simplifying mark_source_chains -- it already has to check -if nextoff is in range to catch invalid jumps, so just do the check -when we move to a next entry as well. - -Signed-off-by: Florian Westphal <fw@strlen.de> ---- - net/ipv4/netfilter/arp_tables.c | 8 ++++++++ - net/ipv4/netfilter/ip_tables.c | 8 ++++++++ - net/ipv6/netfilter/ip6_tables.c | 6 ++++++ - 3 files changed, 22 insertions(+) - -diff --git a/net/ipv4/netfilter/arp_tables.c b/net/ipv4/netfilter/arp_tables.c -index 2033f92..a9b6c76 100644 ---- a/net/ipv4/netfilter/arp_tables.c -+++ b/net/ipv4/netfilter/arp_tables.c -@@ -376,6 +376,10 @@ static int mark_source_chains(const struct xt_table_info *newinfo, - - /* Move along one */ - size = e->next_offset; -+ -+ if (pos + size > newinfo->size - sizeof(*e)) -+ return 0; -+ - e = (struct arpt_entry *) - (entry0 + pos + size); - if (pos + size >= newinfo->size) -@@ -399,6 +403,10 @@ static int mark_source_chains(const struct xt_table_info *newinfo, - if (newpos >= newinfo->size) - return 0; - } -+ -+ if (newpos > newinfo->size - sizeof(*e)) -+ return 0; -+ - e = (struct arpt_entry *) - (entry0 + newpos); - e->counters.pcnt = pos; -diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c -index 54906e0..7530ecd 100644 ---- a/net/ipv4/netfilter/ip_tables.c -+++ b/net/ipv4/netfilter/ip_tables.c -@@ -447,6 +447,10 @@ mark_source_chains(const struct xt_table_info *newinfo, - - /* Move along one */ - size = e->next_offset; -+ -+ if (pos + size > newinfo->size - sizeof(*e)) -+ return 0; -+ - e = (struct ipt_entry *) - (entry0 + pos + size); - if (pos + size >= newinfo->size) -@@ -470,6 +474,10 @@ mark_source_chains(const struct xt_table_info *newinfo, - if (newpos >= newinfo->size) - return 0; - } -+ -+ if (newpos > newinfo->size - sizeof(*e)) -+ return 0; -+ - e = (struct ipt_entry *) - (entry0 + newpos); - e->counters.pcnt = pos; -diff --git a/net/ipv6/netfilter/ip6_tables.c b/net/ipv6/netfilter/ip6_tables.c -index 63e06c3..894da69 100644 ---- a/net/ipv6/netfilter/ip6_tables.c -+++ b/net/ipv6/netfilter/ip6_tables.c -@@ -474,6 +474,8 @@ mark_source_chains(const struct xt_table_info *newinfo, - - /* Move along one */ - size = e->next_offset; -+ if (pos + size > newinfo->size - sizeof(*e)) -+ return 0; - e = (struct ip6t_entry *) - (entry0 + pos + size); - if (pos + size >= newinfo->size) -@@ -497,6 +499,10 @@ mark_source_chains(const struct xt_table_info *newinfo, - if (newpos >= newinfo->size) - return 0; - } -+ -+ if (newpos > newinfo->size - sizeof(*e)) -+ return 0; -+ - e = (struct ip6t_entry *) - (entry0 + newpos); - e->counters.pcnt = pos; --- -2.5.5 - diff --git a/pinctrl-bcm2835-Avoid-warning-from-__irq_do_set_handler.patch b/pinctrl-bcm2835-Avoid-warning-from-__irq_do_set_handler.patch new file mode 100644 index 000000000..d44e5318b --- /dev/null +++ b/pinctrl-bcm2835-Avoid-warning-from-__irq_do_set_handler.patch @@ -0,0 +1,40 @@ +From patchwork Wed Jun 21 18:20:04 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: pinctrl: bcm2835: Avoid warning from __irq_do_set_handler +From: Stefan Wahren <stefan.wahren@i2se.com> +X-Patchwork-Id: 9802555 +Message-Id: <1498069204-28154-1-git-send-email-stefan.wahren@i2se.com> +To: Linus Walleij <linus.walleij@linaro.org>, Eric Anholt <eric@anholt.net> +Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org, + Phil Elwell <phil@raspberrypi.org>, linux-rpi-kernel@lists.infradead.org, + linux-arm-kernel@lists.infradead.org +Date: Wed, 21 Jun 2017 20:20:04 +0200 + +We get a warning during boot with enabled EARLY_PRINTK that +we try to set a irq_chip without data. This is caused by ignoring +the return value of irq_of_parse_and_map(). So avoid calling +gpiochip_set_chained_irqchip() in error case. + +Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> +Fixes: 85ae9e512f43 ("pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP") +--- + drivers/pinctrl/bcm/pinctrl-bcm2835.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c +index 1eb7a1a..2308831 100644 +--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c ++++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c +@@ -1048,6 +1048,10 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) + for (i = 0; i < BCM2835_NUM_IRQS; i++) { + pc->irq[i] = irq_of_parse_and_map(np, i); + pc->irq_group[i] = i; ++ ++ if (pc->irq[i] == 0) ++ continue; ++ + /* + * Use the same handler for all groups: this is necessary + * since we use one gpiochip to cover all lines - the diff --git a/powerpc-prom-Increase-RMA-size-to-512MB.patch b/powerpc-prom-Increase-RMA-size-to-512MB.patch deleted file mode 100644 index 422f0a9ec..000000000 --- a/powerpc-prom-Increase-RMA-size-to-512MB.patch +++ /dev/null @@ -1,52 +0,0 @@ -From patchwork Thu Mar 30 04:03:49 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: powerpc/prom: Increase RMA size to 512MB -From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> -X-Patchwork-Id: 745044 -Message-Id: <20170330040349.GA31756@us.ibm.com> -To: Michael Ellerman <mpe@ellerman.id.au> -Cc: praveen.pandey@in.ibm.com, linuxppc-dev@lists.ozlabs.org, - linux-kernel@vger.kernel.org -Date: Wed, 29 Mar 2017 21:03:49 -0700 - ->From 3ae8d1ed31b01b92b172fe20e4560cfbfab135ec Mon Sep 17 00:00:00 2001 -From: root <root@furatripa-lp2.aus.stglabs.ibm.com> -Date: Mon, 27 Mar 2017 19:43:14 -0400 -Subject: [PATCH] powerpc/prom: Increase RMA size to 512MB - -When booting very large systems with a large initrd, we run out of -space for either the RTAS or the flattened device tree (FDT). Boot -fails with messages like: - - Could not allocate memory for RTAS -or - No memory for flatten_device_tree (no room) - -Increasing the minimum RMA size to 512MB fixes the problem. This -should not have an impact on smaller LPARs (with 256MB memory), -as the firmware will cap the RMA to the memory assigned to the LPAR. - -Fix is based on input/discussions with Michael Ellerman. Thanks to -Praveen K. Pandey for testing on a large system. - -Reported-by: Praveen K. Pandey <preveen.pandey@in.ibm.com> -Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> ---- - arch/powerpc/kernel/prom_init.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c -index 1c1b44e..dd8a04f 100644 ---- a/arch/powerpc/kernel/prom_init.c -+++ b/arch/powerpc/kernel/prom_init.c -@@ -815,7 +815,7 @@ struct ibm_arch_vec __cacheline_aligned ibm_architecture_vec = { - .virt_base = cpu_to_be32(0xffffffff), - .virt_size = cpu_to_be32(0xffffffff), - .load_base = cpu_to_be32(0xffffffff), -- .min_rma = cpu_to_be32(256), /* 256MB min RMA */ -+ .min_rma = cpu_to_be32(512), /* 512MB min RMA */ - .min_load = cpu_to_be32(0xffffffff), /* full client load */ - .min_rma_percent = 0, /* min RMA percentage of total RAM */ - .max_pft_size = 48, /* max log_2(hash table size) */ diff --git a/qcom-display-iommu.patch b/qcom-display-iommu.patch new file mode 100644 index 000000000..87d4473c8 --- /dev/null +++ b/qcom-display-iommu.patch @@ -0,0 +1,1960 @@ +From patchwork Thu Jul 13 12:07:44 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [RESEND,1/4] Docs: dt: document qcom iommu bindings +From: Rob Clark <robdclark@gmail.com> +X-Patchwork-Id: 9838369 +Message-Id: <20170713120747.20490-2-robdclark@gmail.com> +To: iommu@lists.linux-foundation.org +Cc: linux-arm-msm@vger.kernel.org, Archit Taneja <architt@codeaurora.org>, + Rob Herring <robh@kernel.org>, Will Deacon <will.deacon@arm.com>, + Sricharan <sricharan@codeaurora.org>, + Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>, + Rob Clark <robdclark@gmail.com>, devicetree@vger.kernel.org +Date: Thu, 13 Jul 2017 08:07:44 -0400 + +Cc: devicetree@vger.kernel.org +Signed-off-by: Rob Clark <robdclark@gmail.com> +Reviewed-by: Rob Herring <robh@kernel.org> +--- + .../devicetree/bindings/iommu/qcom,iommu.txt | 121 +++++++++++++++++++++ + 1 file changed, 121 insertions(+) + create mode 100644 Documentation/devicetree/bindings/iommu/qcom,iommu.txt + +diff --git a/Documentation/devicetree/bindings/iommu/qcom,iommu.txt b/Documentation/devicetree/bindings/iommu/qcom,iommu.txt +new file mode 100644 +index 000000000000..b2641ceb2b40 +--- /dev/null ++++ b/Documentation/devicetree/bindings/iommu/qcom,iommu.txt +@@ -0,0 +1,121 @@ ++* QCOM IOMMU v1 Implementation ++ ++Qualcomm "B" family devices which are not compatible with arm-smmu have ++a similar looking IOMMU but without access to the global register space, ++and optionally requiring additional configuration to route context irqs ++to non-secure vs secure interrupt line. ++ ++** Required properties: ++ ++- compatible : Should be one of: ++ ++ "qcom,msm8916-iommu" ++ ++ Followed by "qcom,msm-iommu-v1". ++ ++- clock-names : Should be a pair of "iface" (required for IOMMUs ++ register group access) and "bus" (required for ++ the IOMMUs underlying bus access). ++ ++- clocks : Phandles for respective clocks described by ++ clock-names. ++ ++- #address-cells : must be 1. ++ ++- #size-cells : must be 1. ++ ++- #iommu-cells : Must be 1. Index identifies the context-bank #. ++ ++- ranges : Base address and size of the iommu context banks. ++ ++- qcom,iommu-secure-id : secure-id. ++ ++- List of sub-nodes, one per translation context bank. Each sub-node ++ has the following required properties: ++ ++ - compatible : Should be one of: ++ - "qcom,msm-iommu-v1-ns" : non-secure context bank ++ - "qcom,msm-iommu-v1-sec" : secure context bank ++ - reg : Base address and size of context bank within the iommu ++ - interrupts : The context fault irq. ++ ++** Optional properties: ++ ++- reg : Base address and size of the SMMU local base, should ++ be only specified if the iommu requires configuration ++ for routing of context bank irq's to secure vs non- ++ secure lines. (Ie. if the iommu contains secure ++ context banks) ++ ++ ++** Examples: ++ ++ apps_iommu: iommu@1e20000 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ #iommu-cells = <1>; ++ compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; ++ ranges = <0 0x1e20000 0x40000>; ++ reg = <0x1ef0000 0x3000>; ++ clocks = <&gcc GCC_SMMU_CFG_CLK>, ++ <&gcc GCC_APSS_TCU_CLK>; ++ clock-names = "iface", "bus"; ++ qcom,iommu-secure-id = <17>; ++ ++ // mdp_0: ++ iommu-ctx@4000 { ++ compatible = "qcom,msm-iommu-v1-ns"; ++ reg = <0x4000 0x1000>; ++ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; ++ }; ++ ++ // venus_ns: ++ iommu-ctx@5000 { ++ compatible = "qcom,msm-iommu-v1-sec"; ++ reg = <0x5000 0x1000>; ++ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; ++ }; ++ }; ++ ++ gpu_iommu: iommu@1f08000 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ #iommu-cells = <1>; ++ compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; ++ ranges = <0 0x1f08000 0x10000>; ++ clocks = <&gcc GCC_SMMU_CFG_CLK>, ++ <&gcc GCC_GFX_TCU_CLK>; ++ clock-names = "iface", "bus"; ++ qcom,iommu-secure-id = <18>; ++ ++ // gfx3d_user: ++ iommu-ctx@1000 { ++ compatible = "qcom,msm-iommu-v1-ns"; ++ reg = <0x1000 0x1000>; ++ interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>; ++ }; ++ ++ // gfx3d_priv: ++ iommu-ctx@2000 { ++ compatible = "qcom,msm-iommu-v1-ns"; ++ reg = <0x2000 0x1000>; ++ interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>; ++ }; ++ }; ++ ++ ... ++ ++ venus: video-codec@1d00000 { ++ ... ++ iommus = <&apps_iommu 5>; ++ }; ++ ++ mdp: mdp@1a01000 { ++ ... ++ iommus = <&apps_iommu 4>; ++ }; ++ ++ gpu@01c00000 { ++ ... ++ iommus = <&gpu_iommu 1>, <&gpu_iommu 2>; ++ }; +From patchwork Thu Jul 13 12:07:45 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [RESEND,2/4] iommu: arm-smmu: split out register defines +From: Rob Clark <robdclark@gmail.com> +X-Patchwork-Id: 9838371 +Message-Id: <20170713120747.20490-3-robdclark@gmail.com> +To: iommu@lists.linux-foundation.org +Cc: linux-arm-msm@vger.kernel.org, Archit Taneja <architt@codeaurora.org>, + Rob Herring <robh@kernel.org>, Will Deacon <will.deacon@arm.com>, + Sricharan <sricharan@codeaurora.org>, + Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>, + Rob Clark <robdclark@gmail.com> +Date: Thu, 13 Jul 2017 08:07:45 -0400 + +I want to re-use some of these for qcom_iommu, which has (roughly) the +same context-bank registers. + +Signed-off-by: Rob Clark <robdclark@gmail.com> +--- + drivers/iommu/arm-smmu-regs.h | 227 ++++++++++++++++++++++++++++++++++++++++++ + drivers/iommu/arm-smmu.c | 203 +------------------------------------ + 2 files changed, 228 insertions(+), 202 deletions(-) + create mode 100644 drivers/iommu/arm-smmu-regs.h + +diff --git a/drivers/iommu/arm-smmu-regs.h b/drivers/iommu/arm-smmu-regs.h +new file mode 100644 +index 000000000000..87589c863068 +--- /dev/null ++++ b/drivers/iommu/arm-smmu-regs.h +@@ -0,0 +1,227 @@ ++/* ++ * IOMMU API for ARM architected SMMU implementations. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ * Copyright (C) 2013 ARM Limited ++ * ++ * Author: Will Deacon <will.deacon@arm.com> ++ */ ++ ++#ifndef _ARM_SMMU_REGS_H ++#define _ARM_SMMU_REGS_H ++ ++/* Configuration registers */ ++#define ARM_SMMU_GR0_sCR0 0x0 ++#define sCR0_CLIENTPD (1 << 0) ++#define sCR0_GFRE (1 << 1) ++#define sCR0_GFIE (1 << 2) ++#define sCR0_EXIDENABLE (1 << 3) ++#define sCR0_GCFGFRE (1 << 4) ++#define sCR0_GCFGFIE (1 << 5) ++#define sCR0_USFCFG (1 << 10) ++#define sCR0_VMIDPNE (1 << 11) ++#define sCR0_PTM (1 << 12) ++#define sCR0_FB (1 << 13) ++#define sCR0_VMID16EN (1 << 31) ++#define sCR0_BSU_SHIFT 14 ++#define sCR0_BSU_MASK 0x3 ++ ++/* Auxiliary Configuration register */ ++#define ARM_SMMU_GR0_sACR 0x10 ++ ++/* Identification registers */ ++#define ARM_SMMU_GR0_ID0 0x20 ++#define ARM_SMMU_GR0_ID1 0x24 ++#define ARM_SMMU_GR0_ID2 0x28 ++#define ARM_SMMU_GR0_ID3 0x2c ++#define ARM_SMMU_GR0_ID4 0x30 ++#define ARM_SMMU_GR0_ID5 0x34 ++#define ARM_SMMU_GR0_ID6 0x38 ++#define ARM_SMMU_GR0_ID7 0x3c ++#define ARM_SMMU_GR0_sGFSR 0x48 ++#define ARM_SMMU_GR0_sGFSYNR0 0x50 ++#define ARM_SMMU_GR0_sGFSYNR1 0x54 ++#define ARM_SMMU_GR0_sGFSYNR2 0x58 ++ ++#define ID0_S1TS (1 << 30) ++#define ID0_S2TS (1 << 29) ++#define ID0_NTS (1 << 28) ++#define ID0_SMS (1 << 27) ++#define ID0_ATOSNS (1 << 26) ++#define ID0_PTFS_NO_AARCH32 (1 << 25) ++#define ID0_PTFS_NO_AARCH32S (1 << 24) ++#define ID0_CTTW (1 << 14) ++#define ID0_NUMIRPT_SHIFT 16 ++#define ID0_NUMIRPT_MASK 0xff ++#define ID0_NUMSIDB_SHIFT 9 ++#define ID0_NUMSIDB_MASK 0xf ++#define ID0_EXIDS (1 << 8) ++#define ID0_NUMSMRG_SHIFT 0 ++#define ID0_NUMSMRG_MASK 0xff ++ ++#define ID1_PAGESIZE (1 << 31) ++#define ID1_NUMPAGENDXB_SHIFT 28 ++#define ID1_NUMPAGENDXB_MASK 7 ++#define ID1_NUMS2CB_SHIFT 16 ++#define ID1_NUMS2CB_MASK 0xff ++#define ID1_NUMCB_SHIFT 0 ++#define ID1_NUMCB_MASK 0xff ++ ++#define ID2_OAS_SHIFT 4 ++#define ID2_OAS_MASK 0xf ++#define ID2_IAS_SHIFT 0 ++#define ID2_IAS_MASK 0xf ++#define ID2_UBS_SHIFT 8 ++#define ID2_UBS_MASK 0xf ++#define ID2_PTFS_4K (1 << 12) ++#define ID2_PTFS_16K (1 << 13) ++#define ID2_PTFS_64K (1 << 14) ++#define ID2_VMID16 (1 << 15) ++ ++#define ID7_MAJOR_SHIFT 4 ++#define ID7_MAJOR_MASK 0xf ++ ++/* Global TLB invalidation */ ++#define ARM_SMMU_GR0_TLBIVMID 0x64 ++#define ARM_SMMU_GR0_TLBIALLNSNH 0x68 ++#define ARM_SMMU_GR0_TLBIALLH 0x6c ++#define ARM_SMMU_GR0_sTLBGSYNC 0x70 ++#define ARM_SMMU_GR0_sTLBGSTATUS 0x74 ++#define sTLBGSTATUS_GSACTIVE (1 << 0) ++#define TLB_LOOP_TIMEOUT 1000000 /* 1s! */ ++#define TLB_SPIN_COUNT 10 ++ ++/* Stream mapping registers */ ++#define ARM_SMMU_GR0_SMR(n) (0x800 + ((n) << 2)) ++#define SMR_VALID (1 << 31) ++#define SMR_MASK_SHIFT 16 ++#define SMR_ID_SHIFT 0 ++ ++#define ARM_SMMU_GR0_S2CR(n) (0xc00 + ((n) << 2)) ++#define S2CR_CBNDX_SHIFT 0 ++#define S2CR_CBNDX_MASK 0xff ++#define S2CR_EXIDVALID (1 << 10) ++#define S2CR_TYPE_SHIFT 16 ++#define S2CR_TYPE_MASK 0x3 ++enum arm_smmu_s2cr_type { ++ S2CR_TYPE_TRANS, ++ S2CR_TYPE_BYPASS, ++ S2CR_TYPE_FAULT, ++}; ++ ++#define S2CR_PRIVCFG_SHIFT 24 ++#define S2CR_PRIVCFG_MASK 0x3 ++enum arm_smmu_s2cr_privcfg { ++ S2CR_PRIVCFG_DEFAULT, ++ S2CR_PRIVCFG_DIPAN, ++ S2CR_PRIVCFG_UNPRIV, ++ S2CR_PRIVCFG_PRIV, ++}; ++ ++/* Context bank attribute registers */ ++#define ARM_SMMU_GR1_CBAR(n) (0x0 + ((n) << 2)) ++#define CBAR_VMID_SHIFT 0 ++#define CBAR_VMID_MASK 0xff ++#define CBAR_S1_BPSHCFG_SHIFT 8 ++#define CBAR_S1_BPSHCFG_MASK 3 ++#define CBAR_S1_BPSHCFG_NSH 3 ++#define CBAR_S1_MEMATTR_SHIFT 12 ++#define CBAR_S1_MEMATTR_MASK 0xf ++#define CBAR_S1_MEMATTR_WB 0xf ++#define CBAR_TYPE_SHIFT 16 ++#define CBAR_TYPE_MASK 0x3 ++#define CBAR_TYPE_S2_TRANS (0 << CBAR_TYPE_SHIFT) ++#define CBAR_TYPE_S1_TRANS_S2_BYPASS (1 << CBAR_TYPE_SHIFT) ++#define CBAR_TYPE_S1_TRANS_S2_FAULT (2 << CBAR_TYPE_SHIFT) ++#define CBAR_TYPE_S1_TRANS_S2_TRANS (3 << CBAR_TYPE_SHIFT) ++#define CBAR_IRPTNDX_SHIFT 24 ++#define CBAR_IRPTNDX_MASK 0xff ++ ++#define ARM_SMMU_GR1_CBA2R(n) (0x800 + ((n) << 2)) ++#define CBA2R_RW64_32BIT (0 << 0) ++#define CBA2R_RW64_64BIT (1 << 0) ++#define CBA2R_VMID_SHIFT 16 ++#define CBA2R_VMID_MASK 0xffff ++ ++#define ARM_SMMU_CB_SCTLR 0x0 ++#define ARM_SMMU_CB_ACTLR 0x4 ++#define ARM_SMMU_CB_RESUME 0x8 ++#define ARM_SMMU_CB_TTBCR2 0x10 ++#define ARM_SMMU_CB_TTBR0 0x20 ++#define ARM_SMMU_CB_TTBR1 0x28 ++#define ARM_SMMU_CB_TTBCR 0x30 ++#define ARM_SMMU_CB_CONTEXTIDR 0x34 ++#define ARM_SMMU_CB_S1_MAIR0 0x38 ++#define ARM_SMMU_CB_S1_MAIR1 0x3c ++#define ARM_SMMU_CB_PAR 0x50 ++#define ARM_SMMU_CB_FSR 0x58 ++#define ARM_SMMU_CB_FAR 0x60 ++#define ARM_SMMU_CB_FSYNR0 0x68 ++#define ARM_SMMU_CB_S1_TLBIVA 0x600 ++#define ARM_SMMU_CB_S1_TLBIASID 0x610 ++#define ARM_SMMU_CB_S1_TLBIVAL 0x620 ++#define ARM_SMMU_CB_S2_TLBIIPAS2 0x630 ++#define ARM_SMMU_CB_S2_TLBIIPAS2L 0x638 ++#define ARM_SMMU_CB_TLBSYNC 0x7f0 ++#define ARM_SMMU_CB_TLBSTATUS 0x7f4 ++#define ARM_SMMU_CB_ATS1PR 0x800 ++#define ARM_SMMU_CB_ATSR 0x8f0 ++ ++#define SCTLR_S1_ASIDPNE (1 << 12) ++#define SCTLR_CFCFG (1 << 7) ++#define SCTLR_CFIE (1 << 6) ++#define SCTLR_CFRE (1 << 5) ++#define SCTLR_E (1 << 4) ++#define SCTLR_AFE (1 << 2) ++#define SCTLR_TRE (1 << 1) ++#define SCTLR_M (1 << 0) ++ ++#define ARM_MMU500_ACTLR_CPRE (1 << 1) ++ ++#define ARM_MMU500_ACR_CACHE_LOCK (1 << 26) ++#define ARM_MMU500_ACR_SMTNMB_TLBEN (1 << 8) ++ ++#define CB_PAR_F (1 << 0) ++ ++#define ATSR_ACTIVE (1 << 0) ++ ++#define RESUME_RETRY (0 << 0) ++#define RESUME_TERMINATE (1 << 0) ++ ++#define TTBCR2_SEP_SHIFT 15 ++#define TTBCR2_SEP_UPSTREAM (0x7 << TTBCR2_SEP_SHIFT) ++#define TTBCR2_AS (1 << 4) ++ ++#define TTBRn_ASID_SHIFT 48 ++ ++#define FSR_MULTI (1 << 31) ++#define FSR_SS (1 << 30) ++#define FSR_UUT (1 << 8) ++#define FSR_ASF (1 << 7) ++#define FSR_TLBLKF (1 << 6) ++#define FSR_TLBMCF (1 << 5) ++#define FSR_EF (1 << 4) ++#define FSR_PF (1 << 3) ++#define FSR_AFF (1 << 2) ++#define FSR_TF (1 << 1) ++ ++#define FSR_IGN (FSR_AFF | FSR_ASF | \ ++ FSR_TLBMCF | FSR_TLBLKF) ++#define FSR_FAULT (FSR_MULTI | FSR_SS | FSR_UUT | \ ++ FSR_EF | FSR_PF | FSR_TF | FSR_IGN) ++ ++#define FSYNR0_WNR (1 << 4) ++ ++#endif /* _ARM_SMMU_REGS_H */ +diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c +index 7ec30b08b3bd..ca9c20f915a8 100644 +--- a/drivers/iommu/arm-smmu.c ++++ b/drivers/iommu/arm-smmu.c +@@ -54,6 +54,7 @@ + #include <linux/amba/bus.h> + + #include "io-pgtable.h" ++#include "arm-smmu-regs.h" + + /* Maximum number of context banks per SMMU */ + #define ARM_SMMU_MAX_CBS 128 +@@ -83,211 +84,9 @@ + #define smmu_write_atomic_lq writel_relaxed + #endif + +-/* Configuration registers */ +-#define ARM_SMMU_GR0_sCR0 0x0 +-#define sCR0_CLIENTPD (1 << 0) +-#define sCR0_GFRE (1 << 1) +-#define sCR0_GFIE (1 << 2) +-#define sCR0_EXIDENABLE (1 << 3) +-#define sCR0_GCFGFRE (1 << 4) +-#define sCR0_GCFGFIE (1 << 5) +-#define sCR0_USFCFG (1 << 10) +-#define sCR0_VMIDPNE (1 << 11) +-#define sCR0_PTM (1 << 12) +-#define sCR0_FB (1 << 13) +-#define sCR0_VMID16EN (1 << 31) +-#define sCR0_BSU_SHIFT 14 +-#define sCR0_BSU_MASK 0x3 +- +-/* Auxiliary Configuration register */ +-#define ARM_SMMU_GR0_sACR 0x10 +- +-/* Identification registers */ +-#define ARM_SMMU_GR0_ID0 0x20 +-#define ARM_SMMU_GR0_ID1 0x24 +-#define ARM_SMMU_GR0_ID2 0x28 +-#define ARM_SMMU_GR0_ID3 0x2c +-#define ARM_SMMU_GR0_ID4 0x30 +-#define ARM_SMMU_GR0_ID5 0x34 +-#define ARM_SMMU_GR0_ID6 0x38 +-#define ARM_SMMU_GR0_ID7 0x3c +-#define ARM_SMMU_GR0_sGFSR 0x48 +-#define ARM_SMMU_GR0_sGFSYNR0 0x50 +-#define ARM_SMMU_GR0_sGFSYNR1 0x54 +-#define ARM_SMMU_GR0_sGFSYNR2 0x58 +- +-#define ID0_S1TS (1 << 30) +-#define ID0_S2TS (1 << 29) +-#define ID0_NTS (1 << 28) +-#define ID0_SMS (1 << 27) +-#define ID0_ATOSNS (1 << 26) +-#define ID0_PTFS_NO_AARCH32 (1 << 25) +-#define ID0_PTFS_NO_AARCH32S (1 << 24) +-#define ID0_CTTW (1 << 14) +-#define ID0_NUMIRPT_SHIFT 16 +-#define ID0_NUMIRPT_MASK 0xff +-#define ID0_NUMSIDB_SHIFT 9 +-#define ID0_NUMSIDB_MASK 0xf +-#define ID0_EXIDS (1 << 8) +-#define ID0_NUMSMRG_SHIFT 0 +-#define ID0_NUMSMRG_MASK 0xff +- +-#define ID1_PAGESIZE (1 << 31) +-#define ID1_NUMPAGENDXB_SHIFT 28 +-#define ID1_NUMPAGENDXB_MASK 7 +-#define ID1_NUMS2CB_SHIFT 16 +-#define ID1_NUMS2CB_MASK 0xff +-#define ID1_NUMCB_SHIFT 0 +-#define ID1_NUMCB_MASK 0xff +- +-#define ID2_OAS_SHIFT 4 +-#define ID2_OAS_MASK 0xf +-#define ID2_IAS_SHIFT 0 +-#define ID2_IAS_MASK 0xf +-#define ID2_UBS_SHIFT 8 +-#define ID2_UBS_MASK 0xf +-#define ID2_PTFS_4K (1 << 12) +-#define ID2_PTFS_16K (1 << 13) +-#define ID2_PTFS_64K (1 << 14) +-#define ID2_VMID16 (1 << 15) +- +-#define ID7_MAJOR_SHIFT 4 +-#define ID7_MAJOR_MASK 0xf +- +-/* Global TLB invalidation */ +-#define ARM_SMMU_GR0_TLBIVMID 0x64 +-#define ARM_SMMU_GR0_TLBIALLNSNH 0x68 +-#define ARM_SMMU_GR0_TLBIALLH 0x6c +-#define ARM_SMMU_GR0_sTLBGSYNC 0x70 +-#define ARM_SMMU_GR0_sTLBGSTATUS 0x74 +-#define sTLBGSTATUS_GSACTIVE (1 << 0) +-#define TLB_LOOP_TIMEOUT 1000000 /* 1s! */ +-#define TLB_SPIN_COUNT 10 +- +-/* Stream mapping registers */ +-#define ARM_SMMU_GR0_SMR(n) (0x800 + ((n) << 2)) +-#define SMR_VALID (1 << 31) +-#define SMR_MASK_SHIFT 16 +-#define SMR_ID_SHIFT 0 +- +-#define ARM_SMMU_GR0_S2CR(n) (0xc00 + ((n) << 2)) +-#define S2CR_CBNDX_SHIFT 0 +-#define S2CR_CBNDX_MASK 0xff +-#define S2CR_EXIDVALID (1 << 10) +-#define S2CR_TYPE_SHIFT 16 +-#define S2CR_TYPE_MASK 0x3 +-enum arm_smmu_s2cr_type { +- S2CR_TYPE_TRANS, +- S2CR_TYPE_BYPASS, +- S2CR_TYPE_FAULT, +-}; +- +-#define S2CR_PRIVCFG_SHIFT 24 +-#define S2CR_PRIVCFG_MASK 0x3 +-enum arm_smmu_s2cr_privcfg { +- S2CR_PRIVCFG_DEFAULT, +- S2CR_PRIVCFG_DIPAN, +- S2CR_PRIVCFG_UNPRIV, +- S2CR_PRIVCFG_PRIV, +-}; +- +-/* Context bank attribute registers */ +-#define ARM_SMMU_GR1_CBAR(n) (0x0 + ((n) << 2)) +-#define CBAR_VMID_SHIFT 0 +-#define CBAR_VMID_MASK 0xff +-#define CBAR_S1_BPSHCFG_SHIFT 8 +-#define CBAR_S1_BPSHCFG_MASK 3 +-#define CBAR_S1_BPSHCFG_NSH 3 +-#define CBAR_S1_MEMATTR_SHIFT 12 +-#define CBAR_S1_MEMATTR_MASK 0xf +-#define CBAR_S1_MEMATTR_WB 0xf +-#define CBAR_TYPE_SHIFT 16 +-#define CBAR_TYPE_MASK 0x3 +-#define CBAR_TYPE_S2_TRANS (0 << CBAR_TYPE_SHIFT) +-#define CBAR_TYPE_S1_TRANS_S2_BYPASS (1 << CBAR_TYPE_SHIFT) +-#define CBAR_TYPE_S1_TRANS_S2_FAULT (2 << CBAR_TYPE_SHIFT) +-#define CBAR_TYPE_S1_TRANS_S2_TRANS (3 << CBAR_TYPE_SHIFT) +-#define CBAR_IRPTNDX_SHIFT 24 +-#define CBAR_IRPTNDX_MASK 0xff +- +-#define ARM_SMMU_GR1_CBA2R(n) (0x800 + ((n) << 2)) +-#define CBA2R_RW64_32BIT (0 << 0) +-#define CBA2R_RW64_64BIT (1 << 0) +-#define CBA2R_VMID_SHIFT 16 +-#define CBA2R_VMID_MASK 0xffff +- + /* Translation context bank */ + #define ARM_SMMU_CB(smmu, n) ((smmu)->cb_base + ((n) << (smmu)->pgshift)) + +-#define ARM_SMMU_CB_SCTLR 0x0 +-#define ARM_SMMU_CB_ACTLR 0x4 +-#define ARM_SMMU_CB_RESUME 0x8 +-#define ARM_SMMU_CB_TTBCR2 0x10 +-#define ARM_SMMU_CB_TTBR0 0x20 +-#define ARM_SMMU_CB_TTBR1 0x28 +-#define ARM_SMMU_CB_TTBCR 0x30 +-#define ARM_SMMU_CB_CONTEXTIDR 0x34 +-#define ARM_SMMU_CB_S1_MAIR0 0x38 +-#define ARM_SMMU_CB_S1_MAIR1 0x3c +-#define ARM_SMMU_CB_PAR 0x50 +-#define ARM_SMMU_CB_FSR 0x58 +-#define ARM_SMMU_CB_FAR 0x60 +-#define ARM_SMMU_CB_FSYNR0 0x68 +-#define ARM_SMMU_CB_S1_TLBIVA 0x600 +-#define ARM_SMMU_CB_S1_TLBIASID 0x610 +-#define ARM_SMMU_CB_S1_TLBIVAL 0x620 +-#define ARM_SMMU_CB_S2_TLBIIPAS2 0x630 +-#define ARM_SMMU_CB_S2_TLBIIPAS2L 0x638 +-#define ARM_SMMU_CB_TLBSYNC 0x7f0 +-#define ARM_SMMU_CB_TLBSTATUS 0x7f4 +-#define ARM_SMMU_CB_ATS1PR 0x800 +-#define ARM_SMMU_CB_ATSR 0x8f0 +- +-#define SCTLR_S1_ASIDPNE (1 << 12) +-#define SCTLR_CFCFG (1 << 7) +-#define SCTLR_CFIE (1 << 6) +-#define SCTLR_CFRE (1 << 5) +-#define SCTLR_E (1 << 4) +-#define SCTLR_AFE (1 << 2) +-#define SCTLR_TRE (1 << 1) +-#define SCTLR_M (1 << 0) +- +-#define ARM_MMU500_ACTLR_CPRE (1 << 1) +- +-#define ARM_MMU500_ACR_CACHE_LOCK (1 << 26) +-#define ARM_MMU500_ACR_SMTNMB_TLBEN (1 << 8) +- +-#define CB_PAR_F (1 << 0) +- +-#define ATSR_ACTIVE (1 << 0) +- +-#define RESUME_RETRY (0 << 0) +-#define RESUME_TERMINATE (1 << 0) +- +-#define TTBCR2_SEP_SHIFT 15 +-#define TTBCR2_SEP_UPSTREAM (0x7 << TTBCR2_SEP_SHIFT) +-#define TTBCR2_AS (1 << 4) +- +-#define TTBRn_ASID_SHIFT 48 +- +-#define FSR_MULTI (1 << 31) +-#define FSR_SS (1 << 30) +-#define FSR_UUT (1 << 8) +-#define FSR_ASF (1 << 7) +-#define FSR_TLBLKF (1 << 6) +-#define FSR_TLBMCF (1 << 5) +-#define FSR_EF (1 << 4) +-#define FSR_PF (1 << 3) +-#define FSR_AFF (1 << 2) +-#define FSR_TF (1 << 1) +- +-#define FSR_IGN (FSR_AFF | FSR_ASF | \ +- FSR_TLBMCF | FSR_TLBLKF) +-#define FSR_FAULT (FSR_MULTI | FSR_SS | FSR_UUT | \ +- FSR_EF | FSR_PF | FSR_TF | FSR_IGN) +- +-#define FSYNR0_WNR (1 << 4) +- + #define MSI_IOVA_BASE 0x8000000 + #define MSI_IOVA_LENGTH 0x100000 + +From patchwork Thu Jul 13 12:07:46 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [RESEND,3/4] iommu: add qcom_iommu +From: Rob Clark <robdclark@gmail.com> +X-Patchwork-Id: 9838375 +Message-Id: <20170713120747.20490-4-robdclark@gmail.com> +To: iommu@lists.linux-foundation.org +Cc: linux-arm-msm@vger.kernel.org, Archit Taneja <architt@codeaurora.org>, + Rob Herring <robh@kernel.org>, Will Deacon <will.deacon@arm.com>, + Sricharan <sricharan@codeaurora.org>, + Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>, + Rob Clark <robdclark@gmail.com> +Date: Thu, 13 Jul 2017 08:07:46 -0400 + +An iommu driver for Qualcomm "B" family devices which do implement the +ARM SMMU spec, but not in a way that is compatible with how the arm-smmu +driver is designed. It seems SMMU_SCR1.GASRAE=1 so the global register +space is not accessible. This means it needs to get configuration from +devicetree instead of setting it up dynamically. + +In the end, other than register definitions, there is not much code to +share with arm-smmu (other than what has already been refactored out +into the pgtable helpers). + +Signed-off-by: Rob Clark <robdclark@gmail.com> +Tested-by: Riku Voipio <riku.voipio@linaro.org> +--- +v1: original +v2: bindings cleanups and kconfig issues that kbuild robot pointed out +v3: fix issues pointed out by Rob H. and actually make device removal + work +v4: fix WARN_ON() splats reported by Archit +v5: some fixes to build as a module.. note that it cannot actually + be built as a module yet (at minimum a bunch of other iommu syms + that are needed are not exported, but there may be more to it + than that), but at least qcom_iommu is ready should it become + possible to build iommu drivers as modules. +v6: Add additional pm-runtime get/puts around paths that can hit + TLB inv, to avoid unclocked register access if device using the + iommu is not powered on. And pre-emptively clear interrupts + before registering IRQ handler just in case the bootloader has + left us a surpise. +v7: Address review comments from Robin (don't associate iommu_group + with context bank, table lookup instead of list to find context + bank, etc) +v8: Fix silly bug on detach. Actually Robin already pointed it out + but I somehow overlooked that comment when preparing v7. + + drivers/iommu/Kconfig | 10 + + drivers/iommu/Makefile | 1 + + drivers/iommu/qcom_iommu.c | 868 +++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 879 insertions(+) + create mode 100644 drivers/iommu/qcom_iommu.c + +diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig +index 6ee3a25ae731..aa4b62893fe1 100644 +--- a/drivers/iommu/Kconfig ++++ b/drivers/iommu/Kconfig +@@ -367,4 +367,14 @@ config MTK_IOMMU_V1 + + if unsure, say N here. + ++config QCOM_IOMMU ++ # Note: iommu drivers cannot (yet?) be built as modules ++ bool "Qualcomm IOMMU Support" ++ depends on ARCH_QCOM || COMPILE_TEST ++ select IOMMU_API ++ select IOMMU_IO_PGTABLE_LPAE ++ select ARM_DMA_USE_IOMMU ++ help ++ Support for IOMMU on certain Qualcomm SoCs. ++ + endif # IOMMU_SUPPORT +diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile +index 195f7b997d8e..b910aea813a1 100644 +--- a/drivers/iommu/Makefile ++++ b/drivers/iommu/Makefile +@@ -27,3 +27,4 @@ obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o + obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o + obj-$(CONFIG_FSL_PAMU) += fsl_pamu.o fsl_pamu_domain.o + obj-$(CONFIG_S390_IOMMU) += s390-iommu.o ++obj-$(CONFIG_QCOM_IOMMU) += qcom_iommu.o +diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c +new file mode 100644 +index 000000000000..860cad1cb167 +--- /dev/null ++++ b/drivers/iommu/qcom_iommu.c +@@ -0,0 +1,868 @@ ++/* ++ * IOMMU API for QCOM secure IOMMUs. Somewhat based on arm-smmu.c ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program. If not, see <http://www.gnu.org/licenses/>. ++ * ++ * Copyright (C) 2013 ARM Limited ++ * Copyright (C) 2017 Red Hat ++ */ ++ ++#include <linux/atomic.h> ++#include <linux/clk.h> ++#include <linux/delay.h> ++#include <linux/dma-iommu.h> ++#include <linux/dma-mapping.h> ++#include <linux/err.h> ++#include <linux/interrupt.h> ++#include <linux/io.h> ++#include <linux/io-64-nonatomic-hi-lo.h> ++#include <linux/iommu.h> ++#include <linux/iopoll.h> ++#include <linux/kconfig.h> ++#include <linux/module.h> ++#include <linux/mutex.h> ++#include <linux/of.h> ++#include <linux/of_address.h> ++#include <linux/of_device.h> ++#include <linux/of_iommu.h> ++#include <linux/platform_device.h> ++#include <linux/pm.h> ++#include <linux/pm_runtime.h> ++#include <linux/qcom_scm.h> ++#include <linux/slab.h> ++#include <linux/spinlock.h> ++ ++#include "io-pgtable.h" ++#include "arm-smmu-regs.h" ++ ++#define SMMU_INTR_SEL_NS 0x2000 ++ ++struct qcom_iommu_ctx; ++ ++struct qcom_iommu_dev { ++ /* IOMMU core code handle */ ++ struct iommu_device iommu; ++ struct device *dev; ++ struct clk *iface_clk; ++ struct clk *bus_clk; ++ void __iomem *local_base; ++ u32 sec_id; ++ u8 num_ctxs; ++ struct qcom_iommu_ctx *ctxs[0]; /* indexed by asid-1 */ ++}; ++ ++struct qcom_iommu_ctx { ++ struct device *dev; ++ void __iomem *base; ++ bool secure_init; ++ u8 asid; /* asid and ctx bank # are 1:1 */ ++}; ++ ++struct qcom_iommu_domain { ++ struct io_pgtable_ops *pgtbl_ops; ++ spinlock_t pgtbl_lock; ++ struct mutex init_mutex; /* Protects iommu pointer */ ++ struct iommu_domain domain; ++ struct qcom_iommu_dev *iommu; ++}; ++ ++static struct qcom_iommu_domain *to_qcom_iommu_domain(struct iommu_domain *dom) ++{ ++ return container_of(dom, struct qcom_iommu_domain, domain); ++} ++ ++static const struct iommu_ops qcom_iommu_ops; ++ ++static struct qcom_iommu_dev * to_iommu(struct iommu_fwspec *fwspec) ++{ ++ if (!fwspec || fwspec->ops != &qcom_iommu_ops) ++ return NULL; ++ return fwspec->iommu_priv; ++} ++ ++static struct qcom_iommu_ctx * to_ctx(struct iommu_fwspec *fwspec, unsigned asid) ++{ ++ struct qcom_iommu_dev *qcom_iommu = to_iommu(fwspec); ++ if (!qcom_iommu) ++ return NULL; ++ return qcom_iommu->ctxs[asid - 1]; ++} ++ ++static inline void ++iommu_writel(struct qcom_iommu_ctx *ctx, unsigned reg, u32 val) ++{ ++ writel_relaxed(val, ctx->base + reg); ++} ++ ++static inline void ++iommu_writeq(struct qcom_iommu_ctx *ctx, unsigned reg, u64 val) ++{ ++ writeq_relaxed(val, ctx->base + reg); ++} ++ ++static inline u32 ++iommu_readl(struct qcom_iommu_ctx *ctx, unsigned reg) ++{ ++ return readl_relaxed(ctx->base + reg); ++} ++ ++static inline u64 ++iommu_readq(struct qcom_iommu_ctx *ctx, unsigned reg) ++{ ++ return readq_relaxed(ctx->base + reg); ++} ++ ++static void qcom_iommu_tlb_sync(void *cookie) ++{ ++ struct iommu_fwspec *fwspec = cookie; ++ unsigned i; ++ ++ for (i = 0; i < fwspec->num_ids; i++) { ++ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); ++ unsigned int val, ret; ++ ++ iommu_writel(ctx, ARM_SMMU_CB_TLBSYNC, 0); ++ ++ ret = readl_poll_timeout(ctx->base + ARM_SMMU_CB_TLBSTATUS, val, ++ (val & 0x1) == 0, 0, 5000000); ++ if (ret) ++ dev_err(ctx->dev, "timeout waiting for TLB SYNC\n"); ++ } ++} ++ ++static void qcom_iommu_tlb_inv_context(void *cookie) ++{ ++ struct iommu_fwspec *fwspec = cookie; ++ unsigned i; ++ ++ for (i = 0; i < fwspec->num_ids; i++) { ++ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); ++ iommu_writel(ctx, ARM_SMMU_CB_S1_TLBIASID, ctx->asid); ++ } ++ ++ qcom_iommu_tlb_sync(cookie); ++} ++ ++static void qcom_iommu_tlb_inv_range_nosync(unsigned long iova, size_t size, ++ size_t granule, bool leaf, void *cookie) ++{ ++ struct iommu_fwspec *fwspec = cookie; ++ unsigned i, reg; ++ ++ reg = leaf ? ARM_SMMU_CB_S1_TLBIVAL : ARM_SMMU_CB_S1_TLBIVA; ++ ++ for (i = 0; i < fwspec->num_ids; i++) { ++ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); ++ size_t s = size; ++ ++ iova &= ~12UL; ++ iova |= ctx->asid; ++ do { ++ iommu_writel(ctx, reg, iova); ++ iova += granule; ++ } while (s -= granule); ++ } ++} ++ ++static const struct iommu_gather_ops qcom_gather_ops = { ++ .tlb_flush_all = qcom_iommu_tlb_inv_context, ++ .tlb_add_flush = qcom_iommu_tlb_inv_range_nosync, ++ .tlb_sync = qcom_iommu_tlb_sync, ++}; ++ ++static irqreturn_t qcom_iommu_fault(int irq, void *dev) ++{ ++ struct qcom_iommu_ctx *ctx = dev; ++ u32 fsr, fsynr; ++ u64 iova; ++ ++ fsr = iommu_readl(ctx, ARM_SMMU_CB_FSR); ++ ++ if (!(fsr & FSR_FAULT)) ++ return IRQ_NONE; ++ ++ fsynr = iommu_readl(ctx, ARM_SMMU_CB_FSYNR0); ++ iova = iommu_readq(ctx, ARM_SMMU_CB_FAR); ++ ++ dev_err_ratelimited(ctx->dev, ++ "Unhandled context fault: fsr=0x%x, " ++ "iova=0x%016llx, fsynr=0x%x, cb=%d\n", ++ fsr, iova, fsynr, ctx->asid); ++ ++ iommu_writel(ctx, ARM_SMMU_CB_FSR, fsr); ++ ++ return IRQ_HANDLED; ++} ++ ++static int qcom_iommu_init_domain(struct iommu_domain *domain, ++ struct qcom_iommu_dev *qcom_iommu, ++ struct iommu_fwspec *fwspec) ++{ ++ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); ++ struct io_pgtable_ops *pgtbl_ops; ++ struct io_pgtable_cfg pgtbl_cfg; ++ int i, ret = 0; ++ u32 reg; ++ ++ mutex_lock(&qcom_domain->init_mutex); ++ if (qcom_domain->iommu) ++ goto out_unlock; ++ ++ pgtbl_cfg = (struct io_pgtable_cfg) { ++ .pgsize_bitmap = qcom_iommu_ops.pgsize_bitmap, ++ .ias = 32, ++ .oas = 40, ++ .tlb = &qcom_gather_ops, ++ .iommu_dev = qcom_iommu->dev, ++ }; ++ ++ qcom_domain->iommu = qcom_iommu; ++ pgtbl_ops = alloc_io_pgtable_ops(ARM_32_LPAE_S1, &pgtbl_cfg, fwspec); ++ if (!pgtbl_ops) { ++ dev_err(qcom_iommu->dev, "failed to allocate pagetable ops\n"); ++ ret = -ENOMEM; ++ goto out_clear_iommu; ++ } ++ ++ /* Update the domain's page sizes to reflect the page table format */ ++ domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; ++ domain->geometry.aperture_end = (1ULL << pgtbl_cfg.ias) - 1; ++ domain->geometry.force_aperture = true; ++ ++ for (i = 0; i < fwspec->num_ids; i++) { ++ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); ++ ++ if (!ctx->secure_init) { ++ ret = qcom_scm_restore_sec_cfg(qcom_iommu->sec_id, ctx->asid); ++ if (ret) { ++ dev_err(qcom_iommu->dev, "secure init failed: %d\n", ret); ++ goto out_clear_iommu; ++ } ++ ctx->secure_init = true; ++ } ++ ++ /* TTBRs */ ++ iommu_writeq(ctx, ARM_SMMU_CB_TTBR0, ++ pgtbl_cfg.arm_lpae_s1_cfg.ttbr[0] | ++ ((u64)ctx->asid << TTBRn_ASID_SHIFT)); ++ iommu_writeq(ctx, ARM_SMMU_CB_TTBR1, ++ pgtbl_cfg.arm_lpae_s1_cfg.ttbr[1] | ++ ((u64)ctx->asid << TTBRn_ASID_SHIFT)); ++ ++ /* TTBCR */ ++ iommu_writel(ctx, ARM_SMMU_CB_TTBCR2, ++ (pgtbl_cfg.arm_lpae_s1_cfg.tcr >> 32) | ++ TTBCR2_SEP_UPSTREAM); ++ iommu_writel(ctx, ARM_SMMU_CB_TTBCR, ++ pgtbl_cfg.arm_lpae_s1_cfg.tcr); ++ ++ /* MAIRs (stage-1 only) */ ++ iommu_writel(ctx, ARM_SMMU_CB_S1_MAIR0, ++ pgtbl_cfg.arm_lpae_s1_cfg.mair[0]); ++ iommu_writel(ctx, ARM_SMMU_CB_S1_MAIR1, ++ pgtbl_cfg.arm_lpae_s1_cfg.mair[1]); ++ ++ /* SCTLR */ ++ reg = SCTLR_CFIE | SCTLR_CFRE | SCTLR_AFE | SCTLR_TRE | ++ SCTLR_M | SCTLR_S1_ASIDPNE; ++ ++ if (IS_ENABLED(CONFIG_BIG_ENDIAN)) ++ reg |= SCTLR_E; ++ ++ iommu_writel(ctx, ARM_SMMU_CB_SCTLR, reg); ++ } ++ ++ mutex_unlock(&qcom_domain->init_mutex); ++ ++ /* Publish page table ops for map/unmap */ ++ qcom_domain->pgtbl_ops = pgtbl_ops; ++ ++ return 0; ++ ++out_clear_iommu: ++ qcom_domain->iommu = NULL; ++out_unlock: ++ mutex_unlock(&qcom_domain->init_mutex); ++ return ret; ++} ++ ++static struct iommu_domain *qcom_iommu_domain_alloc(unsigned type) ++{ ++ struct qcom_iommu_domain *qcom_domain; ++ ++ if (type != IOMMU_DOMAIN_UNMANAGED && type != IOMMU_DOMAIN_DMA) ++ return NULL; ++ /* ++ * Allocate the domain and initialise some of its data structures. ++ * We can't really do anything meaningful until we've added a ++ * master. ++ */ ++ qcom_domain = kzalloc(sizeof(*qcom_domain), GFP_KERNEL); ++ if (!qcom_domain) ++ return NULL; ++ ++ if (type == IOMMU_DOMAIN_DMA && ++ iommu_get_dma_cookie(&qcom_domain->domain)) { ++ kfree(qcom_domain); ++ return NULL; ++ } ++ ++ mutex_init(&qcom_domain->init_mutex); ++ spin_lock_init(&qcom_domain->pgtbl_lock); ++ ++ return &qcom_domain->domain; ++} ++ ++static void qcom_iommu_domain_free(struct iommu_domain *domain) ++{ ++ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); ++ ++ if (WARN_ON(qcom_domain->iommu)) /* forgot to detach? */ ++ return; ++ ++ iommu_put_dma_cookie(domain); ++ ++ /* NOTE: unmap can be called after client device is powered off, ++ * for example, with GPUs or anything involving dma-buf. So we ++ * cannot rely on the device_link. Make sure the IOMMU is on to ++ * avoid unclocked accesses in the TLB inv path: ++ */ ++ pm_runtime_get_sync(qcom_domain->iommu->dev); ++ ++ free_io_pgtable_ops(qcom_domain->pgtbl_ops); ++ ++ pm_runtime_put_sync(qcom_domain->iommu->dev); ++ ++ kfree(qcom_domain); ++} ++ ++static int qcom_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) ++{ ++ struct qcom_iommu_dev *qcom_iommu = to_iommu(dev->iommu_fwspec); ++ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); ++ int ret; ++ ++ if (!qcom_iommu) { ++ dev_err(dev, "cannot attach to IOMMU, is it on the same bus?\n"); ++ return -ENXIO; ++ } ++ ++ /* Ensure that the domain is finalized */ ++ pm_runtime_get_sync(qcom_iommu->dev); ++ ret = qcom_iommu_init_domain(domain, qcom_iommu, dev->iommu_fwspec); ++ pm_runtime_put_sync(qcom_iommu->dev); ++ if (ret < 0) ++ return ret; ++ ++ /* ++ * Sanity check the domain. We don't support domains across ++ * different IOMMUs. ++ */ ++ if (qcom_domain->iommu != qcom_iommu) { ++ dev_err(dev, "cannot attach to IOMMU %s while already " ++ "attached to domain on IOMMU %s\n", ++ dev_name(qcom_domain->iommu->dev), ++ dev_name(qcom_iommu->dev)); ++ return -EINVAL; ++ } ++ ++ return 0; ++} ++ ++static void qcom_iommu_detach_dev(struct iommu_domain *domain, struct device *dev) ++{ ++ struct iommu_fwspec *fwspec = dev->iommu_fwspec; ++ struct qcom_iommu_dev *qcom_iommu = to_iommu(fwspec); ++ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); ++ unsigned i; ++ ++ if (!qcom_domain->iommu) ++ return; ++ ++ pm_runtime_get_sync(qcom_iommu->dev); ++ for (i = 0; i < fwspec->num_ids; i++) { ++ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); ++ ++ /* Disable the context bank: */ ++ iommu_writel(ctx, ARM_SMMU_CB_SCTLR, 0); ++ } ++ pm_runtime_put_sync(qcom_iommu->dev); ++ ++ qcom_domain->iommu = NULL; ++} ++ ++static int qcom_iommu_map(struct iommu_domain *domain, unsigned long iova, ++ phys_addr_t paddr, size_t size, int prot) ++{ ++ int ret; ++ unsigned long flags; ++ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); ++ struct io_pgtable_ops *ops = qcom_domain->pgtbl_ops; ++ ++ if (!ops) ++ return -ENODEV; ++ ++ spin_lock_irqsave(&qcom_domain->pgtbl_lock, flags); ++ ret = ops->map(ops, iova, paddr, size, prot); ++ spin_unlock_irqrestore(&qcom_domain->pgtbl_lock, flags); ++ return ret; ++} ++ ++static size_t qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova, ++ size_t size) ++{ ++ size_t ret; ++ unsigned long flags; ++ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); ++ struct io_pgtable_ops *ops = qcom_domain->pgtbl_ops; ++ ++ if (!ops) ++ return 0; ++ ++ /* NOTE: unmap can be called after client device is powered off, ++ * for example, with GPUs or anything involving dma-buf. So we ++ * cannot rely on the device_link. Make sure the IOMMU is on to ++ * avoid unclocked accesses in the TLB inv path: ++ */ ++ pm_runtime_get_sync(qcom_domain->iommu->dev); ++ spin_lock_irqsave(&qcom_domain->pgtbl_lock, flags); ++ ret = ops->unmap(ops, iova, size); ++ spin_unlock_irqrestore(&qcom_domain->pgtbl_lock, flags); ++ pm_runtime_put_sync(qcom_domain->iommu->dev); ++ ++ return ret; ++} ++ ++static phys_addr_t qcom_iommu_iova_to_phys(struct iommu_domain *domain, ++ dma_addr_t iova) ++{ ++ phys_addr_t ret; ++ unsigned long flags; ++ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); ++ struct io_pgtable_ops *ops = qcom_domain->pgtbl_ops; ++ ++ if (!ops) ++ return 0; ++ ++ spin_lock_irqsave(&qcom_domain->pgtbl_lock, flags); ++ ret = ops->iova_to_phys(ops, iova); ++ spin_unlock_irqrestore(&qcom_domain->pgtbl_lock, flags); ++ ++ return ret; ++} ++ ++static bool qcom_iommu_capable(enum iommu_cap cap) ++{ ++ switch (cap) { ++ case IOMMU_CAP_CACHE_COHERENCY: ++ /* ++ * Return true here as the SMMU can always send out coherent ++ * requests. ++ */ ++ return true; ++ case IOMMU_CAP_NOEXEC: ++ return true; ++ default: ++ return false; ++ } ++} ++ ++static int qcom_iommu_add_device(struct device *dev) ++{ ++ struct qcom_iommu_dev *qcom_iommu = to_iommu(dev->iommu_fwspec); ++ struct iommu_group *group; ++ struct device_link *link; ++ ++ if (!qcom_iommu) ++ return -ENODEV; ++ ++ /* ++ * Establish the link between iommu and master, so that the ++ * iommu gets runtime enabled/disabled as per the master's ++ * needs. ++ */ ++ link = device_link_add(dev, qcom_iommu->dev, DL_FLAG_PM_RUNTIME); ++ if (!link) { ++ dev_err(qcom_iommu->dev, "Unable to create device link between %s and %s\n", ++ dev_name(qcom_iommu->dev), dev_name(dev)); ++ return -ENODEV; ++ } ++ ++ group = iommu_group_get_for_dev(dev); ++ if (IS_ERR_OR_NULL(group)) ++ return PTR_ERR_OR_ZERO(group); ++ ++ iommu_group_put(group); ++ iommu_device_link(&qcom_iommu->iommu, dev); ++ ++ return 0; ++} ++ ++static void qcom_iommu_remove_device(struct device *dev) ++{ ++ struct qcom_iommu_dev *qcom_iommu = to_iommu(dev->iommu_fwspec); ++ ++ if (!qcom_iommu) ++ return; ++ ++ iommu_device_unlink(&qcom_iommu->iommu, dev); ++ iommu_group_remove_device(dev); ++ iommu_fwspec_free(dev); ++} ++ ++static int qcom_iommu_of_xlate(struct device *dev, struct of_phandle_args *args) ++{ ++ struct qcom_iommu_dev *qcom_iommu; ++ struct platform_device *iommu_pdev; ++ unsigned asid = args->args[0]; ++ ++ if (args->args_count != 1) { ++ dev_err(dev, "incorrect number of iommu params found for %s " ++ "(found %d, expected 1)\n", ++ args->np->full_name, args->args_count); ++ return -EINVAL; ++ } ++ ++ iommu_pdev = of_find_device_by_node(args->np); ++ if (WARN_ON(!iommu_pdev)) ++ return -EINVAL; ++ ++ qcom_iommu = platform_get_drvdata(iommu_pdev); ++ ++ /* make sure the asid specified in dt is valid, so we don't have ++ * to sanity check this elsewhere, since 'asid - 1' is used to ++ * index into qcom_iommu->ctxs: ++ */ ++ if (WARN_ON(asid < 1) || ++ WARN_ON(asid > qcom_iommu->num_ctxs)) ++ return -EINVAL; ++ ++ if (!dev->iommu_fwspec->iommu_priv) { ++ dev->iommu_fwspec->iommu_priv = qcom_iommu; ++ } else { ++ /* make sure devices iommus dt node isn't referring to ++ * multiple different iommu devices. Multiple context ++ * banks are ok, but multiple devices are not: ++ */ ++ if (WARN_ON(qcom_iommu != dev->iommu_fwspec->iommu_priv)) ++ return -EINVAL; ++ } ++ ++ return iommu_fwspec_add_ids(dev, &asid, 1); ++} ++ ++static const struct iommu_ops qcom_iommu_ops = { ++ .capable = qcom_iommu_capable, ++ .domain_alloc = qcom_iommu_domain_alloc, ++ .domain_free = qcom_iommu_domain_free, ++ .attach_dev = qcom_iommu_attach_dev, ++ .detach_dev = qcom_iommu_detach_dev, ++ .map = qcom_iommu_map, ++ .unmap = qcom_iommu_unmap, ++ .map_sg = default_iommu_map_sg, ++ .iova_to_phys = qcom_iommu_iova_to_phys, ++ .add_device = qcom_iommu_add_device, ++ .remove_device = qcom_iommu_remove_device, ++ .device_group = generic_device_group, ++ .of_xlate = qcom_iommu_of_xlate, ++ .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M, ++}; ++ ++static int qcom_iommu_enable_clocks(struct qcom_iommu_dev *qcom_iommu) ++{ ++ int ret; ++ ++ ret = clk_prepare_enable(qcom_iommu->iface_clk); ++ if (ret) { ++ dev_err(qcom_iommu->dev, "Couldn't enable iface_clk\n"); ++ return ret; ++ } ++ ++ ret = clk_prepare_enable(qcom_iommu->bus_clk); ++ if (ret) { ++ dev_err(qcom_iommu->dev, "Couldn't enable bus_clk\n"); ++ clk_disable_unprepare(qcom_iommu->iface_clk); ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static void qcom_iommu_disable_clocks(struct qcom_iommu_dev *qcom_iommu) ++{ ++ clk_disable_unprepare(qcom_iommu->bus_clk); ++ clk_disable_unprepare(qcom_iommu->iface_clk); ++} ++ ++static int get_asid(const struct device_node *np) ++{ ++ u32 reg; ++ ++ /* read the "reg" property directly to get the relative address ++ * of the context bank, and calculate the asid from that: ++ */ ++ if (of_property_read_u32_index(np, "reg", 0, ®)) ++ return -ENODEV; ++ ++ return reg / 0x1000; /* context banks are 0x1000 apart */ ++} ++ ++static int qcom_iommu_ctx_probe(struct platform_device *pdev) ++{ ++ struct qcom_iommu_ctx *ctx; ++ struct device *dev = &pdev->dev; ++ struct qcom_iommu_dev *qcom_iommu = dev_get_drvdata(dev->parent); ++ struct resource *res; ++ int ret, irq; ++ ++ ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); ++ if (!ctx) ++ return -ENOMEM; ++ ++ ctx->dev = dev; ++ platform_set_drvdata(pdev, ctx); ++ ++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ ctx->base = devm_ioremap_resource(dev, res); ++ if (IS_ERR(ctx->base)) ++ return PTR_ERR(ctx->base); ++ ++ irq = platform_get_irq(pdev, 0); ++ if (irq < 0) { ++ dev_err(dev, "failed to get irq\n"); ++ return -ENODEV; ++ } ++ ++ /* clear IRQs before registering fault handler, just in case the ++ * boot-loader left us a surprise: ++ */ ++ iommu_writel(ctx, ARM_SMMU_CB_FSR, iommu_readl(ctx, ARM_SMMU_CB_FSR)); ++ ++ ret = devm_request_irq(dev, irq, ++ qcom_iommu_fault, ++ IRQF_SHARED, ++ "qcom-iommu-fault", ++ ctx); ++ if (ret) { ++ dev_err(dev, "failed to request IRQ %u\n", irq); ++ return ret; ++ } ++ ++ ret = get_asid(dev->of_node); ++ if (ret < 0) { ++ dev_err(dev, "missing reg property\n"); ++ return ret; ++ } ++ ++ ctx->asid = ret; ++ ++ dev_dbg(dev, "found asid %u\n", ctx->asid); ++ ++ qcom_iommu->ctxs[ctx->asid - 1] = ctx; ++ ++ return 0; ++} ++ ++static int qcom_iommu_ctx_remove(struct platform_device *pdev) ++{ ++ struct qcom_iommu_dev *qcom_iommu = dev_get_drvdata(pdev->dev.parent); ++ struct qcom_iommu_ctx *ctx = platform_get_drvdata(pdev); ++ ++ platform_set_drvdata(pdev, NULL); ++ ++ qcom_iommu->ctxs[ctx->asid - 1] = NULL; ++ ++ return 0; ++} ++ ++static const struct of_device_id ctx_of_match[] = { ++ { .compatible = "qcom,msm-iommu-v1-ns" }, ++ { .compatible = "qcom,msm-iommu-v1-sec" }, ++ { /* sentinel */ } ++}; ++ ++static struct platform_driver qcom_iommu_ctx_driver = { ++ .driver = { ++ .name = "qcom-iommu-ctx", ++ .of_match_table = of_match_ptr(ctx_of_match), ++ }, ++ .probe = qcom_iommu_ctx_probe, ++ .remove = qcom_iommu_ctx_remove, ++}; ++ ++static int qcom_iommu_device_probe(struct platform_device *pdev) ++{ ++ struct device_node *child; ++ struct qcom_iommu_dev *qcom_iommu; ++ struct device *dev = &pdev->dev; ++ struct resource *res; ++ int ret, sz, max_asid = 0; ++ ++ /* find the max asid (which is 1:1 to ctx bank idx), so we know how ++ * many child ctx devices we have: ++ */ ++ for_each_child_of_node(dev->of_node, child) ++ max_asid = max(max_asid, get_asid(child)); ++ ++ sz = sizeof(*qcom_iommu) + (max_asid * sizeof(qcom_iommu->ctxs[0])); ++ ++ qcom_iommu = devm_kzalloc(dev, sz, GFP_KERNEL); ++ if (!qcom_iommu) ++ return -ENOMEM; ++ qcom_iommu->num_ctxs = max_asid; ++ qcom_iommu->dev = dev; ++ ++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ if (res) ++ qcom_iommu->local_base = devm_ioremap_resource(dev, res); ++ ++ qcom_iommu->iface_clk = devm_clk_get(dev, "iface"); ++ if (IS_ERR(qcom_iommu->iface_clk)) { ++ dev_err(dev, "failed to get iface clock\n"); ++ return PTR_ERR(qcom_iommu->iface_clk); ++ } ++ ++ qcom_iommu->bus_clk = devm_clk_get(dev, "bus"); ++ if (IS_ERR(qcom_iommu->bus_clk)) { ++ dev_err(dev, "failed to get bus clock\n"); ++ return PTR_ERR(qcom_iommu->bus_clk); ++ } ++ ++ if (of_property_read_u32(dev->of_node, "qcom,iommu-secure-id", ++ &qcom_iommu->sec_id)) { ++ dev_err(dev, "missing qcom,iommu-secure-id property\n"); ++ return -ENODEV; ++ } ++ ++ platform_set_drvdata(pdev, qcom_iommu); ++ ++ pm_runtime_enable(dev); ++ ++ /* register context bank devices, which are child nodes: */ ++ ret = devm_of_platform_populate(dev); ++ if (ret) { ++ dev_err(dev, "Failed to populate iommu contexts\n"); ++ return ret; ++ } ++ ++ ret = iommu_device_sysfs_add(&qcom_iommu->iommu, dev, NULL, ++ dev_name(dev)); ++ if (ret) { ++ dev_err(dev, "Failed to register iommu in sysfs\n"); ++ return ret; ++ } ++ ++ iommu_device_set_ops(&qcom_iommu->iommu, &qcom_iommu_ops); ++ iommu_device_set_fwnode(&qcom_iommu->iommu, dev->fwnode); ++ ++ ret = iommu_device_register(&qcom_iommu->iommu); ++ if (ret) { ++ dev_err(dev, "Failed to register iommu\n"); ++ return ret; ++ } ++ ++ bus_set_iommu(&platform_bus_type, &qcom_iommu_ops); ++ ++ if (qcom_iommu->local_base) { ++ pm_runtime_get_sync(dev); ++ writel_relaxed(0xffffffff, qcom_iommu->local_base + SMMU_INTR_SEL_NS); ++ pm_runtime_put_sync(dev); ++ } ++ ++ return 0; ++} ++ ++static int qcom_iommu_device_remove(struct platform_device *pdev) ++{ ++ struct qcom_iommu_dev *qcom_iommu = platform_get_drvdata(pdev); ++ ++ bus_set_iommu(&platform_bus_type, NULL); ++ ++ pm_runtime_force_suspend(&pdev->dev); ++ platform_set_drvdata(pdev, NULL); ++ iommu_device_sysfs_remove(&qcom_iommu->iommu); ++ iommu_device_unregister(&qcom_iommu->iommu); ++ ++ return 0; ++} ++ ++#ifdef CONFIG_PM ++static int qcom_iommu_resume(struct device *dev) ++{ ++ struct platform_device *pdev = to_platform_device(dev); ++ struct qcom_iommu_dev *qcom_iommu = platform_get_drvdata(pdev); ++ ++ return qcom_iommu_enable_clocks(qcom_iommu); ++} ++ ++static int qcom_iommu_suspend(struct device *dev) ++{ ++ struct platform_device *pdev = to_platform_device(dev); ++ struct qcom_iommu_dev *qcom_iommu = platform_get_drvdata(pdev); ++ ++ qcom_iommu_disable_clocks(qcom_iommu); ++ ++ return 0; ++} ++#endif ++ ++static const struct dev_pm_ops qcom_iommu_pm_ops = { ++ SET_RUNTIME_PM_OPS(qcom_iommu_suspend, qcom_iommu_resume, NULL) ++ SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, ++ pm_runtime_force_resume) ++}; ++ ++static const struct of_device_id qcom_iommu_of_match[] = { ++ { .compatible = "qcom,msm-iommu-v1" }, ++ { /* sentinel */ } ++}; ++MODULE_DEVICE_TABLE(of, qcom_iommu_of_match); ++ ++static struct platform_driver qcom_iommu_driver = { ++ .driver = { ++ .name = "qcom-iommu", ++ .of_match_table = of_match_ptr(qcom_iommu_of_match), ++ .pm = &qcom_iommu_pm_ops, ++ }, ++ .probe = qcom_iommu_device_probe, ++ .remove = qcom_iommu_device_remove, ++}; ++ ++static int __init qcom_iommu_init(void) ++{ ++ int ret; ++ ++ ret = platform_driver_register(&qcom_iommu_ctx_driver); ++ if (ret) ++ return ret; ++ ++ ret = platform_driver_register(&qcom_iommu_driver); ++ if (ret) ++ platform_driver_unregister(&qcom_iommu_ctx_driver); ++ ++ return ret; ++} ++ ++static void __exit qcom_iommu_exit(void) ++{ ++ platform_driver_unregister(&qcom_iommu_driver); ++ platform_driver_unregister(&qcom_iommu_ctx_driver); ++} ++ ++module_init(qcom_iommu_init); ++module_exit(qcom_iommu_exit); ++ ++IOMMU_OF_DECLARE(qcom_iommu_dev, "qcom,msm-iommu-v1", NULL); ++ ++MODULE_DESCRIPTION("IOMMU API for QCOM IOMMU v1 implementations"); ++MODULE_LICENSE("GPL v2"); +From patchwork Thu Jul 13 12:07:47 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [RESEND,4/4] iommu: qcom: initialize secure page table +From: Rob Clark <robdclark@gmail.com> +X-Patchwork-Id: 9838373 +Message-Id: <20170713120747.20490-5-robdclark@gmail.com> +To: iommu@lists.linux-foundation.org +Cc: linux-arm-msm@vger.kernel.org, Archit Taneja <architt@codeaurora.org>, + Rob Herring <robh@kernel.org>, Will Deacon <will.deacon@arm.com>, + Sricharan <sricharan@codeaurora.org>, + Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>, + Stanimir Varbanov <stanimir.varbanov@linaro.org>, + Rob Clark <robdclark@gmail.com> +Date: Thu, 13 Jul 2017 08:07:47 -0400 + +From: Stanimir Varbanov <stanimir.varbanov@linaro.org> + +This basically gets the secure page table size, allocates memory for +secure pagetables and passes the physical address to the trusted zone. + +Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> +Signed-off-by: Rob Clark <robdclark@gmail.com> +--- + drivers/iommu/qcom_iommu.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 64 insertions(+) + +diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c +index 860cad1cb167..48b62aa52787 100644 +--- a/drivers/iommu/qcom_iommu.c ++++ b/drivers/iommu/qcom_iommu.c +@@ -604,6 +604,51 @@ static void qcom_iommu_disable_clocks(struct qcom_iommu_dev *qcom_iommu) + clk_disable_unprepare(qcom_iommu->iface_clk); + } + ++static int qcom_iommu_sec_ptbl_init(struct device *dev) ++{ ++ size_t psize = 0; ++ unsigned int spare = 0; ++ void *cpu_addr; ++ dma_addr_t paddr; ++ unsigned long attrs; ++ static bool allocated = false; ++ int ret; ++ ++ if (allocated) ++ return 0; ++ ++ ret = qcom_scm_iommu_secure_ptbl_size(spare, &psize); ++ if (ret) { ++ dev_err(dev, "failed to get iommu secure pgtable size (%d)\n", ++ ret); ++ return ret; ++ } ++ ++ dev_info(dev, "iommu sec: pgtable size: %zu\n", psize); ++ ++ attrs = DMA_ATTR_NO_KERNEL_MAPPING; ++ ++ cpu_addr = dma_alloc_attrs(dev, psize, &paddr, GFP_KERNEL, attrs); ++ if (!cpu_addr) { ++ dev_err(dev, "failed to allocate %zu bytes for pgtable\n", ++ psize); ++ return -ENOMEM; ++ } ++ ++ ret = qcom_scm_iommu_secure_ptbl_init(paddr, psize, spare); ++ if (ret) { ++ dev_err(dev, "failed to init iommu pgtable (%d)\n", ret); ++ goto free_mem; ++ } ++ ++ allocated = true; ++ return 0; ++ ++free_mem: ++ dma_free_attrs(dev, psize, cpu_addr, paddr, attrs); ++ return ret; ++} ++ + static int get_asid(const struct device_node *np) + { + u32 reg; +@@ -700,6 +745,17 @@ static struct platform_driver qcom_iommu_ctx_driver = { + .remove = qcom_iommu_ctx_remove, + }; + ++static bool qcom_iommu_has_secure_context(struct qcom_iommu_dev *qcom_iommu) ++{ ++ struct device_node *child; ++ ++ for_each_child_of_node(qcom_iommu->dev->of_node, child) ++ if (of_device_is_compatible(child, "qcom,msm-iommu-v1-sec")) ++ return true; ++ ++ return false; ++} ++ + static int qcom_iommu_device_probe(struct platform_device *pdev) + { + struct device_node *child; +@@ -744,6 +800,14 @@ static int qcom_iommu_device_probe(struct platform_device *pdev) + return -ENODEV; + } + ++ if (qcom_iommu_has_secure_context(qcom_iommu)) { ++ ret = qcom_iommu_sec_ptbl_init(dev); ++ if (ret) { ++ dev_err(dev, "cannot init secure pg table(%d)\n", ret); ++ return ret; ++ } ++ } ++ + platform_set_drvdata(pdev, qcom_iommu); + + pm_runtime_enable(dev); +From patchwork Mon Jun 12 12:43:15 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [1/3] ARM64: DT: add gpu for msm8916 +From: Rob Clark <robdclark@gmail.com> +X-Patchwork-Id: 9781057 +Message-Id: <20170612124317.29313-1-robdclark@gmail.com> +To: linux-arm-msm@vger.kernel.org +Cc: Stephen Boyd <sboyd@codeaurora.org>, Andy Gross <agross@codeaurora.org>, + Stanimir Varbanov <stanimir.varbanov@linaro.org>, + Rob Clark <robdclark@gmail.com> +Date: Mon, 12 Jun 2017 08:43:15 -0400 + +Signed-off-by: Rob Clark <robdclark@gmail.com> +Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> +--- + arch/arm64/boot/dts/qcom/msm8916.dtsi | 35 +++++++++++++++++++++++++++++++++++ + 1 file changed, 35 insertions(+) + +diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi +index ab30939..24c24ab 100644 +--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi ++++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi +@@ -204,6 +204,17 @@ + + }; + ++ gpu_opp_table: opp_table { ++ compatible = "operating-points-v2"; ++ ++ opp-400000000 { ++ opp-hz = /bits/ 64 <400000000>; ++ }; ++ opp-19200000 { ++ opp-hz = /bits/ 64 <19200000>; ++ }; ++ }; ++ + timer { + compatible = "arm,armv8-timer"; + interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, +@@ -698,6 +709,30 @@ + #thermal-sensor-cells = <1>; + }; + ++ gpu@1c00000 { ++ compatible = "qcom,adreno-306.0", "qcom,adreno"; ++ reg = <0x01c00000 0x20000>; ++ reg-names = "kgsl_3d0_reg_memory"; ++ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; ++ interrupt-names = "kgsl_3d0_irq"; ++ clock-names = ++ "core", ++ "iface", ++ "mem", ++ "mem_iface", ++ "alt_mem_iface", ++ "gfx3d"; ++ clocks = ++ <&gcc GCC_OXILI_GFX3D_CLK>, ++ <&gcc GCC_OXILI_AHB_CLK>, ++ <&gcc GCC_OXILI_GMEM_CLK>, ++ <&gcc GCC_BIMC_GFX_CLK>, ++ <&gcc GCC_BIMC_GPU_CLK>, ++ <&gcc GFX3D_CLK_SRC>; ++ power-domains = <&gcc OXILI_GDSC>; ++ operating-points-v2 = <&gpu_opp_table>; ++ }; ++ + mdss: mdss@1a00000 { + compatible = "qcom,mdss"; + reg = <0x1a00000 0x1000>, +From patchwork Mon Jun 12 12:43:16 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [2/3] ARM64: DT: add video codec devicetree node +From: Rob Clark <robdclark@gmail.com> +X-Patchwork-Id: 9781059 +Message-Id: <20170612124317.29313-2-robdclark@gmail.com> +To: linux-arm-msm@vger.kernel.org +Cc: Stephen Boyd <sboyd@codeaurora.org>, Andy Gross <agross@codeaurora.org>, + Stanimir Varbanov <stanimir.varbanov@linaro.org>, + Rob Clark <robdclark@gmail.com> +Date: Mon, 12 Jun 2017 08:43:16 -0400 + +From: Stanimir Varbanov <stanimir.varbanov@linaro.org> + +Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> +Signed-off-by: Rob Clark <robdclark@gmail.com> +Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> +--- + arch/arm64/boot/dts/qcom/msm8916.dtsi | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + +diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi +index 24c24ab..1dcd632 100644 +--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi ++++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi +@@ -88,6 +88,13 @@ + no-map; + }; + ++ venus_mem: venus@89900000 { ++ compatible = "shared-dma-pool"; ++ reg = <0x0 0x89900000 0x0 0x800000>; ++ alignment = <0x1000>; ++ no-map; ++ }; ++ + mba_mem: mba@8ea00000 { + no-map; + reg = <0 0x8ea00000 0 0x100000>; +@@ -1214,6 +1221,27 @@ + }; + }; + }; ++ ++ venus: video-codec@1d00000 { ++ compatible = "qcom,msm8916-venus"; ++ reg = <0x01d00000 0xff000>; ++ interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; ++ power-domains = <&gcc VENUS_GDSC>; ++ clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>, ++ <&gcc GCC_VENUS0_AHB_CLK>, ++ <&gcc GCC_VENUS0_AXI_CLK>; ++ clock-names = "core", "iface", "bus"; ++ memory-region = <&venus_mem>; ++ status = "okay"; ++ ++ video-decoder { ++ compatible = "venus-decoder"; ++ }; ++ ++ video-encoder { ++ compatible = "venus-encoder"; ++ }; ++ }; + }; + + smd { +From patchwork Mon Jun 12 12:43:17 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [3/3] ARM64: DT: add iommu for msm8916 +From: Rob Clark <robdclark@gmail.com> +X-Patchwork-Id: 9781061 +Message-Id: <20170612124317.29313-3-robdclark@gmail.com> +To: linux-arm-msm@vger.kernel.org +Cc: Stephen Boyd <sboyd@codeaurora.org>, Andy Gross <agross@codeaurora.org>, + Stanimir Varbanov <stanimir.varbanov@linaro.org>, + Rob Clark <robdclark@gmail.com> +Date: Mon, 12 Jun 2017 08:43:17 -0400 + +Signed-off-by: Rob Clark <robdclark@gmail.com> +Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> +--- + arch/arm64/boot/dts/qcom/msm8916.dtsi | 57 +++++++++++++++++++++++++++++++++++ + 1 file changed, 57 insertions(+) + +diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi +index 1dcd632..9a1d7ef 100644 +--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi ++++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi +@@ -716,6 +716,59 @@ + #thermal-sensor-cells = <1>; + }; + ++ apps_iommu: iommu@1ef0000 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ #iommu-cells = <1>; ++ compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; ++ ranges = <0 0x1e20000 0x40000>; ++ reg = <0x1ef0000 0x3000>; ++ clocks = <&gcc GCC_SMMU_CFG_CLK>, ++ <&gcc GCC_APSS_TCU_CLK>; ++ clock-names = "iface", "bus"; ++ qcom,iommu-secure-id = <17>; ++ ++ // mdp_0: ++ iommu-ctx@4000 { ++ compatible = "qcom,msm-iommu-v1-ns"; ++ reg = <0x4000 0x1000>; ++ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; ++ }; ++ ++ // venus_ns: ++ iommu-ctx@5000 { ++ compatible = "qcom,msm-iommu-v1-sec"; ++ reg = <0x5000 0x1000>; ++ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; ++ }; ++ }; ++ ++ gpu_iommu: iommu@1f08000 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ #iommu-cells = <1>; ++ compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; ++ ranges = <0 0x1f08000 0x10000>; ++ clocks = <&gcc GCC_SMMU_CFG_CLK>, ++ <&gcc GCC_GFX_TCU_CLK>; ++ clock-names = "iface", "bus"; ++ qcom,iommu-secure-id = <18>; ++ ++ // gfx3d_user: ++ iommu-ctx@1000 { ++ compatible = "qcom,msm-iommu-v1-ns"; ++ reg = <0x1000 0x1000>; ++ interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>; ++ }; ++ ++ // gfx3d_priv: ++ iommu-ctx@2000 { ++ compatible = "qcom,msm-iommu-v1-ns"; ++ reg = <0x2000 0x1000>; ++ interrupts = <GIC_SPI 242 0>; ++ }; ++ }; ++ + gpu@1c00000 { + compatible = "qcom,adreno-306.0", "qcom,adreno"; + reg = <0x01c00000 0x20000>; +@@ -738,6 +791,7 @@ + <&gcc GFX3D_CLK_SRC>; + power-domains = <&gcc OXILI_GDSC>; + operating-points-v2 = <&gpu_opp_table>; ++ iommus = <&gpu_iommu 1>, <&gpu_iommu 2>; + }; + + mdss: mdss@1a00000 { +@@ -781,6 +835,8 @@ + "core_clk", + "vsync_clk"; + ++ iommus = <&apps_iommu 4>; ++ + ports { + #address-cells = <1>; + #size-cells = <0>; +@@ -1231,6 +1287,7 @@ + <&gcc GCC_VENUS0_AHB_CLK>, + <&gcc GCC_VENUS0_AXI_CLK>; + clock-names = "core", "iface", "bus"; ++ iommus = <&apps_iommu 5>; + memory-region = <&venus_mem>; + status = "okay"; + diff --git a/qcom-msm89xx-fixes.patch b/qcom-msm89xx-fixes.patch new file mode 100644 index 000000000..fc2f16dc3 --- /dev/null +++ b/qcom-msm89xx-fixes.patch @@ -0,0 +1,285 @@ +From 83b8b93188114e1a39b3475d9429a2ee8977a398 Mon Sep 17 00:00:00 2001 +From: Bjorn Andersson <bjorn.andersson@linaro.org> +Date: Wed, 28 Jun 2017 14:53:23 -0700 +Subject: [PATCH 1/6] rpmsg: Make modalias work for DeviceTree based devices + +When rpmsg devices are expected to be matched based on their compatible +the modalias should reflect this, so that module autoloading has a +chance to match and load the appropriate module. + +Tested-by: Rob Clark <robdclark@gmail.com> +Reported-by: Rob Clark <robdclark@gmail.com> +Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> +--- + drivers/rpmsg/rpmsg_core.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/drivers/rpmsg/rpmsg_core.c b/drivers/rpmsg/rpmsg_core.c +index 600f5f9f7431..62580ad1b1f1 100644 +--- a/drivers/rpmsg/rpmsg_core.c ++++ b/drivers/rpmsg/rpmsg_core.c +@@ -342,6 +342,11 @@ static ssize_t modalias_show(struct device *dev, + struct device_attribute *attr, char *buf) + { + struct rpmsg_device *rpdev = to_rpmsg_device(dev); ++ ssize_t len; ++ ++ len = of_device_modalias(dev, buf, PAGE_SIZE); ++ if (len != -ENODEV) ++ return len; + + return sprintf(buf, RPMSG_DEVICE_MODALIAS_FMT "\n", rpdev->id.name); + } +@@ -384,6 +389,11 @@ static int rpmsg_dev_match(struct device *dev, struct device_driver *drv) + static int rpmsg_uevent(struct device *dev, struct kobj_uevent_env *env) + { + struct rpmsg_device *rpdev = to_rpmsg_device(dev); ++ int ret; ++ ++ ret = of_device_uevent_modalias(dev, env); ++ if (ret != -ENODEV) ++ return ret; + + return add_uevent_var(env, "MODALIAS=" RPMSG_DEVICE_MODALIAS_FMT, + rpdev->id.name); +-- +2.13.0 + +From ccdf75f90484a87ddb29649304156a503bf5a829 Mon Sep 17 00:00:00 2001 +From: Bjorn Andersson <bjorn.andersson@linaro.org> +Date: Wed, 28 Jun 2017 16:44:58 -0700 +Subject: [PATCH 2/6] spmi: Include OF based modalias in device uevent + +Include the OF-based modalias in the uevent sent when registering SPMI +devices, so that user space has a chance to autoload the kernel module +for the device. + +Reported-by: Rob Clark <robdclark@gmail.com> +Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> +Tested-by: Rob Clark <robdclark@gmail.com> +Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> +--- + drivers/spmi/spmi.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/drivers/spmi/spmi.c b/drivers/spmi/spmi.c +index 2b9b0941d9eb..6d23226e5f69 100644 +--- a/drivers/spmi/spmi.c ++++ b/drivers/spmi/spmi.c +@@ -365,11 +365,23 @@ static int spmi_drv_remove(struct device *dev) + return 0; + } + ++static int spmi_drv_uevent(struct device *dev, struct kobj_uevent_env *env) ++{ ++ int ret; ++ ++ ret = of_device_uevent_modalias(dev, env); ++ if (ret != -ENODEV) ++ return ret; ++ ++ return 0; ++} ++ + static struct bus_type spmi_bus_type = { + .name = "spmi", + .match = spmi_device_match, + .probe = spmi_drv_probe, + .remove = spmi_drv_remove, ++ .uevent = spmi_drv_uevent, + }; + + /** +-- +2.13.0 + +From 283d0e00a18b294ec56f1fb904896a546704faaf Mon Sep 17 00:00:00 2001 +From: Rob Clark <robdclark@gmail.com> +Date: Fri, 30 Jun 2017 11:47:21 -0400 +Subject: [PATCH 3/6] soc: qcom: smsm: fix of_node refcnting problem + +of_find_node_with_property() drops the reference to the 'from' node, +which eventually (after enough -EPROBE_DEFERs) drops the last reference +to the node causing all sorts of fun problems, and this nice splat. + + BUG: sleeping function called from invalid context at ../kernel/locking/mutex.c:747 + in_atomic(): 1, irqs_disabled(): 128, pid: 33, name: kworker/0:1 + 4 locks held by kworker/0:1/33: + #0: ("events"){.+.+.+}, at: [<ffff0000080fa91c>] process_one_work+0x1a4/0x728 + #1: (deferred_probe_work){+.+.+.}, at: [<ffff0000080fa91c>] process_one_work+0x1a4/0x728 + #2: (&dev->mutex){......}, at: [<ffff000008676078>] __device_attach+0x30/0x168 + #3: (devtree_lock){......}, at: [<ffff000008828fd0>] of_find_node_with_property+0x30/0xe0 + irq event stamp: 18976 + hardirqs last enabled at (18975): [<ffff00000815794c>] __down_trylock_console_sem+0x74/0xb8 + hardirqs last disabled at (18976): [<ffff0000089e26d4>] _raw_spin_lock_irqsave+0x2c/0x78 + softirqs last enabled at (16880): [<ffff0000080e0f00>] __do_softirq+0x580/0x640 + softirqs last disabled at (16871): [<ffff0000080e13a4>] irq_exit+0xe4/0x138 + CPU: 0 PID: 33 Comm: kworker/0:1 Tainted: G E 4.12.0-rc5+ #1455 + Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017 + Workqueue: events deferred_probe_work_func + Call trace: + [<ffff000008089ee0>] dump_backtrace+0x0/0x230 + [<ffff00000808a134>] show_stack+0x24/0x30 + [<ffff0000084e1944>] dump_stack+0xac/0xe8 + [<ffff00000810d7e0>] ___might_sleep+0x150/0x230 + [<ffff00000810d918>] __might_sleep+0x58/0x90 + [<ffff0000089dde18>] __mutex_lock+0x50/0x870 + [<ffff0000089de674>] mutex_lock_nested+0x3c/0x50 + [<ffff000008388ae0>] kernfs_remove+0x30/0x50 + [<ffff00000838b720>] sysfs_remove_dir+0x58/0x70 + [<ffff0000084e393c>] kobject_del+0x1c/0x58 + [<ffff0000084e374c>] kobject_put+0xb4/0x208 + [<ffff00000882c364>] of_node_put+0x24/0x30 + [<ffff000008829018>] of_find_node_with_property+0x78/0xe0 + [<ffff000000aff5f4>] qcom_smsm_probe+0x194/0x720 [smsm] + [<ffff0000086793b4>] platform_drv_probe+0x74/0x110 + [<ffff0000086765bc>] driver_probe_device+0x2b4/0x420 + [<ffff000008676920>] __device_attach_driver+0xd0/0x150 + [<ffff000008673e78>] bus_for_each_drv+0x68/0xa8 + [<ffff00000867611c>] __device_attach+0xd4/0x168 + [<ffff000008676a1c>] device_initial_probe+0x24/0x30 + [<ffff000008675380>] bus_probe_device+0xa0/0xa8 + [<ffff000008675948>] deferred_probe_work_func+0xb8/0xf8 + [<ffff0000080fa9d4>] process_one_work+0x25c/0x728 + [<ffff0000080faef4>] worker_thread+0x54/0x3d8 + [<ffff0000081031d8>] kthread+0x110/0x140 + [<ffff000008082d90>] ret_from_fork+0x10/0x40 + OF: ERROR: Bad of_node_put() on /smsm + CPU: 0 PID: 33 Comm: kworker/0:1 Tainted: G W E 4.12.0-rc5+ #1455 + Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017 + Workqueue: events deferred_probe_work_func + +Signed-off-by: Rob Clark <robdclark@gmail.com> +--- + drivers/soc/qcom/smsm.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/soc/qcom/smsm.c b/drivers/soc/qcom/smsm.c +index d0337b2a71c8..a64ecd597a22 100644 +--- a/drivers/soc/qcom/smsm.c ++++ b/drivers/soc/qcom/smsm.c +@@ -495,7 +495,8 @@ static int qcom_smsm_probe(struct platform_device *pdev) + if (!smsm->hosts) + return -ENOMEM; + +- local_node = of_find_node_with_property(pdev->dev.of_node, "#qcom,smem-state-cells"); ++ local_node = of_find_node_with_property(of_node_get(pdev->dev.of_node), ++ "#qcom,smem-state-cells"); + if (!local_node) { + dev_err(&pdev->dev, "no state entry\n"); + return -EINVAL; +-- +2.13.0 + +From 40cb129048e5d2456da8d9d6468f292da3071b91 Mon Sep 17 00:00:00 2001 +From: Rob Clark <robdclark@gmail.com> +Date: Fri, 30 Jun 2017 16:40:23 -0400 +Subject: [PATCH 4/6] thermal: qcom: tsens: fix crash due to incorrect __init + +init_common() is called from probe, which can happen after the __init +section is already unloaded in the case of -EPROBE_DEFER. Causing a +later probe to attempt to branch to hyperspace. + +Cc: <stable@vger.kernel.org> +Signed-off-by: Rob Clark <robdclark@gmail.com> +Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org> +--- + drivers/thermal/qcom/tsens-common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/thermal/qcom/tsens-common.c b/drivers/thermal/qcom/tsens-common.c +index b1449ad67fc0..22ad37c9808c 100644 +--- a/drivers/thermal/qcom/tsens-common.c ++++ b/drivers/thermal/qcom/tsens-common.c +@@ -123,7 +123,7 @@ static const struct regmap_config tsens_config = { + .reg_stride = 4, + }; + +-int __init init_common(struct tsens_device *tmdev) ++int init_common(struct tsens_device *tmdev) + { + void __iomem *base; + +-- +2.13.0 + +From ae9b4fa55748cc9ce3c8ac039e46feab7257eff9 Mon Sep 17 00:00:00 2001 +From: Rob Clark <robdclark@gmail.com> +Date: Sun, 2 Jul 2017 09:23:36 -0400 +Subject: [PATCH 5/6] soc: qcom: wcnss_ctrl: add missing MODULE_DEVICE_TABLE() + +This fixes a problem of wifi module not loading on db410c. + +Signed-off-by: Rob Clark <robdclark@gmail.com> +Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> +--- + drivers/soc/qcom/wcnss_ctrl.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/soc/qcom/wcnss_ctrl.c b/drivers/soc/qcom/wcnss_ctrl.c +index b9069184df19..d008e5b82db4 100644 +--- a/drivers/soc/qcom/wcnss_ctrl.c ++++ b/drivers/soc/qcom/wcnss_ctrl.c +@@ -347,6 +347,7 @@ static const struct of_device_id wcnss_ctrl_of_match[] = { + { .compatible = "qcom,wcnss", }, + {} + }; ++MODULE_DEVICE_TABLE(of, wcnss_ctrl_of_match); + + static struct rpmsg_driver wcnss_ctrl_driver = { + .probe = wcnss_ctrl_probe, +-- +2.13.0 + +From 173c1207986956ea4c00601a67c952751a1985e6 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Mon, 3 Jul 2017 10:10:21 +0100 +Subject: [PATCH 6/6] wcn36xx: check dma_mapping_error() + +Fixes splat: + + wcn36xx a204000.wcnss:smd-edge:wcnss:wifi: DMA-API: device driver failed to check map error[device address=0x00000000b45ba000] [size=3872 bytes] [mapped as single] + ------------[ cut here ]------------ + WARNING: CPU: 0 PID: 0 at ../lib/dma-debug.c:1167 check_unmap+0x474/0x8d0 + Modules linked in: bnep(E) arc4(E) wcn36xx(E) mac80211(E) btqcomsmd(E) btqca(E) bluetooth(E) cfg80211(E) ecdh_generic(E) rfkill(E) vfat(E) fat(E) wcnss_ctrl qcom_wcnss_pil(E) mdt_loader(E) qcom_common(E) remoteproc(E) crc32_ce(E) virtio_ring(E) snd_soc_lpass_apq8016(E) snd_soc_lpass_cpu(E) virtio(E) snd_soc_lpass_platform(E) leds_gpio(E) snd_soc_hdmi_codec(E) snd_soc_apq8016_sbc(E) snd_soc_msm8916_digital(E) snd_soc_core(E) qcom_spmi_temp_alarm(E) ac97_bus(E) snd_pcm_dmaengine(E) snd_seq(E) snd_seq_device(E) snd_pcm(E) spi_qup(E) nvmem_qfprom(E) snd_timer(E) snd(E) soundcore(E) msm_rng(E) qcom_tsens(E) nvmem_core(E) uas(E) usb_storage(E) dm9601(E) cdc_ether(E) usbnet(E) mii(E) mmc_block(E) sdhci_msm(E) sdhci_pltfm(E) qcom_spmi_vadc(E) qcom_vadc_common(PE) clk_smd_rpm(E) industrialio(E) + qcom_smd_regulator(E) pinctrl_spmi_mpp(E) pinctrl_spmi_gpio(E) rtc_pm8xxx(E) adv7511(E) smd_rpm(E) qcom_spmi_pmic(E) regmap_spmi(E) phy_msm_usb(E) usb3503(E) extcon_usb_gpio(E) ci_hdrc_msm(E) ci_hdrc(E) qcom_hwspinlock(E) udc_core(E) extcon_core(E) ehci_msm(E) i2c_qup(E) sdhci(E) msm(E) mmc_core(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) fb_sys_fops(E) spmi_pmic_arb(E) drm(E) spmi(E) qcom_smd(E) rpmsg_core smsm(E) gpio_keys(E) smp2p(E) smem(E) hwspinlock_core(E) sunrpc(E) scsi_transport_iscsi(E) + CPU: 0 PID: 0 Comm: swapper/0 Tainted: P E 4.12.0-rc7+ #1476 + Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017 + task: ffff000009049780 task.stack: ffff000009030000 + PC is at check_unmap+0x474/0x8d0 + LR is at check_unmap+0x474/0x8d0 + ... + Mapped at: + dma_entry_alloc+0x68/0xa8 + debug_dma_map_page+0x94/0x148 + wcn36xx_dxe_fill_skb.isra.1+0xbc/0xf8 [wcn36xx] + wcn36xx_dxe_init+0x244/0x398 [wcn36xx] + wcn36xx_start+0xf4/0x298 [wcn36xx] + +v2: pbrobinson: add kfree_skb(skb); + +Signed-off-by: Rob Clark <robdclark@gmail.com> +Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +--- + drivers/net/wireless/ath/wcn36xx/dxe.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/drivers/net/wireless/ath/wcn36xx/dxe.c b/drivers/net/wireless/ath/wcn36xx/dxe.c +index 87dfdaf9044c..d5c810a8cc52 100644 +--- a/drivers/net/wireless/ath/wcn36xx/dxe.c ++++ b/drivers/net/wireless/ath/wcn36xx/dxe.c +@@ -289,6 +289,11 @@ static int wcn36xx_dxe_fill_skb(struct device *dev, struct wcn36xx_dxe_ctl *ctl) + skb_tail_pointer(skb), + WCN36XX_PKT_SIZE, + DMA_FROM_DEVICE); ++ if (dma_mapping_error(dev, dxe->dst_addr_l)) { ++ dev_err(dev, "unable to map skb\n"); ++ kfree_skb(skb); ++ return -ENOMEM; ++ } + ctl->skb = skb; + + return 0; +-- +2.13.0 + diff --git a/qcom-rmsg-spmi-fixes.patch b/qcom-rmsg-spmi-fixes.patch deleted file mode 100644 index 7aa1ca18c..000000000 --- a/qcom-rmsg-spmi-fixes.patch +++ /dev/null @@ -1,85 +0,0 @@ -From patchwork Wed Jun 28 21:53:23 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2] rpmsg: Make modalias work for DeviceTree based devices -From: Bjorn Andersson <bjorn.andersson@linaro.org> -X-Patchwork-Id: 9815555 -Message-Id: <20170628215323.5658-1-bjorn.andersson@linaro.org> -To: Ohad Ben-Cohen <ohad@wizery.com>, - Bjorn Andersson <bjorn.andersson@linaro.org> -Cc: linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, - Rob Clark <robdclark@gmail.com> -Date: Wed, 28 Jun 2017 14:53:23 -0700 - -When rpmsg devices are expected to be matched based on their compatible -the modalias should reflect this, so that module autoloading has a -chance to match and load the appropriate module. - -Tested-by: Rob Clark <robdclark@gmail.com> -Reported-by: Rob Clark <robdclark@gmail.com> -Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> ---- - -Changes since v1: -- Also update rpmsg_uevent() - - drivers/rpmsg/rpmsg_core.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/drivers/rpmsg/rpmsg_core.c b/drivers/rpmsg/rpmsg_core.c -index ad3d2a9df287..067650c5bcb6 100644 ---- a/drivers/rpmsg/rpmsg_core.c -+++ b/drivers/rpmsg/rpmsg_core.c -@@ -343,6 +343,11 @@ static ssize_t modalias_show(struct device *dev, - struct device_attribute *attr, char *buf) - { - struct rpmsg_device *rpdev = to_rpmsg_device(dev); -+ ssize_t len; -+ -+ len = of_device_modalias(dev, buf, PAGE_SIZE); -+ if (len != -ENODEV) -+ return len; - - return sprintf(buf, RPMSG_DEVICE_MODALIAS_FMT "\n", rpdev->id.name); - } -@@ -387,6 +392,11 @@ static int rpmsg_dev_match(struct device *dev, struct device_driver *drv) - static int rpmsg_uevent(struct device *dev, struct kobj_uevent_env *env) - { - struct rpmsg_device *rpdev = to_rpmsg_device(dev); -+ int ret; -+ -+ ret = of_device_uevent_modalias(dev, env); -+ if (ret != -ENODEV) -+ return ret; - - return add_uevent_var(env, "MODALIAS=" RPMSG_DEVICE_MODALIAS_FMT, - rpdev->id.name); -diff --git a/drivers/spmi/spmi.c b/drivers/spmi/spmi.c -index 2b9b0941d9eb..6d23226e5f69 100644 ---- a/drivers/spmi/spmi.c -+++ b/drivers/spmi/spmi.c -@@ -365,11 +365,23 @@ static int spmi_drv_remove(struct device *dev) - return 0; - } - -+static int spmi_drv_uevent(struct device *dev, struct kobj_uevent_env *env) -+{ -+ int ret; -+ -+ ret = of_device_uevent_modalias(dev, env); -+ if (ret != -ENODEV) -+ return ret; -+ -+ return 0; -+} -+ - static struct bus_type spmi_bus_type = { - .name = "spmi", - .match = spmi_device_match, - .probe = spmi_drv_probe, - .remove = spmi_drv_remove, -+ .uevent = spmi_drv_uevent, - }; - - /** diff --git a/scripts/allarchconfig.sh b/scripts/allarchconfig.sh new file mode 100755 index 000000000..f80c23197 --- /dev/null +++ b/scripts/allarchconfig.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# Run from within a source tree. + +for i in configs/kernel-*.config +do + cp -f $i .config + Arch=`head -1 .config | cut -b 3-` + echo $Arch \($i\) + make ARCH=$Arch listnewconfig | grep -E '^CONFIG_' >.newoptions || true; + if [ -s .newoptions ]; then + cat .newoptions; + exit 1; + fi; + rm -f .newoptions; +done + diff --git a/scripts/bumpspecfile.py b/scripts/bumpspecfile.py new file mode 100755 index 000000000..bc02ab300 --- /dev/null +++ b/scripts/bumpspecfile.py @@ -0,0 +1,76 @@ +#!/usr/bin/python +# +# Uses git config options user.name and user.email, falls +# back to env vars $GIT_COMMITTER_NAME and $GIT_COMMITTER_EMAIL +# +import re +import sys +import time +import os +import string + +class Specfile: + def __init__(self,filename): + file=open(filename,"r") + self.lines=file.readlines() + self.vr="" + + def getNextVR(self,aspec): + # Get VR for changelog entry. + (ver,rel) = os.popen("LC_ALL=C rpm --specfile -q --qf '%%{version} %%{release}\n' --define 'dist %%{nil}' %s | head -1" % aspec).read().strip().split(' ') + pos = 0 + # general released kernel case, bump 1st field + fedora_build = rel.split('.')[pos] + if fedora_build == "0": + # this is a devel kernel, bump 2nd field + pos = 1 + elif rel.split('.')[-1] != fedora_build: + # this is a branch, must bump 3rd field + pos = 2 + fedora_build = rel.split('.')[pos] + if pos == 1 and len(rel.split('.')) > 4: + # uh... what? devel kernel in a branch? private build? just do no VR in clog... + print "Warning: not adding any VR to changelog, couldn't tell for sure which field to bump" + pos = -1 + next_fedora_build = int(fedora_build) + 1 + if pos == 0: + nextrel = str(next_fedora_build) + elif pos == 1: + nextrel = "0." + str(next_fedora_build) + elif pos == 2: + nextrel = rel.split('.')[0] + "." + rel.split('.')[1] + "." + str(next_fedora_build) + if pos >= 0: + for s in rel.split('.')[pos + 1:]: + nextrel = nextrel + "." + s + self.vr = " "+ver+'-'+nextrel + + def addChangelogEntry(self,entry): + user = os.popen("git config --get user.name").read().rstrip() + if (user == ""): + user = os.environ.get("GIT_COMMITTER_NAME","Unknown") + email = os.popen("git config --get user.email").read().rstrip() + if (email == ""): + email = os.environ.get("GIT_COMMITTER_EMAIL","unknown") + if (email == "unknown"): + email = os.environ.get("USER","unknown")+"@fedoraproject.org" + changematch=re.compile(r"^%changelog") + date=time.strftime("%a %b %d %Y", time.localtime(time.time())) + newchangelogentry="%changelog\n* "+date+" "+user+" <"+email+">"+self.vr+"\n"+entry+"\n\n" + for i in range(len(self.lines)): + if(changematch.match(self.lines[i])): + self.lines[i]=newchangelogentry + break + + def writeFile(self,filename): + file=open(filename,"w") + file.writelines(self.lines) + file.close() + +if __name__=="__main__": + aspec=(sys.argv[1]) + s=Specfile(aspec) + entry=(sys.argv[2]) + s.getNextVR(aspec) + s.addChangelogEntry(entry) + s.writeFile(aspec) + diff --git a/scripts/generate-perf-man.sh b/scripts/generate-perf-man.sh index 27691fafd..f5332ad86 100755 --- a/scripts/generate-perf-man.sh +++ b/scripts/generate-perf-man.sh @@ -47,8 +47,12 @@ if [ ! -z "$@" ]; then esac done fi -cd tools/perf/Documentation/ +cd tools/kvm/kvm_stat/ +make man +mv kvm_stat.1 ../../perf/Documentation +cd ../../perf/Documentation/ make tar -czvf $BASEDIR/perf-man-${KERNEL_VERSION}.${KERNEL_PATCHLEVEL}.tar.gz *.1 make clean +rm kvm_stat.1 popd diff --git a/scripts/rawhide-rc.sh b/scripts/rawhide-rc.sh index 5982403e7..40f32a8fe 100755 --- a/scripts/rawhide-rc.sh +++ b/scripts/rawhide-rc.sh @@ -19,6 +19,7 @@ fedpkg commit -c RC=`grep "%global rcrev" kernel.spec| cut -d ' ' -f 3` RC=$(($RC+1)) BASE=`grep "%define base_sublevel" kernel.spec| cut -d ' ' -f 3` +OLDBASE=$BASE # See comment in kernel.spec about the base numbering BASE=$(($BASE+1)) @@ -28,10 +29,11 @@ mv sources.tmp sources # Grab the tarball if [ ! -f patch-4.$BASE-rc$RC.xz ]; then - wget https://cdn.kernel.org/pub/linux/kernel/v4.x/testing/patch-4.$BASE-rc$RC.xz + wget -O patch-4.$BASE-rc$RC https://git.kernel.org/torvalds/p/v4.$BASE-rc$RC/v4.$OLDBASE if [ ! $? -eq 0 ]; then exit 1 fi + xz -9 patch-4.$BASE-rc$RC fedpkg upload patch-4.$BASE-rc$RC.xz fi diff --git a/scripts/rediffall.pl b/scripts/rediffall.pl new file mode 100644 index 000000000..29f12beb9 --- /dev/null +++ b/scripts/rediffall.pl @@ -0,0 +1,64 @@ +#!/usr/bin/perl -w +# +# Script to rediff all patches in the spec +# Usage: perl -w rediffall.pl < kernel-2.4.spec +# +# $workdir is where the new rediff'ed patches are created +# $origdir is where the original patches and tarball are located +# +# Note that both $workdir and $origdir must be absolute path names. +# Suggestion: create a /kernel symbolic link to the top of your CVS tree. + +my $workdir = "/dev/shm/redifftree"; +my $origdir = "/home/davej/devel"; +my $kernver = "linux-2.6.17"; +my $datestrip = "s/^\\(\\(+++\\|---\\) [^[:blank:]]\\+\\)[[:blank:]].*/\\1/"; +my $patchindex = 0; +my @patchlist; + +# phase 1: create a tree +print "Extracting pristine source..\n"; +system("mkdir -p $workdir"); +system("rm -rf $workdir/*"); +chdir("$workdir"); +system("tar -jxvf $origdir/$kernver.tar.bz2 > /dev/null"); +system("cp -al $kernver linux-$patchindex"); + +# phase 2: read the spec from stdin and store all patches +print "Reading specfile..\n"; + +while (<>) { + my $line = $_; + if ($line =~ /^Patch([0-9]+)\: ([a-zA-Z0-9\-\_\.\+]+\.patch)/) { + $patchlist[$1] = $2; + } else { + if ($line =~ /^Patch([0-9]+)\: ([a-zA-Z0-9\-\_\.]+\.bz2)/) { + $patchlist[$1] = $2; + } + } + + if ($line =~ /^%patch([0-9]+) -p1/) { + # copy the tree, apply the patch, diff and remove the old tree + my $oldindex = $patchindex; + $patchindex = $1; + + print "rediffing patch number $patchindex: $patchlist[$patchindex]\n"; + + system("cp -al linux-$oldindex linux-$patchindex"); + chdir("linux-$patchindex"); + if ($patchlist[$patchindex] =~ /bz2/) { + system("bzcat $origdir/$patchlist[$patchindex] | patch -p1 &>/dev/null"); + } else { + system("cat $origdir/$patchlist[$patchindex] | patch -p1 &>/dev/null"); + } + chdir("$workdir"); + system("rm -f `find -name \"*orig\"`"); + if ($patchlist[$patchindex] =~ /bz2/) { + } else { + system("diff -urNp --exclude-from=/home/davej/.exclude linux-$oldindex linux-$patchindex | sed '$datestrip' > $patchlist[$patchindex]"); + } + system("rm -rf linux-$oldindex"); + } +}; + +1; @@ -1,3 +1,3 @@ -SHA512 (perf-man-4.11.tar.gz) = 0b070d2f10a743329de2f532e2d7e19ef385a3e6ef3c700b591ae2697604dbe542b36e31121b3e37517ee8071ab800386fa8663c24a5b36520a18e096c6eefc8 -SHA512 (linux-4.11.tar.xz) = 6610eed97ffb7207c71771198c36179b8244ace7222bebb109507720e26c5f17d918079a56d5febdd8605844d67fb2df0ebe910fa2f2f53690daf6e2a8ad09c3 -SHA512 (patch-4.11.11.xz) = 63b7ce0446de9b4651d795e172dc3aa07189b6bc888c25767e313a6f4aa5459a09985e65f06a6c795230899d6aa64e905249775b45261823a1907e3fa18a3974 +SHA512 (perf-man-4.12.tar.gz) = 4d3bbda1f520dba0007c351af46f45085fe4842074eb2e01aee736fd369df595f8f72ed6c1192715f1120bf3353279777f9dca1178fe93bffe5be2de700d409c +SHA512 (linux-4.12.tar.xz) = 8e81b41b253e63233e92948941f44c6482acb52aa3a3fd172f03a38a86f2c35b2ad4fd407acd1bc3964673eba344fe104d3a03e3ff4bf9cd1f22bd44263bd728 +SHA512 (patch-4.12.3.xz) = a6ace68b6387665a1f77420b415a72032465fae6d99ec409487765ecf7cfb8a8458fe09f844662249f14e5739db3f82b28cdac705b0d54d4c6e268719d350c0d diff --git a/ti-bluetooth.patch b/ti-bluetooth.patch deleted file mode 100644 index 288eb7c94..000000000 --- a/ti-bluetooth.patch +++ /dev/null @@ -1,2480 +0,0 @@ -From patchwork Sat Aug 13 03:14:32 2016 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [RFC,1/7] tty: serial: omap: add UPF_BOOT_AUTOCONF flag for DT init -From: Sebastian Reichel <sre@kernel.org> -X-Patchwork-Id: 9278297 -Message-Id: <1471058078-5579-2-git-send-email-sre@kernel.org> -To: Sebastian Reichel <sre@kernel.org>, Tony Lindgren <tony@atomide.com>, - Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, - Marcel Holtmann <marcel@holtmann.org>, - Greg Kroah-Hartman <gregkh@linuxfoundation.org>, - Jiri Slaby <jslaby@suse.com> -Cc: Ville Tervo <ville.tervo@iki.fi>, - =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com>, - Aaro Koskinen <aaro.koskinen@iki.fi>, Pavel Machek <pavel@ucw.cz>, - =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali.rohar@gmail.com>, - ivo.g.dimitrov.75@gmail.com, linux-bluetooth@vger.kernel.org, - linux-serial@vger.kernel.org, linux-omap@vger.kernel.org, - devicetree@vger.kernel.org, linux-kernel@vger.kernel.org -Date: Sat, 13 Aug 2016 05:14:32 +0200 - ---- - drivers/tty/serial/omap-serial.c | 3 +++ - 1 file changed, 3 insertions(+) -Acked-by: Pavel Machek <pavel@ucw.cz> - -diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c -index a2a529994ba5..7c2c77789c2c 100644 ---- a/drivers/tty/serial/omap-serial.c -+++ b/drivers/tty/serial/omap-serial.c -@@ -1542,6 +1542,9 @@ static struct omap_uart_port_info *of_get_uart_port_info(struct device *dev) - - of_property_read_u32(dev->of_node, "clock-frequency", - &omap_up_info->uartclk); -+ -+ omap_up_info->flags = UPF_BOOT_AUTOCONF; -+ - return omap_up_info; - } - -From 6102245c5711e73b83ad79ab0f2c3ec040262a87 Mon Sep 17 00:00:00 2001 -From: Sebastian Reichel <sre@kernel.org> -Date: Tue, 28 Mar 2017 17:59:31 +0200 -Subject: [PATCH 01/13] serdev: add serdev_device_wait_until_sent - -Add method, which waits until the transmission buffer has been sent. -Note, that the change in ttyport_write_wakeup is related, since -tty_wait_until_sent will hang without that change. - -Acked-by: Rob Herring <robh@kernel.org> -Acked-by: Pavel Machek <pavel@ucw.cz> -Signed-off-by: Sebastian Reichel <sre@kernel.org> -Signed-off-by: Rob Herring <robh@kernel.org> ---- - drivers/tty/serdev/core.c | 11 +++++++++++ - drivers/tty/serdev/serdev-ttyport.c | 18 ++++++++++++++---- - include/linux/serdev.h | 3 +++ - 3 files changed, 28 insertions(+), 4 deletions(-) - -diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c -index f4c6c90add78..a63b74031e22 100644 ---- a/drivers/tty/serdev/core.c -+++ b/drivers/tty/serdev/core.c -@@ -173,6 +173,17 @@ void serdev_device_set_flow_control(struct serdev_device *serdev, bool enable) - } - EXPORT_SYMBOL_GPL(serdev_device_set_flow_control); - -+void serdev_device_wait_until_sent(struct serdev_device *serdev, long timeout) -+{ -+ struct serdev_controller *ctrl = serdev->ctrl; -+ -+ if (!ctrl || !ctrl->ops->wait_until_sent) -+ return; -+ -+ ctrl->ops->wait_until_sent(ctrl, timeout); -+} -+EXPORT_SYMBOL_GPL(serdev_device_wait_until_sent); -+ - static int serdev_drv_probe(struct device *dev) - { - const struct serdev_device_driver *sdrv = to_serdev_device_driver(dev->driver); -diff --git a/drivers/tty/serdev/serdev-ttyport.c b/drivers/tty/serdev/serdev-ttyport.c -index d05393594f15..50dc75c4d204 100644 ---- a/drivers/tty/serdev/serdev-ttyport.c -+++ b/drivers/tty/serdev/serdev-ttyport.c -@@ -14,6 +14,7 @@ - #include <linux/serdev.h> - #include <linux/tty.h> - #include <linux/tty_driver.h> -+#include <linux/poll.h> - - #define SERPORT_ACTIVE 1 - -@@ -46,11 +47,11 @@ static void ttyport_write_wakeup(struct tty_port *port) - struct serdev_controller *ctrl = port->client_data; - struct serport *serport = serdev_controller_get_drvdata(ctrl); - -- if (!test_and_clear_bit(TTY_DO_WRITE_WAKEUP, &port->tty->flags)) -- return; -- -- if (test_bit(SERPORT_ACTIVE, &serport->flags)) -+ if (test_and_clear_bit(TTY_DO_WRITE_WAKEUP, &port->tty->flags) && -+ test_bit(SERPORT_ACTIVE, &serport->flags)) - serdev_controller_write_wakeup(ctrl); -+ -+ wake_up_interruptible_poll(&port->tty->write_wait, POLLOUT); - } - - static const struct tty_port_client_operations client_ops = { -@@ -167,6 +168,14 @@ static void ttyport_set_flow_control(struct serdev_controller *ctrl, bool enable - tty_set_termios(tty, &ktermios); - } - -+static void ttyport_wait_until_sent(struct serdev_controller *ctrl, long timeout) -+{ -+ struct serport *serport = serdev_controller_get_drvdata(ctrl); -+ struct tty_struct *tty = serport->tty; -+ -+ tty_wait_until_sent(tty, timeout); -+} -+ - static const struct serdev_controller_ops ctrl_ops = { - .write_buf = ttyport_write_buf, - .write_flush = ttyport_write_flush, -@@ -175,6 +184,7 @@ static const struct serdev_controller_ops ctrl_ops = { - .close = ttyport_close, - .set_flow_control = ttyport_set_flow_control, - .set_baudrate = ttyport_set_baudrate, -+ .wait_until_sent = ttyport_wait_until_sent, - }; - - struct device *serdev_tty_port_register(struct tty_port *port, -diff --git a/include/linux/serdev.h b/include/linux/serdev.h -index 9519da6253a8..a308b206d204 100644 ---- a/include/linux/serdev.h -+++ b/include/linux/serdev.h -@@ -81,6 +81,7 @@ struct serdev_controller_ops { - void (*close)(struct serdev_controller *); - void (*set_flow_control)(struct serdev_controller *, bool); - unsigned int (*set_baudrate)(struct serdev_controller *, unsigned int); -+ void (*wait_until_sent)(struct serdev_controller *, long); - }; - - /** -@@ -186,6 +187,7 @@ int serdev_device_open(struct serdev_device *); - void serdev_device_close(struct serdev_device *); - unsigned int serdev_device_set_baudrate(struct serdev_device *, unsigned int); - void serdev_device_set_flow_control(struct serdev_device *, bool); -+void serdev_device_wait_until_sent(struct serdev_device *, long); - int serdev_device_write_buf(struct serdev_device *, const unsigned char *, size_t); - void serdev_device_write_flush(struct serdev_device *); - int serdev_device_write_room(struct serdev_device *); -@@ -223,6 +225,7 @@ static inline unsigned int serdev_device_set_baudrate(struct serdev_device *sdev - return 0; - } - static inline void serdev_device_set_flow_control(struct serdev_device *sdev, bool enable) {} -+static inline void serdev_device_wait_until_sent(struct serdev_device *sdev, long timeout) {} - static inline int serdev_device_write_buf(struct serdev_device *sdev, const unsigned char *buf, size_t count) - { - return -ENODEV; --- -2.12.2 - -From 6e1713b03eab6f42251bad76ab05e7e1aa28b199 Mon Sep 17 00:00:00 2001 -From: Sebastian Reichel <sre@kernel.org> -Date: Tue, 28 Mar 2017 17:59:32 +0200 -Subject: [PATCH 02/13] serdev: implement get/set tiocm - -Add method for getting and setting tiocm. - -Acked-by: Pavel Machek <pavel@ucw.cz> -Acked-by: Rob Herring <robh@kernel.org> -Signed-off-by: Sebastian Reichel <sre@kernel.org> -Signed-off-by: Rob Herring <robh@kernel.org> ---- - drivers/tty/serdev/core.c | 22 ++++++++++++++++++++++ - drivers/tty/serdev/serdev-ttyport.c | 24 ++++++++++++++++++++++++ - include/linux/serdev.h | 13 +++++++++++++ - 3 files changed, 59 insertions(+) - -diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c -index a63b74031e22..1e1cbae3a0ea 100644 ---- a/drivers/tty/serdev/core.c -+++ b/drivers/tty/serdev/core.c -@@ -184,6 +184,28 @@ void serdev_device_wait_until_sent(struct serdev_device *serdev, long timeout) - } - EXPORT_SYMBOL_GPL(serdev_device_wait_until_sent); - -+int serdev_device_get_tiocm(struct serdev_device *serdev) -+{ -+ struct serdev_controller *ctrl = serdev->ctrl; -+ -+ if (!ctrl || !ctrl->ops->get_tiocm) -+ return -ENOTSUPP; -+ -+ return ctrl->ops->get_tiocm(ctrl); -+} -+EXPORT_SYMBOL_GPL(serdev_device_get_tiocm); -+ -+int serdev_device_set_tiocm(struct serdev_device *serdev, int set, int clear) -+{ -+ struct serdev_controller *ctrl = serdev->ctrl; -+ -+ if (!ctrl || !ctrl->ops->set_tiocm) -+ return -ENOTSUPP; -+ -+ return ctrl->ops->set_tiocm(ctrl, set, clear); -+} -+EXPORT_SYMBOL_GPL(serdev_device_set_tiocm); -+ - static int serdev_drv_probe(struct device *dev) - { - const struct serdev_device_driver *sdrv = to_serdev_device_driver(dev->driver); -diff --git a/drivers/tty/serdev/serdev-ttyport.c b/drivers/tty/serdev/serdev-ttyport.c -index 50dc75c4d204..487c88f6aa0e 100644 ---- a/drivers/tty/serdev/serdev-ttyport.c -+++ b/drivers/tty/serdev/serdev-ttyport.c -@@ -176,6 +176,28 @@ static void ttyport_wait_until_sent(struct serdev_controller *ctrl, long timeout - tty_wait_until_sent(tty, timeout); - } - -+static int ttyport_get_tiocm(struct serdev_controller *ctrl) -+{ -+ struct serport *serport = serdev_controller_get_drvdata(ctrl); -+ struct tty_struct *tty = serport->tty; -+ -+ if (!tty->ops->tiocmget) -+ return -ENOTSUPP; -+ -+ return tty->driver->ops->tiocmget(tty); -+} -+ -+static int ttyport_set_tiocm(struct serdev_controller *ctrl, unsigned int set, unsigned int clear) -+{ -+ struct serport *serport = serdev_controller_get_drvdata(ctrl); -+ struct tty_struct *tty = serport->tty; -+ -+ if (!tty->ops->tiocmset) -+ return -ENOTSUPP; -+ -+ return tty->driver->ops->tiocmset(tty, set, clear); -+} -+ - static const struct serdev_controller_ops ctrl_ops = { - .write_buf = ttyport_write_buf, - .write_flush = ttyport_write_flush, -@@ -185,6 +207,8 @@ static const struct serdev_controller_ops ctrl_ops = { - .set_flow_control = ttyport_set_flow_control, - .set_baudrate = ttyport_set_baudrate, - .wait_until_sent = ttyport_wait_until_sent, -+ .get_tiocm = ttyport_get_tiocm, -+ .set_tiocm = ttyport_set_tiocm, - }; - - struct device *serdev_tty_port_register(struct tty_port *port, -diff --git a/include/linux/serdev.h b/include/linux/serdev.h -index a308b206d204..e29a270f603c 100644 ---- a/include/linux/serdev.h -+++ b/include/linux/serdev.h -@@ -15,6 +15,7 @@ - - #include <linux/types.h> - #include <linux/device.h> -+#include <linux/termios.h> - - struct serdev_controller; - struct serdev_device; -@@ -82,6 +83,8 @@ struct serdev_controller_ops { - void (*set_flow_control)(struct serdev_controller *, bool); - unsigned int (*set_baudrate)(struct serdev_controller *, unsigned int); - void (*wait_until_sent)(struct serdev_controller *, long); -+ int (*get_tiocm)(struct serdev_controller *); -+ int (*set_tiocm)(struct serdev_controller *, unsigned int, unsigned int); - }; - - /** -@@ -188,6 +191,8 @@ void serdev_device_close(struct serdev_device *); - unsigned int serdev_device_set_baudrate(struct serdev_device *, unsigned int); - void serdev_device_set_flow_control(struct serdev_device *, bool); - void serdev_device_wait_until_sent(struct serdev_device *, long); -+int serdev_device_get_tiocm(struct serdev_device *); -+int serdev_device_set_tiocm(struct serdev_device *, int, int); - int serdev_device_write_buf(struct serdev_device *, const unsigned char *, size_t); - void serdev_device_write_flush(struct serdev_device *); - int serdev_device_write_room(struct serdev_device *); -@@ -226,6 +231,14 @@ static inline unsigned int serdev_device_set_baudrate(struct serdev_device *sdev - } - static inline void serdev_device_set_flow_control(struct serdev_device *sdev, bool enable) {} - static inline void serdev_device_wait_until_sent(struct serdev_device *sdev, long timeout) {} -+static inline int serdev_device_get_tiocm(struct serdev_device *serdev) -+{ -+ return -ENOTSUPP; -+} -+static inline int serdev_device_set_tiocm(struct serdev_device *serdev, int set, int clear) -+{ -+ return -ENOTSUPP; -+} - static inline int serdev_device_write_buf(struct serdev_device *sdev, const unsigned char *buf, size_t count) - { - return -ENODEV; --- -2.12.2 - -From 9425a7e94dba6d5585c542c50f253f8fbf764a81 Mon Sep 17 00:00:00 2001 -From: Sebastian Reichel <sre@kernel.org> -Date: Tue, 28 Mar 2017 17:59:33 +0200 -Subject: [PATCH 03/13] serdev: add helpers for cts and rts handling - -Add serdev helper functions for handling of cts and rts -lines using the serdev's tiocm functions. - -Acked-by: Rob Herring <robh@kernel.org> -Signed-off-by: Sebastian Reichel <sre@kernel.org> -Signed-off-by: Rob Herring <robh@kernel.org> ---- - include/linux/serdev.h | 31 +++++++++++++++++++++++++++++++ - 1 file changed, 31 insertions(+) - -diff --git a/include/linux/serdev.h b/include/linux/serdev.h -index e29a270f603c..37395b8eb8f1 100644 ---- a/include/linux/serdev.h -+++ b/include/linux/serdev.h -@@ -16,6 +16,7 @@ - #include <linux/types.h> - #include <linux/device.h> - #include <linux/termios.h> -+#include <linux/delay.h> - - struct serdev_controller; - struct serdev_device; -@@ -254,6 +255,36 @@ static inline int serdev_device_write_room(struct serdev_device *sdev) - - #endif /* CONFIG_SERIAL_DEV_BUS */ - -+static inline bool serdev_device_get_cts(struct serdev_device *serdev) -+{ -+ int status = serdev_device_get_tiocm(serdev); -+ return !!(status & TIOCM_CTS); -+} -+ -+static inline int serdev_device_wait_for_cts(struct serdev_device *serdev, bool state, int timeout_ms) -+{ -+ unsigned long timeout; -+ bool signal; -+ -+ timeout = jiffies + msecs_to_jiffies(timeout_ms); -+ while (time_is_after_jiffies(timeout)) { -+ signal = serdev_device_get_cts(serdev); -+ if (signal == state) -+ return 0; -+ usleep_range(1000, 2000); -+ } -+ -+ return -ETIMEDOUT; -+} -+ -+static inline int serdev_device_set_rts(struct serdev_device *serdev, bool enable) -+{ -+ if (enable) -+ return serdev_device_set_tiocm(serdev, TIOCM_RTS, 0); -+ else -+ return serdev_device_set_tiocm(serdev, 0, TIOCM_RTS); -+} -+ - /* - * serdev hooks into TTY core - */ --- -2.12.2 - -From 8656be75e893514bac2aa817f1c1b35e8dbd9e5b Mon Sep 17 00:00:00 2001 -From: Sebastian Reichel <sre@kernel.org> -Date: Tue, 28 Mar 2017 17:59:34 +0200 -Subject: [PATCH 04/13] Bluetooth: hci_uart: add support for word alignment - -This will be used by Nokia's H4+ protocol, which -uses 2-byte aligned packets. - -Acked-by: Pavel Machek <pavel@ucw.cz> -Signed-off-by: Sebastian Reichel <sre@kernel.org> -Signed-off-by: Rob Herring <robh@kernel.org> ---- - drivers/bluetooth/hci_h4.c | 17 +++++++++++++++++ - drivers/bluetooth/hci_ldisc.c | 4 ++++ - drivers/bluetooth/hci_uart.h | 3 +++ - 3 files changed, 24 insertions(+) - -diff --git a/drivers/bluetooth/hci_h4.c b/drivers/bluetooth/hci_h4.c -index 635597b6e168..82e5a32b87a4 100644 ---- a/drivers/bluetooth/hci_h4.c -+++ b/drivers/bluetooth/hci_h4.c -@@ -171,9 +171,20 @@ struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb, - const unsigned char *buffer, int count, - const struct h4_recv_pkt *pkts, int pkts_count) - { -+ struct hci_uart *hu = hci_get_drvdata(hdev); -+ u8 alignment = hu->alignment; -+ - while (count) { - int i, len; - -+ /* remove padding bytes from buffer */ -+ for (; hu->padding && count > 0; hu->padding--) { -+ count--; -+ buffer++; -+ } -+ if (!count) -+ break; -+ - if (!skb) { - for (i = 0; i < pkts_count; i++) { - if (buffer[0] != (&pkts[i])->type) -@@ -253,11 +264,17 @@ struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb, - } - - if (!dlen) { -+ hu->padding = (skb->len - 1) % alignment; -+ hu->padding = (alignment - hu->padding) % alignment; -+ - /* No more data, complete frame */ - (&pkts[i])->recv(hdev, skb); - skb = NULL; - } - } else { -+ hu->padding = (skb->len - 1) % alignment; -+ hu->padding = (alignment - hu->padding) % alignment; -+ - /* Complete frame */ - (&pkts[i])->recv(hdev, skb); - skb = NULL; -diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c -index 9497c469efd2..0ec8a94bd712 100644 ---- a/drivers/bluetooth/hci_ldisc.c -+++ b/drivers/bluetooth/hci_ldisc.c -@@ -459,6 +459,10 @@ static int hci_uart_tty_open(struct tty_struct *tty) - hu->tty = tty; - tty->receive_room = 65536; - -+ /* disable alignment support by default */ -+ hu->alignment = 1; -+ hu->padding = 0; -+ - INIT_WORK(&hu->init_ready, hci_uart_init_work); - INIT_WORK(&hu->write_work, hci_uart_write_work); - -diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h -index 070139513e65..4aff50960cac 100644 ---- a/drivers/bluetooth/hci_uart.h -+++ b/drivers/bluetooth/hci_uart.h -@@ -92,6 +92,9 @@ struct hci_uart { - - unsigned int init_speed; - unsigned int oper_speed; -+ -+ u8 alignment; -+ u8 padding; - }; - - /* HCI_UART proto flag bits */ --- -2.12.2 - -From f2d830b35ce8c834eaa895ff29c461455024f05e Mon Sep 17 00:00:00 2001 -From: Rob Herring <robh@kernel.org> -Date: Tue, 28 Mar 2017 17:59:35 +0200 -Subject: [PATCH 05/13] Bluetooth: hci_uart: add serdev driver support library - -This adds library functions for serdev based BT drivers. This is largely -copied from hci_ldisc.c and modified to use serdev calls. There's a little -bit of duplication, but I avoided intermixing this as the ldisc code should -eventually go away. - -Signed-off-by: Rob Herring <robh@kernel.org> -Cc: Marcel Holtmann <marcel@holtmann.org> -Cc: Gustavo Padovan <gustavo@padovan.org> -Cc: Johan Hedberg <johan.hedberg@gmail.com> -Cc: linux-bluetooth@vger.kernel.org -Acked-by: Pavel Machek <pavel@ucw.cz> -[Fix style issues reported by Pavel] -Signed-off-by: Sebastian Reichel <sre@kernel.org> -Signed-off-by: Rob Herring <robh@kernel.org> ---- - drivers/bluetooth/Makefile | 1 + - drivers/bluetooth/hci_serdev.c | 361 +++++++++++++++++++++++++++++++++++++++++ - drivers/bluetooth/hci_uart.h | 4 + - 3 files changed, 366 insertions(+) - create mode 100644 drivers/bluetooth/hci_serdev.c - -diff --git a/drivers/bluetooth/Makefile b/drivers/bluetooth/Makefile -index 80627187c8b6..fd571689eed6 100644 ---- a/drivers/bluetooth/Makefile -+++ b/drivers/bluetooth/Makefile -@@ -29,6 +29,7 @@ btmrvl-y := btmrvl_main.o - btmrvl-$(CONFIG_DEBUG_FS) += btmrvl_debugfs.o - - hci_uart-y := hci_ldisc.o -+hci_uart-$(CONFIG_SERIAL_DEV_BUS) += hci_serdev.o - hci_uart-$(CONFIG_BT_HCIUART_H4) += hci_h4.o - hci_uart-$(CONFIG_BT_HCIUART_BCSP) += hci_bcsp.o - hci_uart-$(CONFIG_BT_HCIUART_LL) += hci_ll.o -diff --git a/drivers/bluetooth/hci_serdev.c b/drivers/bluetooth/hci_serdev.c -new file mode 100644 -index 000000000000..f5ccb2c7ef92 ---- /dev/null -+++ b/drivers/bluetooth/hci_serdev.c -@@ -0,0 +1,361 @@ -+/* -+ * Bluetooth HCI serdev driver lib -+ * -+ * Copyright (C) 2017 Linaro, Ltd., Rob Herring <robh@kernel.org> -+ * -+ * Based on hci_ldisc.c: -+ * -+ * Copyright (C) 2000-2001 Qualcomm Incorporated -+ * Copyright (C) 2002-2003 Maxim Krasnyansky <maxk@qualcomm.com> -+ * Copyright (C) 2004-2005 Marcel Holtmann <marcel@holtmann.org> -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ */ -+ -+#include <linux/kernel.h> -+#include <linux/types.h> -+#include <linux/serdev.h> -+#include <linux/skbuff.h> -+ -+#include <net/bluetooth/bluetooth.h> -+#include <net/bluetooth/hci_core.h> -+ -+#include "hci_uart.h" -+ -+struct serdev_device_ops hci_serdev_client_ops; -+ -+static inline void hci_uart_tx_complete(struct hci_uart *hu, int pkt_type) -+{ -+ struct hci_dev *hdev = hu->hdev; -+ -+ /* Update HCI stat counters */ -+ switch (pkt_type) { -+ case HCI_COMMAND_PKT: -+ hdev->stat.cmd_tx++; -+ break; -+ -+ case HCI_ACLDATA_PKT: -+ hdev->stat.acl_tx++; -+ break; -+ -+ case HCI_SCODATA_PKT: -+ hdev->stat.sco_tx++; -+ break; -+ } -+} -+ -+static inline struct sk_buff *hci_uart_dequeue(struct hci_uart *hu) -+{ -+ struct sk_buff *skb = hu->tx_skb; -+ -+ if (!skb) -+ skb = hu->proto->dequeue(hu); -+ else -+ hu->tx_skb = NULL; -+ -+ return skb; -+} -+ -+static void hci_uart_write_work(struct work_struct *work) -+{ -+ struct hci_uart *hu = container_of(work, struct hci_uart, write_work); -+ struct serdev_device *serdev = hu->serdev; -+ struct hci_dev *hdev = hu->hdev; -+ struct sk_buff *skb; -+ -+ /* REVISIT: -+ * should we cope with bad skbs or ->write() returning an error value? -+ */ -+ do { -+ clear_bit(HCI_UART_TX_WAKEUP, &hu->tx_state); -+ -+ while ((skb = hci_uart_dequeue(hu))) { -+ int len; -+ -+ len = serdev_device_write_buf(serdev, -+ skb->data, skb->len); -+ hdev->stat.byte_tx += len; -+ -+ skb_pull(skb, len); -+ if (skb->len) { -+ hu->tx_skb = skb; -+ break; -+ } -+ -+ hci_uart_tx_complete(hu, hci_skb_pkt_type(skb)); -+ kfree_skb(skb); -+ } -+ } while(test_bit(HCI_UART_TX_WAKEUP, &hu->tx_state)); -+ -+ clear_bit(HCI_UART_SENDING, &hu->tx_state); -+} -+ -+/* ------- Interface to HCI layer ------ */ -+ -+/* Initialize device */ -+static int hci_uart_open(struct hci_dev *hdev) -+{ -+ struct hci_uart *hu = hci_get_drvdata(hdev); -+ -+ BT_DBG("%s %p", hdev->name, hdev); -+ -+ serdev_device_set_client_ops(hu->serdev, &hci_serdev_client_ops); -+ -+ return serdev_device_open(hu->serdev); -+} -+ -+/* Reset device */ -+static int hci_uart_flush(struct hci_dev *hdev) -+{ -+ struct hci_uart *hu = hci_get_drvdata(hdev); -+ -+ BT_DBG("hdev %p serdev %p", hdev, hu->serdev); -+ -+ if (hu->tx_skb) { -+ kfree_skb(hu->tx_skb); hu->tx_skb = NULL; -+ } -+ -+ /* Flush any pending characters in the driver and discipline. */ -+ serdev_device_write_flush(hu->serdev); -+ -+ if (test_bit(HCI_UART_PROTO_READY, &hu->flags)) -+ hu->proto->flush(hu); -+ -+ return 0; -+} -+ -+/* Close device */ -+static int hci_uart_close(struct hci_dev *hdev) -+{ -+ struct hci_uart *hu = hci_get_drvdata(hdev); -+ -+ BT_DBG("hdev %p", hdev); -+ -+ hci_uart_flush(hdev); -+ hdev->flush = NULL; -+ -+ serdev_device_close(hu->serdev); -+ -+ return 0; -+} -+ -+/* Send frames from HCI layer */ -+static int hci_uart_send_frame(struct hci_dev *hdev, struct sk_buff *skb) -+{ -+ struct hci_uart *hu = hci_get_drvdata(hdev); -+ -+ BT_DBG("%s: type %d len %d", hdev->name, hci_skb_pkt_type(skb), -+ skb->len); -+ -+ hu->proto->enqueue(hu, skb); -+ -+ hci_uart_tx_wakeup(hu); -+ -+ return 0; -+} -+ -+static int hci_uart_setup(struct hci_dev *hdev) -+{ -+ struct hci_uart *hu = hci_get_drvdata(hdev); -+ struct hci_rp_read_local_version *ver; -+ struct sk_buff *skb; -+ unsigned int speed; -+ int err; -+ -+ /* Init speed if any */ -+ if (hu->init_speed) -+ speed = hu->init_speed; -+ else if (hu->proto->init_speed) -+ speed = hu->proto->init_speed; -+ else -+ speed = 0; -+ -+ if (speed) -+ serdev_device_set_baudrate(hu->serdev, speed); -+ -+ /* Operational speed if any */ -+ if (hu->oper_speed) -+ speed = hu->oper_speed; -+ else if (hu->proto->oper_speed) -+ speed = hu->proto->oper_speed; -+ else -+ speed = 0; -+ -+ if (hu->proto->set_baudrate && speed) { -+ err = hu->proto->set_baudrate(hu, speed); -+ if (err) -+ BT_ERR("%s: failed to set baudrate", hdev->name); -+ else -+ serdev_device_set_baudrate(hu->serdev, speed); -+ } -+ -+ if (hu->proto->setup) -+ return hu->proto->setup(hu); -+ -+ if (!test_bit(HCI_UART_VND_DETECT, &hu->hdev_flags)) -+ return 0; -+ -+ skb = __hci_cmd_sync(hdev, HCI_OP_READ_LOCAL_VERSION, 0, NULL, -+ HCI_INIT_TIMEOUT); -+ if (IS_ERR(skb)) { -+ BT_ERR("%s: Reading local version information failed (%ld)", -+ hdev->name, PTR_ERR(skb)); -+ return 0; -+ } -+ -+ if (skb->len != sizeof(*ver)) { -+ BT_ERR("%s: Event length mismatch for version information", -+ hdev->name); -+ } -+ -+ kfree_skb(skb); -+ return 0; -+} -+ -+/** hci_uart_write_wakeup - transmit buffer wakeup -+ * @serdev: serial device -+ * -+ * This function is called by the serdev framework when it accepts -+ * more data being sent. -+ */ -+static void hci_uart_write_wakeup(struct serdev_device *serdev) -+{ -+ struct hci_uart *hu = serdev_device_get_drvdata(serdev); -+ -+ BT_DBG(""); -+ -+ if (!hu || serdev != hu->serdev) { -+ WARN_ON(1); -+ return; -+ } -+ -+ if (test_bit(HCI_UART_PROTO_READY, &hu->flags)) -+ hci_uart_tx_wakeup(hu); -+} -+ -+/** hci_uart_receive_buf - receive buffer wakeup -+ * @serdev: serial device -+ * @data: pointer to received data -+ * @count: count of received data in bytes -+ * -+ * This function is called by the serdev framework when it received data -+ * in the RX buffer. -+ * -+ * Return: number of processed bytes -+ */ -+static int hci_uart_receive_buf(struct serdev_device *serdev, const u8 *data, -+ size_t count) -+{ -+ struct hci_uart *hu = serdev_device_get_drvdata(serdev); -+ -+ if (!hu || serdev != hu->serdev) { -+ WARN_ON(1); -+ return 0; -+ } -+ -+ if (!test_bit(HCI_UART_PROTO_READY, &hu->flags)) -+ return 0; -+ -+ /* It does not need a lock here as it is already protected by a mutex in -+ * tty caller -+ */ -+ hu->proto->recv(hu, data, count); -+ -+ if (hu->hdev) -+ hu->hdev->stat.byte_rx += count; -+ -+ return count; -+} -+ -+struct serdev_device_ops hci_serdev_client_ops = { -+ .receive_buf = hci_uart_receive_buf, -+ .write_wakeup = hci_uart_write_wakeup, -+}; -+ -+int hci_uart_register_device(struct hci_uart *hu, -+ const struct hci_uart_proto *p) -+{ -+ int err; -+ struct hci_dev *hdev; -+ -+ BT_DBG(""); -+ -+ err = p->open(hu); -+ if (err) -+ return err; -+ -+ hu->proto = p; -+ set_bit(HCI_UART_PROTO_READY, &hu->flags); -+ -+ /* Initialize and register HCI device */ -+ hdev = hci_alloc_dev(); -+ if (!hdev) { -+ BT_ERR("Can't allocate HCI device"); -+ err = -ENOMEM; -+ goto err_alloc; -+ } -+ -+ hu->hdev = hdev; -+ -+ hdev->bus = HCI_UART; -+ hci_set_drvdata(hdev, hu); -+ -+ INIT_WORK(&hu->write_work, hci_uart_write_work); -+ -+ /* Only when vendor specific setup callback is provided, consider -+ * the manufacturer information valid. This avoids filling in the -+ * value for Ericsson when nothing is specified. -+ */ -+ if (hu->proto->setup) -+ hdev->manufacturer = hu->proto->manufacturer; -+ -+ hdev->open = hci_uart_open; -+ hdev->close = hci_uart_close; -+ hdev->flush = hci_uart_flush; -+ hdev->send = hci_uart_send_frame; -+ hdev->setup = hci_uart_setup; -+ SET_HCIDEV_DEV(hdev, &hu->serdev->dev); -+ -+ if (test_bit(HCI_UART_RAW_DEVICE, &hu->hdev_flags)) -+ set_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks); -+ -+ if (test_bit(HCI_UART_EXT_CONFIG, &hu->hdev_flags)) -+ set_bit(HCI_QUIRK_EXTERNAL_CONFIG, &hdev->quirks); -+ -+ if (!test_bit(HCI_UART_RESET_ON_INIT, &hu->hdev_flags)) -+ set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks); -+ -+ if (test_bit(HCI_UART_CREATE_AMP, &hu->hdev_flags)) -+ hdev->dev_type = HCI_AMP; -+ else -+ hdev->dev_type = HCI_PRIMARY; -+ -+ if (test_bit(HCI_UART_INIT_PENDING, &hu->hdev_flags)) -+ return 0; -+ -+ if (hci_register_dev(hdev) < 0) { -+ BT_ERR("Can't register HCI device"); -+ err = -ENODEV; -+ goto err_register; -+ } -+ -+ set_bit(HCI_UART_REGISTERED, &hu->flags); -+ -+ return 0; -+ -+err_register: -+ hci_free_dev(hdev); -+err_alloc: -+ clear_bit(HCI_UART_PROTO_READY, &hu->flags); -+ p->close(hu); -+ return err; -+} -diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h -index 4aff50960cac..1b41c661bbb8 100644 ---- a/drivers/bluetooth/hci_uart.h -+++ b/drivers/bluetooth/hci_uart.h -@@ -58,6 +58,7 @@ - #define HCI_UART_VND_DETECT 5 - - struct hci_uart; -+struct serdev_device; - - struct hci_uart_proto { - unsigned int id; -@@ -77,6 +78,7 @@ struct hci_uart_proto { - - struct hci_uart { - struct tty_struct *tty; -+ struct serdev_device *serdev; - struct hci_dev *hdev; - unsigned long flags; - unsigned long hdev_flags; -@@ -108,6 +110,8 @@ struct hci_uart { - - int hci_uart_register_proto(const struct hci_uart_proto *p); - int hci_uart_unregister_proto(const struct hci_uart_proto *p); -+int hci_uart_register_device(struct hci_uart *hu, const struct hci_uart_proto *p); -+ - int hci_uart_tx_wakeup(struct hci_uart *hu); - int hci_uart_init_ready(struct hci_uart *hu); - void hci_uart_init_tty(struct hci_uart *hu); --- -2.12.2 - -From c76b6c5106713b00e183ccb757bc15732d369a33 Mon Sep 17 00:00:00 2001 -From: Sebastian Reichel <sre@kernel.org> -Date: Tue, 28 Mar 2017 17:59:36 +0200 -Subject: [PATCH 06/13] Bluetooth: hci_serdev: do not open device in hci open - -The device driver may need to communicate with the UART -device while the Bluetooth device is closed (e.g. due -to interrupts). - -Acked-by: Pavel Machek <pavel@ucw.cz> -Signed-off-by: Sebastian Reichel <sre@kernel.org> -Signed-off-by: Rob Herring <robh@kernel.org> ---- - drivers/bluetooth/hci_serdev.c | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -diff --git a/drivers/bluetooth/hci_serdev.c b/drivers/bluetooth/hci_serdev.c -index f5ccb2c7ef92..3b8ac0ece3fb 100644 ---- a/drivers/bluetooth/hci_serdev.c -+++ b/drivers/bluetooth/hci_serdev.c -@@ -104,13 +104,9 @@ static void hci_uart_write_work(struct work_struct *work) - /* Initialize device */ - static int hci_uart_open(struct hci_dev *hdev) - { -- struct hci_uart *hu = hci_get_drvdata(hdev); -- - BT_DBG("%s %p", hdev->name, hdev); - -- serdev_device_set_client_ops(hu->serdev, &hci_serdev_client_ops); -- -- return serdev_device_open(hu->serdev); -+ return 0; - } - - /* Reset device */ -@@ -136,15 +132,11 @@ static int hci_uart_flush(struct hci_dev *hdev) - /* Close device */ - static int hci_uart_close(struct hci_dev *hdev) - { -- struct hci_uart *hu = hci_get_drvdata(hdev); -- - BT_DBG("hdev %p", hdev); - - hci_uart_flush(hdev); - hdev->flush = NULL; - -- serdev_device_close(hu->serdev); -- - return 0; - } - -@@ -289,6 +281,8 @@ int hci_uart_register_device(struct hci_uart *hu, - - BT_DBG(""); - -+ serdev_device_set_client_ops(hu->serdev, &hci_serdev_client_ops); -+ - err = p->open(hu); - if (err) - return err; --- -2.12.2 - -From 7fe8800d90c5e0f614e72c475687a68a76592241 Mon Sep 17 00:00:00 2001 -From: Sebastian Reichel <sre@kernel.org> -Date: Tue, 28 Mar 2017 17:59:37 +0200 -Subject: [PATCH 07/13] Bluetooth: hci_serdev: allow modular drivers - -For bluetooth protocol driver only supporting serdev it makes -sense to follow common practice and built them into their own -module. - -Such modules need access to hci_uart_register_device and -hci_uart_tx_wakeup for using the common protocol helpers. - -Signed-off-by: Sebastian Reichel <sre@kernel.org> -Signed-off-by: Rob Herring <robh@kernel.org> ---- - drivers/bluetooth/hci_ldisc.c | 1 + - drivers/bluetooth/hci_serdev.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c -index 0ec8a94bd712..17bcbc13623f 100644 ---- a/drivers/bluetooth/hci_ldisc.c -+++ b/drivers/bluetooth/hci_ldisc.c -@@ -134,6 +134,7 @@ int hci_uart_tx_wakeup(struct hci_uart *hu) - - return 0; - } -+EXPORT_SYMBOL_GPL(hci_uart_tx_wakeup); - - static void hci_uart_write_work(struct work_struct *work) - { -diff --git a/drivers/bluetooth/hci_serdev.c b/drivers/bluetooth/hci_serdev.c -index 3b8ac0ece3fb..7de0edc0ff8c 100644 ---- a/drivers/bluetooth/hci_serdev.c -+++ b/drivers/bluetooth/hci_serdev.c -@@ -353,3 +353,4 @@ int hci_uart_register_device(struct hci_uart *hu, - p->close(hu); - return err; - } -+EXPORT_SYMBOL_GPL(hci_uart_register_device); --- -2.12.2 - -From 68bfebdd86741d45508148c6fa13b5bd21116c7e Mon Sep 17 00:00:00 2001 -From: Sebastian Reichel <sre@kernel.org> -Date: Tue, 28 Mar 2017 17:59:38 +0200 -Subject: [PATCH 08/13] dt-bindings: net: bluetooth: Add nokia-bluetooth - -Add binding document for serial bluetooth chips using -Nokia H4+ protocol. - -Acked-by: Rob Herring <robh@kernel.org> -Signed-off-by: Sebastian Reichel <sre@kernel.org> - -Changes since PATCHv1: - * change compatible strings - * mention active high/low state for GPIOs -Signed-off-by: Rob Herring <robh@kernel.org> ---- - .../devicetree/bindings/net/nokia-bluetooth.txt | 51 ++++++++++++++++++++++ - 1 file changed, 51 insertions(+) - create mode 100644 Documentation/devicetree/bindings/net/nokia-bluetooth.txt - -diff --git a/Documentation/devicetree/bindings/net/nokia-bluetooth.txt b/Documentation/devicetree/bindings/net/nokia-bluetooth.txt -new file mode 100644 -index 000000000000..42be7dc9a70b ---- /dev/null -+++ b/Documentation/devicetree/bindings/net/nokia-bluetooth.txt -@@ -0,0 +1,51 @@ -+Nokia Bluetooth Chips -+--------------------- -+ -+Nokia phones often come with UART connected bluetooth chips from different -+vendors and modified device API. Those devices speak a protocol named H4+ -+(also known as h4p) by Nokia, which is similar to the H4 protocol from the -+Bluetooth standard. In addition to the H4 protocol it specifies two more -+UART status lines for wakeup of UART transceivers to improve power management -+and a few new packet types used to negotiate uart speed. -+ -+Required properties: -+ -+ - compatible: should contain "nokia,h4p-bluetooth" as well as one of the following: -+ * "brcm,bcm2048-nokia" -+ * "ti,wl1271-bluetooth-nokia" -+ - reset-gpios: GPIO specifier, used to reset the BT module (active low) -+ - bluetooth-wakeup-gpios: GPIO specifier, used to wakeup the BT module (active high) -+ - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor (active high) -+ - clock-names: should be "sysclk" -+ - clocks: should contain a clock specifier for every name in clock-names -+ -+Optional properties: -+ -+ - None -+ -+Example: -+ -+/ { -+ /* controlled (enabled/disabled) directly by BT module */ -+ bluetooth_clk: vctcxo { -+ compatible = "fixed-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <38400000>; -+ }; -+}; -+ -+&uart2 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart2_pins>; -+ -+ bluetooth { -+ compatible = "ti,wl1271-bluetooth-nokia", "nokia,h4p-bluetooth"; -+ -+ reset-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>; /* gpio26 */ -+ host-wakeup-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* gpio101 */ -+ bluetooth-wakeup-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* gpio37 */ -+ -+ clocks = <&bluetooth_clk>; -+ clock-names = "sysclk"; -+ }; -+}; --- -2.12.2 - -From 90753299ed56ee7c5807c09b2185094a91a2cbbe Mon Sep 17 00:00:00 2001 -From: Sebastian Reichel <sre@kernel.org> -Date: Tue, 28 Mar 2017 17:59:39 +0200 -Subject: [PATCH 09/13] Bluetooth: add nokia driver - -This adds a driver for the Nokia H4+ protocol, which is used -at least on the Nokia N9, N900 & N950. - -Signed-off-by: Sebastian Reichel <sre@kernel.org> -Signed-off-by: Rob Herring <robh@kernel.org> ---- - drivers/bluetooth/Kconfig | 12 + - drivers/bluetooth/Makefile | 2 + - drivers/bluetooth/hci_nokia.c | 819 ++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 833 insertions(+) - create mode 100644 drivers/bluetooth/hci_nokia.c - -diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig -index 08e054507d0b..479e2eacd1aa 100644 ---- a/drivers/bluetooth/Kconfig -+++ b/drivers/bluetooth/Kconfig -@@ -86,6 +86,18 @@ config BT_HCIUART_H4 - - Say Y here to compile support for HCI UART (H4) protocol. - -+config BT_HCIUART_NOKIA -+ tristate "UART Nokia H4+ protocol support" -+ depends on BT_HCIUART -+ depends on SERIAL_DEV_BUS -+ depends on PM -+ help -+ Nokia H4+ is serial protocol for communication between Bluetooth -+ device and host. This protocol is required for Bluetooth devices -+ with UART interface in Nokia devices. -+ -+ Say Y here to compile support for Nokia's H4+ protocol. -+ - config BT_HCIUART_BCSP - bool "BCSP protocol support" - depends on BT_HCIUART -diff --git a/drivers/bluetooth/Makefile b/drivers/bluetooth/Makefile -index fd571689eed6..a7f237320f4b 100644 ---- a/drivers/bluetooth/Makefile -+++ b/drivers/bluetooth/Makefile -@@ -25,6 +25,8 @@ obj-$(CONFIG_BT_BCM) += btbcm.o - obj-$(CONFIG_BT_RTL) += btrtl.o - obj-$(CONFIG_BT_QCA) += btqca.o - -+obj-$(CONFIG_BT_HCIUART_NOKIA) += hci_nokia.o -+ - btmrvl-y := btmrvl_main.o - btmrvl-$(CONFIG_DEBUG_FS) += btmrvl_debugfs.o - -diff --git a/drivers/bluetooth/hci_nokia.c b/drivers/bluetooth/hci_nokia.c -new file mode 100644 -index 000000000000..c77f04af01bf ---- /dev/null -+++ b/drivers/bluetooth/hci_nokia.c -@@ -0,0 +1,819 @@ -+/* -+ * Bluetooth HCI UART H4 driver with Nokia Extensions AKA Nokia H4+ -+ * -+ * Copyright (C) 2015 Marcel Holtmann <marcel@holtmann.org> -+ * Copyright (C) 2015-2017 Sebastian Reichel <sre@kernel.org> -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ */ -+ -+#include <linux/module.h> -+#include <linux/clk.h> -+#include <linux/kernel.h> -+#include <linux/types.h> -+#include <linux/interrupt.h> -+#include <linux/pm_runtime.h> -+#include <linux/firmware.h> -+#include <linux/slab.h> -+#include <linux/string.h> -+#include <linux/errno.h> -+#include <linux/skbuff.h> -+#include <linux/gpio/consumer.h> -+#include <linux/unaligned/le_struct.h> -+#include <net/bluetooth/bluetooth.h> -+#include <net/bluetooth/hci_core.h> -+#include <linux/serdev.h> -+ -+#include "hci_uart.h" -+#include "btbcm.h" -+ -+#define NOKIA_ID_BCM2048 0x04 -+#define NOKIA_ID_TI1271 0x31 -+ -+#define FIRMWARE_BCM2048 "nokia/bcmfw.bin" -+#define FIRMWARE_TI1271 "nokia/ti1273.bin" -+ -+#define HCI_NOKIA_NEG_PKT 0x06 -+#define HCI_NOKIA_ALIVE_PKT 0x07 -+#define HCI_NOKIA_RADIO_PKT 0x08 -+ -+#define HCI_NOKIA_NEG_HDR_SIZE 1 -+#define HCI_NOKIA_MAX_NEG_SIZE 255 -+#define HCI_NOKIA_ALIVE_HDR_SIZE 1 -+#define HCI_NOKIA_MAX_ALIVE_SIZE 255 -+#define HCI_NOKIA_RADIO_HDR_SIZE 2 -+#define HCI_NOKIA_MAX_RADIO_SIZE 255 -+ -+#define NOKIA_PROTO_PKT 0x44 -+#define NOKIA_PROTO_BYTE 0x4c -+ -+#define NOKIA_NEG_REQ 0x00 -+#define NOKIA_NEG_ACK 0x20 -+#define NOKIA_NEG_NAK 0x40 -+ -+#define H4_TYPE_SIZE 1 -+ -+#define NOKIA_RECV_ALIVE \ -+ .type = HCI_NOKIA_ALIVE_PKT, \ -+ .hlen = HCI_NOKIA_ALIVE_HDR_SIZE, \ -+ .loff = 0, \ -+ .lsize = 1, \ -+ .maxlen = HCI_NOKIA_MAX_ALIVE_SIZE \ -+ -+#define NOKIA_RECV_NEG \ -+ .type = HCI_NOKIA_NEG_PKT, \ -+ .hlen = HCI_NOKIA_NEG_HDR_SIZE, \ -+ .loff = 0, \ -+ .lsize = 1, \ -+ .maxlen = HCI_NOKIA_MAX_NEG_SIZE \ -+ -+#define NOKIA_RECV_RADIO \ -+ .type = HCI_NOKIA_RADIO_PKT, \ -+ .hlen = HCI_NOKIA_RADIO_HDR_SIZE, \ -+ .loff = 1, \ -+ .lsize = 1, \ -+ .maxlen = HCI_NOKIA_MAX_RADIO_SIZE \ -+ -+struct hci_nokia_neg_hdr { -+ u8 dlen; -+} __packed; -+ -+struct hci_nokia_neg_cmd { -+ u8 ack; -+ u16 baud; -+ u16 unused1; -+ u8 proto; -+ u16 sys_clk; -+ u16 unused2; -+} __packed; -+ -+#define NOKIA_ALIVE_REQ 0x55 -+#define NOKIA_ALIVE_RESP 0xcc -+ -+struct hci_nokia_alive_hdr { -+ u8 dlen; -+} __packed; -+ -+struct hci_nokia_alive_pkt { -+ u8 mid; -+ u8 unused; -+} __packed; -+ -+struct hci_nokia_neg_evt { -+ u8 ack; -+ u16 baud; -+ u16 unused1; -+ u8 proto; -+ u16 sys_clk; -+ u16 unused2; -+ u8 man_id; -+ u8 ver_id; -+} __packed; -+ -+#define MAX_BAUD_RATE 3692300 -+#define SETUP_BAUD_RATE 921600 -+#define INIT_BAUD_RATE 120000 -+ -+struct hci_nokia_radio_hdr { -+ u8 evt; -+ u8 dlen; -+} __packed; -+ -+struct nokia_bt_dev { -+ struct hci_uart hu; -+ struct serdev_device *serdev; -+ -+ struct gpio_desc *reset; -+ struct gpio_desc *wakeup_host; -+ struct gpio_desc *wakeup_bt; -+ unsigned long sysclk_speed; -+ -+ int wake_irq; -+ struct sk_buff *rx_skb; -+ struct sk_buff_head txq; -+ bdaddr_t bdaddr; -+ -+ int init_error; -+ struct completion init_completion; -+ -+ u8 man_id; -+ u8 ver_id; -+ -+ bool initialized; -+ bool tx_enabled; -+ bool rx_enabled; -+}; -+ -+static int nokia_enqueue(struct hci_uart *hu, struct sk_buff *skb); -+ -+static void nokia_flow_control(struct serdev_device *serdev, bool enable) -+{ -+ if (enable) { -+ serdev_device_set_rts(serdev, true); -+ serdev_device_set_flow_control(serdev, true); -+ } else { -+ serdev_device_set_flow_control(serdev, false); -+ serdev_device_set_rts(serdev, false); -+ } -+} -+ -+static irqreturn_t wakeup_handler(int irq, void *data) -+{ -+ struct nokia_bt_dev *btdev = data; -+ struct device *dev = &btdev->serdev->dev; -+ int wake_state = gpiod_get_value(btdev->wakeup_host); -+ -+ if (btdev->rx_enabled == wake_state) -+ return IRQ_HANDLED; -+ -+ if (wake_state) -+ pm_runtime_get(dev); -+ else -+ pm_runtime_put(dev); -+ -+ btdev->rx_enabled = wake_state; -+ -+ return IRQ_HANDLED; -+} -+ -+static int nokia_reset(struct hci_uart *hu) -+{ -+ struct nokia_bt_dev *btdev = hu->priv; -+ struct device *dev = &btdev->serdev->dev; -+ int err; -+ -+ /* reset routine */ -+ gpiod_set_value_cansleep(btdev->reset, 1); -+ gpiod_set_value_cansleep(btdev->wakeup_bt, 1); -+ -+ msleep(100); -+ -+ /* safety check */ -+ err = gpiod_get_value_cansleep(btdev->wakeup_host); -+ if (err == 1) { -+ dev_err(dev, "reset: host wakeup not low!"); -+ return -EPROTO; -+ } -+ -+ /* flush queue */ -+ serdev_device_write_flush(btdev->serdev); -+ -+ /* init uart */ -+ nokia_flow_control(btdev->serdev, false); -+ serdev_device_set_baudrate(btdev->serdev, INIT_BAUD_RATE); -+ -+ gpiod_set_value_cansleep(btdev->reset, 0); -+ -+ /* wait for cts */ -+ err = serdev_device_wait_for_cts(btdev->serdev, true, 200); -+ if (err < 0) { -+ dev_err(dev, "CTS not received: %d", err); -+ return err; -+ } -+ -+ nokia_flow_control(btdev->serdev, true); -+ -+ return 0; -+} -+ -+static int nokia_send_alive_packet(struct hci_uart *hu) -+{ -+ struct nokia_bt_dev *btdev = hu->priv; -+ struct device *dev = &btdev->serdev->dev; -+ struct hci_nokia_alive_hdr *hdr; -+ struct hci_nokia_alive_pkt *pkt; -+ struct sk_buff *skb; -+ int len; -+ -+ init_completion(&btdev->init_completion); -+ -+ len = H4_TYPE_SIZE + sizeof(*hdr) + sizeof(*pkt); -+ skb = bt_skb_alloc(len, GFP_KERNEL); -+ if (!skb) -+ return -ENOMEM; -+ -+ hci_skb_pkt_type(skb) = HCI_NOKIA_ALIVE_PKT; -+ memset(skb->data, 0x00, len); -+ -+ hdr = (struct hci_nokia_alive_hdr *)skb_put(skb, sizeof(*hdr)); -+ hdr->dlen = sizeof(*pkt); -+ pkt = (struct hci_nokia_alive_pkt *)skb_put(skb, sizeof(*pkt)); -+ pkt->mid = NOKIA_ALIVE_REQ; -+ -+ nokia_enqueue(hu, skb); -+ hci_uart_tx_wakeup(hu); -+ -+ dev_dbg(dev, "Alive sent"); -+ -+ if (!wait_for_completion_interruptible_timeout(&btdev->init_completion, -+ msecs_to_jiffies(1000))) { -+ return -ETIMEDOUT; -+ } -+ -+ if (btdev->init_error < 0) -+ return btdev->init_error; -+ -+ return 0; -+} -+ -+static int nokia_send_negotiation(struct hci_uart *hu) -+{ -+ struct nokia_bt_dev *btdev = hu->priv; -+ struct device *dev = &btdev->serdev->dev; -+ struct hci_nokia_neg_cmd *neg_cmd; -+ struct hci_nokia_neg_hdr *neg_hdr; -+ struct sk_buff *skb; -+ int len, err; -+ u16 baud = DIV_ROUND_CLOSEST(btdev->sysclk_speed * 10, SETUP_BAUD_RATE); -+ int sysclk = btdev->sysclk_speed / 1000; -+ -+ len = H4_TYPE_SIZE + sizeof(*neg_hdr) + sizeof(*neg_cmd); -+ skb = bt_skb_alloc(len, GFP_KERNEL); -+ if (!skb) -+ return -ENOMEM; -+ -+ hci_skb_pkt_type(skb) = HCI_NOKIA_NEG_PKT; -+ -+ neg_hdr = (struct hci_nokia_neg_hdr *)skb_put(skb, sizeof(*neg_hdr)); -+ neg_hdr->dlen = sizeof(*neg_cmd); -+ -+ neg_cmd = (struct hci_nokia_neg_cmd *)skb_put(skb, sizeof(*neg_cmd)); -+ neg_cmd->ack = NOKIA_NEG_REQ; -+ neg_cmd->baud = cpu_to_le16(baud); -+ neg_cmd->unused1 = 0x0000; -+ neg_cmd->proto = NOKIA_PROTO_BYTE; -+ neg_cmd->sys_clk = cpu_to_le16(sysclk); -+ neg_cmd->unused2 = 0x0000; -+ -+ btdev->init_error = 0; -+ init_completion(&btdev->init_completion); -+ -+ nokia_enqueue(hu, skb); -+ hci_uart_tx_wakeup(hu); -+ -+ dev_dbg(dev, "Negotiation sent"); -+ -+ if (!wait_for_completion_interruptible_timeout(&btdev->init_completion, -+ msecs_to_jiffies(10000))) { -+ return -ETIMEDOUT; -+ } -+ -+ if (btdev->init_error < 0) -+ return btdev->init_error; -+ -+ /* Change to previously negotiated speed. Flow Control -+ * is disabled until bluetooth adapter is ready to avoid -+ * broken bytes being received. -+ */ -+ nokia_flow_control(btdev->serdev, false); -+ serdev_device_set_baudrate(btdev->serdev, SETUP_BAUD_RATE); -+ err = serdev_device_wait_for_cts(btdev->serdev, true, 200); -+ if (err < 0) { -+ dev_err(dev, "CTS not received: %d", err); -+ return err; -+ } -+ nokia_flow_control(btdev->serdev, true); -+ -+ dev_dbg(dev, "Negotiation successful"); -+ -+ return 0; -+} -+ -+static int nokia_setup_fw(struct hci_uart *hu) -+{ -+ struct nokia_bt_dev *btdev = hu->priv; -+ struct device *dev = &btdev->serdev->dev; -+ const char *fwname; -+ const struct firmware *fw; -+ const u8 *fw_ptr; -+ size_t fw_size; -+ int err; -+ -+ dev_dbg(dev, "setup firmware"); -+ -+ if (btdev->man_id == NOKIA_ID_BCM2048) { -+ fwname = FIRMWARE_BCM2048; -+ } else if (btdev->man_id == NOKIA_ID_TI1271) { -+ fwname = FIRMWARE_TI1271; -+ } else { -+ dev_err(dev, "Unsupported bluetooth device!"); -+ return -ENODEV; -+ } -+ -+ err = request_firmware(&fw, fwname, dev); -+ if (err < 0) { -+ dev_err(dev, "%s: Failed to load Nokia firmware file (%d)", -+ hu->hdev->name, err); -+ return err; -+ } -+ -+ fw_ptr = fw->data; -+ fw_size = fw->size; -+ -+ while (fw_size >= 4) { -+ u16 pkt_size = get_unaligned_le16(fw_ptr); -+ u8 pkt_type = fw_ptr[2]; -+ const struct hci_command_hdr *cmd; -+ u16 opcode; -+ struct sk_buff *skb; -+ -+ switch (pkt_type) { -+ case HCI_COMMAND_PKT: -+ cmd = (struct hci_command_hdr *)(fw_ptr + 3); -+ opcode = le16_to_cpu(cmd->opcode); -+ -+ skb = __hci_cmd_sync(hu->hdev, opcode, cmd->plen, -+ fw_ptr + 3 + HCI_COMMAND_HDR_SIZE, -+ HCI_INIT_TIMEOUT); -+ if (IS_ERR(skb)) { -+ err = PTR_ERR(skb); -+ dev_err(dev, "%s: FW command %04x failed (%d)", -+ hu->hdev->name, opcode, err); -+ goto done; -+ } -+ kfree_skb(skb); -+ break; -+ case HCI_NOKIA_RADIO_PKT: -+ case HCI_NOKIA_NEG_PKT: -+ case HCI_NOKIA_ALIVE_PKT: -+ break; -+ } -+ -+ fw_ptr += pkt_size + 2; -+ fw_size -= pkt_size + 2; -+ } -+ -+done: -+ release_firmware(fw); -+ return err; -+} -+ -+static int nokia_setup(struct hci_uart *hu) -+{ -+ struct nokia_bt_dev *btdev = hu->priv; -+ struct device *dev = &btdev->serdev->dev; -+ int err; -+ -+ btdev->initialized = false; -+ -+ nokia_flow_control(btdev->serdev, false); -+ -+ pm_runtime_get_sync(dev); -+ -+ if (btdev->tx_enabled) { -+ gpiod_set_value_cansleep(btdev->wakeup_bt, 0); -+ pm_runtime_put(&btdev->serdev->dev); -+ btdev->tx_enabled = false; -+ } -+ -+ dev_dbg(dev, "protocol setup"); -+ -+ /* 0. reset connection */ -+ err = nokia_reset(hu); -+ if (err < 0) { -+ dev_err(dev, "Reset failed: %d", err); -+ goto out; -+ } -+ -+ /* 1. negotiate speed etc */ -+ err = nokia_send_negotiation(hu); -+ if (err < 0) { -+ dev_err(dev, "Negotiation failed: %d", err); -+ goto out; -+ } -+ -+ /* 2. verify correct setup using alive packet */ -+ err = nokia_send_alive_packet(hu); -+ if (err < 0) { -+ dev_err(dev, "Alive check failed: %d", err); -+ goto out; -+ } -+ -+ /* 3. send firmware */ -+ err = nokia_setup_fw(hu); -+ if (err < 0) { -+ dev_err(dev, "Could not setup FW: %d", err); -+ goto out; -+ } -+ -+ nokia_flow_control(btdev->serdev, false); -+ serdev_device_set_baudrate(btdev->serdev, MAX_BAUD_RATE); -+ nokia_flow_control(btdev->serdev, true); -+ -+ if (btdev->man_id == NOKIA_ID_BCM2048) { -+ hu->hdev->set_bdaddr = btbcm_set_bdaddr; -+ set_bit(HCI_QUIRK_INVALID_BDADDR, &hu->hdev->quirks); -+ dev_dbg(dev, "bcm2048 has invalid bluetooth address!"); -+ } -+ -+ dev_dbg(dev, "protocol setup done!"); -+ -+ gpiod_set_value_cansleep(btdev->wakeup_bt, 0); -+ pm_runtime_put(dev); -+ btdev->tx_enabled = false; -+ btdev->initialized = true; -+ -+ return 0; -+out: -+ pm_runtime_put(dev); -+ -+ return err; -+} -+ -+static int nokia_open(struct hci_uart *hu) -+{ -+ struct device *dev = &hu->serdev->dev; -+ -+ dev_dbg(dev, "protocol open"); -+ -+ serdev_device_open(hu->serdev); -+ -+ pm_runtime_enable(dev); -+ -+ return 0; -+} -+ -+static int nokia_flush(struct hci_uart *hu) -+{ -+ struct nokia_bt_dev *btdev = hu->priv; -+ -+ dev_dbg(&btdev->serdev->dev, "flush device"); -+ -+ skb_queue_purge(&btdev->txq); -+ -+ return 0; -+} -+ -+static int nokia_close(struct hci_uart *hu) -+{ -+ struct nokia_bt_dev *btdev = hu->priv; -+ struct device *dev = &btdev->serdev->dev; -+ -+ dev_dbg(dev, "close device"); -+ -+ btdev->initialized = false; -+ -+ skb_queue_purge(&btdev->txq); -+ -+ kfree_skb(btdev->rx_skb); -+ -+ /* disable module */ -+ gpiod_set_value(btdev->reset, 1); -+ gpiod_set_value(btdev->wakeup_bt, 0); -+ -+ pm_runtime_disable(&btdev->serdev->dev); -+ serdev_device_close(btdev->serdev); -+ -+ return 0; -+} -+ -+/* Enqueue frame for transmittion (padding, crc, etc) */ -+static int nokia_enqueue(struct hci_uart *hu, struct sk_buff *skb) -+{ -+ struct nokia_bt_dev *btdev = hu->priv; -+ int err; -+ -+ /* Prepend skb with frame type */ -+ memcpy(skb_push(skb, 1), &bt_cb(skb)->pkt_type, 1); -+ -+ /* Packets must be word aligned */ -+ if (skb->len % 2) { -+ err = skb_pad(skb, 1); -+ if (err) -+ return err; -+ *skb_put(skb, 1) = 0x00; -+ } -+ -+ skb_queue_tail(&btdev->txq, skb); -+ -+ return 0; -+} -+ -+static int nokia_recv_negotiation_packet(struct hci_dev *hdev, -+ struct sk_buff *skb) -+{ -+ struct hci_uart *hu = hci_get_drvdata(hdev); -+ struct nokia_bt_dev *btdev = hu->priv; -+ struct device *dev = &btdev->serdev->dev; -+ struct hci_nokia_neg_hdr *hdr; -+ struct hci_nokia_neg_evt *evt; -+ int ret = 0; -+ -+ hdr = (struct hci_nokia_neg_hdr *)skb->data; -+ if (hdr->dlen != sizeof(*evt)) { -+ btdev->init_error = -EIO; -+ ret = -EIO; -+ goto finish_neg; -+ } -+ -+ evt = (struct hci_nokia_neg_evt *)skb_pull(skb, sizeof(*hdr)); -+ -+ if (evt->ack != NOKIA_NEG_ACK) { -+ dev_err(dev, "Negotiation received: wrong reply"); -+ btdev->init_error = -EINVAL; -+ ret = -EINVAL; -+ goto finish_neg; -+ } -+ -+ btdev->man_id = evt->man_id; -+ btdev->ver_id = evt->ver_id; -+ -+ dev_dbg(dev, "Negotiation received: baud=%u:clk=%u:manu=%u:vers=%u", -+ evt->baud, evt->sys_clk, evt->man_id, evt->ver_id); -+ -+finish_neg: -+ complete(&btdev->init_completion); -+ kfree_skb(skb); -+ return ret; -+} -+ -+static int nokia_recv_alive_packet(struct hci_dev *hdev, struct sk_buff *skb) -+{ -+ struct hci_uart *hu = hci_get_drvdata(hdev); -+ struct nokia_bt_dev *btdev = hu->priv; -+ struct device *dev = &btdev->serdev->dev; -+ struct hci_nokia_alive_hdr *hdr; -+ struct hci_nokia_alive_pkt *pkt; -+ int ret = 0; -+ -+ hdr = (struct hci_nokia_alive_hdr *)skb->data; -+ if (hdr->dlen != sizeof(*pkt)) { -+ dev_err(dev, "Corrupted alive message"); -+ btdev->init_error = -EIO; -+ ret = -EIO; -+ goto finish_alive; -+ } -+ -+ pkt = (struct hci_nokia_alive_pkt *)skb_pull(skb, sizeof(*hdr)); -+ -+ if (pkt->mid != NOKIA_ALIVE_RESP) { -+ dev_err(dev, "Alive received: invalid response: 0x%02x!", -+ pkt->mid); -+ btdev->init_error = -EINVAL; -+ ret = -EINVAL; -+ goto finish_alive; -+ } -+ -+ dev_dbg(dev, "Alive received"); -+ -+finish_alive: -+ complete(&btdev->init_completion); -+ kfree_skb(skb); -+ return ret; -+} -+ -+static int nokia_recv_radio(struct hci_dev *hdev, struct sk_buff *skb) -+{ -+ /* Packets received on the dedicated radio channel are -+ * HCI events and so feed them back into the core. -+ */ -+ hci_skb_pkt_type(skb) = HCI_EVENT_PKT; -+ return hci_recv_frame(hdev, skb); -+} -+ -+/* Recv data */ -+static const struct h4_recv_pkt nokia_recv_pkts[] = { -+ { H4_RECV_ACL, .recv = hci_recv_frame }, -+ { H4_RECV_SCO, .recv = hci_recv_frame }, -+ { H4_RECV_EVENT, .recv = hci_recv_frame }, -+ { NOKIA_RECV_ALIVE, .recv = nokia_recv_alive_packet }, -+ { NOKIA_RECV_NEG, .recv = nokia_recv_negotiation_packet }, -+ { NOKIA_RECV_RADIO, .recv = nokia_recv_radio }, -+}; -+ -+static int nokia_recv(struct hci_uart *hu, const void *data, int count) -+{ -+ struct nokia_bt_dev *btdev = hu->priv; -+ struct device *dev = &btdev->serdev->dev; -+ int err; -+ -+ if (!test_bit(HCI_UART_REGISTERED, &hu->flags)) -+ return -EUNATCH; -+ -+ btdev->rx_skb = h4_recv_buf(hu->hdev, btdev->rx_skb, data, count, -+ nokia_recv_pkts, ARRAY_SIZE(nokia_recv_pkts)); -+ if (IS_ERR(btdev->rx_skb)) { -+ err = PTR_ERR(btdev->rx_skb); -+ dev_err(dev, "Frame reassembly failed (%d)", err); -+ btdev->rx_skb = NULL; -+ return err; -+ } -+ -+ return count; -+} -+ -+static struct sk_buff *nokia_dequeue(struct hci_uart *hu) -+{ -+ struct nokia_bt_dev *btdev = hu->priv; -+ struct device *dev = &btdev->serdev->dev; -+ struct sk_buff *result = skb_dequeue(&btdev->txq); -+ -+ if (!btdev->initialized) -+ return result; -+ -+ if (btdev->tx_enabled == !!result) -+ return result; -+ -+ if (result) { -+ pm_runtime_get_sync(dev); -+ gpiod_set_value_cansleep(btdev->wakeup_bt, 1); -+ } else { -+ serdev_device_wait_until_sent(btdev->serdev, 0); -+ gpiod_set_value_cansleep(btdev->wakeup_bt, 0); -+ pm_runtime_put(dev); -+ } -+ -+ btdev->tx_enabled = !!result; -+ -+ return result; -+} -+ -+static const struct hci_uart_proto nokia_proto = { -+ .id = HCI_UART_NOKIA, -+ .name = "Nokia", -+ .open = nokia_open, -+ .close = nokia_close, -+ .recv = nokia_recv, -+ .enqueue = nokia_enqueue, -+ .dequeue = nokia_dequeue, -+ .flush = nokia_flush, -+ .setup = nokia_setup, -+ .manufacturer = 1, -+}; -+ -+static int nokia_bluetooth_serdev_probe(struct serdev_device *serdev) -+{ -+ struct device *dev = &serdev->dev; -+ struct nokia_bt_dev *btdev; -+ struct clk *sysclk; -+ int err = 0; -+ -+ btdev = devm_kzalloc(dev, sizeof(*btdev), GFP_KERNEL); -+ if (!btdev) -+ return -ENOMEM; -+ -+ btdev->hu.serdev = btdev->serdev = serdev; -+ serdev_device_set_drvdata(serdev, btdev); -+ -+ btdev->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); -+ if (IS_ERR(btdev->reset)) { -+ err = PTR_ERR(btdev->reset); -+ dev_err(dev, "could not get reset gpio: %d", err); -+ return err; -+ } -+ -+ btdev->wakeup_host = devm_gpiod_get(dev, "host-wakeup", GPIOD_IN); -+ if (IS_ERR(btdev->wakeup_host)) { -+ err = PTR_ERR(btdev->wakeup_host); -+ dev_err(dev, "could not get host wakeup gpio: %d", err); -+ return err; -+ } -+ -+ btdev->wake_irq = gpiod_to_irq(btdev->wakeup_host); -+ -+ err = devm_request_threaded_irq(dev, btdev->wake_irq, NULL, -+ wakeup_handler, -+ IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING | IRQF_ONESHOT, -+ "wakeup", btdev); -+ if (err) { -+ dev_err(dev, "could request wakeup irq: %d", err); -+ return err; -+ } -+ -+ btdev->wakeup_bt = devm_gpiod_get(dev, "bluetooth-wakeup", -+ GPIOD_OUT_LOW); -+ if (IS_ERR(btdev->wakeup_bt)) { -+ err = PTR_ERR(btdev->wakeup_bt); -+ dev_err(dev, "could not get BT wakeup gpio: %d", err); -+ return err; -+ } -+ -+ sysclk = devm_clk_get(dev, "sysclk"); -+ if (IS_ERR(sysclk)) { -+ err = PTR_ERR(sysclk); -+ dev_err(dev, "could not get sysclk: %d", err); -+ return err; -+ } -+ -+ clk_prepare_enable(sysclk); -+ btdev->sysclk_speed = clk_get_rate(sysclk); -+ clk_disable_unprepare(sysclk); -+ -+ skb_queue_head_init(&btdev->txq); -+ -+ btdev->hu.priv = btdev; -+ btdev->hu.alignment = 2; /* Nokia H4+ is word aligned */ -+ -+ err = hci_uart_register_device(&btdev->hu, &nokia_proto); -+ if (err) { -+ dev_err(dev, "could not register bluetooth uart: %d", err); -+ return err; -+ } -+ -+ return 0; -+} -+ -+static void nokia_bluetooth_serdev_remove(struct serdev_device *serdev) -+{ -+ struct nokia_bt_dev *btdev = serdev_device_get_drvdata(serdev); -+ struct hci_uart *hu = &btdev->hu; -+ struct hci_dev *hdev = hu->hdev; -+ -+ cancel_work_sync(&hu->write_work); -+ -+ hci_unregister_dev(hdev); -+ hci_free_dev(hdev); -+ hu->proto->close(hu); -+ -+ pm_runtime_disable(&btdev->serdev->dev); -+} -+ -+static int nokia_bluetooth_runtime_suspend(struct device *dev) -+{ -+ struct serdev_device *serdev = to_serdev_device(dev); -+ -+ nokia_flow_control(serdev, false); -+ return 0; -+} -+ -+static int nokia_bluetooth_runtime_resume(struct device *dev) -+{ -+ struct serdev_device *serdev = to_serdev_device(dev); -+ -+ nokia_flow_control(serdev, true); -+ return 0; -+} -+ -+static const struct dev_pm_ops nokia_bluetooth_pm_ops = { -+ SET_RUNTIME_PM_OPS(nokia_bluetooth_runtime_suspend, -+ nokia_bluetooth_runtime_resume, -+ NULL) -+}; -+ -+#ifdef CONFIG_OF -+static const struct of_device_id nokia_bluetooth_of_match[] = { -+ { .compatible = "nokia,h4p-bluetooth", }, -+ {}, -+}; -+MODULE_DEVICE_TABLE(of, nokia_bluetooth_of_match); -+#endif -+ -+static struct serdev_device_driver nokia_bluetooth_serdev_driver = { -+ .probe = nokia_bluetooth_serdev_probe, -+ .remove = nokia_bluetooth_serdev_remove, -+ .driver = { -+ .name = "nokia-bluetooth", -+ .pm = &nokia_bluetooth_pm_ops, -+ .of_match_table = of_match_ptr(nokia_bluetooth_of_match), -+ }, -+}; -+ -+module_serdev_device_driver(nokia_bluetooth_serdev_driver); --- -2.12.2 - -From 5593378d18f2487bdce87a687b4263c9626510cb Mon Sep 17 00:00:00 2001 -From: Rob Herring <robh@kernel.org> -Date: Wed, 5 Apr 2017 12:10:13 -0500 -Subject: [PATCH 10/13] dt-bindings: net: Add TI WiLink shared transport - binding - -Add serial slave device binding for the TI WiLink series of Bluetooth/FM/GPS -devices. - -Signed-off-by: Rob Herring <robh@kernel.org> -Cc: Mark Rutland <mark.rutland@arm.com> -Cc: netdev@vger.kernel.org -Cc: devicetree@vger.kernel.org ---- - .../devicetree/bindings/net/ti,wilink-st.txt | 35 ++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - create mode 100644 Documentation/devicetree/bindings/net/ti,wilink-st.txt - -diff --git a/Documentation/devicetree/bindings/net/ti,wilink-st.txt b/Documentation/devicetree/bindings/net/ti,wilink-st.txt -new file mode 100644 -index 000000000000..cbad73a84ac4 ---- /dev/null -+++ b/Documentation/devicetree/bindings/net/ti,wilink-st.txt -@@ -0,0 +1,35 @@ -+TI WiLink 7/8 (wl12xx/wl18xx) Shared Transport BT/FM/GPS devices -+ -+TI WiLink devices have a UART interface for providing Bluetooth, FM radio, -+and GPS over what's called "shared transport". The shared transport is -+standard BT HCI protocol with additional channels for the other functions. -+ -+These devices also have a separate WiFi interface as described in -+wireless/ti,wlcore.txt. -+ -+This bindings follows the UART slave device binding in -+../serial/slave-device.txt. -+ -+Required properties: -+ - compatible: should be one of the following: -+ "ti,wl1271-st" -+ "ti,wl1273-st" -+ "ti,wl1831-st" -+ "ti,wl1835-st" -+ "ti,wl1837-st" -+ -+Optional properties: -+ - enable-gpios : GPIO signal controlling enabling of BT. Active high. -+ - vio-supply : Vio input supply (1.8V) -+ - vbat-supply : Vbat input supply (2.9-4.8V) -+ -+Example: -+ -+&serial0 { -+ compatible = "ns16550a"; -+ ... -+ bluetooth { -+ compatible = "ti,wl1835-st"; -+ enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; -+ }; -+}; --- -2.12.2 - -From d22a4564d1b8e1eeb7c442171cedcc3ae809cfff Mon Sep 17 00:00:00 2001 -From: Rob Herring <robh@kernel.org> -Date: Tue, 17 Jan 2017 09:58:10 -0600 -Subject: [PATCH 11/13] bluetooth: hci_uart: remove unused hci_uart_init_tty - -There are no users of hci_uart_init_tty, so remove it. - -Signed-off-by: Rob Herring <robh@kernel.org> -Cc: Marcel Holtmann <marcel@holtmann.org> -Cc: Gustavo Padovan <gustavo@padovan.org> -Cc: Johan Hedberg <johan.hedberg@gmail.com> -Cc: linux-bluetooth@vger.kernel.org ---- - drivers/bluetooth/hci_ldisc.c | 19 ------------------- - drivers/bluetooth/hci_uart.h | 1 - - 2 files changed, 20 deletions(-) - -diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c -index 17bcbc13623f..cec4438ede01 100644 ---- a/drivers/bluetooth/hci_ldisc.c -+++ b/drivers/bluetooth/hci_ldisc.c -@@ -319,25 +319,6 @@ void hci_uart_set_speeds(struct hci_uart *hu, unsigned int init_speed, - hu->oper_speed = oper_speed; - } - --void hci_uart_init_tty(struct hci_uart *hu) --{ -- struct tty_struct *tty = hu->tty; -- struct ktermios ktermios; -- -- /* Bring the UART into a known 8 bits no parity hw fc state */ -- ktermios = tty->termios; -- ktermios.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP | -- INLCR | IGNCR | ICRNL | IXON); -- ktermios.c_oflag &= ~OPOST; -- ktermios.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN); -- ktermios.c_cflag &= ~(CSIZE | PARENB); -- ktermios.c_cflag |= CS8; -- ktermios.c_cflag |= CRTSCTS; -- -- /* tty_set_termios() return not checked as it is always 0 */ -- tty_set_termios(tty, &ktermios); --} -- - void hci_uart_set_baudrate(struct hci_uart *hu, unsigned int speed) - { - struct tty_struct *tty = hu->tty; -diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h -index 1b41c661bbb8..2b05e557fad0 100644 ---- a/drivers/bluetooth/hci_uart.h -+++ b/drivers/bluetooth/hci_uart.h -@@ -114,7 +114,6 @@ int hci_uart_register_device(struct hci_uart *hu, const struct hci_uart_proto *p - - int hci_uart_tx_wakeup(struct hci_uart *hu); - int hci_uart_init_ready(struct hci_uart *hu); --void hci_uart_init_tty(struct hci_uart *hu); - void hci_uart_set_baudrate(struct hci_uart *hu, unsigned int speed); - void hci_uart_set_flow_control(struct hci_uart *hu, bool enable); - void hci_uart_set_speeds(struct hci_uart *hu, unsigned int init_speed, --- -2.12.2 - -From 4664fe8eb293288c1fba2ebc50ac50131f6125cf Mon Sep 17 00:00:00 2001 -From: Rob Herring <robh@kernel.org> -Date: Wed, 18 Jan 2017 11:41:25 -0600 -Subject: [PATCH 12/13] bluetooth: hci_uart: add LL protocol serdev driver - support - -Turns out that the LL protocol and the TI-ST are the same thing AFAICT. -The TI-ST adds firmware loading, GPIO control, and shared access for -NFC, FM radio, etc. For now, we're only implementing what is needed for -BT. This mirrors other drivers like BCM and Intel, but uses the new -serdev bus. - -The firmware loading is greatly simplified by using existing -infrastructure to send commands. It may be a bit slower than the -original code using synchronous functions, but the real bottleneck is -likely doing firmware load at 115.2kbps. - -Signed-off-by: Rob Herring <robh@kernel.org> -Cc: Marcel Holtmann <marcel@holtmann.org> -Cc: Gustavo Padovan <gustavo@padovan.org> -Cc: Johan Hedberg <johan.hedberg@gmail.com> -Cc: linux-bluetooth@vger.kernel.org ---- - drivers/bluetooth/hci_ll.c | 261 ++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 260 insertions(+), 1 deletion(-) - -diff --git a/drivers/bluetooth/hci_ll.c b/drivers/bluetooth/hci_ll.c -index 02692fe30279..9b2054f5502d 100644 ---- a/drivers/bluetooth/hci_ll.c -+++ b/drivers/bluetooth/hci_ll.c -@@ -34,20 +34,23 @@ - #include <linux/sched.h> - #include <linux/types.h> - #include <linux/fcntl.h> -+#include <linux/firmware.h> - #include <linux/interrupt.h> - #include <linux/ptrace.h> - #include <linux/poll.h> - - #include <linux/slab.h> --#include <linux/tty.h> - #include <linux/errno.h> - #include <linux/string.h> - #include <linux/signal.h> - #include <linux/ioctl.h> -+#include <linux/serdev.h> - #include <linux/skbuff.h> -+#include <linux/ti_wilink_st.h> - - #include <net/bluetooth/bluetooth.h> - #include <net/bluetooth/hci_core.h> -+#include <linux/gpio/consumer.h> - - #include "hci_uart.h" - -@@ -76,6 +79,12 @@ struct hcill_cmd { - u8 cmd; - } __packed; - -+struct ll_device { -+ struct hci_uart hu; -+ struct serdev_device *serdev; -+ struct gpio_desc *enable_gpio; -+}; -+ - struct ll_struct { - unsigned long rx_state; - unsigned long rx_count; -@@ -136,6 +145,9 @@ static int ll_open(struct hci_uart *hu) - - hu->priv = ll; - -+ if (hu->serdev) -+ serdev_device_open(hu->serdev); -+ - return 0; - } - -@@ -164,6 +176,13 @@ static int ll_close(struct hci_uart *hu) - - kfree_skb(ll->rx_skb); - -+ if (hu->serdev) { -+ struct ll_device *lldev = serdev_device_get_drvdata(hu->serdev); -+ gpiod_set_value_cansleep(lldev->enable_gpio, 0); -+ -+ serdev_device_close(hu->serdev); -+ } -+ - hu->priv = NULL; - - kfree(ll); -@@ -505,9 +524,245 @@ static struct sk_buff *ll_dequeue(struct hci_uart *hu) - return skb_dequeue(&ll->txq); - } - -+#ifdef CONFIG_SERIAL_DEV_BUS -+static int read_local_version(struct hci_dev *hdev) -+{ -+ int err = 0; -+ unsigned short version = 0; -+ struct sk_buff *skb; -+ struct hci_rp_read_local_version *ver; -+ -+ skb = __hci_cmd_sync(hdev, HCI_OP_READ_LOCAL_VERSION, 0, NULL, HCI_INIT_TIMEOUT); -+ if (IS_ERR(skb)) { -+ bt_dev_err(hdev, "Reading TI version information failed (%ld)", -+ PTR_ERR(skb)); -+ err = PTR_ERR(skb); -+ goto out; -+ } -+ if (skb->len != sizeof(*ver)) { -+ err = -EILSEQ; -+ goto out; -+ } -+ -+ ver = (struct hci_rp_read_local_version *)skb->data; -+ if (le16_to_cpu(ver->manufacturer) != 13) { -+ err = -ENODEV; -+ goto out; -+ } -+ -+ version = le16_to_cpu(ver->lmp_subver); -+ -+out: -+ if (err) bt_dev_err(hdev, "Failed to read TI version info: %d", err); -+ kfree_skb(skb); -+ return err ? err : version; -+} -+ -+/** -+ * download_firmware - -+ * internal function which parses through the .bts firmware -+ * script file intreprets SEND, DELAY actions only as of now -+ */ -+static int download_firmware(struct ll_device *lldev) -+{ -+ unsigned short chip, min_ver, maj_ver; -+ int version, err, len; -+ unsigned char *ptr, *action_ptr; -+ unsigned char bts_scr_name[40]; /* 40 char long bts scr name? */ -+ const struct firmware *fw; -+ struct sk_buff *skb; -+ struct hci_command *cmd; -+ -+ version = read_local_version(lldev->hu.hdev); -+ if (version < 0) -+ return version; -+ -+ chip = (version & 0x7C00) >> 10; -+ min_ver = (version & 0x007F); -+ maj_ver = (version & 0x0380) >> 7; -+ if (version & 0x8000) -+ maj_ver |= 0x0008; -+ -+ snprintf(bts_scr_name, sizeof(bts_scr_name), -+ "ti-connectivity/TIInit_%d.%d.%d.bts", -+ chip, maj_ver, min_ver); -+ -+ err = request_firmware(&fw, bts_scr_name, &lldev->serdev->dev); -+ if (err || !fw->data || !fw->size) { -+ bt_dev_err(lldev->hu.hdev, "request_firmware failed(errno %d) for %s", -+ err, bts_scr_name); -+ return -EINVAL; -+ } -+ ptr = (void *)fw->data; -+ len = fw->size; -+ /* bts_header to remove out magic number and -+ * version -+ */ -+ ptr += sizeof(struct bts_header); -+ len -= sizeof(struct bts_header); -+ -+ while (len > 0 && ptr) { -+ bt_dev_dbg(lldev->hu.hdev, " action size %d, type %d ", -+ ((struct bts_action *)ptr)->size, -+ ((struct bts_action *)ptr)->type); -+ -+ action_ptr = &(((struct bts_action *)ptr)->data[0]); -+ -+ switch (((struct bts_action *)ptr)->type) { -+ case ACTION_SEND_COMMAND: /* action send */ -+ bt_dev_dbg(lldev->hu.hdev, "S"); -+ cmd = (struct hci_command *)action_ptr; -+ if (cmd->opcode == 0xff36) { -+ /* ignore remote change -+ * baud rate HCI VS command */ -+ bt_dev_warn(lldev->hu.hdev, "change remote baud rate command in firmware"); -+ break; -+ } -+ if (cmd->prefix != 1) -+ bt_dev_dbg(lldev->hu.hdev, "command type %d\n", cmd->prefix); -+ -+ skb = __hci_cmd_sync(lldev->hu.hdev, cmd->opcode, cmd->plen, &cmd->speed, HCI_INIT_TIMEOUT); -+ if (IS_ERR(skb)) { -+ bt_dev_err(lldev->hu.hdev, "send command failed\n"); -+ goto out_rel_fw; -+ } -+ kfree_skb(skb); -+ break; -+ case ACTION_WAIT_EVENT: /* wait */ -+ /* no need to wait as command was synchronous */ -+ bt_dev_dbg(lldev->hu.hdev, "W"); -+ break; -+ case ACTION_DELAY: /* sleep */ -+ bt_dev_info(lldev->hu.hdev, "sleep command in scr"); -+ mdelay(((struct bts_action_delay *)action_ptr)->msec); -+ break; -+ } -+ len -= (sizeof(struct bts_action) + -+ ((struct bts_action *)ptr)->size); -+ ptr += sizeof(struct bts_action) + -+ ((struct bts_action *)ptr)->size; -+ } -+ -+out_rel_fw: -+ /* fw download complete */ -+ release_firmware(fw); -+ return err; -+} -+ -+static int ll_setup(struct hci_uart *hu) -+{ -+ int err, retry = 3; -+ struct ll_device *lldev; -+ struct serdev_device *serdev = hu->serdev; -+ u32 speed; -+ -+ if (!serdev) -+ return 0; -+ -+ lldev = serdev_device_get_drvdata(serdev); -+ -+ serdev_device_set_flow_control(serdev, true); -+ -+ do { -+ /* Configure BT_EN to HIGH state */ -+ gpiod_set_value_cansleep(lldev->enable_gpio, 0); -+ msleep(5); -+ gpiod_set_value_cansleep(lldev->enable_gpio, 1); -+ msleep(100); -+ -+ err = download_firmware(lldev); -+ if (!err) -+ break; -+ -+ /* Toggle BT_EN and retry */ -+ bt_dev_err(hu->hdev, "download firmware failed, retrying..."); -+ } while (retry--); -+ -+ if (err) -+ return err; -+ -+ /* Operational speed if any */ -+ if (hu->oper_speed) -+ speed = hu->oper_speed; -+ else if (hu->proto->oper_speed) -+ speed = hu->proto->oper_speed; -+ else -+ speed = 0; -+ -+ if (speed) { -+ struct sk_buff *skb = __hci_cmd_sync(hu->hdev, 0xff36, sizeof(speed), &speed, HCI_INIT_TIMEOUT); -+ if (!IS_ERR(skb)) { -+ kfree_skb(skb); -+ serdev_device_set_baudrate(serdev, speed); -+ } -+ } -+ -+ return 0; -+} -+ -+static const struct hci_uart_proto llp; -+ -+static int hci_ti_probe(struct serdev_device *serdev) -+{ -+ struct hci_uart *hu; -+ struct ll_device *lldev; -+ u32 max_speed = 3000000; -+ -+ lldev = devm_kzalloc(&serdev->dev, sizeof(struct ll_device), GFP_KERNEL); -+ if (!lldev) -+ return -ENOMEM; -+ hu = &lldev->hu; -+ -+ serdev_device_set_drvdata(serdev, lldev); -+ lldev->serdev = hu->serdev = serdev; -+ -+ lldev->enable_gpio = devm_gpiod_get_optional(&serdev->dev, "enable", GPIOD_OUT_LOW); -+ if (IS_ERR(lldev->enable_gpio)) -+ return PTR_ERR(lldev->enable_gpio); -+ -+ of_property_read_u32(serdev->dev.of_node, "max-speed", &max_speed); -+ hci_uart_set_speeds(hu, 115200, max_speed); -+ -+ return hci_uart_register_device(hu, &llp); -+} -+ -+static void hci_ti_remove(struct serdev_device *serdev) -+{ -+ struct ll_device *lldev = serdev_device_get_drvdata(serdev); -+ struct hci_uart *hu = &lldev->hu; -+ struct hci_dev *hdev = hu->hdev; -+ -+ cancel_work_sync(&hu->write_work); -+ -+ hci_unregister_dev(hdev); -+ hci_free_dev(hdev); -+ hu->proto->close(hu); -+} -+ -+static const struct of_device_id hci_ti_of_match[] = { -+ { .compatible = "ti,wl1831-st" }, -+ { .compatible = "ti,wl1835-st" }, -+ { .compatible = "ti,wl1837-st" }, -+ {}, -+}; -+MODULE_DEVICE_TABLE(of, hci_ti_of_match); -+ -+static struct serdev_device_driver hci_ti_drv = { -+ .driver = { -+ .name = "hci-ti", -+ .of_match_table = of_match_ptr(hci_ti_of_match), -+ }, -+ .probe = hci_ti_probe, -+ .remove = hci_ti_remove, -+}; -+#else -+#define ll_setup NULL -+#endif -+ - static const struct hci_uart_proto llp = { - .id = HCI_UART_LL, - .name = "LL", -+ .setup = ll_setup, - .open = ll_open, - .close = ll_close, - .recv = ll_recv, -@@ -518,10 +773,14 @@ static const struct hci_uart_proto llp = { - - int __init ll_init(void) - { -+ serdev_device_driver_register(&hci_ti_drv); -+ - return hci_uart_register_proto(&llp); - } - - int __exit ll_deinit(void) - { -+ serdev_device_driver_unregister(&hci_ti_drv); -+ - return hci_uart_unregister_proto(&llp); - } --- -2.12.2 - -From 33bbcaa7b1a4639a5e149e725a674324e7487b17 Mon Sep 17 00:00:00 2001 -From: Rob Herring <robh@kernel.org> -Date: Mon, 21 Nov 2016 15:21:56 -0600 -Subject: [PATCH 13/13] arm64: dts: hikey: add WL1835 Bluetooth device node - -This adds the serial slave device for the WL1835 Bluetooth interface. - -Signed-off-by: Rob Herring <robh@kernel.org> -Cc: Wei Xu <xuwei5@hisilicon.com> -Cc: Mark Rutland <mark.rutland@arm.com> ---- - arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -index dba3c131c62c..9b4ba7169210 100644 ---- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts -@@ -98,6 +98,11 @@ - assigned-clocks = <&sys_ctrl HI6220_UART1_SRC>; - assigned-clock-rates = <150000000>; - status = "ok"; -+ -+ bluetooth { -+ compatible = "ti,wl1835-st"; -+ enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; -+ }; - }; - - uart2: uart@f7112000 { --- -2.12.2 - diff --git a/vc4-fix-vblank-cursor-update-issue.patch b/vc4-fix-vblank-cursor-update-issue.patch deleted file mode 100644 index 8537d67ca..000000000 --- a/vc4-fix-vblank-cursor-update-issue.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 6d24c1c5918907ab78a5729b78c0d165deb3cc2b Mon Sep 17 00:00:00 2001 -From: Michael Zoran <mzoran@crowfest.net> -Date: Thu, 23 Feb 2017 17:54:31 -0800 -Subject: drm/vc4: Don't wait for vblank when updating the cursor - -Commonly used desktop environments such as xfce4 and gnome -on debian sid can flood the graphics drivers with cursor -updates. Because the current implementation is waiting -for a vblank between cursor updates, this will cause the -display to hang for a long time since a typical refresh -rate is only 60Hz. - -This is unnecessary and unexpected by user mode software, -so simply swap out the cursor frame buffer without waiting. - -Signed-off-by: Michael Zoran <mzoran@crowfest.net> -Reviewed-by: Eric Anholt <eric@anholt.net> -Link: http://patchwork.freedesktop.org/patch/msgid/20170224015431.24583-1-mzoran@crowfest.net - -diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index f7a229d..110224c 100644 ---- a/drivers/gpu/drm/vc4/vc4_plane.c -+++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -20,6 +20,7 @@ - - #include "vc4_drv.h" - #include "vc4_regs.h" -+#include "drm_atomic.h" - #include "drm_atomic_helper.h" - #include "drm_fb_cma_helper.h" - #include "drm_plane_helper.h" -@@ -769,12 +770,6 @@ vc4_update_plane(struct drm_plane *plane, - if (!plane_state) - goto out; - -- /* If we're changing the cursor contents, do that in the -- * normal vblank-synced atomic path. -- */ -- if (fb != plane_state->fb) -- goto out; -- - /* No configuring new scaling in the fast path. */ - if (crtc_w != plane_state->crtc_w || - crtc_h != plane_state->crtc_h || -@@ -783,6 +778,11 @@ vc4_update_plane(struct drm_plane *plane, - goto out; - } - -+ if (fb != plane_state->fb) { -+ drm_atomic_set_fb_for_plane(plane->state, fb); -+ vc4_plane_async_set_fb(plane, fb); -+ } -+ - /* Set the cursor's position on the screen. This is the - * expected change from the drm_mode_cursor_universal() - * helper. --- -cgit v0.10.2 - diff --git a/vc4-tformat-fixes.patch b/vc4-tformat-fixes.patch deleted file mode 100644 index 4941fb92f..000000000 --- a/vc4-tformat-fixes.patch +++ /dev/null @@ -1,428 +0,0 @@ -From ac4e55169649132123c4f2f39e0b02b5c849bae8 Mon Sep 17 00:00:00 2001 -From: Peter Robinson <pbrobinson@gmail.com> -Date: Mon, 19 Jun 2017 13:20:48 +0100 -Subject: [PATCH] drm/vc4: Add T-format scanout support - -The T tiling format is what V3D uses for textures, with no raster -support at all until later revisions of the hardware (and always at a -large 3D performance penalty). If we can't scan out V3D's format, -then we often need to do a relayout at some stage of the pipeline, -either right before texturing from the scanout buffer (common in X11 -without a compositor) or between a tiled screen buffer right before -scanout (an option I've considered in trying to resolve this -inconsistency, but which means needing to use the dirty fb ioctl and -having some update policy). - -T-format scanout lets us avoid either of those shadow copies, for a -massive, obvious performance improvement to X11 window dragging -without a compositor. Unfortunately, enabling a compositor to work -around the discrepancy has turned out to be too costly in memory -consumption for the Raspbian distribution. - -Because the HVS operates a scanline at a time, compositing from T does -increase the memory bandwidth cost of scanout. On my 1920x1080@32bpp -display on a RPi3, we go from about 15% of system memory bandwidth -with linear to about 20% with tiled. However, for X11 this still ends -up being a huge performance win in active usage. - -This patch doesn't yet handle src_x/src_y offsetting within the tiled -buffer. However, we fail to do so for untiled buffers already. - -drm/vc4: Add get/set tiling ioctls. - -This allows mesa to set the tiling format for a BO and have that -tiling format be respected by mesa on the other side of an -import/export (and by vc4 scanout in the kernel), without defining a -protocol to pass the tiling through userspace. - -Signed-off-by: Eric Anholt <eric@anholt.net> -Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com> -Signed-off-by: Peter Robinson <pbrobinson@gmail.com> ---- - drivers/gpu/drm/vc4/vc4_bo.c | 83 +++++++++++++++++++++++++++++++++++++++++ - drivers/gpu/drm/vc4/vc4_drv.c | 2 + - drivers/gpu/drm/vc4/vc4_drv.h | 6 +++ - drivers/gpu/drm/vc4/vc4_kms.c | 41 +++++++++++++++++++- - drivers/gpu/drm/vc4/vc4_plane.c | 31 +++++++++++++-- - drivers/gpu/drm/vc4/vc4_regs.h | 19 ++++++++++ - include/uapi/drm/drm_fourcc.h | 22 +++++++++++ - include/uapi/drm/vc4_drm.h | 16 ++++++++ - 8 files changed, 215 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c -index 3f6704cf6608..0918346c248e 100644 ---- a/drivers/gpu/drm/vc4/vc4_bo.c -+++ b/drivers/gpu/drm/vc4/vc4_bo.c -@@ -325,6 +325,7 @@ void vc4_free_object(struct drm_gem_object *gem_bo) - bo->validated_shader = NULL; - } - -+ bo->t_format = false; - bo->free_time = jiffies; - list_add(&bo->size_head, cache_list); - list_add(&bo->unref_head, &vc4->bo_cache.time_list); -@@ -525,6 +526,88 @@ vc4_create_shader_bo_ioctl(struct drm_device *dev, void *data, - return ret; - } - -+/** -+ * vc4_set_tiling_ioctl() - Sets the tiling modifier for a BO. -+ * @dev: DRM device -+ * @data: ioctl argument -+ * @file_priv: DRM file for this fd -+ * -+ * The tiling state of the BO decides the default modifier of an fb if -+ * no specific modifier was set by userspace, and the return value of -+ * vc4_get_tiling_ioctl() (so that userspace can treat a BO it -+ * received from dmabuf as the same tiling format as the producer -+ * used). -+ */ -+int vc4_set_tiling_ioctl(struct drm_device *dev, void *data, -+ struct drm_file *file_priv) -+{ -+ struct drm_vc4_set_tiling *args = data; -+ struct drm_gem_object *gem_obj; -+ struct vc4_bo *bo; -+ bool t_format; -+ -+ if (args->flags != 0) -+ return -EINVAL; -+ -+ switch (args->modifier) { -+ case DRM_FORMAT_MOD_NONE: -+ t_format = false; -+ break; -+ case DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED: -+ t_format = true; -+ break; -+ default: -+ return -EINVAL; -+ } -+ -+ gem_obj = drm_gem_object_lookup(file_priv, args->handle); -+ if (!gem_obj) { -+ DRM_ERROR("Failed to look up GEM BO %d\n", args->handle); -+ return -ENOENT; -+ } -+ bo = to_vc4_bo(gem_obj); -+ bo->t_format = t_format; -+ -+ drm_gem_object_unreference_unlocked(gem_obj); -+ -+ return 0; -+} -+ -+/** -+ * vc4_get_tiling_ioctl() - Gets the tiling modifier for a BO. -+ * @dev: DRM device -+ * @data: ioctl argument -+ * @file_priv: DRM file for this fd -+ * -+ * Returns the tiling modifier for a BO as set by vc4_set_tiling_ioctl(). -+ */ -+int vc4_get_tiling_ioctl(struct drm_device *dev, void *data, -+ struct drm_file *file_priv) -+{ -+ struct drm_vc4_get_tiling *args = data; -+ struct drm_gem_object *gem_obj; -+ struct vc4_bo *bo; -+ -+ if (args->flags != 0 || args->modifier != 0) -+ return -EINVAL; -+ -+ gem_obj = drm_gem_object_lookup(file_priv, args->handle); -+ if (!gem_obj) { -+ DRM_ERROR("Failed to look up GEM BO %d\n", args->handle); -+ return -ENOENT; -+ } -+ bo = to_vc4_bo(gem_obj); -+ -+ if (bo->t_format) -+ args->modifier = DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED; -+ else -+ args->modifier = DRM_FORMAT_MOD_NONE; -+ -+ drm_gem_object_unreference_unlocked(gem_obj); -+ -+ return 0; -+} -+ - void vc4_bo_cache_init(struct drm_device *dev) - { - struct vc4_dev *vc4 = to_vc4_dev(dev); -diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c -index a459745e96f7..2edf2d4c5156 100644 ---- a/drivers/gpu/drm/vc4/vc4_drv.c -+++ b/drivers/gpu/drm/vc4/vc4_drv.c -@@ -122,6 +122,8 @@ static const struct drm_ioctl_desc vc4_drm_ioctls[] = { - DRM_IOCTL_DEF_DRV(VC4_GET_HANG_STATE, vc4_get_hang_state_ioctl, - DRM_ROOT_ONLY), - DRM_IOCTL_DEF_DRV(VC4_GET_PARAM, vc4_get_param_ioctl, DRM_RENDER_ALLOW), -+ DRM_IOCTL_DEF_DRV(VC4_SET_TILING, vc4_set_tiling_ioctl, DRM_RENDER_ALLOW), -+ DRM_IOCTL_DEF_DRV(VC4_GET_TILING, vc4_get_tiling_ioctl, DRM_RENDER_ALLOW), - }; - - static struct drm_driver vc4_drm_driver = { -diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h -index 0e59f3ee1b83..64f0cb1f889e 100644 ---- a/drivers/gpu/drm/vc4/vc4_drv.h -+++ b/drivers/gpu/drm/vc4/vc4_drv.h -@@ -135,6 +135,8 @@ struct vc4_bo { - */ - uint64_t write_seqno; - -+ bool t_format; -+ - /* List entry for the BO's position in either - * vc4_exec_info->unref_list or vc4_dev->bo_cache.time_list - */ -@@ -433,6 +435,10 @@ int vc4_create_shader_bo_ioctl(struct drm_device *dev, void *data, - struct drm_file *file_priv); - int vc4_mmap_bo_ioctl(struct drm_device *dev, void *data, - struct drm_file *file_priv); -+int vc4_set_tiling_ioctl(struct drm_device *dev, void *data, -+ struct drm_file *file_priv); -+int vc4_get_tiling_ioctl(struct drm_device *dev, void *data, -+ struct drm_file *file_priv); - int vc4_get_hang_state_ioctl(struct drm_device *dev, void *data, - struct drm_file *file_priv); - int vc4_mmap(struct file *filp, struct vm_area_struct *vma); -diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers/gpu/drm/vc4/vc4_kms.c -index ad7925a9e0ea..25be60016527 100644 ---- a/drivers/gpu/drm/vc4/vc4_kms.c -+++ b/drivers/gpu/drm/vc4/vc4_kms.c -@@ -202,11 +202,50 @@ static int vc4_atomic_commit(struct drm_device *dev, - return 0; - } - -+static struct drm_framebuffer *vc4_fb_create(struct drm_device *dev, -+ struct drm_file *file_priv, -+ const struct drm_mode_fb_cmd2 *mode_cmd) -+{ -+ struct drm_mode_fb_cmd2 mode_cmd_local; -+ -+ /* If the user didn't specify a modifier, use the -+ * vc4_set_tiling_ioctl() state for the BO. -+ */ -+ if (!(mode_cmd->flags & DRM_MODE_FB_MODIFIERS)) { -+ struct drm_gem_object *gem_obj; -+ struct vc4_bo *bo; -+ -+ gem_obj = drm_gem_object_lookup(file_priv, -+ mode_cmd->handles[0]); -+ if (!gem_obj) { -+ DRM_ERROR("Failed to look up GEM BO %d\n", -+ mode_cmd->handles[0]); -+ return ERR_PTR(-ENOENT); -+ } -+ bo = to_vc4_bo(gem_obj); -+ -+ mode_cmd_local = *mode_cmd; -+ -+ if (bo->t_format) { -+ mode_cmd_local.modifier[0] = -+ DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED; -+ } else { -+ mode_cmd_local.modifier[0] = DRM_FORMAT_MOD_NONE; -+ } -+ -+ drm_gem_object_unreference_unlocked(gem_obj); -+ -+ mode_cmd = &mode_cmd_local; -+ } -+ -+ return drm_fb_cma_create(dev, file_priv, mode_cmd); -+} -+ - static const struct drm_mode_config_funcs vc4_mode_funcs = { - .output_poll_changed = vc4_output_poll_changed, - .atomic_check = drm_atomic_helper_check, - .atomic_commit = vc4_atomic_commit, -- .fb_create = drm_fb_cma_create, -+ .fb_create = vc4_fb_create, - }; - - int vc4_kms_load(struct drm_device *dev) -diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index f7a229df572d..99f4d4b48015 100644 ---- a/drivers/gpu/drm/vc4/vc4_plane.c -+++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -498,8 +498,8 @@ static int vc4_plane_mode_set(struct drm_plane *plane, - u32 ctl0_offset = vc4_state->dlist_count; - const struct hvs_format *format = vc4_get_hvs_format(fb->format->format); - int num_planes = drm_format_num_planes(format->drm); -- u32 scl0, scl1; -- u32 lbm_size; -+ u32 scl0, scl1, pitch0; -+ u32 lbm_size, tiling; - unsigned long irqflags; - int ret, i; - -@@ -540,11 +540,31 @@ static int vc4_plane_mode_set(struct drm_plane *plane, - scl1 = vc4_get_scl_field(state, 0); - } - -+ switch (fb->modifier) { -+ case DRM_FORMAT_MOD_LINEAR: -+ tiling = SCALER_CTL0_TILING_LINEAR; -+ pitch0 = VC4_SET_FIELD(fb->pitches[0], SCALER_SRC_PITCH); -+ break; -+ case DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED: -+ tiling = SCALER_CTL0_TILING_256B_OR_T; -+ -+ pitch0 = (VC4_SET_FIELD(0, SCALER_PITCH0_TILE_Y_OFFSET), -+ VC4_SET_FIELD(0, SCALER_PITCH0_TILE_WIDTH_L), -+ VC4_SET_FIELD((vc4_state->src_w[0] + 31) >> 5, -+ SCALER_PITCH0_TILE_WIDTH_R)); -+ break; -+ default: -+ DRM_DEBUG_KMS("Unsupported FB tiling flag 0x%16llx", -+ (long long)fb->modifier); -+ return -EINVAL; -+ } -+ - /* Control word */ - vc4_dlist_write(vc4_state, - SCALER_CTL0_VALID | - (format->pixel_order << SCALER_CTL0_ORDER_SHIFT) | - (format->hvs << SCALER_CTL0_PIXEL_FORMAT_SHIFT) | -+ VC4_SET_FIELD(tiling, SCALER_CTL0_TILING) | - (vc4_state->is_unity ? SCALER_CTL0_UNITY : 0) | - VC4_SET_FIELD(scl0, SCALER_CTL0_SCL0) | - VC4_SET_FIELD(scl1, SCALER_CTL0_SCL1)); -@@ -598,8 +618,11 @@ static int vc4_plane_mode_set(struct drm_plane *plane, - for (i = 0; i < num_planes; i++) - vc4_dlist_write(vc4_state, 0xc0c0c0c0); - -- /* Pitch word 0/1/2 */ -- for (i = 0; i < num_planes; i++) { -+ /* Pitch word 0 */ -+ vc4_dlist_write(vc4_state, pitch0); -+ -+ /* Pitch word 1/2 */ -+ for (i = 1; i < num_planes; i++) { - vc4_dlist_write(vc4_state, - VC4_SET_FIELD(fb->pitches[i], SCALER_SRC_PITCH)); - } -diff --git a/drivers/gpu/drm/vc4/vc4_regs.h b/drivers/gpu/drm/vc4/vc4_regs.h -index 385405a2df05..362d8b7f8a5f 100644 ---- a/drivers/gpu/drm/vc4/vc4_regs.h -+++ b/drivers/gpu/drm/vc4/vc4_regs.h -@@ -604,6 +604,13 @@ enum hvs_pixel_format { - #define SCALER_CTL0_SIZE_MASK VC4_MASK(29, 24) - #define SCALER_CTL0_SIZE_SHIFT 24 - -+#define SCALER_CTL0_TILING_MASK VC4_MASK(21, 20) -+#define SCALER_CTL0_TILING_SHIFT 20 -+#define SCALER_CTL0_TILING_LINEAR 0 -+#define SCALER_CTL0_TILING_64B 1 -+#define SCALER_CTL0_TILING_128B 2 -+#define SCALER_CTL0_TILING_256B_OR_T 3 -+ - #define SCALER_CTL0_HFLIP BIT(16) - #define SCALER_CTL0_VFLIP BIT(15) - -@@ -733,7 +740,19 @@ enum hvs_pixel_format { - #define SCALER_PPF_KERNEL_OFFSET_SHIFT 0 - #define SCALER_PPF_KERNEL_UNCACHED BIT(31) - -+/* PITCH0/1/2 fields for raster. */ - #define SCALER_SRC_PITCH_MASK VC4_MASK(15, 0) - #define SCALER_SRC_PITCH_SHIFT 0 - -+/* PITCH0 fields for T-tiled. */ -+#define SCALER_PITCH0_TILE_WIDTH_L_MASK VC4_MASK(22, 16) -+#define SCALER_PITCH0_TILE_WIDTH_L_SHIFT 16 -+#define SCALER_PITCH0_TILE_LINE_DIR BIT(15) -+#define SCALER_PITCH0_TILE_INITIAL_LINE_DIR BIT(14) -+/* Y offset within a tile. */ -+#define SCALER_PITCH0_TILE_Y_OFFSET_MASK VC4_MASK(13, 7) -+#define SCALER_PITCH0_TILE_Y_OFFSET_SHIFT 7 -+#define SCALER_PITCH0_TILE_WIDTH_R_MASK VC4_MASK(6, 0) -+#define SCALER_PITCH0_TILE_WIDTH_R_SHIFT 0 -+ - #endif /* VC4_REGS_H */ -diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h -index ef20abb8119b..9aaf633788a7 100644 ---- a/include/uapi/drm/drm_fourcc.h -+++ b/include/uapi/drm/drm_fourcc.h -@@ -168,6 +168,7 @@ extern "C" { - #define DRM_FORMAT_MOD_VENDOR_SAMSUNG 0x04 - #define DRM_FORMAT_MOD_VENDOR_QCOM 0x05 - #define DRM_FORMAT_MOD_VENDOR_VIVANTE 0x06 -+#define DRM_FORMAT_MOD_VENDOR_BROADCOM 0x07 - /* add more to the end as needed */ - - #define fourcc_mod_code(vendor, val) \ -@@ -292,6 +293,27 @@ extern "C" { - */ - #define DRM_FORMAT_MOD_VIVANTE_SPLIT_SUPER_TILED fourcc_mod_code(VIVANTE, 4) - -+/* -+ * Broadcom VC4 "T" format -+ * -+ * This is the primary layout that the V3D GPU can texture from (it -+ * can't do linear). The T format has: -+ * -+ * - 64b utiles of pixels in a raster-order grid according to cpp. It's 4x4 -+ * pixels at 32 bit depth. -+ * -+ * - 1k subtiles made of a 4x4 raster-order grid of 64b utiles (so usually -+ * 16x16 pixels). -+ * -+ * - 4k tiles made of a 2x2 grid of 1k subtiles (so usually 32x32 pixels). On -+ * even 4k tile rows, they're arranged as (BL, TL, TR, BR), and on odd rows -+ * they're (TR, BR, BL, TL), where bottom left is start of memory. -+ * -+ * - an image made of 4k tiles in rows either left-to-right (even rows of 4k -+ * tiles) or right-to-left (odd rows of 4k tiles). -+ */ -+#define DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED fourcc_mod_code(BROADCOM, 1) -+ - #if defined(__cplusplus) - } - #endif -diff --git a/include/uapi/drm/vc4_drm.h b/include/uapi/drm/vc4_drm.h -index f07a09016726..6ac4c5c014cb 100644 ---- a/include/uapi/drm/vc4_drm.h -+++ b/include/uapi/drm/vc4_drm.h -@@ -38,6 +38,8 @@ extern "C" { - #define DRM_VC4_CREATE_SHADER_BO 0x05 - #define DRM_VC4_GET_HANG_STATE 0x06 - #define DRM_VC4_GET_PARAM 0x07 -+#define DRM_VC4_SET_TILING 0x08 -+#define DRM_VC4_GET_TILING 0x09 - - #define DRM_IOCTL_VC4_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SUBMIT_CL, struct drm_vc4_submit_cl) - #define DRM_IOCTL_VC4_WAIT_SEQNO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_WAIT_SEQNO, struct drm_vc4_wait_seqno) -@@ -47,6 +49,8 @@ extern "C" { - #define DRM_IOCTL_VC4_CREATE_SHADER_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_CREATE_SHADER_BO, struct drm_vc4_create_shader_bo) - #define DRM_IOCTL_VC4_GET_HANG_STATE DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_HANG_STATE, struct drm_vc4_get_hang_state) - #define DRM_IOCTL_VC4_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_PARAM, struct drm_vc4_get_param) -+#define DRM_IOCTL_VC4_SET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SET_TILING, struct drm_vc4_set_tiling) -+#define DRM_IOCTL_VC4_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_TILING, struct drm_vc4_get_tiling) - - struct drm_vc4_submit_rcl_surface { - __u32 hindex; /* Handle index, or ~0 if not present. */ -@@ -295,6 +299,18 @@ struct drm_vc4_get_param { - __u64 value; - }; - -+struct drm_vc4_get_tiling { -+ __u32 handle; -+ __u32 flags; -+ __u64 modifier; -+}; -+ -+struct drm_vc4_set_tiling { -+ __u32 handle; -+ __u32 flags; -+ __u64 modifier; -+}; -+ - #if defined(__cplusplus) - } - #endif --- -2.13.0 - |