From 37d0749d46c4b55602dcbdec8654dc9b6e1681cc Mon Sep 17 00:00:00 2001 From: Jeremy Cline Date: Apr 19 2018 18:20:39 +0000 Subject: Linux v4.16.2 --- diff --git a/0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch b/0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch deleted file mode 100644 index 1f94c3d..0000000 --- a/0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 20eeb02a0a489e35de0830b2d61f09d43763c982 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Mon, 13 Nov 2017 09:23:19 +0100 -Subject: [PATCH] Bluetooth: btusb: Add a Kconfig option to enable USB - autosuspend by default - -On many laptops the btusb device is the only USB device not having USB -autosuspend enabled, this causes not only the HCI but also the USB -controller to stay awake, together using aprox. 0.4W of power. - -Modern ultrabooks idle around 6W (at 50% screen brightness), 3.5W for -Apollo Lake devices. 0.4W is a significant chunk of this (7 / 11%). - -The btusb driver already contains code to allow enabling USB autosuspend, -but currently leaves it up to the user / userspace to enable it. This -means that for most people it will not be enabled, leading to an -unnecessarily high power consumption. - -Since enabling it is not entirely without risk of regressions, this -commit adds a Kconfig option so that Linux distributions can choose to -enable it by default. This commit also adds a module option so that when -distros receive bugs they can easily ask the user to disable it again -for easy debugging. - -Signed-off-by: Hans de Goede ---- -Changes in v2: --s/BT_USB_AUTOSUSPEND/BT_HCIBTUSB_AUTOSUSPEND/ --s/enable_usb_autosuspend/enable_autosuspend/ ---- - drivers/bluetooth/Kconfig | 10 ++++++++++ - drivers/bluetooth/btusb.c | 7 +++++++ - 2 files changed, 17 insertions(+) - -diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig -index 6475f8c0d3b2..20940417d937 100644 ---- a/drivers/bluetooth/Kconfig -+++ b/drivers/bluetooth/Kconfig -@@ -30,6 +30,16 @@ config BT_HCIBTUSB - Say Y here to compile support for Bluetooth USB devices into the - kernel or say M to compile it as module (btusb). - -+config BT_HCIBTUSB_AUTOSUSPEND -+ bool "Enable USB autosuspend for Bluetooth USB devices by default" -+ depends on BT_HCIBTUSB -+ help -+ Say Y here to enable USB autosuspend for Bluetooth USB devices by -+ default. -+ -+ This can be overridden by passing btusb.enable_autosuspend=[y|n] -+ on the kernel commandline. -+ - config BT_HCIBTUSB_BCM - bool "Broadcom protocol support" - depends on BT_HCIBTUSB -diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c -index c054d7bce490..3386034a44aa 100644 ---- a/drivers/bluetooth/btusb.c -+++ b/drivers/bluetooth/btusb.c -@@ -40,6 +40,7 @@ - - static bool disable_scofix; - static bool force_scofix; -+static bool enable_autosuspend = IS_ENABLED(CONFIG_BT_HCIBTUSB_AUTOSUSPEND); - - static bool reset = true; - -@@ -3175,6 +3176,9 @@ static int btusb_probe(struct usb_interface *intf, - } - #endif - -+ if (enable_autosuspend) -+ usb_enable_autosuspend(data->udev); -+ - err = hci_register_dev(hdev); - if (err < 0) - goto out_free_dev; -@@ -3387,6 +3391,9 @@ MODULE_PARM_DESC(disable_scofix, "Disable fixup of wrong SCO buffer size"); - module_param(force_scofix, bool, 0644); - MODULE_PARM_DESC(force_scofix, "Force fixup of wrong SCO buffers size"); - -+module_param(enable_autosuspend, bool, 0644); -+MODULE_PARM_DESC(enable_autosuspend, "Enable USB autosuspend by default"); -+ - module_param(reset, bool, 0644); - MODULE_PARM_DESC(reset, "Send HCI reset command on initialization"); - --- -2.14.3 - diff --git a/0001-HID-multitouch-Properly-deal-with-Win8-PTP-reports-w.patch b/0001-HID-multitouch-Properly-deal-with-Win8-PTP-reports-w.patch deleted file mode 100644 index 56bcc7e..0000000 --- a/0001-HID-multitouch-Properly-deal-with-Win8-PTP-reports-w.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 8c6b638bb620eef53cb83ffe88d7b528f666af10 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Wed, 22 Nov 2017 12:57:08 +0100 -Subject: [PATCH] HID: multitouch: Properly deal with Win8 PTP reports with 0 - touches - -The Windows Precision Touchpad spec "Figure 4 Button Only Down and Up" -and "Table 9 Report Sequence for Button Only Down and Up" indicate -that the first packet of a (possibly hybrid mode multi-packet) frame -may contain a contact-count of 0 if only a button is pressed and no -fingers are detected. - -This means that a value of 0 for contact-count is a valid value and -should be used as expected contact count when it is the first packet -(num_received == 0), as extra check to make sure that this is the first -packet of a buttons only frame, we also check that the timestamp is -different. - -Signed-off-by: Hans de Goede -Reviewed-by: Benjamin Tissoires -Signed-off-by: Jiri Kosina ---- - drivers/hid/hid-multitouch.c | 32 ++++++++++++++++++++++++++++++-- - 1 file changed, 30 insertions(+), 2 deletions(-) - -diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c -index 397592959238..0a42e19d914a 100644 ---- a/drivers/hid/hid-multitouch.c -+++ b/drivers/hid/hid-multitouch.c -@@ -119,6 +119,9 @@ struct mt_device { - unsigned long mt_io_flags; /* mt flags (MT_IO_FLAGS_*) */ - int cc_index; /* contact count field index in the report */ - int cc_value_index; /* contact count value index in the field */ -+ int scantime_index; /* scantime field index in the report */ -+ int scantime_val_index; /* scantime value index in the field */ -+ int prev_scantime; /* scantime reported in the previous packet */ - unsigned last_slot_field; /* the last field of a slot */ - unsigned mt_report_id; /* the report ID of the multitouch device */ - unsigned long initial_quirks; /* initial quirks state */ -@@ -599,6 +602,12 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, - EV_MSC, MSC_TIMESTAMP); - input_set_capability(hi->input, EV_MSC, MSC_TIMESTAMP); - mt_store_field(usage, td, hi); -+ /* Ignore if indexes are out of bounds. */ -+ if (field->index >= field->report->maxfield || -+ usage->usage_index >= field->report_count) -+ return 1; -+ td->scantime_index = field->index; -+ td->scantime_val_index = usage->usage_index; - return 1; - case HID_DG_CONTACTCOUNT: - /* Ignore if indexes are out of bounds. */ -@@ -866,10 +875,11 @@ static void mt_process_mt_event(struct hid_device *hid, struct hid_field *field, - static void mt_touch_report(struct hid_device *hid, struct hid_report *report) - { - struct mt_device *td = hid_get_drvdata(hid); -+ __s32 cls = td->mtclass.name; - struct hid_field *field; - bool first_packet; - unsigned count; -- int r, n; -+ int r, n, scantime = 0; - - /* sticky fingers release in progress, abort */ - if (test_and_set_bit(MT_IO_FLAGS_RUNNING, &td->mt_io_flags)) -@@ -879,12 +889,29 @@ static void mt_touch_report(struct hid_device *hid, struct hid_report *report) - * Includes multi-packet support where subsequent - * packets are sent with zero contactcount. - */ -+ if (td->scantime_index >= 0) { -+ field = report->field[td->scantime_index]; -+ scantime = field->value[td->scantime_val_index]; -+ } - if (td->cc_index >= 0) { - struct hid_field *field = report->field[td->cc_index]; - int value = field->value[td->cc_value_index]; -- if (value) -+ -+ /* -+ * For Win8 PTPs the first packet (td->num_received == 0) may -+ * have a contactcount of 0 if there only is a button event. -+ * We double check that this is not a continuation packet -+ * of a possible multi-packet frame be checking that the -+ * timestamp has changed. -+ */ -+ if ((cls == MT_CLS_WIN_8 || cls == MT_CLS_WIN_8_DUAL) && -+ td->num_received == 0 && td->prev_scantime != scantime) -+ td->num_expected = value; -+ /* A non 0 contact count always indicates a first packet */ -+ else if (value) - td->num_expected = value; - } -+ td->prev_scantime = scantime; - - first_packet = td->num_received == 0; - for (r = 0; r < report->maxfield; r++) { -@@ -1342,6 +1369,7 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) - td->maxcontact_report_id = -1; - td->inputmode_value = MT_INPUTMODE_TOUCHSCREEN; - td->cc_index = -1; -+ td->scantime_index = -1; - td->mt_report_id = -1; - hid_set_drvdata(hdev, td); - --- -2.14.3 - diff --git a/0001-Temporarily-work-around-gcc-aliasing-warning-error.patch b/0001-Temporarily-work-around-gcc-aliasing-warning-error.patch new file mode 100644 index 0000000..24302d2 --- /dev/null +++ b/0001-Temporarily-work-around-gcc-aliasing-warning-error.patch @@ -0,0 +1,27 @@ +From 991b5e95d4fe7778c8f5e7d7f478d01134d51ca7 Mon Sep 17 00:00:00 2001 +From: Laura Abbott +Date: Wed, 14 Mar 2018 14:20:02 -0700 +Subject: [PATCH] Temporarily work around gcc aliasing warning/error + +Signed-off-by: Laura Abbott +--- + tools/lib/str_error_r.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tools/lib/str_error_r.c b/tools/lib/str_error_r.c +index d6d65537b0d9..c0ede4f6adae 100644 +--- a/tools/lib/str_error_r.c ++++ b/tools/lib/str_error_r.c +@@ -21,7 +21,8 @@ + char *str_error_r(int errnum, char *buf, size_t buflen) + { + int err = strerror_r(errnum, buf, buflen); ++ void *temp = buf; + if (err) +- snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, buf, buflen, err); ++ snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, temp, buflen, err); + return buf; + } +-- +2.16.2 + diff --git a/0001-mm-don-t-warn-about-allocations-which-stall-for-too-.patch b/0001-mm-don-t-warn-about-allocations-which-stall-for-too-.patch deleted file mode 100644 index bc5921c..0000000 --- a/0001-mm-don-t-warn-about-allocations-which-stall-for-too-.patch +++ /dev/null @@ -1,181 +0,0 @@ -From 400e22499dd92613821374c8c6c88c7225359980 Mon Sep 17 00:00:00 2001 -From: Tetsuo Handa -Date: Wed, 15 Nov 2017 17:38:37 -0800 -Subject: [PATCH] mm: don't warn about allocations which stall for too long - -Commit 63f53dea0c98 ("mm: warn about allocations which stall for too -long") was a great step for reducing possibility of silent hang up -problem caused by memory allocation stalls. But this commit reverts it, -for it is possible to trigger OOM lockup and/or soft lockups when many -threads concurrently called warn_alloc() (in order to warn about memory -allocation stalls) due to current implementation of printk(), and it is -difficult to obtain useful information due to limitation of synchronous -warning approach. - -Current printk() implementation flushes all pending logs using the -context of a thread which called console_unlock(). printk() should be -able to flush all pending logs eventually unless somebody continues -appending to printk() buffer. - -Since warn_alloc() started appending to printk() buffer while waiting -for oom_kill_process() to make forward progress when oom_kill_process() -is processing pending logs, it became possible for warn_alloc() to force -oom_kill_process() loop inside printk(). As a result, warn_alloc() -significantly increased possibility of preventing oom_kill_process() -from making forward progress. - ----------- Pseudo code start ---------- -Before warn_alloc() was introduced: - - retry: - if (mutex_trylock(&oom_lock)) { - while (atomic_read(&printk_pending_logs) > 0) { - atomic_dec(&printk_pending_logs); - print_one_log(); - } - // Send SIGKILL here. - mutex_unlock(&oom_lock) - } - goto retry; - -After warn_alloc() was introduced: - - retry: - if (mutex_trylock(&oom_lock)) { - while (atomic_read(&printk_pending_logs) > 0) { - atomic_dec(&printk_pending_logs); - print_one_log(); - } - // Send SIGKILL here. - mutex_unlock(&oom_lock) - } else if (waited_for_10seconds()) { - atomic_inc(&printk_pending_logs); - } - goto retry; ----------- Pseudo code end ---------- - -Although waited_for_10seconds() becomes true once per 10 seconds, -unbounded number of threads can call waited_for_10seconds() at the same -time. Also, since threads doing waited_for_10seconds() keep doing -almost busy loop, the thread doing print_one_log() can use little CPU -resource. Therefore, this situation can be simplified like - ----------- Pseudo code start ---------- - retry: - if (mutex_trylock(&oom_lock)) { - while (atomic_read(&printk_pending_logs) > 0) { - atomic_dec(&printk_pending_logs); - print_one_log(); - } - // Send SIGKILL here. - mutex_unlock(&oom_lock) - } else { - atomic_inc(&printk_pending_logs); - } - goto retry; ----------- Pseudo code end ---------- - -when printk() is called faster than print_one_log() can process a log. - -One of possible mitigation would be to introduce a new lock in order to -make sure that no other series of printk() (either oom_kill_process() or -warn_alloc()) can append to printk() buffer when one series of printk() -(either oom_kill_process() or warn_alloc()) is already in progress. - -Such serialization will also help obtaining kernel messages in readable -form. - ----------- Pseudo code start ---------- - retry: - if (mutex_trylock(&oom_lock)) { - mutex_lock(&oom_printk_lock); - while (atomic_read(&printk_pending_logs) > 0) { - atomic_dec(&printk_pending_logs); - print_one_log(); - } - // Send SIGKILL here. - mutex_unlock(&oom_printk_lock); - mutex_unlock(&oom_lock) - } else { - if (mutex_trylock(&oom_printk_lock)) { - atomic_inc(&printk_pending_logs); - mutex_unlock(&oom_printk_lock); - } - } - goto retry; ----------- Pseudo code end ---------- - -But this commit does not go that direction, for we don't want to -introduce a new lock dependency, and we unlikely be able to obtain -useful information even if we serialized oom_kill_process() and -warn_alloc(). - -Synchronous approach is prone to unexpected results (e.g. too late [1], -too frequent [2], overlooked [3]). As far as I know, warn_alloc() never -helped with providing information other than "something is going wrong". -I want to consider asynchronous approach which can obtain information -during stalls with possibly relevant threads (e.g. the owner of -oom_lock and kswapd-like threads) and serve as a trigger for actions -(e.g. turn on/off tracepoints, ask libvirt daemon to take a memory dump -of stalling KVM guest for diagnostic purpose). - -This commit temporarily loses ability to report e.g. OOM lockup due to -unable to invoke the OOM killer due to !__GFP_FS allocation request. -But asynchronous approach will be able to detect such situation and emit -warning. Thus, let's remove warn_alloc(). - -[1] https://bugzilla.kernel.org/show_bug.cgi?id=192981 -[2] http://lkml.kernel.org/r/CAM_iQpWuPVGc2ky8M-9yukECtS+zKjiDasNymX7rMcBjBFyM_A@mail.gmail.com -[3] commit db73ee0d46379922 ("mm, vmscan: do not loop on too_many_isolated for ever")) - -Link: http://lkml.kernel.org/r/1509017339-4802-1-git-send-email-penguin-kernel@I-love.SAKURA.ne.jp -Signed-off-by: Tetsuo Handa -Reported-by: Cong Wang -Reported-by: yuwang.yuwang -Reported-by: Johannes Weiner -Acked-by: Michal Hocko -Acked-by: Johannes Weiner -Cc: Vlastimil Babka -Cc: Mel Gorman -Cc: Dave Hansen -Cc: Sergey Senozhatsky -Cc: Petr Mladek -Cc: Steven Rostedt -Signed-off-by: Andrew Morton - -Signed-off-by: Linus Torvalds ---- - mm/page_alloc.c | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 04bf1ad50144..bd1a686e40fe 100644 ---- a/mm/page_alloc.c -+++ b/mm/page_alloc.c -@@ -3903,8 +3903,6 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, - enum compact_result compact_result; - int compaction_retries; - int no_progress_loops; -- unsigned long alloc_start = jiffies; -- unsigned int stall_timeout = 10 * HZ; - unsigned int cpuset_mems_cookie; - int reserve_flags; - -@@ -4036,14 +4034,6 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, - if (!can_direct_reclaim) - goto nopage; - -- /* Make sure we know about allocations which stall for too long */ -- if (time_after(jiffies, alloc_start + stall_timeout)) { -- warn_alloc(gfp_mask & ~__GFP_NOWARN, ac->nodemask, -- "page allocation stalls for %ums, order:%u", -- jiffies_to_msecs(jiffies-alloc_start), order); -- stall_timeout += 10 * HZ; -- } -- - /* Avoid recursion of direct reclaim */ - if (current->flags & PF_MEMALLOC) - goto nopage; --- -2.14.3 - diff --git a/0001-net-phy-mdio-bcm-unimac-fix-potential-NULL-dereferen.patch b/0001-net-phy-mdio-bcm-unimac-fix-potential-NULL-dereferen.patch deleted file mode 100644 index 061ef58..0000000 --- a/0001-net-phy-mdio-bcm-unimac-fix-potential-NULL-dereferen.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 297a6961ffb8ff4dc66c9fbf53b924bd1dda05d5 Mon Sep 17 00:00:00 2001 -From: Wei Yongjun -Date: Thu, 11 Jan 2018 11:21:51 +0000 -Subject: [PATCH] net: phy: mdio-bcm-unimac: fix potential NULL dereference in - unimac_mdio_probe() - -platform_get_resource() may fail and return NULL, so we should -better check it's return value to avoid a NULL pointer dereference -a bit later in the code. - -This is detected by Coccinelle semantic patch. - -@@ -expression pdev, res, n, t, e, e1, e2; -@@ - -res = platform_get_resource(pdev, t, n); -+ if (!res) -+ return -EINVAL; -... when != res == NULL -e = devm_ioremap(e1, res->start, e2); - -Signed-off-by: Wei Yongjun -Signed-off-by: David S. Miller ---- - drivers/net/phy/mdio-bcm-unimac.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/net/phy/mdio-bcm-unimac.c b/drivers/net/phy/mdio-bcm-unimac.c -index 08e0647b85e2..8d370667fa1b 100644 ---- a/drivers/net/phy/mdio-bcm-unimac.c -+++ b/drivers/net/phy/mdio-bcm-unimac.c -@@ -205,6 +205,8 @@ static int unimac_mdio_probe(struct platform_device *pdev) - return -ENOMEM; - - r = platform_get_resource(pdev, IORESOURCE_MEM, 0); -+ if (!r) -+ return -EINVAL; - - /* Just ioremap, as this MDIO block is usually integrated into an - * Ethernet MAC controller register range --- -2.14.3 - diff --git a/0001-platform-x86-dell-laptop-Filter-out-spurious-keyboar.patch b/0001-platform-x86-dell-laptop-Filter-out-spurious-keyboar.patch deleted file mode 100644 index 926487b..0000000 --- a/0001-platform-x86-dell-laptop-Filter-out-spurious-keyboar.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 714fe15daa07e7691c9731c88de71aa57f84b6c2 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Wed, 3 Jan 2018 11:13:54 +0100 -Subject: [PATCH] platform/x86: dell-laptop: Filter out spurious keyboard - backlight change events - -On some Dell XPS models WMI events of type 0x0000 reporting a keycode of -0xe00c get reported when the brightness of the LCD panel changes. - -This leads to us reporting false-positive kbd_led change events to -userspace which in turn leads to the kbd backlight OSD showing when it -should not. - -We already read the current keyboard backlight brightness value when -reporting events because the led_classdev_notify_brightness_hw_changed -API requires this. Compare this value to the last known value and filter -out duplicate events, fixing this. - -Note the fixed issue is esp. a problem on XPS models with an ambient light -sensor and automatic brightness adjustments turned on, this causes the kbd -backlight OSD to show all the time there. - -BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1514969 -Signed-off-by: Hans de Goede ---- - drivers/platform/x86/dell-laptop.c | 24 ++++++++++++++++++++++-- - 1 file changed, 22 insertions(+), 2 deletions(-) - -diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c -index cd4725e7e0b5..2ef3297a9efc 100644 ---- a/drivers/platform/x86/dell-laptop.c -+++ b/drivers/platform/x86/dell-laptop.c -@@ -1133,6 +1133,7 @@ static u8 kbd_previous_mode_bit; - - static bool kbd_led_present; - static DEFINE_MUTEX(kbd_led_mutex); -+static enum led_brightness kbd_led_level; - - /* - * NOTE: there are three ways to set the keyboard backlight level. -@@ -1947,6 +1948,7 @@ static enum led_brightness kbd_led_level_get(struct led_classdev *led_cdev) - static int kbd_led_level_set(struct led_classdev *led_cdev, - enum led_brightness value) - { -+ enum led_brightness new_value = value; - struct kbd_state state; - struct kbd_state new_state; - u16 num; -@@ -1976,6 +1978,9 @@ static int kbd_led_level_set(struct led_classdev *led_cdev, - } - - out: -+ if (ret == 0) -+ kbd_led_level = new_value; -+ - mutex_unlock(&kbd_led_mutex); - return ret; - } -@@ -2003,6 +2008,9 @@ static int __init kbd_led_init(struct device *dev) - if (kbd_led.max_brightness) - kbd_led.max_brightness--; - } -+ -+ kbd_led_level = kbd_led_level_get(NULL); -+ - ret = led_classdev_register(dev, &kbd_led); - if (ret) - kbd_led_present = false; -@@ -2027,13 +2035,25 @@ static void kbd_led_exit(void) - static int dell_laptop_notifier_call(struct notifier_block *nb, - unsigned long action, void *data) - { -+ bool changed = false; -+ enum led_brightness new_kbd_led_level; -+ - switch (action) { - case DELL_LAPTOP_KBD_BACKLIGHT_BRIGHTNESS_CHANGED: - if (!kbd_led_present) - break; - -- led_classdev_notify_brightness_hw_changed(&kbd_led, -- kbd_led_level_get(&kbd_led)); -+ mutex_lock(&kbd_led_mutex); -+ new_kbd_led_level = kbd_led_level_get(&kbd_led); -+ if (kbd_led_level != new_kbd_led_level) { -+ kbd_led_level = new_kbd_led_level; -+ changed = true; -+ } -+ mutex_unlock(&kbd_led_mutex); -+ -+ if (changed) -+ led_classdev_notify_brightness_hw_changed(&kbd_led, -+ kbd_led_level); - break; - } - --- -2.14.3 - diff --git a/0001-scsi-libsas-defer-ata-device-eh-commands-to-libata.patch b/0001-scsi-libsas-defer-ata-device-eh-commands-to-libata.patch deleted file mode 100644 index 2e65d9b..0000000 --- a/0001-scsi-libsas-defer-ata-device-eh-commands-to-libata.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 318aaf34f1179b39fa9c30fa0f3288b645beee39 Mon Sep 17 00:00:00 2001 -From: Jason Yan -Date: Thu, 8 Mar 2018 10:34:53 +0800 -Subject: [PATCH] scsi: libsas: defer ata device eh commands to libata - -When ata device doing EH, some commands still attached with tasks are -not passed to libata when abort failed or recover failed, so libata did -not handle these commands. After these commands done, sas task is freed, -but ata qc is not freed. This will cause ata qc leak and trigger a -warning like below: - -WARNING: CPU: 0 PID: 28512 at drivers/ata/libata-eh.c:4037 -ata_eh_finish+0xb4/0xcc -CPU: 0 PID: 28512 Comm: kworker/u32:2 Tainted: G W OE 4.14.0#1 -...... -Call trace: -[] ata_eh_finish+0xb4/0xcc -[] ata_do_eh+0xc4/0xd8 -[] ata_std_error_handler+0x44/0x8c -[] ata_scsi_port_error_handler+0x480/0x694 -[] async_sas_ata_eh+0x4c/0x80 -[] async_run_entry_fn+0x4c/0x170 -[] process_one_work+0x144/0x390 -[] worker_thread+0x144/0x418 -[] kthread+0x10c/0x138 -[] ret_from_fork+0x10/0x18 - -If ata qc leaked too many, ata tag allocation will fail and io blocked -for ever. - -As suggested by Dan Williams, defer ata device commands to libata and -merge sas_eh_finish_cmd() with sas_eh_defer_cmd(). libata will handle -ata qcs correctly after this. - -Signed-off-by: Jason Yan -CC: Xiaofei Tan -CC: John Garry -CC: Dan Williams -Reviewed-by: Dan Williams -Signed-off-by: Martin K. Petersen ---- - drivers/scsi/libsas/sas_scsi_host.c | 33 +++++++++++++-------------------- - 1 file changed, 13 insertions(+), 20 deletions(-) - -diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c -index 626727207889..a372af68d9a9 100644 ---- a/drivers/scsi/libsas/sas_scsi_host.c -+++ b/drivers/scsi/libsas/sas_scsi_host.c -@@ -223,6 +223,7 @@ int sas_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd) - static void sas_eh_finish_cmd(struct scsi_cmnd *cmd) - { - struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(cmd->device->host); -+ struct domain_device *dev = cmd_to_domain_dev(cmd); - struct sas_task *task = TO_SAS_TASK(cmd); - - /* At this point, we only get called following an actual abort -@@ -231,6 +232,14 @@ static void sas_eh_finish_cmd(struct scsi_cmnd *cmd) - */ - sas_end_task(cmd, task); - -+ if (dev_is_sata(dev)) { -+ /* defer commands to libata so that libata EH can -+ * handle ata qcs correctly -+ */ -+ list_move_tail(&cmd->eh_entry, &sas_ha->eh_ata_q); -+ return; -+ } -+ - /* now finish the command and move it on to the error - * handler done list, this also takes it off the - * error handler pending list. -@@ -238,22 +247,6 @@ static void sas_eh_finish_cmd(struct scsi_cmnd *cmd) - scsi_eh_finish_cmd(cmd, &sas_ha->eh_done_q); - } - --static void sas_eh_defer_cmd(struct scsi_cmnd *cmd) --{ -- struct domain_device *dev = cmd_to_domain_dev(cmd); -- struct sas_ha_struct *ha = dev->port->ha; -- struct sas_task *task = TO_SAS_TASK(cmd); -- -- if (!dev_is_sata(dev)) { -- sas_eh_finish_cmd(cmd); -- return; -- } -- -- /* report the timeout to libata */ -- sas_end_task(cmd, task); -- list_move_tail(&cmd->eh_entry, &ha->eh_ata_q); --} -- - static void sas_scsi_clear_queue_lu(struct list_head *error_q, struct scsi_cmnd *my_cmd) - { - struct scsi_cmnd *cmd, *n; -@@ -261,7 +254,7 @@ static void sas_scsi_clear_queue_lu(struct list_head *error_q, struct scsi_cmnd - list_for_each_entry_safe(cmd, n, error_q, eh_entry) { - if (cmd->device->sdev_target == my_cmd->device->sdev_target && - cmd->device->lun == my_cmd->device->lun) -- sas_eh_defer_cmd(cmd); -+ sas_eh_finish_cmd(cmd); - } - } - -@@ -618,12 +611,12 @@ static void sas_eh_handle_sas_errors(struct Scsi_Host *shost, struct list_head * - case TASK_IS_DONE: - SAS_DPRINTK("%s: task 0x%p is done\n", __func__, - task); -- sas_eh_defer_cmd(cmd); -+ sas_eh_finish_cmd(cmd); - continue; - case TASK_IS_ABORTED: - SAS_DPRINTK("%s: task 0x%p is aborted\n", - __func__, task); -- sas_eh_defer_cmd(cmd); -+ sas_eh_finish_cmd(cmd); - continue; - case TASK_IS_AT_LU: - SAS_DPRINTK("task 0x%p is at LU: lu recover\n", task); -@@ -634,7 +627,7 @@ static void sas_eh_handle_sas_errors(struct Scsi_Host *shost, struct list_head * - "recovered\n", - SAS_ADDR(task->dev), - cmd->device->lun); -- sas_eh_defer_cmd(cmd); -+ sas_eh_finish_cmd(cmd); - sas_scsi_clear_queue_lu(work_q, cmd); - goto Again; - } --- -2.14.3 - diff --git a/0001-scsi-libsas-direct-call-probe-and-destruct.patch b/0001-scsi-libsas-direct-call-probe-and-destruct.patch deleted file mode 100644 index af4ecdb..0000000 --- a/0001-scsi-libsas-direct-call-probe-and-destruct.patch +++ /dev/null @@ -1,299 +0,0 @@ -From f66d69bd8357b59268f2adfd1c0c53b6d1dab453 Mon Sep 17 00:00:00 2001 -From: Jason Yan -Date: Fri, 8 Dec 2017 17:42:09 +0800 -Subject: [PATCH] scsi: libsas: direct call probe and destruct - -In commit 87c8331fcf72 ("[SCSI] libsas: prevent domain rediscovery -competing with ata error handling") introduced disco mutex to prevent -rediscovery competing with ata error handling and put the whole -revalidation in the mutex. But the rphy add/remove needs to wait for the -error handling which also grabs the disco mutex. This may leads to dead -lock.So the probe and destruct event were introduce to do the rphy -add/remove asynchronously and out of the lock. - -The asynchronously processed workers makes the whole discovery process -not atomic, the other events may interrupt the process. For example, -if a loss of signal event inserted before the probe event, the -sas_deform_port() is called and the port will be deleted. - -And sas_port_delete() may run before the destruct event, but the -port-x:x is the top parent of end device or expander. This leads to -a kernel WARNING such as: - -[ 82.042979] sysfs group 'power' not found for kobject 'phy-1:0:22' -[ 82.042983] ------------[ cut here ]------------ -[ 82.042986] WARNING: CPU: 54 PID: 1714 at fs/sysfs/group.c:237 -sysfs_remove_group+0x94/0xa0 -[ 82.043059] Call trace: -[ 82.043082] [] sysfs_remove_group+0x94/0xa0 -[ 82.043085] [] dpm_sysfs_remove+0x60/0x70 -[ 82.043086] [] device_del+0x138/0x308 -[ 82.043089] [] sas_phy_delete+0x38/0x60 -[ 82.043091] [] do_sas_phy_delete+0x6c/0x80 -[ 82.043093] [] device_for_each_child+0x58/0xa0 -[ 82.043095] [] sas_remove_children+0x40/0x50 -[ 82.043100] [] sas_destruct_devices+0x64/0xa0 -[ 82.043102] [] process_one_work+0x1fc/0x4b0 -[ 82.043104] [] worker_thread+0x50/0x490 -[ 82.043105] [] kthread+0xfc/0x128 -[ 82.043107] [] ret_from_fork+0x10/0x50 - -Make probe and destruct a direct call in the disco and revalidate function, -but put them outside the lock. The whole discovery or revalidate won't -be interrupted by other events. And the DISCE_PROBE and DISCE_DESTRUCT -event are deleted as a result of the direct call. - -Introduce a new list to destruct the sas_port and put the port delete after -the destruct. This makes sure the right order of destroying the sysfs -kobject and fix the warning above. - -In sas_ex_revalidate_domain() have a loop to find all broadcasted -device, and sometimes we have a chance to find the same expander twice. -Because the sas_port will be deleted at the end of the whole revalidate -process, sas_port with the same name cannot be added before this. -Otherwise the sysfs will complain of creating duplicate filename. Since -the LLDD will send broadcast for every device change, we can only -process one expander's revalidation. - -[mkp: kbuild test robot warning] - -Signed-off-by: Jason Yan -CC: John Garry -CC: Johannes Thumshirn -CC: Ewan Milne -CC: Christoph Hellwig -CC: Tomas Henzl -CC: Dan Williams -Reviewed-by: Hannes Reinecke -Signed-off-by: Martin K. Petersen ---- - drivers/scsi/libsas/sas_ata.c | 1 - - drivers/scsi/libsas/sas_discover.c | 32 ++++++++++++++++++-------------- - drivers/scsi/libsas/sas_expander.c | 8 +++----- - drivers/scsi/libsas/sas_internal.h | 1 + - drivers/scsi/libsas/sas_port.c | 3 +++ - include/scsi/libsas.h | 3 +-- - include/scsi/scsi_transport_sas.h | 1 + - 7 files changed, 27 insertions(+), 22 deletions(-) - -diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c -index 70be4425ae0b..2b3637b40dde 100644 ---- a/drivers/scsi/libsas/sas_ata.c -+++ b/drivers/scsi/libsas/sas_ata.c -@@ -730,7 +730,6 @@ int sas_discover_sata(struct domain_device *dev) - if (res) - return res; - -- sas_discover_event(dev->port, DISCE_PROBE); - return 0; - } - -diff --git a/drivers/scsi/libsas/sas_discover.c b/drivers/scsi/libsas/sas_discover.c -index 60de66252fa2..487d7345f515 100644 ---- a/drivers/scsi/libsas/sas_discover.c -+++ b/drivers/scsi/libsas/sas_discover.c -@@ -212,13 +212,9 @@ void sas_notify_lldd_dev_gone(struct domain_device *dev) - } - } - --static void sas_probe_devices(struct work_struct *work) -+static void sas_probe_devices(struct asd_sas_port *port) - { - struct domain_device *dev, *n; -- struct sas_discovery_event *ev = to_sas_discovery_event(work); -- struct asd_sas_port *port = ev->port; -- -- clear_bit(DISCE_PROBE, &port->disc.pending); - - /* devices must be domain members before link recovery and probe */ - list_for_each_entry(dev, &port->disco_list, disco_list_node) { -@@ -294,7 +290,6 @@ int sas_discover_end_dev(struct domain_device *dev) - res = sas_notify_lldd_dev_found(dev); - if (res) - return res; -- sas_discover_event(dev->port, DISCE_PROBE); - - return 0; - } -@@ -353,13 +348,9 @@ static void sas_unregister_common_dev(struct asd_sas_port *port, struct domain_d - sas_put_device(dev); - } - --static void sas_destruct_devices(struct work_struct *work) -+void sas_destruct_devices(struct asd_sas_port *port) - { - struct domain_device *dev, *n; -- struct sas_discovery_event *ev = to_sas_discovery_event(work); -- struct asd_sas_port *port = ev->port; -- -- clear_bit(DISCE_DESTRUCT, &port->disc.pending); - - list_for_each_entry_safe(dev, n, &port->destroy_list, disco_list_node) { - list_del_init(&dev->disco_list_node); -@@ -370,6 +361,16 @@ static void sas_destruct_devices(struct work_struct *work) - } - } - -+static void sas_destruct_ports(struct asd_sas_port *port) -+{ -+ struct sas_port *sas_port, *p; -+ -+ list_for_each_entry_safe(sas_port, p, &port->sas_port_del_list, del_list) { -+ list_del_init(&sas_port->del_list); -+ sas_port_delete(sas_port); -+ } -+} -+ - void sas_unregister_dev(struct asd_sas_port *port, struct domain_device *dev) - { - if (!test_bit(SAS_DEV_DESTROY, &dev->state) && -@@ -384,7 +385,6 @@ void sas_unregister_dev(struct asd_sas_port *port, struct domain_device *dev) - if (!test_and_set_bit(SAS_DEV_DESTROY, &dev->state)) { - sas_rphy_unlink(dev->rphy); - list_move_tail(&dev->disco_list_node, &port->destroy_list); -- sas_discover_event(dev->port, DISCE_DESTRUCT); - } - } - -@@ -490,6 +490,8 @@ static void sas_discover_domain(struct work_struct *work) - port->port_dev = NULL; - } - -+ sas_probe_devices(port); -+ - SAS_DPRINTK("DONE DISCOVERY on port %d, pid:%d, result:%d\n", port->id, - task_pid_nr(current), error); - } -@@ -523,6 +525,10 @@ static void sas_revalidate_domain(struct work_struct *work) - port->id, task_pid_nr(current), res); - out: - mutex_unlock(&ha->disco_mutex); -+ -+ sas_destruct_devices(port); -+ sas_destruct_ports(port); -+ sas_probe_devices(port); - } - - /* ---------- Events ---------- */ -@@ -578,10 +584,8 @@ void sas_init_disc(struct sas_discovery *disc, struct asd_sas_port *port) - static const work_func_t sas_event_fns[DISC_NUM_EVENTS] = { - [DISCE_DISCOVER_DOMAIN] = sas_discover_domain, - [DISCE_REVALIDATE_DOMAIN] = sas_revalidate_domain, -- [DISCE_PROBE] = sas_probe_devices, - [DISCE_SUSPEND] = sas_suspend_devices, - [DISCE_RESUME] = sas_resume_devices, -- [DISCE_DESTRUCT] = sas_destruct_devices, - }; - - disc->pending = 0; -diff --git a/drivers/scsi/libsas/sas_expander.c b/drivers/scsi/libsas/sas_expander.c -index 39e42744aa33..6a4f8198b78e 100644 ---- a/drivers/scsi/libsas/sas_expander.c -+++ b/drivers/scsi/libsas/sas_expander.c -@@ -1916,7 +1916,8 @@ static void sas_unregister_devs_sas_addr(struct domain_device *parent, - sas_port_delete_phy(phy->port, phy->phy); - sas_device_set_phy(found, phy->port); - if (phy->port->num_phys == 0) -- sas_port_delete(phy->port); -+ list_add_tail(&phy->port->del_list, -+ &parent->port->sas_port_del_list); - phy->port = NULL; - } - } -@@ -2124,7 +2125,7 @@ int sas_ex_revalidate_domain(struct domain_device *port_dev) - struct domain_device *dev = NULL; - - res = sas_find_bcast_dev(port_dev, &dev); -- while (res == 0 && dev) { -+ if (res == 0 && dev) { - struct expander_device *ex = &dev->ex_dev; - int i = 0, phy_id; - -@@ -2136,9 +2137,6 @@ int sas_ex_revalidate_domain(struct domain_device *port_dev) - res = sas_rediscover(dev, phy_id); - i = phy_id + 1; - } while (i < ex->num_phys); -- -- dev = NULL; -- res = sas_find_bcast_dev(port_dev, &dev); - } - return res; - } -diff --git a/drivers/scsi/libsas/sas_internal.h b/drivers/scsi/libsas/sas_internal.h -index d8826a747690..50e12d662ffe 100644 ---- a/drivers/scsi/libsas/sas_internal.h -+++ b/drivers/scsi/libsas/sas_internal.h -@@ -101,6 +101,7 @@ int sas_try_ata_reset(struct asd_sas_phy *phy); - void sas_hae_reset(struct work_struct *work); - - void sas_free_device(struct kref *kref); -+void sas_destruct_devices(struct asd_sas_port *port); - - extern const work_func_t sas_phy_event_fns[PHY_NUM_EVENTS]; - extern const work_func_t sas_port_event_fns[PORT_NUM_EVENTS]; -diff --git a/drivers/scsi/libsas/sas_port.c b/drivers/scsi/libsas/sas_port.c -index 93266283f51f..170f5043e1df 100644 ---- a/drivers/scsi/libsas/sas_port.c -+++ b/drivers/scsi/libsas/sas_port.c -@@ -66,6 +66,7 @@ static void sas_resume_port(struct asd_sas_phy *phy) - rc = sas_notify_lldd_dev_found(dev); - if (rc) { - sas_unregister_dev(port, dev); -+ sas_destruct_devices(port); - continue; - } - -@@ -219,6 +220,7 @@ void sas_deform_port(struct asd_sas_phy *phy, int gone) - - if (port->num_phys == 1) { - sas_unregister_domain_devices(port, gone); -+ sas_destruct_devices(port); - sas_port_delete(port->port); - port->port = NULL; - } else { -@@ -313,6 +315,7 @@ static void sas_init_port(struct asd_sas_port *port, - INIT_LIST_HEAD(&port->dev_list); - INIT_LIST_HEAD(&port->disco_list); - INIT_LIST_HEAD(&port->destroy_list); -+ INIT_LIST_HEAD(&port->sas_port_del_list); - spin_lock_init(&port->phy_list_lock); - INIT_LIST_HEAD(&port->phy_list); - port->ha = sas_ha; -diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h -index 61c84d536a7e..38fa2f677cf2 100644 ---- a/include/scsi/libsas.h -+++ b/include/scsi/libsas.h -@@ -81,10 +81,8 @@ enum phy_event { - enum discover_event { - DISCE_DISCOVER_DOMAIN = 0U, - DISCE_REVALIDATE_DOMAIN, -- DISCE_PROBE, - DISCE_SUSPEND, - DISCE_RESUME, -- DISCE_DESTRUCT, - DISC_NUM_EVENTS, - }; - -@@ -261,6 +259,7 @@ struct asd_sas_port { - struct list_head dev_list; - struct list_head disco_list; - struct list_head destroy_list; -+ struct list_head sas_port_del_list; - enum sas_linkrate linkrate; - - struct sas_work work; -diff --git a/include/scsi/scsi_transport_sas.h b/include/scsi/scsi_transport_sas.h -index 62895b405933..05ec927a3c72 100644 ---- a/include/scsi/scsi_transport_sas.h -+++ b/include/scsi/scsi_transport_sas.h -@@ -156,6 +156,7 @@ struct sas_port { - - struct mutex phy_list_mutex; - struct list_head phy_list; -+ struct list_head del_list; /* libsas only */ - }; - - #define dev_to_sas_port(d) \ --- -2.14.3 - diff --git a/0001-usb-usbtest-fix-NULL-pointer-dereference.patch b/0001-usb-usbtest-fix-NULL-pointer-dereference.patch deleted file mode 100644 index acc03ec..0000000 --- a/0001-usb-usbtest-fix-NULL-pointer-dereference.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 7c80f9e4a588f1925b07134bb2e3689335f6c6d8 Mon Sep 17 00:00:00 2001 -From: Alan Stern -Date: Fri, 29 Sep 2017 10:54:24 -0400 -Subject: [PATCH] usb: usbtest: fix NULL pointer dereference - -If the usbtest driver encounters a device with an IN bulk endpoint but -no OUT bulk endpoint, it will try to dereference a NULL pointer -(out->desc.bEndpointAddress). The problem can be solved by adding a -missing test. - -Signed-off-by: Alan Stern -Reported-by: Andrey Konovalov -Tested-by: Andrey Konovalov -Signed-off-by: Felipe Balbi ---- - drivers/usb/misc/usbtest.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c -index 113e38bfe0ef..b3fc602b2e24 100644 ---- a/drivers/usb/misc/usbtest.c -+++ b/drivers/usb/misc/usbtest.c -@@ -202,12 +202,13 @@ get_endpoints(struct usbtest_dev *dev, struct usb_interface *intf) - return tmp; - } - -- if (in) { -+ if (in) - dev->in_pipe = usb_rcvbulkpipe(udev, - in->desc.bEndpointAddress & USB_ENDPOINT_NUMBER_MASK); -+ if (out) - dev->out_pipe = usb_sndbulkpipe(udev, - out->desc.bEndpointAddress & USB_ENDPOINT_NUMBER_MASK); -- } -+ - if (iso_in) { - dev->iso_in = &iso_in->desc; - dev->in_iso_pipe = usb_rcvisocpipe(udev, --- -2.13.6 - diff --git a/0003-HID-multitouch-Combine-all-left-button-events-in-a-f.patch b/0003-HID-multitouch-Combine-all-left-button-events-in-a-f.patch deleted file mode 100644 index 7fda714..0000000 --- a/0003-HID-multitouch-Combine-all-left-button-events-in-a-f.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 1719566899e5a69b4ba767beb07dab7ceb9ae5a8 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Wed, 22 Nov 2017 12:57:10 +0100 -Subject: [PATCH v2 3/3] HID: multitouch: Combine all left-button events in a - frame - -According to the Win8 Precision Touchpad spec, inside the HID_UP_BUTTON -usage-page usage 1 is for a clickpad getting clicked, 2 for an external -left button and 3 for an external right button. Since Linux uses -BTN_LEFT for a clickpad being clicked we end up mapping both usage 1 -and 2 to BTN_LEFT and if a single report contains both then we ended -up always reporting the value of both in a single SYN, e.g. : -BTN_LEFT 1, BTN_LEFT 0, SYN. This happens for example with Hantick -HTT5288 i2c mt touchpads. - -This commit fixes this by not immediately reporting left button when we -parse the report, but instead storing or-ing together the values and -reporting the result from mt_sync_frame() when we've a complete frame. - -Signed-off-by: Hans de Goede -Reviewed-by: Benjamin Tissoires -Signed-off-by: Jiri Kosina ---- - drivers/hid/hid-multitouch.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c -index 760c4a042e6a..76088f2cf598 100644 ---- a/drivers/hid/hid-multitouch.c -+++ b/drivers/hid/hid-multitouch.c -@@ -122,6 +122,7 @@ struct mt_device { - int scantime_index; /* scantime field index in the report */ - int scantime_val_index; /* scantime value index in the field */ - int prev_scantime; /* scantime reported in the previous packet */ -+ int left_button_state; /* left button state */ - unsigned last_slot_field; /* the last field of a slot */ - unsigned mt_report_id; /* the report ID of the multitouch device */ - unsigned long initial_quirks; /* initial quirks state */ -@@ -743,10 +744,16 @@ static void mt_complete_slot(struct mt_device *td, struct input_dev *input) - */ - static void mt_sync_frame(struct mt_device *td, struct input_dev *input) - { -+ __s32 cls = td->mtclass.name; -+ -+ if (cls == MT_CLS_WIN_8 || cls == MT_CLS_WIN_8_DUAL) -+ input_event(input, EV_KEY, BTN_LEFT, td->left_button_state); -+ - input_mt_sync_frame(input); - input_event(input, EV_MSC, MSC_TIMESTAMP, td->timestamp); - input_sync(input); - td->num_received = 0; -+ td->left_button_state = 0; - if (test_bit(MT_IO_FLAGS_ACTIVE_SLOTS, &td->mt_io_flags)) - set_bit(MT_IO_FLAGS_PENDING_SLOTS, &td->mt_io_flags); - else -@@ -857,6 +864,19 @@ static void mt_process_mt_event(struct hid_device *hid, struct hid_field *field, - !first_packet) - return; - -+ /* -+ * For Win8 PTP touchpads we map both the clickpad click -+ * and any "external" left buttons to BTN_LEFT if a -+ * device claims to have both we need to report 1 for -+ * BTN_LEFT if either is pressed, so we or all values -+ * together and report the result in mt_sync_frame(). -+ */ -+ if ((cls == MT_CLS_WIN_8 || cls == MT_CLS_WIN_8_DUAL) && -+ usage->type == EV_KEY && usage->code == BTN_LEFT) { -+ td->left_button_state |= value; -+ return; -+ } -+ - if (usage->type) - input_event(input, usage->type, usage->code, - value); --- -2.14.3 - diff --git a/0003-ahci-Allow-setting-a-default-LPM-policy-for-mobile-c.patch b/0003-ahci-Allow-setting-a-default-LPM-policy-for-mobile-c.patch deleted file mode 100644 index a888a24..0000000 --- a/0003-ahci-Allow-setting-a-default-LPM-policy-for-mobile-c.patch +++ /dev/null @@ -1,270 +0,0 @@ -From 65cca10ce92fb738b183152f1c1096b82e47923d Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Mon, 27 Nov 2017 15:32:01 +0100 -Subject: [PATCH] ahci: Allow setting a default LPM policy for mobile chipsets - -On many laptops setting a different LPM policy then unknown / -max_performance can lead to power-savings of 1.0 - 1.5 Watts (when idle). - -Modern ultrabooks idle around 6W (at 50% screen brightness), 1.0 - 1.5W -is a significant chunk of this. - -There are some performance / latency costs to enabling LPM by default, -so it is desirable to make it possible to set a different LPM policy -for mobile / laptop variants of chipsets / "South Bridges" vs their -desktop / server counterparts. Also enabling LPM by default is not -entirely without risk of regressions. At least min_power is known to -cause issues with some disks, including some reports of data corruption. - -This commits adds a new ahci.mobile_lpm_policy kernel cmdline option, -which defaults to a new SATA_MOBILE_LPM_POLICY Kconfig option so that -Linux distributions can choose to set a LPM policy for mobile chipsets -by default. - -The reason to have both a kernel cmdline option and a Kconfig default -value for it, is to allow easy overriding of the default to allow -trouble-shooting without needing to rebuild the kernel. - -Signed-off-by: Hans de Goede ---- - drivers/ata/Kconfig | 19 +++++++++++ - drivers/ata/ahci.c | 97 +++++++++++++++++++++++++++++++---------------------- - drivers/ata/ahci.h | 3 ++ - 3 files changed, 78 insertions(+), 41 deletions(-) - -diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig -index cb5339166563..b3fad5663aeb 100644 ---- a/drivers/ata/Kconfig -+++ b/drivers/ata/Kconfig -@@ -92,6 +92,25 @@ config SATA_AHCI - - If unsure, say N. - -+config SATA_MOBILE_LPM_POLICY -+ int "Default SATA Link Power Management policy for mobile chipsets" -+ range 0 4 -+ default 0 -+ depends on SATA_AHCI -+ help -+ Select the Default SATA Link Power Management (LPM) policy to use -+ for mobile / laptop variants of chipsets / "South Bridges". -+ -+ The value set has the following meanings: -+ 0 => Keep firmware settings -+ 1 => Maximum performance -+ 2 => Medium power -+ 3 => Medium power with Device Initiated PM enabled -+ 4 => Minimum power -+ -+ Note "Minimum power" is known to cause issues, including disk -+ corruption, with some disks and should not be used. -+ - config SATA_AHCI_PLATFORM - tristate "Platform AHCI SATA support" - help -diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c -index 44a9d630b7ac..355a95a83a34 100644 ---- a/drivers/ata/ahci.c -+++ b/drivers/ata/ahci.c -@@ -65,6 +65,7 @@ enum board_ids { - /* board IDs by feature in alphabetical order */ - board_ahci, - board_ahci_ign_iferr, -+ board_ahci_mobile, - board_ahci_nomsi, - board_ahci_noncq, - board_ahci_nosntf, -@@ -140,6 +141,13 @@ static const struct ata_port_info ahci_port_info[] = { - .udma_mask = ATA_UDMA6, - .port_ops = &ahci_ops, - }, -+ [board_ahci_mobile] = { -+ AHCI_HFLAGS (AHCI_HFLAG_IS_MOBILE), -+ .flags = AHCI_FLAG_COMMON, -+ .pio_mask = ATA_PIO4, -+ .udma_mask = ATA_UDMA6, -+ .port_ops = &ahci_ops, -+ }, - [board_ahci_nomsi] = { - AHCI_HFLAGS (AHCI_HFLAG_NO_MSI), - .flags = AHCI_FLAG_COMMON, -@@ -252,13 +260,13 @@ static const struct pci_device_id ahci_pci_tbl[] = { - { PCI_VDEVICE(INTEL, 0x2924), board_ahci }, /* ICH9 */ - { PCI_VDEVICE(INTEL, 0x2925), board_ahci }, /* ICH9 */ - { PCI_VDEVICE(INTEL, 0x2927), board_ahci }, /* ICH9 */ -- { PCI_VDEVICE(INTEL, 0x2929), board_ahci }, /* ICH9M */ -- { PCI_VDEVICE(INTEL, 0x292a), board_ahci }, /* ICH9M */ -- { PCI_VDEVICE(INTEL, 0x292b), board_ahci }, /* ICH9M */ -- { PCI_VDEVICE(INTEL, 0x292c), board_ahci }, /* ICH9M */ -- { PCI_VDEVICE(INTEL, 0x292f), board_ahci }, /* ICH9M */ -+ { PCI_VDEVICE(INTEL, 0x2929), board_ahci_mobile }, /* ICH9M */ -+ { PCI_VDEVICE(INTEL, 0x292a), board_ahci_mobile }, /* ICH9M */ -+ { PCI_VDEVICE(INTEL, 0x292b), board_ahci_mobile }, /* ICH9M */ -+ { PCI_VDEVICE(INTEL, 0x292c), board_ahci_mobile }, /* ICH9M */ -+ { PCI_VDEVICE(INTEL, 0x292f), board_ahci_mobile }, /* ICH9M */ - { PCI_VDEVICE(INTEL, 0x294d), board_ahci }, /* ICH9 */ -- { PCI_VDEVICE(INTEL, 0x294e), board_ahci }, /* ICH9M */ -+ { PCI_VDEVICE(INTEL, 0x294e), board_ahci_mobile }, /* ICH9M */ - { PCI_VDEVICE(INTEL, 0x502a), board_ahci }, /* Tolapai */ - { PCI_VDEVICE(INTEL, 0x502b), board_ahci }, /* Tolapai */ - { PCI_VDEVICE(INTEL, 0x3a05), board_ahci }, /* ICH10 */ -@@ -268,9 +276,9 @@ static const struct pci_device_id ahci_pci_tbl[] = { - { PCI_VDEVICE(INTEL, 0x3b23), board_ahci }, /* PCH AHCI */ - { PCI_VDEVICE(INTEL, 0x3b24), board_ahci }, /* PCH RAID */ - { PCI_VDEVICE(INTEL, 0x3b25), board_ahci }, /* PCH RAID */ -- { PCI_VDEVICE(INTEL, 0x3b29), board_ahci }, /* PCH M AHCI */ -+ { PCI_VDEVICE(INTEL, 0x3b29), board_ahci_mobile }, /* PCH M AHCI */ - { PCI_VDEVICE(INTEL, 0x3b2b), board_ahci }, /* PCH RAID */ -- { PCI_VDEVICE(INTEL, 0x3b2c), board_ahci }, /* PCH M RAID */ -+ { PCI_VDEVICE(INTEL, 0x3b2c), board_ahci_mobile }, /* PCH M RAID */ - { PCI_VDEVICE(INTEL, 0x3b2f), board_ahci }, /* PCH AHCI */ - { PCI_VDEVICE(INTEL, 0x19b0), board_ahci }, /* DNV AHCI */ - { PCI_VDEVICE(INTEL, 0x19b1), board_ahci }, /* DNV AHCI */ -@@ -293,9 +301,9 @@ static const struct pci_device_id ahci_pci_tbl[] = { - { PCI_VDEVICE(INTEL, 0x19cE), board_ahci }, /* DNV AHCI */ - { PCI_VDEVICE(INTEL, 0x19cF), board_ahci }, /* DNV AHCI */ - { PCI_VDEVICE(INTEL, 0x1c02), board_ahci }, /* CPT AHCI */ -- { PCI_VDEVICE(INTEL, 0x1c03), board_ahci }, /* CPT M AHCI */ -+ { PCI_VDEVICE(INTEL, 0x1c03), board_ahci_mobile }, /* CPT M AHCI */ - { PCI_VDEVICE(INTEL, 0x1c04), board_ahci }, /* CPT RAID */ -- { PCI_VDEVICE(INTEL, 0x1c05), board_ahci }, /* CPT M RAID */ -+ { PCI_VDEVICE(INTEL, 0x1c05), board_ahci_mobile }, /* CPT M RAID */ - { PCI_VDEVICE(INTEL, 0x1c06), board_ahci }, /* CPT RAID */ - { PCI_VDEVICE(INTEL, 0x1c07), board_ahci }, /* CPT RAID */ - { PCI_VDEVICE(INTEL, 0x1d02), board_ahci }, /* PBG AHCI */ -@@ -304,28 +312,28 @@ static const struct pci_device_id ahci_pci_tbl[] = { - { PCI_VDEVICE(INTEL, 0x2826), board_ahci }, /* PBG RAID */ - { PCI_VDEVICE(INTEL, 0x2323), board_ahci }, /* DH89xxCC AHCI */ - { PCI_VDEVICE(INTEL, 0x1e02), board_ahci }, /* Panther Point AHCI */ -- { PCI_VDEVICE(INTEL, 0x1e03), board_ahci }, /* Panther Point M AHCI */ -+ { PCI_VDEVICE(INTEL, 0x1e03), board_ahci_mobile }, /* Panther M AHCI */ - { PCI_VDEVICE(INTEL, 0x1e04), board_ahci }, /* Panther Point RAID */ - { PCI_VDEVICE(INTEL, 0x1e05), board_ahci }, /* Panther Point RAID */ - { PCI_VDEVICE(INTEL, 0x1e06), board_ahci }, /* Panther Point RAID */ -- { PCI_VDEVICE(INTEL, 0x1e07), board_ahci }, /* Panther Point M RAID */ -+ { PCI_VDEVICE(INTEL, 0x1e07), board_ahci_mobile }, /* Panther M RAID */ - { PCI_VDEVICE(INTEL, 0x1e0e), board_ahci }, /* Panther Point RAID */ - { PCI_VDEVICE(INTEL, 0x8c02), board_ahci }, /* Lynx Point AHCI */ -- { PCI_VDEVICE(INTEL, 0x8c03), board_ahci }, /* Lynx Point M AHCI */ -+ { PCI_VDEVICE(INTEL, 0x8c03), board_ahci_mobile }, /* Lynx M AHCI */ - { PCI_VDEVICE(INTEL, 0x8c04), board_ahci }, /* Lynx Point RAID */ -- { PCI_VDEVICE(INTEL, 0x8c05), board_ahci }, /* Lynx Point M RAID */ -+ { PCI_VDEVICE(INTEL, 0x8c05), board_ahci_mobile }, /* Lynx M RAID */ - { PCI_VDEVICE(INTEL, 0x8c06), board_ahci }, /* Lynx Point RAID */ -- { PCI_VDEVICE(INTEL, 0x8c07), board_ahci }, /* Lynx Point M RAID */ -+ { PCI_VDEVICE(INTEL, 0x8c07), board_ahci_mobile }, /* Lynx M RAID */ - { PCI_VDEVICE(INTEL, 0x8c0e), board_ahci }, /* Lynx Point RAID */ -- { PCI_VDEVICE(INTEL, 0x8c0f), board_ahci }, /* Lynx Point M RAID */ -- { PCI_VDEVICE(INTEL, 0x9c02), board_ahci }, /* Lynx Point-LP AHCI */ -- { PCI_VDEVICE(INTEL, 0x9c03), board_ahci }, /* Lynx Point-LP AHCI */ -- { PCI_VDEVICE(INTEL, 0x9c04), board_ahci }, /* Lynx Point-LP RAID */ -- { PCI_VDEVICE(INTEL, 0x9c05), board_ahci }, /* Lynx Point-LP RAID */ -- { PCI_VDEVICE(INTEL, 0x9c06), board_ahci }, /* Lynx Point-LP RAID */ -- { PCI_VDEVICE(INTEL, 0x9c07), board_ahci }, /* Lynx Point-LP RAID */ -- { PCI_VDEVICE(INTEL, 0x9c0e), board_ahci }, /* Lynx Point-LP RAID */ -- { PCI_VDEVICE(INTEL, 0x9c0f), board_ahci }, /* Lynx Point-LP RAID */ -+ { PCI_VDEVICE(INTEL, 0x8c0f), board_ahci_mobile }, /* Lynx M RAID */ -+ { PCI_VDEVICE(INTEL, 0x9c02), board_ahci_mobile }, /* Lynx LP AHCI */ -+ { PCI_VDEVICE(INTEL, 0x9c03), board_ahci_mobile }, /* Lynx LP AHCI */ -+ { PCI_VDEVICE(INTEL, 0x9c04), board_ahci_mobile }, /* Lynx LP RAID */ -+ { PCI_VDEVICE(INTEL, 0x9c05), board_ahci_mobile }, /* Lynx LP RAID */ -+ { PCI_VDEVICE(INTEL, 0x9c06), board_ahci_mobile }, /* Lynx LP RAID */ -+ { PCI_VDEVICE(INTEL, 0x9c07), board_ahci_mobile }, /* Lynx LP RAID */ -+ { PCI_VDEVICE(INTEL, 0x9c0e), board_ahci_mobile }, /* Lynx LP RAID */ -+ { PCI_VDEVICE(INTEL, 0x9c0f), board_ahci_mobile }, /* Lynx LP RAID */ - { PCI_VDEVICE(INTEL, 0x1f22), board_ahci }, /* Avoton AHCI */ - { PCI_VDEVICE(INTEL, 0x1f23), board_ahci }, /* Avoton AHCI */ - { PCI_VDEVICE(INTEL, 0x1f24), board_ahci }, /* Avoton RAID */ -@@ -353,26 +361,26 @@ static const struct pci_device_id ahci_pci_tbl[] = { - { PCI_VDEVICE(INTEL, 0x8d66), board_ahci }, /* Wellsburg RAID */ - { PCI_VDEVICE(INTEL, 0x8d6e), board_ahci }, /* Wellsburg RAID */ - { PCI_VDEVICE(INTEL, 0x23a3), board_ahci }, /* Coleto Creek AHCI */ -- { PCI_VDEVICE(INTEL, 0x9c83), board_ahci }, /* Wildcat Point-LP AHCI */ -- { PCI_VDEVICE(INTEL, 0x9c85), board_ahci }, /* Wildcat Point-LP RAID */ -- { PCI_VDEVICE(INTEL, 0x9c87), board_ahci }, /* Wildcat Point-LP RAID */ -- { PCI_VDEVICE(INTEL, 0x9c8f), board_ahci }, /* Wildcat Point-LP RAID */ -+ { PCI_VDEVICE(INTEL, 0x9c83), board_ahci_mobile }, /* Wildcat LP AHCI */ -+ { PCI_VDEVICE(INTEL, 0x9c85), board_ahci_mobile }, /* Wildcat LP RAID */ -+ { PCI_VDEVICE(INTEL, 0x9c87), board_ahci_mobile }, /* Wildcat LP RAID */ -+ { PCI_VDEVICE(INTEL, 0x9c8f), board_ahci_mobile }, /* Wildcat LP RAID */ - { PCI_VDEVICE(INTEL, 0x8c82), board_ahci }, /* 9 Series AHCI */ -- { PCI_VDEVICE(INTEL, 0x8c83), board_ahci }, /* 9 Series M AHCI */ -+ { PCI_VDEVICE(INTEL, 0x8c83), board_ahci_mobile }, /* 9 Series M AHCI */ - { PCI_VDEVICE(INTEL, 0x8c84), board_ahci }, /* 9 Series RAID */ -- { PCI_VDEVICE(INTEL, 0x8c85), board_ahci }, /* 9 Series M RAID */ -+ { PCI_VDEVICE(INTEL, 0x8c85), board_ahci_mobile }, /* 9 Series M RAID */ - { PCI_VDEVICE(INTEL, 0x8c86), board_ahci }, /* 9 Series RAID */ -- { PCI_VDEVICE(INTEL, 0x8c87), board_ahci }, /* 9 Series M RAID */ -+ { PCI_VDEVICE(INTEL, 0x8c87), board_ahci_mobile }, /* 9 Series M RAID */ - { PCI_VDEVICE(INTEL, 0x8c8e), board_ahci }, /* 9 Series RAID */ -- { PCI_VDEVICE(INTEL, 0x8c8f), board_ahci }, /* 9 Series M RAID */ -- { PCI_VDEVICE(INTEL, 0x9d03), board_ahci }, /* Sunrise Point-LP AHCI */ -- { PCI_VDEVICE(INTEL, 0x9d05), board_ahci }, /* Sunrise Point-LP RAID */ -- { PCI_VDEVICE(INTEL, 0x9d07), board_ahci }, /* Sunrise Point-LP RAID */ -+ { PCI_VDEVICE(INTEL, 0x8c8f), board_ahci_mobile }, /* 9 Series M RAID */ -+ { PCI_VDEVICE(INTEL, 0x9d03), board_ahci_mobile }, /* Sunrise LP AHCI */ -+ { PCI_VDEVICE(INTEL, 0x9d05), board_ahci_mobile }, /* Sunrise LP RAID */ -+ { PCI_VDEVICE(INTEL, 0x9d07), board_ahci_mobile }, /* Sunrise LP RAID */ - { PCI_VDEVICE(INTEL, 0xa102), board_ahci }, /* Sunrise Point-H AHCI */ -- { PCI_VDEVICE(INTEL, 0xa103), board_ahci }, /* Sunrise Point-H M AHCI */ -+ { PCI_VDEVICE(INTEL, 0xa103), board_ahci_mobile }, /* Sunrise M AHCI */ - { PCI_VDEVICE(INTEL, 0xa105), board_ahci }, /* Sunrise Point-H RAID */ - { PCI_VDEVICE(INTEL, 0xa106), board_ahci }, /* Sunrise Point-H RAID */ -- { PCI_VDEVICE(INTEL, 0xa107), board_ahci }, /* Sunrise Point-H M RAID */ -+ { PCI_VDEVICE(INTEL, 0xa107), board_ahci_mobile }, /* Sunrise M RAID */ - { PCI_VDEVICE(INTEL, 0xa10f), board_ahci }, /* Sunrise Point-H RAID */ - { PCI_VDEVICE(INTEL, 0x2822), board_ahci }, /* Lewisburg RAID*/ - { PCI_VDEVICE(INTEL, 0x2823), board_ahci }, /* Lewisburg AHCI*/ -@@ -387,10 +395,10 @@ static const struct pci_device_id ahci_pci_tbl[] = { - { PCI_VDEVICE(INTEL, 0xa252), board_ahci }, /* Lewisburg RAID*/ - { PCI_VDEVICE(INTEL, 0xa256), board_ahci }, /* Lewisburg RAID*/ - { PCI_VDEVICE(INTEL, 0xa356), board_ahci }, /* Cannon Lake PCH-H RAID */ -- { PCI_VDEVICE(INTEL, 0x0f22), board_ahci }, /* Bay Trail AHCI */ -- { PCI_VDEVICE(INTEL, 0x0f23), board_ahci }, /* Bay Trail AHCI */ -- { PCI_VDEVICE(INTEL, 0x22a3), board_ahci }, /* Cherry Trail AHCI */ -- { PCI_VDEVICE(INTEL, 0x5ae3), board_ahci }, /* Apollo Lake AHCI */ -+ { PCI_VDEVICE(INTEL, 0x0f22), board_ahci_mobile }, /* Bay Trail AHCI */ -+ { PCI_VDEVICE(INTEL, 0x0f23), board_ahci_mobile }, /* Bay Trail AHCI */ -+ { PCI_VDEVICE(INTEL, 0x22a3), board_ahci_mobile }, /* Cherry Tr. AHCI */ -+ { PCI_VDEVICE(INTEL, 0x5ae3), board_ahci_mobile }, /* ApolloLake AHCI */ - - /* JMicron 360/1/3/5/6, match class to avoid IDE function */ - { PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, -@@ -598,6 +606,9 @@ static int marvell_enable = 1; - module_param(marvell_enable, int, 0644); - MODULE_PARM_DESC(marvell_enable, "Marvell SATA via AHCI (1 = enabled)"); - -+static int mobile_lpm_policy = CONFIG_SATA_MOBILE_LPM_POLICY; -+module_param(mobile_lpm_policy, int, 0644); -+MODULE_PARM_DESC(mobile_lpm_policy, "Default LPM policy for mobile chipsets"); - - static void ahci_pci_save_initial_config(struct pci_dev *pdev, - struct ahci_host_priv *hpriv) -@@ -1733,6 +1744,10 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) - if (ap->flags & ATA_FLAG_EM) - ap->em_message_type = hpriv->em_msg_type; - -+ if ((hpriv->flags & AHCI_HFLAG_IS_MOBILE) && -+ mobile_lpm_policy >= ATA_LPM_UNKNOWN && -+ mobile_lpm_policy <= ATA_LPM_MIN_POWER) -+ ap->target_lpm_policy = mobile_lpm_policy; - - /* disabled/not-implemented port */ - if (!(hpriv->port_map & (1 << i))) -diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h -index 749fd94441b0..a9d996e17d75 100644 ---- a/drivers/ata/ahci.h -+++ b/drivers/ata/ahci.h -@@ -251,6 +251,9 @@ enum { - AHCI_HFLAG_YES_ALPM = (1 << 23), /* force ALPM cap on */ - AHCI_HFLAG_NO_WRITE_TO_RO = (1 << 24), /* don't write to read - only registers */ -+ AHCI_HFLAG_IS_MOBILE = (1 << 25), /* mobile chipset, use -+ SATA_MOBILE_LPM_POLICY -+ as default lpm_policy */ - - /* ap->flags bits */ - --- -2.14.3 - 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 deleted file mode 100644 index ce9be37..0000000 --- a/0010-Input-silead-Add-support-for-capactive-home-button-f.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 33fc16fd8aa3684e19b1d1f0a712593e2e570ab1 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -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 ---- - 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/ACPI-sbshc-remove-raw-pointer-from-printk-message.patch b/ACPI-sbshc-remove-raw-pointer-from-printk-message.patch deleted file mode 100644 index 0aa10d0..0000000 --- a/ACPI-sbshc-remove-raw-pointer-from-printk-message.patch +++ /dev/null @@ -1,41 +0,0 @@ -From patchwork Fri Jan 19 09:06:03 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: ACPI: sbshc: remove raw pointer from printk message -From: "gregkh@linuxfoundation.org" -X-Patchwork-Id: 10174835 -Message-Id: <20180119090603.GA7775@kroah.com> -To: "Rafael J. Wysocki" , Len Brown -Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, - Wang Qize -Date: Fri, 19 Jan 2018 10:06:03 +0100 - -There's no need to be printing a raw kernel pointer to the kernel log at -every boot. So just remove it, and change the whole message to use the -correct dev_info() call at the same time. - -Reported-by: Wang Qize -Cc: stable -Signed-off-by: Greg Kroah-Hartman -Acked-by: Rafael J. Wysocki ---- -To unsubscribe from this list: send the line "unsubscribe linux-acpi" 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/drivers/acpi/sbshc.c b/drivers/acpi/sbshc.c -index 2fa8304171e0..217e1caf58d6 100644 ---- a/drivers/acpi/sbshc.c -+++ b/drivers/acpi/sbshc.c -@@ -275,8 +275,8 @@ static int acpi_smbus_hc_add(struct acpi_device *device) - device->driver_data = hc; - - acpi_ec_add_query_handler(hc->ec, hc->query_bit, NULL, smbus_alarm, hc); -- printk(KERN_INFO PREFIX "SBS HC: EC = 0x%p, offset = 0x%0x, query_bit = 0x%0x\n", -- hc->ec, hc->offset, hc->query_bit); -+ dev_info(&device->dev, "SBS HC: offset = 0x%0x, query_bit = 0x%0x\n", -+ hc->offset, hc->query_bit); - - return 0; - } diff --git a/Add-support-for-One-by-Wacom-CTL-472-CTL-672.patch b/Add-support-for-One-by-Wacom-CTL-472-CTL-672.patch deleted file mode 100644 index 3f2d7fc..0000000 --- a/Add-support-for-One-by-Wacom-CTL-472-CTL-672.patch +++ /dev/null @@ -1,51 +0,0 @@ -From patchwork Tue Dec 26 23:50:18 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: Add support for One by Wacom (CTL-472 / CTL-672) -From: Jason Gerecke -X-Patchwork-Id: 10133291 -Message-Id: <20171226235018.5522-1-killertofu@gmail.com> -To: linux-input@vger.kernel.org, Jiri Kosina , - Mx Jing -Cc: Ping Cheng , Aaron Skomra , - Jason Gerecke , - Jason Gerecke -Date: Tue, 26 Dec 2017 15:50:18 -0800 - -Adds support for the second-generation "One by Wacom" tablets. These -devices are similar to the last generation, but a slightly different size -and reporting a higher number of pressure levels. - -Signed-off-by: Mx Jing -Signed-off-by: Jason Gerecke ---- - drivers/hid/wacom_wac.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c -index aa692e28b2cd..5f932ddcdc49 100644 ---- a/drivers/hid/wacom_wac.c -+++ b/drivers/hid/wacom_wac.c -@@ -4376,6 +4376,12 @@ static const struct wacom_features wacom_features_0x360 = - static const struct wacom_features wacom_features_0x361 = - { "Wacom Intuos Pro L", 62200, 43200, 8191, 63, - INTUOSP2_BT, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9, .touch_max = 10 }; -+static const struct wacom_features wacom_features_0x37A = -+ { "Wacom One by Wacom S", 15200, 9500, 2047, 63, -+ BAMBOO_PEN, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; -+static const struct wacom_features wacom_features_0x37B = -+ { "Wacom One by Wacom M", 21600, 13500, 2047, 63, -+ BAMBOO_PEN, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; - - static const struct wacom_features wacom_features_HID_ANY_ID = - { "Wacom HID", .type = HID_GENERIC, .oVid = HID_ANY_ID, .oPid = HID_ANY_ID }; -@@ -4544,6 +4550,8 @@ const struct hid_device_id wacom_ids[] = { - { USB_DEVICE_WACOM(0x343) }, - { BT_DEVICE_WACOM(0x360) }, - { BT_DEVICE_WACOM(0x361) }, -+ { USB_DEVICE_WACOM(0x37A) }, -+ { USB_DEVICE_WACOM(0x37B) }, - { USB_DEVICE_WACOM(0x4001) }, - { USB_DEVICE_WACOM(0x4004) }, - { USB_DEVICE_WACOM(0x5000) }, diff --git a/CVE-2017-7645.patch b/CVE-2017-7645.patch deleted file mode 100644 index 0be019c..0000000 --- a/CVE-2017-7645.patch +++ /dev/null @@ -1,180 +0,0 @@ -From: "J. Bruce Fields" -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ää -Reported-by: Ari Kauppi -Cc: stable@vger.kernel.org -Signed-off-by: J. Bruce Fields ---- - 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/CVE-2018-1000026.patch b/CVE-2018-1000026.patch deleted file mode 100644 index 99e5f64..0000000 --- a/CVE-2018-1000026.patch +++ /dev/null @@ -1,228 +0,0 @@ -From 2b16f048729bf35e6c28a40cbfad07239f9dcd90 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Wed, 31 Jan 2018 14:15:33 +1100 -Subject: [PATCH] net: create skb_gso_validate_mac_len() - -If you take a GSO skb, and split it into packets, will the MAC -length (L2 + L3 + L4 headers + payload) of those packets be small -enough to fit within a given length? - -Move skb_gso_mac_seglen() to skbuff.h with other related functions -like skb_gso_network_seglen() so we can use it, and then create -skb_gso_validate_mac_len to do the full calculation. - -Signed-off-by: Daniel Axtens -Signed-off-by: David S. Miller ---- - include/linux/skbuff.h | 16 +++++++++++++ - net/core/skbuff.c | 63 +++++++++++++++++++++++++++++++++++++++----------- - net/sched/sch_tbf.c | 10 -------- - 3 files changed, 66 insertions(+), 23 deletions(-) - -diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h -index ac89a93b7c83..5ebc0f869720 100644 ---- a/include/linux/skbuff.h -+++ b/include/linux/skbuff.h -@@ -3287,6 +3287,7 @@ int skb_shift(struct sk_buff *tgt, struct sk_buff *skb, int shiftlen); - void skb_scrub_packet(struct sk_buff *skb, bool xnet); - unsigned int skb_gso_transport_seglen(const struct sk_buff *skb); - bool skb_gso_validate_mtu(const struct sk_buff *skb, unsigned int mtu); -+bool skb_gso_validate_mac_len(const struct sk_buff *skb, unsigned int len); - struct sk_buff *skb_segment(struct sk_buff *skb, netdev_features_t features); - struct sk_buff *skb_vlan_untag(struct sk_buff *skb); - int skb_ensure_writable(struct sk_buff *skb, int write_len); -@@ -4120,6 +4121,21 @@ static inline unsigned int skb_gso_network_seglen(const struct sk_buff *skb) - return hdr_len + skb_gso_transport_seglen(skb); - } - -+/** -+ * skb_gso_mac_seglen - Return length of individual segments of a gso packet -+ * -+ * @skb: GSO skb -+ * -+ * skb_gso_mac_seglen is used to determine the real size of the -+ * individual segments, including MAC/L2, Layer3 (IP, IPv6) and L4 -+ * headers (TCP/UDP). -+ */ -+static inline unsigned int skb_gso_mac_seglen(const struct sk_buff *skb) -+{ -+ unsigned int hdr_len = skb_transport_header(skb) - skb_mac_header(skb); -+ return hdr_len + skb_gso_transport_seglen(skb); -+} -+ - /* Local Checksum Offload. - * Compute outer checksum based on the assumption that the - * inner checksum will be offloaded later. -diff --git a/net/core/skbuff.c b/net/core/skbuff.c -index 01e8285aea73..8c61c27c1b28 100644 ---- a/net/core/skbuff.c -+++ b/net/core/skbuff.c -@@ -4914,37 +4914,74 @@ unsigned int skb_gso_transport_seglen(const struct sk_buff *skb) - EXPORT_SYMBOL_GPL(skb_gso_transport_seglen); - - /** -- * skb_gso_validate_mtu - Return in case such skb fits a given MTU -+ * skb_gso_size_check - check the skb size, considering GSO_BY_FRAGS - * -- * @skb: GSO skb -- * @mtu: MTU to validate against -+ * There are a couple of instances where we have a GSO skb, and we -+ * want to determine what size it would be after it is segmented. - * -- * skb_gso_validate_mtu validates if a given skb will fit a wanted MTU -- * once split. -+ * We might want to check: -+ * - L3+L4+payload size (e.g. IP forwarding) -+ * - L2+L3+L4+payload size (e.g. sanity check before passing to driver) -+ * -+ * This is a helper to do that correctly considering GSO_BY_FRAGS. -+ * -+ * @seg_len: The segmented length (from skb_gso_*_seglen). In the -+ * GSO_BY_FRAGS case this will be [header sizes + GSO_BY_FRAGS]. -+ * -+ * @max_len: The maximum permissible length. -+ * -+ * Returns true if the segmented length <= max length. - */ --bool skb_gso_validate_mtu(const struct sk_buff *skb, unsigned int mtu) --{ -+static inline bool skb_gso_size_check(const struct sk_buff *skb, -+ unsigned int seg_len, -+ unsigned int max_len) { - const struct skb_shared_info *shinfo = skb_shinfo(skb); - const struct sk_buff *iter; -- unsigned int hlen; -- -- hlen = skb_gso_network_seglen(skb); - - if (shinfo->gso_size != GSO_BY_FRAGS) -- return hlen <= mtu; -+ return seg_len <= max_len; - - /* Undo this so we can re-use header sizes */ -- hlen -= GSO_BY_FRAGS; -+ seg_len -= GSO_BY_FRAGS; - - skb_walk_frags(skb, iter) { -- if (hlen + skb_headlen(iter) > mtu) -+ if (seg_len + skb_headlen(iter) > max_len) - return false; - } - - return true; - } -+ -+/** -+ * skb_gso_validate_mtu - Return in case such skb fits a given MTU -+ * -+ * @skb: GSO skb -+ * @mtu: MTU to validate against -+ * -+ * skb_gso_validate_mtu validates if a given skb will fit a wanted MTU -+ * once split. -+ */ -+bool skb_gso_validate_mtu(const struct sk_buff *skb, unsigned int mtu) -+{ -+ return skb_gso_size_check(skb, skb_gso_network_seglen(skb), mtu); -+} - EXPORT_SYMBOL_GPL(skb_gso_validate_mtu); - -+/** -+ * skb_gso_validate_mac_len - Will a split GSO skb fit in a given length? -+ * -+ * @skb: GSO skb -+ * @len: length to validate against -+ * -+ * skb_gso_validate_mac_len validates if a given skb will fit a wanted -+ * length once split, including L2, L3 and L4 headers and the payload. -+ */ -+bool skb_gso_validate_mac_len(const struct sk_buff *skb, unsigned int len) -+{ -+ return skb_gso_size_check(skb, skb_gso_mac_seglen(skb), len); -+} -+EXPORT_SYMBOL_GPL(skb_gso_validate_mac_len); -+ - static struct sk_buff *skb_reorder_vlan_header(struct sk_buff *skb) - { - if (skb_cow(skb, skb_headroom(skb)) < 0) { -diff --git a/net/sched/sch_tbf.c b/net/sched/sch_tbf.c -index 83e76d046993..229172d509cc 100644 ---- a/net/sched/sch_tbf.c -+++ b/net/sched/sch_tbf.c -@@ -142,16 +142,6 @@ static u64 psched_ns_t2l(const struct psched_ratecfg *r, - return len; - } - --/* -- * Return length of individual segments of a gso packet, -- * including all headers (MAC, IP, TCP/UDP) -- */ --static unsigned int skb_gso_mac_seglen(const struct sk_buff *skb) --{ -- unsigned int hdr_len = skb_transport_header(skb) - skb_mac_header(skb); -- return hdr_len + skb_gso_transport_seglen(skb); --} -- - /* GSO packet is too big, segment it so that tbf can transmit - * each segment in time - */ --- -2.14.3 - -From 8914a595110a6eca69a5e275b323f5d09e18f4f9 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Wed, 31 Jan 2018 14:15:34 +1100 -Subject: [PATCH] bnx2x: disable GSO where gso_size is too big for hardware - -If a bnx2x card is passed a GSO packet with a gso_size larger than -~9700 bytes, it will cause a firmware error that will bring the card -down: - -bnx2x: [bnx2x_attn_int_deasserted3:4323(enP24p1s0f0)]MC assert! -bnx2x: [bnx2x_mc_assert:720(enP24p1s0f0)]XSTORM_ASSERT_LIST_INDEX 0x2 -bnx2x: [bnx2x_mc_assert:736(enP24p1s0f0)]XSTORM_ASSERT_INDEX 0x0 = 0x00000000 0x25e43e47 0x00463e01 0x00010052 -bnx2x: [bnx2x_mc_assert:750(enP24p1s0f0)]Chip Revision: everest3, FW Version: 7_13_1 -... (dump of values continues) ... - -Detect when the mac length of a GSO packet is greater than the maximum -packet size (9700 bytes) and disable GSO. - -Signed-off-by: Daniel Axtens -Reviewed-by: Eric Dumazet -Signed-off-by: David S. Miller ---- - drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c -index 7b08323e3f3d..74fc9af4aadb 100644 ---- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c -+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c -@@ -12934,6 +12934,24 @@ static netdev_features_t bnx2x_features_check(struct sk_buff *skb, - struct net_device *dev, - netdev_features_t features) - { -+ /* -+ * A skb with gso_size + header length > 9700 will cause a -+ * firmware panic. Drop GSO support. -+ * -+ * Eventually the upper layer should not pass these packets down. -+ * -+ * For speed, if the gso_size is <= 9000, assume there will -+ * not be 700 bytes of headers and pass it through. Only do a -+ * full (slow) validation if the gso_size is > 9000. -+ * -+ * (Due to the way SKB_BY_FRAGS works this will also do a full -+ * validation in that case.) -+ */ -+ if (unlikely(skb_is_gso(skb) && -+ (skb_shinfo(skb)->gso_size > 9000) && -+ !skb_gso_validate_mac_len(skb, 9700))) -+ features &= ~NETIF_F_GSO_MASK; -+ - features = vlan_features_check(skb, features); - return vxlan_features_check(skb, features); - } --- -2.14.3 - diff --git a/HID-rmi-Check-that-a-device-is-a-RMI-device-before-c.patch b/HID-rmi-Check-that-a-device-is-a-RMI-device-before-c.patch deleted file mode 100644 index d6a8e6a..0000000 --- a/HID-rmi-Check-that-a-device-is-a-RMI-device-before-c.patch +++ /dev/null @@ -1,54 +0,0 @@ -From ef14a4bf0910d06c7e202552914028d4956809cb Mon Sep 17 00:00:00 2001 -From: Andrew Duggan -Date: Tue, 17 Oct 2017 18:37:36 -0700 -Subject: [PATCH] HID: rmi: Check that a device is a RMI device before calling - RMI functions - -The hid-rmi driver may handle non rmi devices on composite USB devices. -Callbacks need to make sure that the current device is a RMI device before -calling RMI specific functions. Most callbacks already have this check, but -this patch adds checks to the remaining callbacks. - -Reported-by: Hendrik Langer -Tested-by: Hendrik Langer -Reviewed-by: Benjamin Tissoires -Signed-off-by: Andrew Duggan -Signed-off-by: Jiri Kosina ---- - drivers/hid/hid-rmi.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c -index ef241d66562e..0f43c4292685 100644 ---- a/drivers/hid/hid-rmi.c -+++ b/drivers/hid/hid-rmi.c -@@ -368,6 +368,11 @@ static int rmi_check_sanity(struct hid_device *hdev, u8 *data, int size) - static int rmi_raw_event(struct hid_device *hdev, - struct hid_report *report, u8 *data, int size) - { -+ struct rmi_data *hdata = hid_get_drvdata(hdev); -+ -+ if (!(hdata->device_flags & RMI_DEVICE)) -+ return 0; -+ - size = rmi_check_sanity(hdev, data, size); - if (size < 2) - return 0; -@@ -713,9 +718,11 @@ static void rmi_remove(struct hid_device *hdev) - { - struct rmi_data *hdata = hid_get_drvdata(hdev); - -- clear_bit(RMI_STARTED, &hdata->flags); -- cancel_work_sync(&hdata->reset_work); -- rmi_unregister_transport_device(&hdata->xport); -+ if (hdata->device_flags & RMI_DEVICE) { -+ clear_bit(RMI_STARTED, &hdata->flags); -+ cancel_work_sync(&hdata->reset_work); -+ rmi_unregister_transport_device(&hdata->xport); -+ } - - hid_hw_stop(hdev); - } --- -2.14.3 - diff --git a/arm-clk-bcm2835-hdmi-fixes.patch b/arm-clk-bcm2835-hdmi-fixes.patch deleted file mode 100644 index ae76f39..0000000 --- a/arm-clk-bcm2835-hdmi-fixes.patch +++ /dev/null @@ -1,56 +0,0 @@ -From patchwork Thu Feb 8 13:43:37 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [3/4] clk: bcm2835: De-assert/assert PLL reset signal when appropriate -From: Boris Brezillon -X-Patchwork-Id: 10207157 -Message-Id: <20180208134338.24590-3-boris.brezillon@bootlin.com> -To: Florian Fainelli , Ray Jui , - Scott Branden , - bcm-kernel-feedback-list@broadcom.com, - Stephen Warren , - Lee Jones , Eric Anholt , - linux-rpi-kernel@lists.infradead.org, - Mike Turquette , - Stephen Boyd , linux-clk@vger.kernel.org -Cc: Boris Brezillon , stable@vger.kernel.org -Date: Thu, 8 Feb 2018 14:43:37 +0100 - -In order to enable a PLL, not only the PLL has to be powered up and -locked, but you also have to de-assert the reset signal. The last part -was missing. Add it so PLLs that were not enabled by the FW/bootloader -can be enabled from Linux. - -Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain clocks") -Cc: -Signed-off-by: Boris Brezillon ---- - drivers/clk/bcm/clk-bcm2835.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index a07f6451694a..6c5d4a8e426c 100644 ---- a/drivers/clk/bcm/clk-bcm2835.c -+++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -602,6 +602,9 @@ static void bcm2835_pll_off(struct clk_hw *hw) - const struct bcm2835_pll_data *data = pll->data; - - spin_lock(&cprman->regs_lock); -+ cprman_write(cprman, data->a2w_ctrl_reg, -+ cprman_read(cprman, data->a2w_ctrl_reg) & -+ ~A2W_PLL_CTRL_PRST_DISABLE); - cprman_write(cprman, data->cm_ctrl_reg, - cprman_read(cprman, data->cm_ctrl_reg) | - CM_PLL_ANARST); -@@ -640,6 +643,10 @@ static int bcm2835_pll_on(struct clk_hw *hw) - cpu_relax(); - } - -+ cprman_write(cprman, data->a2w_ctrl_reg, -+ cprman_read(cprman, data->a2w_ctrl_reg) | -+ A2W_PLL_CTRL_PRST_DISABLE); -+ - return 0; - } - diff --git a/arm-exynos-fix-dwc3-neg.patch b/arm-exynos-fix-dwc3-neg.patch deleted file mode 100644 index b80a4f9..0000000 --- a/arm-exynos-fix-dwc3-neg.patch +++ /dev/null @@ -1,283 +0,0 @@ -From d8c80bb3b55b0821e1cf6a4814262c152ae5bc4b Mon Sep 17 00:00:00 2001 -From: Vivek Gautam -Date: Mon, 9 Oct 2017 14:00:51 +0200 -Subject: phy: exynos5-usbdrd: Calibrate LOS levels for exynos5420/5800 - -Adding phy calibration sequence for USB 3.0 DRD PHY present on -Exynos5420/5800 systems. -This calibration facilitates setting certain PHY parameters viz. -the Loss-of-Signal (LOS) Detector Threshold Level, as well as -Tx-Vboost-Level for Super-Speed operations. -Additionally we also set proper time to wait for RxDetect measurement, -for desired PHY reference clock, so as to solve issue with enumeration -of few USB 3.0 devices, like Samsung SUM-TSB16S 3.0 USB drive -on the controller. - -We are using CR_port for this purpose to send required data -to override the LOS values. - -On testing with USB 3.0 devices on USB 3.0 port present on -SMDK5420, and peach-pit boards should see following message: -usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd - -and without this patch, should see below shown message: -usb 1-1: new high-speed USB device number 2 using xhci-hcd - -[Also removed unnecessary extra lines in the register macro definitions] - -Signed-off-by: Vivek Gautam -[adapted to use phy_calibrate as entry point] -Signed-off-by: Andrzej Pietrasiewicz -Acked-by: Felipe Balbi -Signed-off-by: Kishon Vijay Abraham I - -Signed-off-by: Kishon Vijay Abraham I ---- - drivers/phy/samsung/phy-exynos5-usbdrd.c | 183 +++++++++++++++++++++++++++++++ - drivers/usb/dwc3/core.c | 2 + - 2 files changed, 185 insertions(+) - -diff --git a/drivers/phy/samsung/phy-exynos5-usbdrd.c b/drivers/phy/samsung/phy-exynos5-usbdrd.c -index 22c68f5..b8b226a 100644 ---- a/drivers/phy/samsung/phy-exynos5-usbdrd.c -+++ b/drivers/phy/samsung/phy-exynos5-usbdrd.c -@@ -90,7 +90,17 @@ - #define PHYCLKRST_COMMONONN BIT(0) - - #define EXYNOS5_DRD_PHYREG0 0x14 -+#define PHYREG0_SSC_REF_CLK_SEL BIT(21) -+#define PHYREG0_SSC_RANGE BIT(20) -+#define PHYREG0_CR_WRITE BIT(19) -+#define PHYREG0_CR_READ BIT(18) -+#define PHYREG0_CR_DATA_IN(_x) ((_x) << 2) -+#define PHYREG0_CR_CAP_DATA BIT(1) -+#define PHYREG0_CR_CAP_ADDR BIT(0) -+ - #define EXYNOS5_DRD_PHYREG1 0x18 -+#define PHYREG1_CR_DATA_OUT(_x) ((_x) << 1) -+#define PHYREG1_CR_ACK BIT(0) - - #define EXYNOS5_DRD_PHYPARAM0 0x1c - -@@ -119,6 +129,25 @@ - #define EXYNOS5_DRD_PHYRESUME 0x34 - #define EXYNOS5_DRD_LINKPORT 0x44 - -+/* USB 3.0 DRD PHY SS Function Control Reg; accessed by CR_PORT */ -+#define EXYNOS5_DRD_PHYSS_LOSLEVEL_OVRD_IN (0x15) -+#define LOSLEVEL_OVRD_IN_LOS_BIAS_5420 (0x5 << 13) -+#define LOSLEVEL_OVRD_IN_LOS_BIAS_DEFAULT (0x0 << 13) -+#define LOSLEVEL_OVRD_IN_EN (0x1 << 10) -+#define LOSLEVEL_OVRD_IN_LOS_LEVEL_DEFAULT (0x9 << 0) -+ -+#define EXYNOS5_DRD_PHYSS_TX_VBOOSTLEVEL_OVRD_IN (0x12) -+#define TX_VBOOSTLEVEL_OVRD_IN_VBOOST_5420 (0x5 << 13) -+#define TX_VBOOSTLEVEL_OVRD_IN_VBOOST_DEFAULT (0x4 << 13) -+ -+#define EXYNOS5_DRD_PHYSS_LANE0_TX_DEBUG (0x1010) -+#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_19M2_20M (0x4 << 4) -+#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_24M (0x8 << 4) -+#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_25M_26M (0x8 << 4) -+#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_48M_50M_52M (0x20 << 4) -+#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_62M5 (0x20 << 4) -+#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_96M_100M (0x40 << 4) -+ - #define KHZ 1000 - #define MHZ (KHZ * KHZ) - -@@ -527,6 +556,151 @@ static int exynos5_usbdrd_phy_power_off(struct phy *phy) - return 0; - } - -+static int crport_handshake(struct exynos5_usbdrd_phy *phy_drd, -+ u32 val, u32 cmd) -+{ -+ u32 usec = 100; -+ unsigned int result; -+ -+ writel(val | cmd, phy_drd->reg_phy + EXYNOS5_DRD_PHYREG0); -+ -+ do { -+ result = readl(phy_drd->reg_phy + EXYNOS5_DRD_PHYREG1); -+ if (result & PHYREG1_CR_ACK) -+ break; -+ -+ udelay(1); -+ } while (usec-- > 0); -+ -+ if (!usec) { -+ dev_err(phy_drd->dev, -+ "CRPORT handshake timeout1 (0x%08x)\n", val); -+ return -ETIME; -+ } -+ -+ usec = 100; -+ -+ writel(val, phy_drd->reg_phy + EXYNOS5_DRD_PHYREG0); -+ -+ do { -+ result = readl(phy_drd->reg_phy + EXYNOS5_DRD_PHYREG1); -+ if (!(result & PHYREG1_CR_ACK)) -+ break; -+ -+ udelay(1); -+ } while (usec-- > 0); -+ -+ if (!usec) { -+ dev_err(phy_drd->dev, -+ "CRPORT handshake timeout2 (0x%08x)\n", val); -+ return -ETIME; -+ } -+ -+ return 0; -+} -+ -+static int crport_ctrl_write(struct exynos5_usbdrd_phy *phy_drd, -+ u32 addr, u32 data) -+{ -+ int ret; -+ -+ /* Write Address */ -+ writel(PHYREG0_CR_DATA_IN(addr), -+ phy_drd->reg_phy + EXYNOS5_DRD_PHYREG0); -+ ret = crport_handshake(phy_drd, PHYREG0_CR_DATA_IN(addr), -+ PHYREG0_CR_CAP_ADDR); -+ if (ret) -+ return ret; -+ -+ /* Write Data */ -+ writel(PHYREG0_CR_DATA_IN(data), -+ phy_drd->reg_phy + EXYNOS5_DRD_PHYREG0); -+ ret = crport_handshake(phy_drd, PHYREG0_CR_DATA_IN(data), -+ PHYREG0_CR_CAP_DATA); -+ if (ret) -+ return ret; -+ -+ ret = crport_handshake(phy_drd, PHYREG0_CR_DATA_IN(data), -+ PHYREG0_CR_WRITE); -+ -+ return ret; -+} -+ -+/* -+ * Calibrate few PHY parameters using CR_PORT register to meet -+ * SuperSpeed requirements on Exynos5420 and Exynos5800 systems, -+ * which have 28nm USB 3.0 DRD PHY. -+ */ -+static int exynos5420_usbdrd_phy_calibrate(struct exynos5_usbdrd_phy *phy_drd) -+{ -+ unsigned int temp; -+ int ret = 0; -+ -+ /* -+ * Change los_bias to (0x5) for 28nm PHY from a -+ * default value (0x0); los_level is set as default -+ * (0x9) as also reflected in los_level[30:26] bits -+ * of PHYPARAM0 register. -+ */ -+ temp = LOSLEVEL_OVRD_IN_LOS_BIAS_5420 | -+ LOSLEVEL_OVRD_IN_EN | -+ LOSLEVEL_OVRD_IN_LOS_LEVEL_DEFAULT; -+ ret = crport_ctrl_write(phy_drd, -+ EXYNOS5_DRD_PHYSS_LOSLEVEL_OVRD_IN, -+ temp); -+ if (ret) { -+ dev_err(phy_drd->dev, -+ "Failed setting Loss-of-Signal level for SuperSpeed\n"); -+ return ret; -+ } -+ -+ /* -+ * Set tx_vboost_lvl to (0x5) for 28nm PHY Tuning, -+ * to raise Tx signal level from its default value of (0x4) -+ */ -+ temp = TX_VBOOSTLEVEL_OVRD_IN_VBOOST_5420; -+ ret = crport_ctrl_write(phy_drd, -+ EXYNOS5_DRD_PHYSS_TX_VBOOSTLEVEL_OVRD_IN, -+ temp); -+ if (ret) { -+ dev_err(phy_drd->dev, -+ "Failed setting Tx-Vboost-Level for SuperSpeed\n"); -+ return ret; -+ } -+ -+ /* -+ * Set proper time to wait for RxDetect measurement, for -+ * desired reference clock of PHY, by tuning the CR_PORT -+ * register LANE0.TX_DEBUG which is internal to PHY. -+ * This fixes issue with few USB 3.0 devices, which are -+ * not detected (not even generate interrupts on the bus -+ * on insertion) without this change. -+ * e.g. Samsung SUM-TSB16S 3.0 USB drive. -+ */ -+ switch (phy_drd->extrefclk) { -+ case EXYNOS5_FSEL_50MHZ: -+ temp = LANE0_TX_DEBUG_RXDET_MEAS_TIME_48M_50M_52M; -+ break; -+ case EXYNOS5_FSEL_20MHZ: -+ case EXYNOS5_FSEL_19MHZ2: -+ temp = LANE0_TX_DEBUG_RXDET_MEAS_TIME_19M2_20M; -+ break; -+ case EXYNOS5_FSEL_24MHZ: -+ default: -+ temp = LANE0_TX_DEBUG_RXDET_MEAS_TIME_24M; -+ break; -+ } -+ -+ ret = crport_ctrl_write(phy_drd, -+ EXYNOS5_DRD_PHYSS_LANE0_TX_DEBUG, -+ temp); -+ if (ret) -+ dev_err(phy_drd->dev, -+ "Fail to set RxDet measurement time for SuperSpeed\n"); -+ -+ return ret; -+} -+ - static struct phy *exynos5_usbdrd_phy_xlate(struct device *dev, - struct of_phandle_args *args) - { -@@ -538,11 +712,20 @@ static struct phy *exynos5_usbdrd_phy_xlate(struct device *dev, - return phy_drd->phys[args->args[0]].phy; - } - -+static int exynos5_usbdrd_phy_calibrate(struct phy *phy) -+{ -+ struct phy_usb_instance *inst = phy_get_drvdata(phy); -+ struct exynos5_usbdrd_phy *phy_drd = to_usbdrd_phy(inst); -+ -+ return exynos5420_usbdrd_phy_calibrate(phy_drd); -+} -+ - static const struct phy_ops exynos5_usbdrd_phy_ops = { - .init = exynos5_usbdrd_phy_init, - .exit = exynos5_usbdrd_phy_exit, - .power_on = exynos5_usbdrd_phy_power_on, - .power_off = exynos5_usbdrd_phy_power_off, -+ .calibrate = exynos5_usbdrd_phy_calibrate, - .owner = THIS_MODULE, - }; - -diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c -index 0783250..71707a3 100644 ---- a/drivers/usb/dwc3/core.c -+++ b/drivers/usb/dwc3/core.c -@@ -147,6 +147,7 @@ static void __dwc3_set_mode(struct work_struct *work) - otg_set_vbus(dwc->usb2_phy->otg, true); - phy_set_mode(dwc->usb2_generic_phy, PHY_MODE_USB_HOST); - phy_set_mode(dwc->usb3_generic_phy, PHY_MODE_USB_HOST); -+ phy_calibrate(dwc->usb2_generic_phy); - } - break; - case DWC3_GCTL_PRTCAP_DEVICE: -@@ -945,6 +946,7 @@ static int dwc3_core_init_mode(struct dwc3 *dwc) - dev_err(dev, "failed to initialize host\n"); - return ret; - } -+ phy_calibrate(dwc->usb2_generic_phy); - break; - case USB_DR_MODE_OTG: - INIT_WORK(&dwc->drd_work, __dwc3_set_mode); --- -cgit v1.1 - diff --git a/arm-imx6-cpufreq-fix-loading.patch b/arm-imx6-cpufreq-fix-loading.patch deleted file mode 100644 index 3c4811c..0000000 --- a/arm-imx6-cpufreq-fix-loading.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d0404738c687c0ecaa7d6b7c5c39e4c0dac791e6 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Tue, 30 Jan 2018 10:55:26 +0100 -Subject: arm: imx: Add MODULE_ALIAS for cpufreq - -Without this, the imx6q-cpufreq driver isn't loaded -automatically when built as a module - -Tested on wandboard quad with a fedora 27 kernel rpm - -Signed-off-by: Nicolas Chauvet -Acked-by: Viresh Kumar -Signed-off-by: Rafael J. Wysocki ---- - drivers/cpufreq/imx6q-cpufreq.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/cpufreq/imx6q-cpufreq.c b/drivers/cpufreq/imx6q-cpufreq.c -index 741f22e..ff67859 100644 ---- a/drivers/cpufreq/imx6q-cpufreq.c -+++ b/drivers/cpufreq/imx6q-cpufreq.c -@@ -504,6 +504,7 @@ static struct platform_driver imx6q_cpufreq_platdrv = { - }; - module_platform_driver(imx6q_cpufreq_platdrv); - -+MODULE_ALIAS("platform:imx6q-cpufreq"); - MODULE_AUTHOR("Shawn Guo "); - MODULE_DESCRIPTION("Freescale i.MX6Q cpufreq driver"); - MODULE_LICENSE("GPL"); --- -cgit v1.1 - diff --git a/arm-imx6-hummingboard2.patch b/arm-imx6-hummingboard2.patch deleted file mode 100644 index 9c55a7b..0000000 --- a/arm-imx6-hummingboard2.patch +++ /dev/null @@ -1,902 +0,0 @@ -From e9e601215d294d473a593641b1ecfd1fa4586a90 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Thu, 6 Apr 2017 13:52:54 +0100 -Subject: [PATCH 1/4] [RFC,v2,1/4] ARM: dts: imx6qdl: add HummingBoard2 boards - -From: Jon Nettleton - -This adds support for the Hummingboard Gate and Edge devices from -SolidRun. - -Signed-off-by: Jon Nettleton -Signed-off-by: Rabeeh Khoury -Signed-off-by: Russell King ---- - arch/arm/boot/dts/Makefile | 2 + - arch/arm/boot/dts/imx6dl-hummingboard2.dts | 52 +++ - arch/arm/boot/dts/imx6q-hummingboard2.dts | 60 +++ - arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 543 +++++++++++++++++++++++++++ - 4 files changed, 657 insertions(+) - create mode 100644 arch/arm/boot/dts/imx6dl-hummingboard2.dts - create mode 100644 arch/arm/boot/dts/imx6q-hummingboard2.dts - create mode 100644 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -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-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-gw5904.dtb \ - imx6q-h100.dtb \ - imx6q-hummingboard.dtb \ -+ imx6q-hummingboard2.dtb \ - imx6q-icore.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 ---- /dev/null -+++ b/arch/arm/boot/dts/imx6dl-hummingboard2.dts -@@ -0,0 +1,52 @@ -+/* -+ * Device Tree file for SolidRun HummingBoard2 -+ * Copyright (C) 2015 Rabeeh Khoury -+ * Based on work by Russell King -+ * -+ * 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. -+ * -+ * 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 , 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 "imx6dl.dtsi" -+#include "imx6qdl-hummingboard2.dtsi" -+ -+/ { -+ model = "SolidRun HummingBoard2 Solo/DualLite"; -+ compatible = "solidrun,hummingboard2/dl", "fsl,imx6dl"; -+}; -diff --git a/arch/arm/boot/dts/imx6q-hummingboard2.dts b/arch/arm/boot/dts/imx6q-hummingboard2.dts -new file mode 100644 -index 000000000000..f5eec9163bb8 ---- /dev/null -+++ b/arch/arm/boot/dts/imx6q-hummingboard2.dts -@@ -0,0 +1,60 @@ -+/* -+ * Device Tree file for SolidRun HummingBoard2 -+ * Copyright (C) 2015 Rabeeh Khoury -+ * Based on work by Russell King -+ * -+ * 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. -+ * -+ * 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 , 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 "imx6q.dtsi" -+#include "imx6qdl-hummingboard2.dtsi" -+ -+/ { -+ model = "SolidRun HummingBoard2 Dual/Quad"; -+ compatible = "solidrun,hummingboard2/q", "fsl,imx6q"; -+}; -+ -+&sata { -+ status = "okay"; -+ fsl,transmit-level-mV = <1104>; -+ fsl,transmit-boost-mdB = <0>; -+ fsl,transmit-atten-16ths = <9>; -+ fsl,no-spread-spectrum; -+}; -diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -new file mode 100644 -index 000000000000..11b63f6f2b89 ---- /dev/null -+++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -@@ -0,0 +1,543 @@ -+/* -+ * Device Tree file for SolidRun HummingBoard2 -+ * Copyright (C) 2015 Rabeeh Khoury -+ * -+ * 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. -+ * -+ * 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 "imx6qdl-microsom.dtsi" -+#include "imx6qdl-microsom-ar8035.dtsi" -+ -+/ { -+ chosen { -+ stdout-path = &uart1; -+ }; -+ -+ ir_recv: ir-receiver { -+ compatible = "gpio-ir-receiver"; -+ gpios = <&gpio7 9 1>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_gpio7_9>; -+ linux,rc-map-name = "rc-rc6-mce"; -+ }; -+ -+ usdhc2_pwrseq: usdhc2-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ reg_3p3v: regulator-3p3v { -+ compatible = "regulator-fixed"; -+ regulator-name = "3P3V"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ -+ reg_1p8v: regulator-1p8v { -+ compatible = "regulator-fixed"; -+ regulator-name = "1P8V"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ }; -+ -+ reg_usbh1_vbus: regulator-usb-h1-vbus { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpio = <&gpio1 0 0>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbh1_vbus>; -+ regulator-name = "usb_h1_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ }; -+ -+ reg_usbotg_vbus: regulator-usb-otg-vbus { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpio = <&gpio3 22 0>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>; -+ regulator-name = "usb_otg_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ }; -+ -+ reg_usbh2_vbus: regulator-usb-h2-vbus { -+ compatible = "regulator-gpio"; -+ enable-active-high; -+ enable-gpio = <&gpio2 13 0>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbh2_vbus>; -+ regulator-name = "usb_h2_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-boot-on; -+ }; -+ -+ reg_usbh3_vbus: regulator-usb-h3-vbus { -+ compatible = "regulator-gpio"; -+ enable-active-high; -+ enable-gpio = <&gpio7 10 0>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbh3_vbus>; -+ regulator-name = "usb_h3_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-boot-on; -+ }; -+ -+ sound-sgtl5000 { -+ audio-codec = <&sgtl5000>; -+ audio-routing = -+ "MIC_IN", "Mic Jack", -+ "Mic Jack", "Mic Bias", -+ "Headphone Jack", "HP_OUT"; -+ compatible = "fsl,imx-audio-sgtl5000"; -+ model = "On-board Codec"; -+ mux-ext-port = <5>; -+ mux-int-port = <1>; -+ ssi-controller = <&ssi1>; -+ }; -+}; -+ -+&audmux { -+ status = "okay"; -+}; -+ -+&ecspi2 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_ecspi2>; -+ cs-gpios = <&gpio2 26 0>; -+ status = "okay"; -+}; -+ -+&hdmi { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_hdmi>; -+ ddc-i2c-bus = <&i2c2>; -+ status = "okay"; -+}; -+ -+&i2c1 { -+ clock-frequency = <100000>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_i2c1>; -+ status = "okay"; -+ -+ pcf8523: rtc@68 { -+ compatible = "nxp,pcf8523"; -+ reg = <0x68>; -+ nxp,12p5_pf; -+ }; -+ -+ sgtl5000: codec@0a { -+ clocks = <&clks IMX6QDL_CLK_CKO>; -+ compatible = "fsl,sgtl5000"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_sgtl5000>; -+ reg = <0x0a>; -+ VDDA-supply = <®_3p3v>; -+ VDDIO-supply = <®_3p3v>; -+ }; -+}; -+ -+&i2c2 { -+ clock-frequency = <100000>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_i2c2>; -+ status = "okay"; -+}; -+ -+&i2c3 { -+ clock-frequency = <100000>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_i2c3>; -+ status = "okay"; -+}; -+ -+&iomuxc { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hog>; -+ -+ hummingboard2 { -+ pinctrl_hog: hoggrp { -+ fsl,pins = < -+ /* -+ * 36 pin headers GPIO description. The pins -+ * numbering as following - -+ * -+ * 3.2v 5v 74 75 -+ * 73 72 71 70 -+ * 69 68 67 66 -+ * -+ * 77 78 79 76 -+ * 65 64 61 60 -+ * 53 52 51 50 -+ * 49 48 166 132 -+ * 95 94 90 91 -+ * GND 54 24 204 -+ * -+ * The GPIO numbers can be extracted using -+ * signal name from below. -+ * Example - -+ * MX6QDL_PAD_EIM_DA10__GPIO3_IO10 is -+ * GPIO(3,10) which is (3-1)*32+10 = gpio 74 -+ * -+ * i.e. The mapping of GPIO(X,Y) to Linux gpio -+ * number is : gpio number = (X-1) * 32 + Y -+ */ -+ /* DI1_PIN15 */ -+ MX6QDL_PAD_EIM_DA10__GPIO3_IO10 0x400130b1 -+ /* DI1_PIN02 */ -+ MX6QDL_PAD_EIM_DA11__GPIO3_IO11 0x400130b1 -+ /* DISP1_DATA00 */ -+ MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x400130b1 -+ /* DISP1_DATA01 */ -+ MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x400130b1 -+ /* DISP1_DATA02 */ -+ MX6QDL_PAD_EIM_DA7__GPIO3_IO07 0x400130b1 -+ /* DISP1_DATA03 */ -+ MX6QDL_PAD_EIM_DA6__GPIO3_IO06 0x400130b1 -+ /* DISP1_DATA04 */ -+ MX6QDL_PAD_EIM_DA5__GPIO3_IO05 0x400130b1 -+ /* DISP1_DATA05 */ -+ MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0x400130b1 -+ /* DISP1_DATA06 */ -+ MX6QDL_PAD_EIM_DA3__GPIO3_IO03 0x400130b1 -+ /* DISP1_DATA07 */ -+ MX6QDL_PAD_EIM_DA2__GPIO3_IO02 0x400130b1 -+ /* DI1_D0_CS */ -+ MX6QDL_PAD_EIM_DA13__GPIO3_IO13 0x400130b1 -+ /* DI1_D1_CS */ -+ MX6QDL_PAD_EIM_DA14__GPIO3_IO14 0x400130b1 -+ /* DI1_PIN01 */ -+ MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x400130b1 -+ /* DI1_PIN03 */ -+ MX6QDL_PAD_EIM_DA12__GPIO3_IO12 0x400130b1 -+ /* DISP1_DATA08 */ -+ MX6QDL_PAD_EIM_DA1__GPIO3_IO01 0x400130b1 -+ /* DISP1_DATA09 */ -+ MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0x400130b1 -+ /* DISP1_DATA10 */ -+ MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x400130b1 -+ /* DISP1_DATA11 */ -+ MX6QDL_PAD_EIM_EB0__GPIO2_IO28 0x400130b1 -+ /* DISP1_DATA12 */ -+ MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x400130b1 -+ /* DISP1_DATA13 */ -+ MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x400130b1 -+ /* DISP1_DATA14 */ -+ MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x400130b1 -+ /* DISP1_DATA15 */ -+ MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x400130b1 -+ /* DISP1_DATA16 */ -+ MX6QDL_PAD_EIM_A21__GPIO2_IO17 0x400130b1 -+ /* DISP1_DATA17 */ -+ MX6QDL_PAD_EIM_A22__GPIO2_IO16 0x400130b1 -+ /* DISP1_DATA18 */ -+ MX6QDL_PAD_EIM_A23__GPIO6_IO06 0x400130b1 -+ /* DISP1_DATA19 */ -+ MX6QDL_PAD_EIM_A24__GPIO5_IO04 0x400130b1 -+ /* DISP1_DATA20 */ -+ MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x400130b1 -+ /* DISP1_DATA21 */ -+ MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x400130b1 -+ /* DISP1_DATA22 */ -+ MX6QDL_PAD_EIM_D26__GPIO3_IO26 0x400130b1 -+ /* DISP1_DATA23 */ -+ MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x400130b1 -+ /* DI1_DISP_CLK */ -+ MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x400130b1 -+ /* SPDIF_IN */ -+ MX6QDL_PAD_ENET_RX_ER__GPIO1_IO24 0x400130b1 -+ /* SPDIF_OUT */ -+ MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x400130b1 -+ -+ /* MikroBUS GPIO pin number 10 */ -+ MX6QDL_PAD_EIM_LBA__GPIO2_IO27 0x400130b1 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_ecspi2: hummingboard2-ecspi2grp { -+ fsl,pins = < -+ MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1 -+ MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1 -+ MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1 -+ MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x000b1 /* CS */ -+ >; -+ }; -+ -+ pinctrl_hummingboard2_gpio7_9: hummingboard2-gpio7_9 { -+ fsl,pins = < -+ MX6QDL_PAD_SD4_CMD__GPIO7_IO09 0x80000000 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_hdmi: hummingboard2-hdmi { -+ fsl,pins = < -+ MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_i2c1: hummingboard2-i2c1 { -+ fsl,pins = < -+ MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 -+ MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_i2c2: hummingboard2-i2c2 { -+ fsl,pins = < -+ MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 -+ MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_i2c3: hummingboard2-i2c3 { -+ fsl,pins = < -+ MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1 -+ MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_mipi: hummingboard2_mipi { -+ fsl,pins = < -+ MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0x4001b8b1 -+ MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x4001b8b1 -+ MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_pcie_reset: hummingboard2-pcie-reset { -+ fsl,pins = < -+ MX6QDL_PAD_SD4_DAT3__GPIO2_IO11 0x1b0b1 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_pwm1: pwm1grp { -+ fsl,pins = < -+ MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b1 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_sgtl5000: hummingboard2-sgtl5000 { -+ fsl,pins = < -+ MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0 -+ MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0 -+ MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0 -+ MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0 -+ MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x130b0 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_usbh1_vbus: hummingboard2-usbh1-vbus { -+ fsl,pins = ; -+ }; -+ -+ pinctrl_hummingboard2_usbh2_vbus: hummingboard2-usbh2-vbus { -+ fsl,pins = ; -+ }; -+ -+ pinctrl_hummingboard2_usbh3_vbus: hummingboard2-usbh3-vbus { -+ fsl,pins = ; -+ }; -+ -+ pinctrl_hummingboard2_usbotg_id: hummingboard2-usbotg-id { -+ /* -+ * Similar to pinctrl_usbotg_2, but we want it -+ * pulled down for a fixed host connection. -+ */ -+ fsl,pins = ; -+ }; -+ -+ pinctrl_hummingboard2_usbotg_vbus: hummingboard2-usbotg-vbus { -+ fsl,pins = ; -+ }; -+ -+ pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux { -+ fsl,pins = < -+ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x13071 -+ MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071 -+ MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_usdhc2: hummingboard2-usdhc2 { -+ fsl,pins = < -+ MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 -+ MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 -+ MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 -+ MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 -+ MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 -+ MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_usdhc2_100mhz: hummingboard2-usdhc2-100mhz { -+ fsl,pins = < -+ MX6QDL_PAD_SD2_CMD__SD2_CMD 0x170b9 -+ MX6QDL_PAD_SD2_CLK__SD2_CLK 0x100b9 -+ MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170b9 -+ MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170b9 -+ MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170b9 -+ MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x130b9 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_usdhc2_200mhz: hummingboard2-usdhc2-200mhz { -+ fsl,pins = < -+ MX6QDL_PAD_SD2_CMD__SD2_CMD 0x170f9 -+ MX6QDL_PAD_SD2_CLK__SD2_CLK 0x100f9 -+ MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170f9 -+ MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170f9 -+ MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170f9 -+ MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x130f9 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_usdhc3: hummingboard2-usdhc3 { -+ fsl,pins = < -+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 -+ MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 -+ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 -+ MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 -+ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 -+ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 -+ MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059 -+ MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059 -+ MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059 -+ MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059 -+ MX6QDL_PAD_SD3_RST__SD3_RESET 0x17059 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_uart3: hummingboard2-uart3 { -+ fsl,pins = < -+ MX6QDL_PAD_EIM_D25__UART3_TX_DATA 0x1b0b1 -+ MX6QDL_PAD_EIM_D24__UART3_RX_DATA 0x40013000 -+ >; -+ }; -+ }; -+}; -+ -+&ldb { -+ status = "disabled"; -+ -+ lvds-channel@0 { -+ fsl,data-mapping = "spwg"; -+ fsl,data-width = <18>; -+ }; -+}; -+ -+&pcie { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_pcie_reset>; -+ reset-gpio = <&gpio2 11 0>; -+ status = "okay"; -+}; -+ -+&pwm1 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_pwm1>; -+ status = "okay"; -+}; -+ -+&pwm3 { -+ status = "disabled"; -+}; -+ -+&pwm4 { -+ status = "disabled"; -+}; -+ -+&ssi1 { -+ status = "okay"; -+}; -+ -+&usbh1 { -+ disable-over-current; -+ vbus-supply = <®_usbh1_vbus>; -+ status = "okay"; -+}; -+ -+&usbotg { -+ disable-over-current; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbotg_id>; -+ vbus-supply = <®_usbotg_vbus>; -+ status = "okay"; -+}; -+ -+&usdhc2 { -+ pinctrl-names = "default", "state_100mhz", "state_200mhz"; -+ pinctrl-0 = < -+ &pinctrl_hummingboard2_usdhc2_aux -+ &pinctrl_hummingboard2_usdhc2 -+ >; -+ pinctrl-1 = < -+ &pinctrl_hummingboard2_usdhc2_aux -+ &pinctrl_hummingboard2_usdhc2_100mhz -+ >; -+ pinctrl-2 = < -+ &pinctrl_hummingboard2_usdhc2_aux -+ &pinctrl_hummingboard2_usdhc2_200mhz -+ >; -+ mmc-pwrseq = <&usdhc2_pwrseq>; -+ cd-gpios = <&gpio1 4 0>; -+ status = "okay"; -+}; -+ -+&usdhc3 { -+ pinctrl-names = "default"; -+ pinctrl-0 = < -+ &pinctrl_hummingboard2_usdhc3 -+ >; -+ vmmc-supply = <®_3p3v>; -+ vqmmc-supply = <®_3p3v>; -+ bus-width = <8>; -+ non-removable; -+ status = "okay"; -+}; -+ -+&uart3 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_uart3>; -+ status = "okay"; -+}; --- -2.12.2 - -From 3da2a99c4a8f19e846b19071441d2c6b88e00c06 Mon Sep 17 00:00:00 2001 -From: Russell King -Date: Fri, 13 Jan 2017 14:45:30 +0000 -Subject: [PATCH 2/4] ARM: dts: imx6*-hummingboard2: fix SD card detect - -Fix the SD card detect signal, which was missing the polarity -specification, and the pull-up necessary for proper signalling. - -Signed-off-by: Russell King ---- - arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -index 11b63f6f2b89..734487edf200 100644 ---- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -+++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -@@ -393,7 +393,7 @@ - - pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux { - fsl,pins = < -- MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x13071 -+ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 - MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071 - MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 - >; -@@ -520,7 +520,7 @@ - &pinctrl_hummingboard2_usdhc2_200mhz - >; - mmc-pwrseq = <&usdhc2_pwrseq>; -- cd-gpios = <&gpio1 4 0>; -+ cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; - status = "okay"; - }; - --- -2.12.2 - -From 57b0103b600a535a35e5ff9714649519a0b3a77a Mon Sep 17 00:00:00 2001 -From: Russell King -Date: Fri, 13 Jan 2017 14:45:35 +0000 -Subject: [PATCH 3/4] ARM: dts: imx6*-hummingboard2: use proper gpio flags - definitions - -Use proper gpio flag definitions for GPIOs rather than using opaque -uninformative numbers. - -Signed-off-by: Russell King ---- - arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -index 734487edf200..88aaed26dd77 100644 ---- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -+++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -@@ -50,7 +50,7 @@ - - ir_recv: ir-receiver { - compatible = "gpio-ir-receiver"; -- gpios = <&gpio7 9 1>; -+ gpios = <&gpio7 9 GPIO_ACTIVE_LOW>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_hummingboard2_gpio7_9>; - linux,rc-map-name = "rc-rc6-mce"; -@@ -80,7 +80,7 @@ - reg_usbh1_vbus: regulator-usb-h1-vbus { - compatible = "regulator-fixed"; - enable-active-high; -- gpio = <&gpio1 0 0>; -+ gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_hummingboard2_usbh1_vbus>; - regulator-name = "usb_h1_vbus"; -@@ -91,7 +91,7 @@ - reg_usbotg_vbus: regulator-usb-otg-vbus { - compatible = "regulator-fixed"; - enable-active-high; -- gpio = <&gpio3 22 0>; -+ gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>; - regulator-name = "usb_otg_vbus"; -@@ -102,7 +102,7 @@ - reg_usbh2_vbus: regulator-usb-h2-vbus { - compatible = "regulator-gpio"; - enable-active-high; -- enable-gpio = <&gpio2 13 0>; -+ enable-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_hummingboard2_usbh2_vbus>; - regulator-name = "usb_h2_vbus"; -@@ -114,7 +114,7 @@ - reg_usbh3_vbus: regulator-usb-h3-vbus { - compatible = "regulator-gpio"; - enable-active-high; -- enable-gpio = <&gpio7 10 0>; -+ enable-gpio = <&gpio7 10 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_hummingboard2_usbh3_vbus>; - regulator-name = "usb_h3_vbus"; --- -2.12.2 - -From f931de70370ff576f381cb9745bc54225a1a8056 Mon Sep 17 00:00:00 2001 -From: Russell King -Date: Fri, 13 Jan 2017 14:45:40 +0000 -Subject: [PATCH 4/4] ARM: dts: imx6*-hummingboard2: convert to more - conventional vmmc-supply - -Signed-off-by: Russell King ---- - arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 26 +++++++++++++++++++------- - 1 file changed, 19 insertions(+), 7 deletions(-) - -diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -index 88aaed26dd77..f19d30b34ac4 100644 ---- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -+++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -@@ -56,11 +56,6 @@ - linux,rc-map-name = "rc-rc6-mce"; - }; - -- usdhc2_pwrseq: usdhc2-pwrseq { -- compatible = "mmc-pwrseq-simple"; -- reset-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>; -- }; -- - reg_3p3v: regulator-3p3v { - compatible = "regulator-fixed"; - regulator-name = "3P3V"; -@@ -123,6 +118,18 @@ - regulator-boot-on; - }; - -+ reg_usdhc2_vmmc: reg-usdhc2-vmmc { -+ compatible = "regulator-fixed"; -+ gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_vmmc>; -+ regulator-boot-on; -+ regulator-max-microvolt = <3300000>; -+ regulator-min-microvolt = <3300000>; -+ regulator-name = "usdhc2_vmmc"; -+ startup-delay-us = <1000>; -+ }; -+ - sound-sgtl5000 { - audio-codec = <&sgtl5000>; - audio-routing = -@@ -393,7 +400,6 @@ - - pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux { - fsl,pins = < -- MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 - MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071 - MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 - >; -@@ -432,6 +438,12 @@ - >; - }; - -+ pinctrl_hummingboard2_vmmc: hummingboard2-vmmc { -+ fsl,pins = < -+ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 -+ >; -+ }; -+ - pinctrl_hummingboard2_usdhc3: hummingboard2-usdhc3 { - fsl,pins = < - MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 -@@ -519,7 +531,7 @@ - &pinctrl_hummingboard2_usdhc2_aux - &pinctrl_hummingboard2_usdhc2_200mhz - >; -- mmc-pwrseq = <&usdhc2_pwrseq>; -+ vmmc-supply = <®_usdhc2_vmmc>; - cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; - status = "okay"; - }; --- -2.12.2 - diff --git a/arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch b/arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch deleted file mode 100644 index b55dec0..0000000 --- a/arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch +++ /dev/null @@ -1,100 +0,0 @@ -From bb3e08008c0e48fd4f51a0f0957eecae61a24d69 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Tue, 1 Nov 2016 09:35:30 +0000 -Subject: [PATCH] Revert "mmc: omap_hsmmc: Use dma_request_chan() for - requesting DMA channel" - -This reverts commit 81eef6ca92014845d40e3f1310e42b7010303acc. ---- - drivers/mmc/host/omap_hsmmc.c | 50 ++++++++++++++++++++++++++++++++++--------- - 1 file changed, 40 insertions(+), 10 deletions(-) - -diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c -index 24ebc9a..3563321 100644 ---- a/drivers/mmc/host/omap_hsmmc.c -+++ b/drivers/mmc/host/omap_hsmmc.c -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -1992,6 +1993,8 @@ static int omap_hsmmc_probe(struct platform_device *pdev) - struct resource *res; - int ret, irq; - const struct of_device_id *match; -+ dma_cap_mask_t mask; -+ unsigned tx_req, rx_req; - const struct omap_mmc_of_data *data; - void __iomem *base; - -@@ -2121,17 +2124,44 @@ static int omap_hsmmc_probe(struct platform_device *pdev) - - omap_hsmmc_conf_bus_power(host); - -- host->rx_chan = dma_request_chan(&pdev->dev, "rx"); -- if (IS_ERR(host->rx_chan)) { -- dev_err(mmc_dev(host->mmc), "RX DMA channel request failed\n"); -- ret = PTR_ERR(host->rx_chan); -+ if (!pdev->dev.of_node) { -+ res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx"); -+ if (!res) { -+ dev_err(mmc_dev(host->mmc), "cannot get DMA TX channel\n"); -+ ret = -ENXIO; -+ goto err_irq; -+ } -+ tx_req = res->start; -+ -+ res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx"); -+ if (!res) { -+ dev_err(mmc_dev(host->mmc), "cannot get DMA RX channel\n"); -+ ret = -ENXIO; -+ goto err_irq; -+ } -+ rx_req = res->start; -+ } -+ -+ dma_cap_zero(mask); -+ dma_cap_set(DMA_SLAVE, mask); -+ -+ host->rx_chan = -+ dma_request_slave_channel_compat(mask, omap_dma_filter_fn, -+ &rx_req, &pdev->dev, "rx"); -+ -+ if (!host->rx_chan) { -+ dev_err(mmc_dev(host->mmc), "unable to obtain RX DMA engine channel\n"); -+ ret = -ENXIO; - goto err_irq; - } - -- host->tx_chan = dma_request_chan(&pdev->dev, "tx"); -- if (IS_ERR(host->tx_chan)) { -- dev_err(mmc_dev(host->mmc), "TX DMA channel request failed\n"); -- ret = PTR_ERR(host->tx_chan); -+ host->tx_chan = -+ dma_request_slave_channel_compat(mask, omap_dma_filter_fn, -+ &tx_req, &pdev->dev, "tx"); -+ -+ if (!host->tx_chan) { -+ dev_err(mmc_dev(host->mmc), "unable to obtain TX DMA engine channel\n"); -+ ret = -ENXIO; - goto err_irq; - } - -@@ -2189,9 +2219,9 @@ err_slot_name: - mmc_remove_host(mmc); - err_irq: - device_init_wakeup(&pdev->dev, false); -- if (!IS_ERR_OR_NULL(host->tx_chan)) -+ if (host->tx_chan) - dma_release_channel(host->tx_chan); -- if (!IS_ERR_OR_NULL(host->rx_chan)) -+ if (host->rx_chan) - dma_release_channel(host->rx_chan); - pm_runtime_dont_use_autosuspend(host->dev); - pm_runtime_put_sync(host->dev); --- -2.9.3 - diff --git a/arm-sunxi-nvmem-fixH3.patch b/arm-sunxi-nvmem-fixH3.patch new file mode 100644 index 0000000..415885d --- /dev/null +++ b/arm-sunxi-nvmem-fixH3.patch @@ -0,0 +1,131 @@ +From 0ab09d651b5858f9bc7d5f74e725334a661828e0 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Fri, 9 Mar 2018 14:47:17 +0000 +Subject: nvmem: sunxi-sid: fix H3 SID controller support + +It seems that doing some operation will make the value pre-read on H3 +SID controller wrong again, so all operation should be performed by +register. + +Change the SID reading to use register only. + +Signed-off-by: Icenowy Zheng +Signed-off-by: Srinivas Kandagatla +Signed-off-by: Greg Kroah-Hartman +--- + drivers/nvmem/sunxi_sid.c | 71 +++++++++++++++++++++++++++++++++-------------- + 1 file changed, 50 insertions(+), 21 deletions(-) + +diff --git a/drivers/nvmem/sunxi_sid.c b/drivers/nvmem/sunxi_sid.c +index 99bd54d..26bb637 100644 +--- a/drivers/nvmem/sunxi_sid.c ++++ b/drivers/nvmem/sunxi_sid.c +@@ -85,13 +85,14 @@ static int sunxi_sid_read(void *context, unsigned int offset, + } + + static int sun8i_sid_register_readout(const struct sunxi_sid *sid, +- const unsigned int word) ++ const unsigned int offset, ++ u32 *out) + { + u32 reg_val; + int ret; + + /* Set word, lock access, and set read command */ +- reg_val = (word & SUN8I_SID_OFFSET_MASK) ++ reg_val = (offset & SUN8I_SID_OFFSET_MASK) + << SUN8I_SID_OFFSET_SHIFT; + reg_val |= SUN8I_SID_OP_LOCK | SUN8I_SID_READ; + writel(reg_val, sid->base + SUN8I_SID_PRCTL); +@@ -101,7 +102,49 @@ static int sun8i_sid_register_readout(const struct sunxi_sid *sid, + if (ret) + return ret; + ++ if (out) ++ *out = readl(sid->base + SUN8I_SID_RDKEY); ++ + writel(0, sid->base + SUN8I_SID_PRCTL); ++ ++ return 0; ++} ++ ++/* ++ * On Allwinner H3, the value on the 0x200 offset of the SID controller seems ++ * to be not reliable at all. ++ * Read by the registers instead. ++ */ ++static int sun8i_sid_read_byte_by_reg(const struct sunxi_sid *sid, ++ const unsigned int offset, ++ u8 *out) ++{ ++ u32 word; ++ int ret; ++ ++ ret = sun8i_sid_register_readout(sid, offset & ~0x03, &word); ++ ++ if (ret) ++ return ret; ++ ++ *out = (word >> ((offset & 0x3) * 8)) & 0xff; ++ ++ return 0; ++} ++ ++static int sun8i_sid_read_by_reg(void *context, unsigned int offset, ++ void *val, size_t bytes) ++{ ++ struct sunxi_sid *sid = context; ++ u8 *buf = val; ++ int ret; ++ ++ while (bytes--) { ++ ret = sun8i_sid_read_byte_by_reg(sid, offset++, buf++); ++ if (ret) ++ return ret; ++ } ++ + return 0; + } + +@@ -131,26 +174,12 @@ static int sunxi_sid_probe(struct platform_device *pdev) + + size = cfg->size; + +- if (cfg->need_register_readout) { +- /* +- * H3's SID controller have a bug that the value at 0x200 +- * offset is not the correct value when the hardware is reseted. +- * However, after doing a register-based read operation, the +- * value become right. +- * Do a full read operation here, but ignore its value +- * (as it's more fast to read by direct MMIO value than +- * with registers) +- */ +- for (i = 0; i < (size >> 2); i++) { +- ret = sun8i_sid_register_readout(sid, i); +- if (ret) +- return ret; +- } +- } +- + econfig.size = size; + econfig.dev = dev; +- econfig.reg_read = sunxi_sid_read; ++ if (cfg->need_register_readout) ++ econfig.reg_read = sun8i_sid_read_by_reg; ++ else ++ econfig.reg_read = sunxi_sid_read; + econfig.priv = sid; + nvmem = nvmem_register(&econfig); + if (IS_ERR(nvmem)) +@@ -163,7 +192,7 @@ static int sunxi_sid_probe(struct platform_device *pdev) + } + + for (i = 0; i < size; i++) +- randomness[i] = sunxi_sid_read_byte(sid, i); ++ econfig.reg_read(sid, i, &randomness[i], 1); + + add_device_randomness(randomness, size); + kfree(randomness); +-- +cgit v1.1 diff --git a/arm-tegra-fix-nouveau-crash.patch b/arm-tegra-fix-nouveau-crash.patch new file mode 100644 index 0000000..d1d7c61 --- /dev/null +++ b/arm-tegra-fix-nouveau-crash.patch @@ -0,0 +1,64 @@ +From 369971aa0101c4cfb84dacaaaa1b5cc5790c14ff Mon Sep 17 00:00:00 2001 +From: Thierry Reding +Date: Wed, 11 Apr 2018 10:34:17 +0200 +Subject: [PATCH] drm/nouveau: tegra: Detach from ARM DMA/IOMMU mapping + +Depending on the kernel configuration, early ARM architecture setup code +may have attached the GPU to a DMA/IOMMU mapping that transparently uses +the IOMMU to back the DMA API. Tegra requires special handling for IOMMU +backed buffers (a special bit in the GPU's MMU page tables indicates the +memory path to take: via the SMMU or directly to the memory controller). +Transparently backing DMA memory with an IOMMU prevents Nouveau from +properly handling such memory accesses and causes memory access faults. + +As a side-note: buffers other than those allocated in instance memory +don't need to be physically contiguous from the GPU's perspective since +the GPU can map them into contiguous buffers using its own MMU. Mapping +these buffers through the IOMMU is unnecessary and will even lead to +performance degradation because of the additional translation. + +Signed-off-by: Thierry Reding +--- + drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c +index 1f07999aea1d..ac7706f56f6f 100644 +--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c ++++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c +@@ -19,6 +19,11 @@ + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ ++ ++#if IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU) ++#include ++#endif ++ + #include + #ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER + #include "priv.h" +@@ -105,6 +110,20 @@ nvkm_device_tegra_probe_iommu(struct nvkm_device_tegra *tdev) + unsigned long pgsize_bitmap; + int ret; + ++#if IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU) ++ if (dev->archdata.mapping) { ++ struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev); ++ ++ arm_iommu_release_mapping(mapping); ++ arm_iommu_detach_device(dev); ++ ++ if (dev->archdata.dma_coherent) ++ set_dma_ops(dev, &arm_coherent_dma_ops); ++ else ++ set_dma_ops(dev, &arm_dma_ops); ++ } ++#endif ++ + if (!tdev->func->iommu_bit) + return; + +-- +2.16.3 + diff --git a/arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch b/arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch deleted file mode 100644 index 33f9271..0000000 --- a/arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 90e388ca5d8bbee022f9ed5fc24137b31579fa6e Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Wed, 22 Nov 2017 15:52:36 +0000 -Subject: [PATCH] Revert "arm64: allwinner: a64: pine64: Use dcdc1 regulator - for mmc0" - -This reverts commit 3f241bfa60bdc9c4fde63fa6664a8ce00fd668c6. ---- - arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -index d06e34b5d192..caf8b6fbe5e3 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -@@ -61,6 +61,13 @@ - chosen { - stdout-path = "serial0:115200n8"; - }; -+ -+ reg_vcc3v3: vcc3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ }; - }; - - &ehci0 { -@@ -84,7 +91,7 @@ - &mmc0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins>; -- vmmc-supply = <®_dcdc1>; -+ vmmc-supply = <®_vcc3v3>; - cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; - cd-inverted; - disable-wp; --- -2.14.3 - diff --git a/arm64-mmc-sdhci_f_sdh30-add-ACPI-support.patch b/arm64-mmc-sdhci_f_sdh30-add-ACPI-support.patch deleted file mode 100644 index 4eaf67e..0000000 --- a/arm64-mmc-sdhci_f_sdh30-add-ACPI-support.patch +++ /dev/null @@ -1,146 +0,0 @@ -From patchwork Mon Jan 8 15:44:19 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2] mmc: sdhci_f_sdh30: add ACPI support -From: Ard Biesheuvel -X-Patchwork-Id: 10149775 -Message-Id: <20180108154419.2821-1-ard.biesheuvel@linaro.org> -To: linux-mmc@vger.kernel.org -Cc: adrian.hunter@intel.com, ulf.hansson@linaro.org, - Ard Biesheuvel -Date: Mon, 8 Jan 2018 15:44:19 +0000 - -The Fujitsu SDH30 SDHCI controller may be described as a SCX0002 ACPI -device on ACPI platforms incorporating the Socionext SynQuacer SoC. - -Given that mmc_of_parse() has already been made ACPI/DT agnostic, -making the SDH30 driver ACPI capable is actually rather simple: -all we need to do is make the call to sdhci_get_of_property() [which -does not set any properties we care about] and the clock handling -dependent on whether we are dealing with a DT device, and exposing -the ACPI id via the platform_driver struct and the module metadata. - -Signed-off-by: Ard Biesheuvel -Acked-by: Adrian Hunter ---- -v2: make OF optional now that ACPI is supported - drop dev_of_node() check when disabling the clocks - those routines - tolerate NULL pointers so there's no need - - drivers/mmc/host/Kconfig | 2 +- - drivers/mmc/host/sdhci_f_sdh30.c | 52 +++++++++++++------- - 2 files changed, 35 insertions(+), 19 deletions(-) - -diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index 567028c9219a..07ed947ed10b 100644 ---- a/drivers/mmc/host/Kconfig -+++ b/drivers/mmc/host/Kconfig -@@ -320,7 +320,7 @@ config MMC_SDHCI_BCM_KONA - config MMC_SDHCI_F_SDH30 - tristate "SDHCI support for Fujitsu Semiconductor F_SDH30" - depends on MMC_SDHCI_PLTFM -- depends on OF -+ depends on OF || ACPI - help - This selects the Secure Digital Host Controller Interface (SDHCI) - Needed by some Fujitsu SoC for MMC / SD / SDIO support. -diff --git a/drivers/mmc/host/sdhci_f_sdh30.c b/drivers/mmc/host/sdhci_f_sdh30.c -index 04ca0d33a521..485f7591fae4 100644 ---- a/drivers/mmc/host/sdhci_f_sdh30.c -+++ b/drivers/mmc/host/sdhci_f_sdh30.c -@@ -10,9 +10,11 @@ - * the Free Software Foundation, version 2 of the License. - */ - -+#include - #include - #include - #include -+#include - #include - #include - -@@ -146,7 +148,6 @@ static int sdhci_f_sdh30_probe(struct platform_device *pdev) - - platform_set_drvdata(pdev, host); - -- sdhci_get_of_property(pdev); - host->hw_name = "f_sdh30"; - host->ops = &sdhci_f_sdh30_ops; - host->irq = irq; -@@ -158,25 +159,29 @@ static int sdhci_f_sdh30_probe(struct platform_device *pdev) - goto err; - } - -- priv->clk_iface = devm_clk_get(&pdev->dev, "iface"); -- if (IS_ERR(priv->clk_iface)) { -- ret = PTR_ERR(priv->clk_iface); -- goto err; -- } -+ if (dev_of_node(dev)) { -+ sdhci_get_of_property(pdev); - -- ret = clk_prepare_enable(priv->clk_iface); -- if (ret) -- goto err; -+ priv->clk_iface = devm_clk_get(&pdev->dev, "iface"); -+ if (IS_ERR(priv->clk_iface)) { -+ ret = PTR_ERR(priv->clk_iface); -+ goto err; -+ } - -- priv->clk = devm_clk_get(&pdev->dev, "core"); -- if (IS_ERR(priv->clk)) { -- ret = PTR_ERR(priv->clk); -- goto err_clk; -- } -+ ret = clk_prepare_enable(priv->clk_iface); -+ if (ret) -+ goto err; - -- ret = clk_prepare_enable(priv->clk); -- if (ret) -- goto err_clk; -+ priv->clk = devm_clk_get(&pdev->dev, "core"); -+ if (IS_ERR(priv->clk)) { -+ ret = PTR_ERR(priv->clk); -+ goto err_clk; -+ } -+ -+ ret = clk_prepare_enable(priv->clk); -+ if (ret) -+ goto err_clk; -+ } - - /* init vendor specific regs */ - ctrl = sdhci_readw(host, F_SDH30_AHB_CONFIG); -@@ -226,16 +231,27 @@ static int sdhci_f_sdh30_remove(struct platform_device *pdev) - return 0; - } - -+#ifdef CONFIG_OF - static const struct of_device_id f_sdh30_dt_ids[] = { - { .compatible = "fujitsu,mb86s70-sdhci-3.0" }, - { /* sentinel */ } - }; - MODULE_DEVICE_TABLE(of, f_sdh30_dt_ids); -+#endif -+ -+#ifdef CONFIG_ACPI -+static const struct acpi_device_id f_sdh30_acpi_ids[] = { -+ { "SCX0002" }, -+ { /* sentinel */ } -+}; -+MODULE_DEVICE_TABLE(acpi, f_sdh30_acpi_ids); -+#endif - - static struct platform_driver sdhci_f_sdh30_driver = { - .driver = { - .name = "f_sdh30", -- .of_match_table = f_sdh30_dt_ids, -+ .of_match_table = of_match_ptr(f_sdh30_dt_ids), -+ .acpi_match_table = ACPI_PTR(f_sdh30_acpi_ids), - .pm = &sdhci_pltfm_pmops, - }, - .probe = sdhci_f_sdh30_probe, diff --git a/arm64-socionext-96b-enablement.patch b/arm64-socionext-96b-enablement.patch deleted file mode 100644 index d5d6cda..0000000 --- a/arm64-socionext-96b-enablement.patch +++ /dev/null @@ -1,2679 +0,0 @@ -From e3dff048a10f16aa0fd32438442ce39558bbdbef Mon Sep 17 00:00:00 2001 -From: Jassi Brar -Date: Tue, 29 Aug 2017 22:45:59 +0530 -Subject: net: socionext: Add Synquacer NetSec driver - -This driver adds support for Socionext "netsec" IP Gigabit -Ethernet + PHY IP used in the Synquacer SC2A11 SoC. - -Signed-off-by: Jassi Brar -Signed-off-by: Ard Biesheuvel ---- - drivers/net/ethernet/Kconfig | 1 + - drivers/net/ethernet/Makefile | 1 + - drivers/net/ethernet/socionext/Kconfig | 29 + - drivers/net/ethernet/socionext/Makefile | 1 + - drivers/net/ethernet/socionext/netsec/Makefile | 6 + - drivers/net/ethernet/socionext/netsec/netsec.h | 408 ++++++++++++++ - .../socionext/netsec/netsec_desc_ring_access.c | 623 +++++++++++++++++++++ - .../net/ethernet/socionext/netsec/netsec_ethtool.c | 78 +++ - .../ethernet/socionext/netsec/netsec_gmac_access.c | 330 +++++++++++ - .../net/ethernet/socionext/netsec/netsec_netdev.c | 540 ++++++++++++++++++ - .../ethernet/socionext/netsec/netsec_platform.c | 435 ++++++++++++++ - 11 files changed, 2452 insertions(+) - create mode 100644 drivers/net/ethernet/socionext/Kconfig - create mode 100644 drivers/net/ethernet/socionext/Makefile - create mode 100644 drivers/net/ethernet/socionext/netsec/Makefile - create mode 100644 drivers/net/ethernet/socionext/netsec/netsec.h - create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c - create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_ethtool.c - create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c - create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_netdev.c - create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_platform.c - -diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig -index c604213..d50519e 100644 ---- a/drivers/net/ethernet/Kconfig -+++ b/drivers/net/ethernet/Kconfig -@@ -170,6 +170,7 @@ source "drivers/net/ethernet/sis/Kconfig" - source "drivers/net/ethernet/sfc/Kconfig" - source "drivers/net/ethernet/sgi/Kconfig" - source "drivers/net/ethernet/smsc/Kconfig" -+source "drivers/net/ethernet/socionext/Kconfig" - source "drivers/net/ethernet/stmicro/Kconfig" - source "drivers/net/ethernet/sun/Kconfig" - source "drivers/net/ethernet/tehuti/Kconfig" -diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile -index a0a03d4..6ae1bb9 100644 ---- a/drivers/net/ethernet/Makefile -+++ b/drivers/net/ethernet/Makefile -@@ -81,6 +81,7 @@ obj-$(CONFIG_SFC) += sfc/ - obj-$(CONFIG_SFC_FALCON) += sfc/falcon/ - obj-$(CONFIG_NET_VENDOR_SGI) += sgi/ - obj-$(CONFIG_NET_VENDOR_SMSC) += smsc/ -+obj-$(CONFIG_NET_VENDOR_SNI) += socionext/ - obj-$(CONFIG_NET_VENDOR_STMICRO) += stmicro/ - obj-$(CONFIG_NET_VENDOR_SUN) += sun/ - obj-$(CONFIG_NET_VENDOR_TEHUTI) += tehuti/ -diff --git a/drivers/net/ethernet/socionext/Kconfig b/drivers/net/ethernet/socionext/Kconfig -new file mode 100644 -index 0000000..a6dc195 ---- /dev/null -+++ b/drivers/net/ethernet/socionext/Kconfig -@@ -0,0 +1,29 @@ -+# -+# Socionext Network device configuration -+# -+ -+config NET_VENDOR_SNI -+ bool "Socionext devices" -+ default y -+ ---help--- -+ If you have a network (Ethernet) card belonging to this class, say Y. -+ -+ Note that the answer to this question doesn't directly affect the -+ the questions about Socionext cards. If you say Y, you will be asked -+ for your specific card in the following questions. -+ -+if NET_VENDOR_SNI -+ -+config SNI_NETSEC -+ tristate "NETSEC Driver Support" -+ depends on OF -+ select PHYLIB -+ select MII -+help -+ Enable to add support for the SocioNext NetSec Gigabit Ethernet -+ controller + PHY, as found on the Synquacer SC2A11 SoC -+ -+ To compile this driver as a module, choose M here: the module will be -+ called netsec. If unsure, say N. -+ -+endif # NET_VENDOR_SNI -diff --git a/drivers/net/ethernet/socionext/Makefile b/drivers/net/ethernet/socionext/Makefile -new file mode 100644 -index 0000000..9555899 ---- /dev/null -+++ b/drivers/net/ethernet/socionext/Makefile -@@ -0,0 +1 @@ -+obj-$(CONFIG_SNI_NETSEC) += netsec/ -diff --git a/drivers/net/ethernet/socionext/netsec/Makefile b/drivers/net/ethernet/socionext/netsec/Makefile -new file mode 100644 -index 0000000..18884ed ---- /dev/null -+++ b/drivers/net/ethernet/socionext/netsec/Makefile -@@ -0,0 +1,6 @@ -+obj-$(CONFIG_SNI_NETSEC) := netsec.o -+netsec-objs := netsec_desc_ring_access.o \ -+ netsec_netdev.o \ -+ netsec_ethtool.o \ -+ netsec_platform.o \ -+ netsec_gmac_access.o -diff --git a/drivers/net/ethernet/socionext/netsec/netsec.h b/drivers/net/ethernet/socionext/netsec/netsec.h -new file mode 100644 -index 0000000..3b97661 ---- /dev/null -+++ b/drivers/net/ethernet/socionext/netsec/netsec.h -@@ -0,0 +1,408 @@ -+/** -+ * netsec.h -+ * -+ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited. -+ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved. -+ * Andy Green -+ * Jassi Brar -+ * Ard Biesheuvel -+ * -+ * 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. -+ */ -+#ifndef NETSEC_INTERNAL_H -+#define NETSEC_INTERNAL_H -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#define NETSEC_FLOW_CONTROL_START_THRESHOLD 36 -+#define NETSEC_FLOW_CONTROL_STOP_THRESHOLD 48 -+ -+#define NETSEC_CLK_MHZ 1000000 -+ -+#define NETSEC_RX_PKT_BUF_LEN 1522 -+#define NETSEC_RX_JUMBO_PKT_BUF_LEN 9022 -+ -+#define NETSEC_NETDEV_TX_PKT_SCAT_NUM_MAX 19 -+ -+#define DESC_NUM 128 -+ -+#define NETSEC_TX_SHIFT_OWN_FIELD 31 -+#define NETSEC_TX_SHIFT_LD_FIELD 30 -+#define NETSEC_TX_SHIFT_DRID_FIELD 24 -+#define NETSEC_TX_SHIFT_PT_FIELD 21 -+#define NETSEC_TX_SHIFT_TDRID_FIELD 16 -+#define NETSEC_TX_SHIFT_CC_FIELD 15 -+#define NETSEC_TX_SHIFT_FS_FIELD 9 -+#define NETSEC_TX_LAST 8 -+#define NETSEC_TX_SHIFT_CO 7 -+#define NETSEC_TX_SHIFT_SO 6 -+#define NETSEC_TX_SHIFT_TRS_FIELD 4 -+ -+#define NETSEC_RX_PKT_OWN_FIELD 31 -+#define NETSEC_RX_PKT_LD_FIELD 30 -+#define NETSEC_RX_PKT_SDRID_FIELD 24 -+#define NETSEC_RX_PKT_FR_FIELD 23 -+#define NETSEC_RX_PKT_ER_FIELD 21 -+#define NETSEC_RX_PKT_ERR_FIELD 16 -+#define NETSEC_RX_PKT_TDRID_FIELD 12 -+#define NETSEC_RX_PKT_FS_FIELD 9 -+#define NETSEC_RX_PKT_LS_FIELD 8 -+#define NETSEC_RX_PKT_CO_FIELD 6 -+ -+#define NETSEC_RX_PKT_ERR_MASK 3 -+ -+#define NETSEC_MAX_TX_PKT_LEN 1518 -+#define NETSEC_MAX_TX_JUMBO_PKT_LEN 9018 -+ -+enum netsec_rings { -+ NETSEC_RING_TX, -+ NETSEC_RING_RX -+}; -+ -+#define NETSEC_RING_GMAC 15 -+#define NETSEC_RING_MAX 1 -+ -+#define NETSEC_TCP_SEG_LEN_MAX 1460 -+#define NETSEC_TCP_JUMBO_SEG_LEN_MAX 8960 -+ -+#define NETSEC_RX_CKSUM_NOTAVAIL 0 -+#define NETSEC_RX_CKSUM_OK 1 -+#define NETSEC_RX_CKSUM_NG 2 -+ -+#define NETSEC_TOP_IRQ_REG_CODE_LOAD_END BIT(20) -+#define NETSEC_IRQ_TRANSITION_COMPLETE BIT(4) -+#define NETSEC_IRQ_RX BIT(1) -+#define NETSEC_IRQ_TX BIT(0) -+ -+#define NETSEC_IRQ_EMPTY BIT(17) -+#define NETSEC_IRQ_ERR BIT(16) -+#define NETSEC_IRQ_PKT_CNT BIT(15) -+#define NETSEC_IRQ_TIMEUP BIT(14) -+#define NETSEC_IRQ_RCV (NETSEC_IRQ_PKT_CNT | \ -+ NETSEC_IRQ_TIMEUP) -+ -+#define NETSEC_IRQ_TX_DONE BIT(15) -+#define NETSEC_IRQ_SND (NETSEC_IRQ_TX_DONE | \ -+ NETSEC_IRQ_TIMEUP) -+ -+#define NETSEC_MODE_TRANS_COMP_IRQ_N2T BIT(20) -+#define NETSEC_MODE_TRANS_COMP_IRQ_T2N BIT(19) -+ -+#define NETSEC_DESC_MIN 2 -+#define NETSEC_DESC_MAX 2047 -+#define NETSEC_INT_PKTCNT_MAX 2047 -+ -+#define NETSEC_FLOW_START_TH_MAX 95 -+#define NETSEC_FLOW_STOP_TH_MAX 95 -+#define NETSEC_FLOW_PAUSE_TIME_MIN 5 -+ -+#define NETSEC_CLK_EN_REG_DOM_ALL 0x3f -+ -+#define NETSEC_REG_TOP_STATUS 0x80 -+#define NETSEC_REG_TOP_INTEN 0x81 -+#define NETSEC_REG_INTEN_SET 0x8d -+#define NETSEC_REG_INTEN_CLR 0x8e -+#define NETSEC_REG_NRM_TX_STATUS 0x100 -+#define NETSEC_REG_NRM_TX_INTEN 0x101 -+#define NETSEC_REG_NRM_TX_INTEN_SET 0x10a -+#define NETSEC_REG_NRM_TX_INTEN_CLR 0x10b -+#define NETSEC_REG_NRM_RX_STATUS 0x110 -+#define NETSEC_REG_NRM_RX_INTEN 0x111 -+#define NETSEC_REG_NRM_RX_INTEN_SET 0x11a -+#define NETSEC_REG_NRM_RX_INTEN_CLR 0x11b -+#define NETSEC_REG_RESERVED_RX_DESC_START 0x122 -+#define NETSEC_REG_RESERVED_TX_DESC_START 0x132 -+#define NETSEC_REG_CLK_EN 0x40 -+#define NETSEC_REG_SOFT_RST 0x41 -+#define NETSEC_REG_PKT_CMD_BUF 0x34 -+#define NETSEC_REG_PKT_CTRL 0x50 -+#define NETSEC_REG_COM_INIT 0x48 -+#define NETSEC_REG_DMA_TMR_CTRL 0x83 -+#define NETSEC_REG_F_TAIKI_MC_VER 0x8b -+#define NETSEC_REG_F_TAIKI_VER 0x8c -+#define NETSEC_REG_DMA_HM_CTRL 0x85 -+#define NETSEC_REG_DMA_MH_CTRL 0x88 -+#define NETSEC_REG_ADDR_DIS_CORE 0x86 -+#define NETSEC_REG_DMAC_HM_CMD_BUF 0x84 -+#define NETSEC_REG_DMAC_MH_CMD_BUF 0x87 -+#define NETSEC_REG_NRM_TX_PKTCNT 0x104 -+#define NETSEC_REG_NRM_TX_DONE_TXINT_PKTCNT 0x106 -+#define NETSEC_REG_NRM_RX_RXINT_PKTCNT 0x116 -+#define NETSEC_REG_NRM_TX_TXINT_TMR 0x108 -+#define NETSEC_REG_NRM_RX_RXINT_TMR 0x118 -+#define NETSEC_REG_NRM_TX_DONE_PKTCNT 0x105 -+#define NETSEC_REG_NRM_RX_PKTCNT 0x115 -+#define NETSEC_REG_NRM_TX_TMR 0x107 -+#define NETSEC_REG_NRM_RX_TMR 0x117 -+#define NETSEC_REG_NRM_TX_DESC_START_UP 0x10d -+#define NETSEC_REG_NRM_TX_DESC_START_LW 0x102 -+#define NETSEC_REG_NRM_RX_DESC_START_UP 0x11d -+#define NETSEC_REG_NRM_RX_DESC_START_LW 0x112 -+#define NETSEC_REG_NRM_TX_CONFIG 0x10c -+#define NETSEC_REG_NRM_RX_CONFIG 0x11c -+#define MAC_REG_DATA 0x470 -+#define MAC_REG_CMD 0x471 -+#define MAC_REG_FLOW_TH 0x473 -+#define MAC_REG_INTF_SEL 0x475 -+#define MAC_REG_DESC_INIT 0x47f -+#define MAC_REG_DESC_SOFT_RST 0x481 -+#define NETSEC_REG_MODE_TRANS_COMP_STATUS 0x140 -+#define GMAC_REG_MCR 0x0000 -+#define GMAC_REG_MFFR 0x0004 -+#define GMAC_REG_GAR 0x0010 -+#define GMAC_REG_GDR 0x0014 -+#define GMAC_REG_FCR 0x0018 -+#define GMAC_REG_BMR 0x1000 -+#define GMAC_REG_RDLAR 0x100c -+#define GMAC_REG_TDLAR 0x1010 -+#define GMAC_REG_OMR 0x1018 -+ -+#define NETSEC_PKT_CTRL_REG_MODE_NRM BIT(28) -+#define NETSEC_PKT_CTRL_REG_EN_JUMBO BIT(27) -+#define NETSEC_PKT_CTRL_REG_LOG_CHKSUM_ER BIT(3) -+#define NETSEC_PKT_CTRL_REG_LOG_HD_INCOMPLETE BIT(2) -+#define NETSEC_PKT_CTRL_REG_LOG_HD_ER BIT(1) -+#define NETSEC_PKT_CTRL_REG_DRP_NO_MATCH BIT(0) -+ -+#define NETSEC_CLK_EN_REG_DOM_G BIT(5) -+#define NETSEC_CLK_EN_REG_DOM_C BIT(1) -+#define NETSEC_CLK_EN_REG_DOM_D BIT(0) -+ -+#define NETSEC_COM_INIT_REG_DB BIT(2) -+#define NETSEC_COM_INIT_REG_CLS BIT(1) -+#define NETSEC_COM_INIT_REG_ALL (NETSEC_COM_INIT_REG_CLS | \ -+ NETSEC_COM_INIT_REG_DB) -+ -+#define NETSEC_SOFT_RST_REG_RESET 0 -+#define NETSEC_SOFT_RST_REG_RUN BIT(31) -+ -+#define NETSEC_DMA_CTRL_REG_STOP 1 -+#define MH_CTRL__MODE_TRANS BIT(20) -+ -+#define NETSEC_GMAC_CMD_ST_READ 0 -+#define NETSEC_GMAC_CMD_ST_WRITE BIT(28) -+#define NETSEC_GMAC_CMD_ST_BUSY BIT(31) -+ -+#define NETSEC_GMAC_BMR_REG_COMMON 0x00412080 -+#define NETSEC_GMAC_BMR_REG_RESET 0x00020181 -+#define NETSEC_GMAC_BMR_REG_SWR 0x00000001 -+ -+#define NETSEC_GMAC_OMR_REG_ST BIT(13) -+#define NETSEC_GMAC_OMR_REG_SR BIT(1) -+ -+#define NETSEC_GMAC_MCR_REG_IBN BIT(30) -+#define NETSEC_GMAC_MCR_REG_CST BIT(25) -+#define NETSEC_GMAC_MCR_REG_JE BIT(20) -+#define NETSEC_MCR_PS BIT(15) -+#define NETSEC_GMAC_MCR_REG_FES BIT(14) -+#define NETSEC_GMAC_MCR_REG_FULL_DUPLEX_COMMON 0x0000280c -+#define NETSEC_GMAC_MCR_REG_HALF_DUPLEX_COMMON 0x0001a00c -+ -+#define NETSEC_FCR_RFE BIT(2) -+#define NETSEC_FCR_TFE BIT(1) -+ -+#define NETSEC_GMAC_GAR_REG_GW BIT(1) -+#define NETSEC_GMAC_GAR_REG_GB BIT(0) -+ -+#define NETSEC_GMAC_GAR_REG_SHIFT_PA 11 -+#define NETSEC_GMAC_GAR_REG_SHIFT_GR 6 -+#define GMAC_REG_SHIFT_CR_GAR 2 -+ -+#define NETSEC_GMAC_GAR_REG_CR_25_35_MHZ 2 -+#define NETSEC_GMAC_GAR_REG_CR_35_60_MHZ 3 -+#define NETSEC_GMAC_GAR_REG_CR_60_100_MHZ 0 -+#define NETSEC_GMAC_GAR_REG_CR_100_150_MHZ 1 -+#define NETSEC_GMAC_GAR_REG_CR_150_250_MHZ 4 -+#define NETSEC_GMAC_GAR_REG_CR_250_300_MHZ 5 -+ -+#define NETSEC_GMAC_RDLAR_REG_COMMON 0x18000 -+#define NETSEC_GMAC_TDLAR_REG_COMMON 0x1c000 -+ -+#define NETSEC_REG_NETSEC_VER_F_TAIKI 0x50000 -+ -+#define NETSEC_REG_DESC_RING_CONFIG_CFG_UP BIT(31) -+#define NETSEC_REG_DESC_RING_CONFIG_CH_RST BIT(30) -+#define NETSEC_REG_DESC_TMR_MODE 4 -+#define NETSEC_REG_DESC_ENDIAN 0 -+ -+#define NETSEC_MAC_DESC_SOFT_RST_SOFT_RST 1 -+#define NETSEC_MAC_DESC_INIT_REG_INIT 1 -+ -+#define NETSEC_EEPROM_MAC_ADDRESS 0x00 -+#define NETSEC_EEPROM_HM_ME_ADDRESS_H 0x08 -+#define NETSEC_EEPROM_HM_ME_ADDRESS_L 0x0C -+#define NETSEC_EEPROM_HM_ME_SIZE 0x10 -+#define NETSEC_EEPROM_MH_ME_ADDRESS_H 0x14 -+#define NETSEC_EEPROM_MH_ME_ADDRESS_L 0x18 -+#define NETSEC_EEPROM_MH_ME_SIZE 0x1C -+#define NETSEC_EEPROM_PKT_ME_ADDRESS 0x20 -+#define NETSEC_EEPROM_PKT_ME_SIZE 0x24 -+ -+/* this is used to interpret a register layout */ -+struct netsec_pkt_ctrlaram { -+ u8 log_chksum_er_flag:1; -+ u8 log_hd_imcomplete_flag:1; -+ u8 log_hd_er_flag:1; -+}; -+ -+struct netsec_param { -+ struct netsec_pkt_ctrlaram pkt_ctrlaram; -+ bool use_jumbo_pkt_flag; -+}; -+ -+struct netsec_mac_mode { -+ u16 flow_start_th; -+ u16 flow_stop_th; -+ u16 pause_time; -+ bool flow_ctrl_enable_flag; -+}; -+ -+struct netsec_desc_ring { -+ spinlock_t spinlock_desc; /* protect descriptor access */ -+ phys_addr_t desc_phys; -+ struct netsec_frag_info *frag; -+ struct sk_buff **priv; -+ void *ring_vaddr; -+ enum netsec_rings id; -+ int len; -+ u16 tx_done_num; -+ u16 rx_num; -+ u16 head; -+ u16 tail; -+ bool running; -+ bool full; -+}; -+ -+struct netsec_frag_info { -+ dma_addr_t dma_addr; -+ void *addr; -+ u16 len; -+}; -+ -+struct netsec_priv { -+ struct netsec_desc_ring desc_ring[NETSEC_RING_MAX + 1]; -+ struct ethtool_coalesce et_coalesce; -+ struct netsec_mac_mode mac_mode; -+ struct netsec_param param; -+ struct napi_struct napi; -+ phy_interface_t phy_interface; -+ spinlock_t tx_queue_lock; /* protect transmit queue */ -+ struct netsec_frag_info tx_info[MAX_SKB_FRAGS]; -+ struct net_device *ndev; -+ struct device_node *phy_np; -+ struct phy_device *phydev; -+ struct mii_bus *mii_bus; -+ void __iomem *ioaddr; -+ const void *eeprom_base; -+ struct device *dev; -+ struct clk *clk[3]; -+ u32 rx_pkt_buf_len; -+ u32 msg_enable; -+ u32 freq; -+ int actual_link_speed; -+ int clock_count; -+ bool rx_cksum_offload_flag; -+ bool actual_duplex; -+ bool irq_registered; -+}; -+ -+struct netsec_tx_de { -+ u32 attr; -+ u32 data_buf_addr_up; -+ u32 data_buf_addr_lw; -+ u32 buf_len_info; -+}; -+ -+struct netsec_rx_de { -+ u32 attr; -+ u32 data_buf_addr_up; -+ u32 data_buf_addr_lw; -+ u32 buf_len_info; -+}; -+ -+struct netsec_tx_pkt_ctrl { -+ u16 tcp_seg_len; -+ bool tcp_seg_offload_flag; -+ bool cksum_offload_flag; -+}; -+ -+struct netsec_rx_pkt_info { -+ int rx_cksum_result; -+ int err_code; -+ bool is_fragmented; -+ bool err_flag; -+}; -+ -+struct netsec_skb_cb { -+ bool is_rx; -+}; -+ -+static inline void netsec_writel(struct netsec_priv *priv, -+ u32 reg_addr, u32 val) -+{ -+ writel_relaxed(val, priv->ioaddr + (reg_addr << 2)); -+} -+ -+static inline u32 netsec_readl(struct netsec_priv *priv, u32 reg_addr) -+{ -+ return readl_relaxed(priv->ioaddr + (reg_addr << 2)); -+} -+ -+static inline void netsec_mark_skb_type(struct sk_buff *skb, bool is_rx) -+{ -+ struct netsec_skb_cb *cb = (struct netsec_skb_cb *)skb->cb; -+ -+ cb->is_rx = is_rx; -+} -+ -+static inline bool skb_is_rx(struct sk_buff *skb) -+{ -+ struct netsec_skb_cb *cb = (struct netsec_skb_cb *)skb->cb; -+ -+ return cb->is_rx; -+} -+ -+extern const struct net_device_ops netsec_netdev_ops; -+extern const struct ethtool_ops netsec_ethtool_ops; -+ -+int netsec_start_gmac(struct netsec_priv *priv); -+int netsec_stop_gmac(struct netsec_priv *priv); -+int netsec_mii_register(struct netsec_priv *priv); -+void netsec_mii_unregister(struct netsec_priv *priv); -+int netsec_start_desc_ring(struct netsec_priv *priv, enum netsec_rings id); -+void netsec_stop_desc_ring(struct netsec_priv *priv, enum netsec_rings id); -+u16 netsec_get_rx_num(struct netsec_priv *priv); -+u16 netsec_get_tx_avail_num(struct netsec_priv *priv); -+int netsec_clean_tx_desc_ring(struct netsec_priv *priv); -+int netsec_clean_rx_desc_ring(struct netsec_priv *priv); -+int netsec_set_tx_pkt_data(struct netsec_priv *priv, -+ const struct netsec_tx_pkt_ctrl *tx_ctrl, -+ u8 count_frags, const struct netsec_frag_info *info, -+ struct sk_buff *skb); -+int netsec_get_rx_pkt_data(struct netsec_priv *priv, -+ struct netsec_rx_pkt_info *rxpi, -+ struct netsec_frag_info *frag, u16 *len, -+ struct sk_buff **skb); -+void netsec_ring_irq_enable(struct netsec_priv *priv, -+ enum netsec_rings id, u32 i); -+void netsec_ring_irq_disable(struct netsec_priv *priv, -+ enum netsec_rings id, u32 i); -+int netsec_alloc_desc_ring(struct netsec_priv *priv, enum netsec_rings id); -+void netsec_free_desc_ring(struct netsec_priv *priv, -+ struct netsec_desc_ring *desc); -+int netsec_setup_rx_desc(struct netsec_priv *priv, -+ struct netsec_desc_ring *desc); -+int netsec_netdev_napi_poll(struct napi_struct *napi_p, int budget); -+ -+#endif /* NETSEC_INTERNAL_H */ -diff --git a/drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c b/drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c -new file mode 100644 -index 0000000..a4e56cd ---- /dev/null -+++ b/drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c -@@ -0,0 +1,623 @@ -+/** -+ * drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c -+ * -+ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited. -+ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved. -+ * Andy Green -+ * Jassi Brar -+ * Ard Biesheuvel -+ * -+ * 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. -+ */ -+ -+#include -+#include -+ -+#include "netsec.h" -+ -+static const u32 ads_irq_set[] = { -+ NETSEC_REG_NRM_TX_INTEN_SET, -+ NETSEC_REG_NRM_RX_INTEN_SET, -+}; -+ -+static const u32 desc_ring_irq_inten_clr_reg_addr[] = { -+ NETSEC_REG_NRM_TX_INTEN_CLR, -+ NETSEC_REG_NRM_RX_INTEN_CLR, -+}; -+ -+static const u32 int_tmr_reg_addr[] = { -+ NETSEC_REG_NRM_TX_TXINT_TMR, -+ NETSEC_REG_NRM_RX_RXINT_TMR, -+}; -+ -+static const u32 rx_pkt_cnt_reg_addr[] = { -+ 0, -+ NETSEC_REG_NRM_RX_PKTCNT, -+}; -+ -+static const u32 tx_pkt_cnt_reg_addr[] = { -+ NETSEC_REG_NRM_TX_PKTCNT, -+ 0, -+}; -+ -+static const u32 int_pkt_cnt_reg_addr[] = { -+ NETSEC_REG_NRM_TX_DONE_TXINT_PKTCNT, -+ NETSEC_REG_NRM_RX_RXINT_PKTCNT, -+}; -+ -+static const u32 tx_done_pkt_addr[] = { -+ NETSEC_REG_NRM_TX_DONE_PKTCNT, -+ 0, -+}; -+ -+static const u32 netsec_desc_mask[] = { -+ [NETSEC_RING_TX] = NETSEC_GMAC_OMR_REG_ST, -+ [NETSEC_RING_RX] = NETSEC_GMAC_OMR_REG_SR -+}; -+ -+void netsec_ring_irq_enable(struct netsec_priv *priv, -+ enum netsec_rings id, u32 irqf) -+{ -+ netsec_writel(priv, ads_irq_set[id], irqf); -+} -+ -+void netsec_ring_irq_disable(struct netsec_priv *priv, -+ enum netsec_rings id, u32 irqf) -+{ -+ netsec_writel(priv, desc_ring_irq_inten_clr_reg_addr[id], irqf); -+} -+ -+static struct sk_buff *alloc_rx_pkt_buf(struct netsec_priv *priv, -+ struct netsec_frag_info *info) -+{ -+ struct sk_buff *skb; -+ -+ if (device_get_dma_attr(priv->dev) == DEV_DMA_COHERENT) { -+ skb = netdev_alloc_skb_ip_align(priv->ndev, info->len); -+ } else { -+ info->len = L1_CACHE_ALIGN(info->len); -+ skb = netdev_alloc_skb(priv->ndev, info->len); -+ } -+ if (!skb) -+ return NULL; -+ -+ netsec_mark_skb_type(skb, NETSEC_RING_RX); -+ info->addr = skb->data; -+ info->dma_addr = dma_map_single(priv->dev, info->addr, info->len, -+ DMA_FROM_DEVICE); -+ if (dma_mapping_error(priv->dev, info->dma_addr)) { -+ dev_kfree_skb(skb); -+ return NULL; -+ } -+ return skb; -+} -+ -+int netsec_alloc_desc_ring(struct netsec_priv *priv, enum netsec_rings id) -+{ -+ struct netsec_desc_ring *desc = &priv->desc_ring[id]; -+ int ret = 0; -+ -+ desc->id = id; -+ desc->len = sizeof(struct netsec_tx_de); /* rx and tx desc same size */ -+ -+ spin_lock_init(&desc->spinlock_desc); -+ -+ desc->ring_vaddr = dma_zalloc_coherent(priv->dev, desc->len * DESC_NUM, -+ &desc->desc_phys, GFP_KERNEL); -+ if (!desc->ring_vaddr) { -+ ret = -ENOMEM; -+ goto err; -+ } -+ -+ desc->frag = kcalloc(DESC_NUM, sizeof(*desc->frag), GFP_KERNEL); -+ if (!desc->frag) { -+ ret = -ENOMEM; -+ goto err; -+ } -+ -+ desc->priv = kcalloc(DESC_NUM, sizeof(struct sk_buff *), GFP_KERNEL); -+ if (!desc->priv) { -+ ret = -ENOMEM; -+ goto err; -+ } -+ -+ return 0; -+ -+err: -+ netsec_free_desc_ring(priv, desc); -+ -+ return ret; -+} -+ -+static void netsec_uninit_pkt_desc_ring(struct netsec_priv *priv, -+ struct netsec_desc_ring *desc) -+{ -+ struct netsec_frag_info *frag; -+ u32 status; -+ u16 idx; -+ -+ for (idx = 0; idx < DESC_NUM; idx++) { -+ frag = &desc->frag[idx]; -+ if (!frag->addr) -+ continue; -+ -+ status = *(u32 *)(desc->ring_vaddr + desc->len * idx); -+ -+ dma_unmap_single(priv->dev, frag->dma_addr, frag->len, -+ skb_is_rx(desc->priv[idx]) ? DMA_FROM_DEVICE : -+ DMA_TO_DEVICE); -+ if ((status >> NETSEC_TX_LAST) & 1) -+ dev_kfree_skb(desc->priv[idx]); -+ } -+ -+ memset(desc->frag, 0, sizeof(struct netsec_frag_info) * DESC_NUM); -+ memset(desc->priv, 0, sizeof(struct sk_buff *) * DESC_NUM); -+ memset(desc->ring_vaddr, 0, desc->len * DESC_NUM); -+} -+ -+void netsec_free_desc_ring(struct netsec_priv *priv, -+ struct netsec_desc_ring *desc) -+{ -+ if (desc->ring_vaddr && desc->frag && desc->priv) -+ netsec_uninit_pkt_desc_ring(priv, desc); -+ -+ if (desc->ring_vaddr) { -+ dma_free_coherent(priv->dev, desc->len * DESC_NUM, -+ desc->ring_vaddr, desc->desc_phys); -+ desc->ring_vaddr = NULL; -+ } -+ kfree(desc->frag); -+ desc->frag = NULL; -+ kfree(desc->priv); -+ desc->priv = NULL; -+} -+ -+static void netsec_set_rx_de(struct netsec_priv *priv, -+ struct netsec_desc_ring *desc, u16 idx, -+ const struct netsec_frag_info *info, -+ struct sk_buff *skb) -+{ -+ struct netsec_rx_de *de = desc->ring_vaddr + desc->len * idx; -+ u32 attr = (1 << NETSEC_RX_PKT_OWN_FIELD) | -+ (1 << NETSEC_RX_PKT_FS_FIELD) | -+ (1 << NETSEC_RX_PKT_LS_FIELD); -+ -+ if (idx == DESC_NUM - 1) -+ attr |= (1 << NETSEC_RX_PKT_LD_FIELD); -+ -+ de->data_buf_addr_up = upper_32_bits(info->dma_addr); -+ de->data_buf_addr_lw = lower_32_bits(info->dma_addr); -+ de->buf_len_info = info->len; -+ /* desc->attr makes the descriptor live, so it must be physically -+ * written last after the rest of the descriptor body is already there -+ */ -+ dma_wmb(); -+ de->attr = attr; -+ -+ desc->frag[idx].dma_addr = info->dma_addr; -+ desc->frag[idx].addr = info->addr; -+ desc->frag[idx].len = info->len; -+ -+ desc->priv[idx] = skb; -+} -+ -+int netsec_setup_rx_desc(struct netsec_priv *priv, -+ struct netsec_desc_ring *desc) -+{ -+ struct netsec_frag_info info; -+ struct sk_buff *skb; -+ int n; -+ -+ info.len = priv->rx_pkt_buf_len; -+ -+ for (n = 0; n < DESC_NUM; n++) { -+ skb = alloc_rx_pkt_buf(priv, &info); -+ if (!skb) { -+ netsec_uninit_pkt_desc_ring(priv, desc); -+ return -ENOMEM; -+ } -+ netsec_set_rx_de(priv, desc, n, &info, skb); -+ } -+ -+ return 0; -+} -+ -+static void netsec_set_tx_desc_entry(struct netsec_priv *priv, -+ struct netsec_desc_ring *desc, -+ const struct netsec_tx_pkt_ctrl *tx_ctrl, -+ bool first_flag, bool last_flag, -+ const struct netsec_frag_info *frag, -+ struct sk_buff *skb) -+{ -+ struct netsec_tx_de *tx_desc_entry; -+ int idx = desc->head; -+ u32 attr; -+ -+ tx_desc_entry = desc->ring_vaddr + (desc->len * idx); -+ -+ attr = (1 << NETSEC_TX_SHIFT_OWN_FIELD) | -+ (desc->id << NETSEC_TX_SHIFT_DRID_FIELD) | -+ (1 << NETSEC_TX_SHIFT_PT_FIELD) | -+ (NETSEC_RING_GMAC << NETSEC_TX_SHIFT_TDRID_FIELD) | -+ (first_flag << NETSEC_TX_SHIFT_FS_FIELD) | -+ (last_flag << NETSEC_TX_LAST) | -+ (tx_ctrl->cksum_offload_flag << NETSEC_TX_SHIFT_CO) | -+ (tx_ctrl->tcp_seg_offload_flag << NETSEC_TX_SHIFT_SO) | -+ (1 << NETSEC_TX_SHIFT_TRS_FIELD); -+ if (idx == DESC_NUM - 1) -+ attr |= (1 << NETSEC_TX_SHIFT_LD_FIELD); -+ -+ tx_desc_entry->data_buf_addr_up = upper_32_bits(frag->dma_addr); -+ tx_desc_entry->data_buf_addr_lw = lower_32_bits(frag->dma_addr); -+ tx_desc_entry->buf_len_info = (tx_ctrl->tcp_seg_len << 16) | frag->len; -+ /* desc->attr makes the descriptor live, so it must be physically -+ * written last after the rest of the descriptor body is already there -+ */ -+ dma_wmb(); -+ tx_desc_entry->attr = attr; -+ -+ desc->frag[idx] = *frag; -+ desc->priv[idx] = skb; -+} -+ -+static void netsec_get_rx_de(struct netsec_priv *priv, -+ struct netsec_desc_ring *desc, u16 idx, -+ struct netsec_rx_pkt_info *rxpi, -+ struct netsec_frag_info *frag, u16 *len, -+ struct sk_buff **skb) -+{ -+ struct netsec_rx_de de = {}; -+ -+ *rxpi = (struct netsec_rx_pkt_info){}; -+ memcpy(&de, desc->ring_vaddr + desc->len * idx, desc->len); -+ -+ dev_dbg(priv->dev, "%08x\n", *(u32 *)&de); -+ *len = de.buf_len_info >> 16; -+ -+ rxpi->is_fragmented = (de.attr >> NETSEC_RX_PKT_FR_FIELD) & 1; -+ rxpi->err_flag = (de.attr >> NETSEC_RX_PKT_ER_FIELD) & 1; -+ rxpi->rx_cksum_result = (de.attr >> NETSEC_RX_PKT_CO_FIELD) & 3; -+ rxpi->err_code = (de.attr >> NETSEC_RX_PKT_ERR_FIELD) & -+ NETSEC_RX_PKT_ERR_MASK; -+ *frag = desc->frag[idx]; -+ *skb = desc->priv[idx]; -+} -+ -+static void netsec_inc_desc_head_idx(struct netsec_priv *priv, -+ struct netsec_desc_ring *desc, u16 inc) -+{ -+ u32 sum; -+ -+ sum = desc->head + inc; -+ -+ if (sum >= DESC_NUM) -+ sum -= DESC_NUM; -+ -+ desc->head = sum; -+ desc->full = desc->head == desc->tail; -+} -+ -+static void netsec_inc_desc_tail_idx(struct netsec_priv *priv, -+ struct netsec_desc_ring *desc) -+{ -+ u32 sum; -+ -+ sum = desc->tail + 1; -+ -+ if (sum >= DESC_NUM) -+ sum -= DESC_NUM; -+ -+ desc->tail = sum; -+ desc->full = false; -+} -+ -+static u16 netsec_get_tx_avail_num_sub(struct netsec_priv *priv, -+ const struct netsec_desc_ring *desc) -+{ -+ if (desc->full) -+ return 0; -+ -+ if (desc->tail > desc->head) -+ return desc->tail - desc->head; -+ -+ return DESC_NUM + desc->tail - desc->head; -+} -+ -+static u16 netsec_get_tx_done_num_sub(struct netsec_priv *priv, -+ struct netsec_desc_ring *desc) -+{ -+ desc->tx_done_num += netsec_readl(priv, tx_done_pkt_addr[desc->id]); -+ -+ return desc->tx_done_num; -+} -+ -+static int netsec_set_irq_coalesce_param(struct netsec_priv *priv, -+ enum netsec_rings id) -+{ -+ int max_frames, tmr; -+ -+ switch (id) { -+ case NETSEC_RING_TX: -+ max_frames = priv->et_coalesce.tx_max_coalesced_frames; -+ tmr = priv->et_coalesce.tx_coalesce_usecs; -+ break; -+ case NETSEC_RING_RX: -+ max_frames = priv->et_coalesce.rx_max_coalesced_frames; -+ tmr = priv->et_coalesce.rx_coalesce_usecs; -+ break; -+ default: -+ return -EINVAL; -+ } -+ -+ netsec_writel(priv, int_pkt_cnt_reg_addr[id], max_frames); -+ netsec_writel(priv, int_tmr_reg_addr[id], ((tmr != 0) << 31) | tmr); -+ -+ return 0; -+} -+ -+int netsec_start_desc_ring(struct netsec_priv *priv, enum netsec_rings id) -+{ -+ struct netsec_desc_ring *desc = &priv->desc_ring[id]; -+ int ret = 0; -+ -+ spin_lock_bh(&desc->spinlock_desc); -+ -+ if (desc->running) { -+ ret = -EBUSY; -+ goto err; -+ } -+ -+ switch (desc->id) { -+ case NETSEC_RING_RX: -+ netsec_writel(priv, ads_irq_set[id], NETSEC_IRQ_RCV); -+ break; -+ case NETSEC_RING_TX: -+ netsec_writel(priv, ads_irq_set[id], NETSEC_IRQ_EMPTY); -+ break; -+ } -+ -+ netsec_set_irq_coalesce_param(priv, desc->id); -+ desc->running = true; -+ -+err: -+ spin_unlock_bh(&desc->spinlock_desc); -+ -+ return ret; -+} -+ -+void netsec_stop_desc_ring(struct netsec_priv *priv, enum netsec_rings id) -+{ -+ struct netsec_desc_ring *desc = &priv->desc_ring[id]; -+ -+ spin_lock_bh(&desc->spinlock_desc); -+ if (desc->running) -+ netsec_writel(priv, desc_ring_irq_inten_clr_reg_addr[id], -+ NETSEC_IRQ_RCV | NETSEC_IRQ_EMPTY | -+ NETSEC_IRQ_SND); -+ -+ desc->running = false; -+ spin_unlock_bh(&desc->spinlock_desc); -+} -+ -+u16 netsec_get_rx_num(struct netsec_priv *priv) -+{ -+ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_RX]; -+ u32 result; -+ -+ spin_lock(&desc->spinlock_desc); -+ if (desc->running) { -+ result = netsec_readl(priv, -+ rx_pkt_cnt_reg_addr[NETSEC_RING_RX]); -+ desc->rx_num += result; -+ if (result) -+ netsec_inc_desc_head_idx(priv, desc, result); -+ } -+ spin_unlock(&desc->spinlock_desc); -+ -+ return desc->rx_num; -+} -+ -+u16 netsec_get_tx_avail_num(struct netsec_priv *priv) -+{ -+ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_TX]; -+ u16 result; -+ -+ spin_lock(&desc->spinlock_desc); -+ -+ if (!desc->running) { -+ netif_err(priv, drv, priv->ndev, -+ "%s: not running tx desc\n", __func__); -+ result = 0; -+ goto err; -+ } -+ -+ result = netsec_get_tx_avail_num_sub(priv, desc); -+ -+err: -+ spin_unlock(&desc->spinlock_desc); -+ -+ return result; -+} -+ -+int netsec_clean_tx_desc_ring(struct netsec_priv *priv) -+{ -+ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_TX]; -+ unsigned int pkts = 0, bytes = 0; -+ struct netsec_frag_info *frag; -+ struct netsec_tx_de *entry; -+ bool is_last; -+ -+ spin_lock(&desc->spinlock_desc); -+ -+ netsec_get_tx_done_num_sub(priv, desc); -+ -+ while ((desc->tail != desc->head || desc->full) && desc->tx_done_num) { -+ frag = &desc->frag[desc->tail]; -+ entry = desc->ring_vaddr + desc->len * desc->tail; -+ is_last = (entry->attr >> NETSEC_TX_LAST) & 1; -+ -+ dma_unmap_single(priv->dev, frag->dma_addr, frag->len, -+ DMA_TO_DEVICE); -+ if (is_last) { -+ pkts++; -+ bytes += desc->priv[desc->tail]->len; -+ dev_kfree_skb(desc->priv[desc->tail]); -+ } -+ *frag = (struct netsec_frag_info){}; -+ netsec_inc_desc_tail_idx(priv, desc); -+ -+ if (is_last) -+ desc->tx_done_num--; -+ } -+ -+ spin_unlock(&desc->spinlock_desc); -+ -+ priv->ndev->stats.tx_packets += pkts; -+ priv->ndev->stats.tx_bytes += bytes; -+ -+ netdev_completed_queue(priv->ndev, pkts, bytes); -+ -+ return 0; -+} -+ -+int netsec_clean_rx_desc_ring(struct netsec_priv *priv) -+{ -+ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_RX]; -+ -+ spin_lock(&desc->spinlock_desc); -+ -+ while (desc->full || (desc->tail != desc->head)) { -+ netsec_set_rx_de(priv, desc, desc->tail, -+ &desc->frag[desc->tail], -+ desc->priv[desc->tail]); -+ desc->rx_num--; -+ netsec_inc_desc_tail_idx(priv, desc); -+ } -+ -+ spin_unlock(&desc->spinlock_desc); -+ -+ return 0; -+} -+ -+int netsec_set_tx_pkt_data(struct netsec_priv *priv, -+ const struct netsec_tx_pkt_ctrl *tx_ctrl, -+ u8 count_frags, const struct netsec_frag_info *info, -+ struct sk_buff *skb) -+{ -+ struct netsec_desc_ring *desc; -+ u32 sum_len = 0; -+ unsigned int i; -+ int ret = 0; -+ -+ if (tx_ctrl->tcp_seg_offload_flag && !tx_ctrl->cksum_offload_flag) -+ return -EINVAL; -+ -+ if (tx_ctrl->tcp_seg_offload_flag) { -+ if (tx_ctrl->tcp_seg_len == 0) -+ return -EINVAL; -+ -+ if (priv->param.use_jumbo_pkt_flag) { -+ if (tx_ctrl->tcp_seg_len > NETSEC_TCP_JUMBO_SEG_LEN_MAX) -+ return -EINVAL; -+ } else { -+ if (tx_ctrl->tcp_seg_len > NETSEC_TCP_SEG_LEN_MAX) -+ return -EINVAL; -+ } -+ } else { -+ if (tx_ctrl->tcp_seg_len) -+ return -EINVAL; -+ } -+ -+ if (!count_frags) -+ return -ERANGE; -+ -+ for (i = 0; i < count_frags; i++) { -+ if ((info[i].len == 0) || (info[i].len > 0xffff)) { -+ netif_err(priv, drv, priv->ndev, -+ "%s: bad info len\n", __func__); -+ return -EINVAL; -+ } -+ sum_len += info[i].len; -+ } -+ -+ if (!tx_ctrl->tcp_seg_offload_flag) { -+ if (priv->param.use_jumbo_pkt_flag) { -+ if (sum_len > NETSEC_MAX_TX_JUMBO_PKT_LEN) -+ return -EINVAL; -+ } else { -+ if (sum_len > NETSEC_MAX_TX_PKT_LEN) -+ return -EINVAL; -+ } -+ } -+ -+ desc = &priv->desc_ring[NETSEC_RING_TX]; -+ spin_lock(&desc->spinlock_desc); -+ -+ if (!desc->running) { -+ ret = -ENODEV; -+ goto end; -+ } -+ -+ dma_rmb(); /* we need to see a consistent view of pending tx count */ -+ if (count_frags > netsec_get_tx_avail_num_sub(priv, desc)) { -+ ret = -EBUSY; -+ goto end; -+ } -+ -+ for (i = 0; i < count_frags; i++) { -+ netsec_set_tx_desc_entry(priv, desc, tx_ctrl, i == 0, -+ i == count_frags - 1, &info[i], skb); -+ netsec_inc_desc_head_idx(priv, desc, 1); -+ } -+ -+ dma_wmb(); /* ensure the descriptor is flushed */ -+ netsec_writel(priv, tx_pkt_cnt_reg_addr[NETSEC_RING_TX], 1); -+ -+end: -+ spin_unlock(&desc->spinlock_desc); -+ -+ return ret; -+} -+ -+int netsec_get_rx_pkt_data(struct netsec_priv *priv, -+ struct netsec_rx_pkt_info *rxpi, -+ struct netsec_frag_info *frag, u16 *len, -+ struct sk_buff **skb) -+{ -+ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_RX]; -+ struct netsec_frag_info info; -+ struct sk_buff *tmp_skb; -+ int ret = 0; -+ -+ spin_lock(&desc->spinlock_desc); -+ -+ if (desc->rx_num == 0) { -+ dev_err(priv->dev, "%s 0 len rx\n", __func__); -+ ret = -EINVAL; -+ goto err; -+ } -+ -+ info.len = priv->rx_pkt_buf_len; -+ dma_rmb(); /* we need to ensure we only see current data in descriptor */ -+ tmp_skb = alloc_rx_pkt_buf(priv, &info); -+ if (!tmp_skb) { -+ netsec_set_rx_de(priv, desc, desc->tail, -+ &desc->frag[desc->tail], -+ desc->priv[desc->tail]); -+ ret = -ENOMEM; -+ } else { -+ netsec_get_rx_de(priv, desc, desc->tail, rxpi, frag, len, skb); -+ netsec_set_rx_de(priv, desc, desc->tail, &info, tmp_skb); -+ } -+ -+ netsec_inc_desc_tail_idx(priv, desc); -+ desc->rx_num--; -+ -+err: -+ spin_unlock(&desc->spinlock_desc); -+ -+ return ret; -+} -diff --git a/drivers/net/ethernet/socionext/netsec/netsec_ethtool.c b/drivers/net/ethernet/socionext/netsec/netsec_ethtool.c -new file mode 100644 -index 0000000..45830fe ---- /dev/null -+++ b/drivers/net/ethernet/socionext/netsec/netsec_ethtool.c -@@ -0,0 +1,78 @@ -+/** -+ * drivers/net/ethernet/socionext/netsec/netsec_ethtool.c -+ * -+ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited. -+ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved. -+ * Andy Green -+ * Jassi Brar -+ * Ard Biesheuvel -+ * -+ * 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. -+ */ -+ -+#include "netsec.h" -+ -+static void netsec_et_get_drvinfo(struct net_device *net_device, -+ struct ethtool_drvinfo *info) -+{ -+ strlcpy(info->driver, "netsec", sizeof(info->driver)); -+ strlcpy(info->bus_info, dev_name(net_device->dev.parent), -+ sizeof(info->bus_info)); -+} -+ -+static int netsec_et_get_coalesce(struct net_device *net_device, -+ struct ethtool_coalesce *et_coalesce) -+{ -+ struct netsec_priv *priv = netdev_priv(net_device); -+ -+ *et_coalesce = priv->et_coalesce; -+ -+ return 0; -+} -+ -+static int netsec_et_set_coalesce(struct net_device *net_device, -+ struct ethtool_coalesce *et_coalesce) -+{ -+ struct netsec_priv *priv = netdev_priv(net_device); -+ -+ if (et_coalesce->rx_max_coalesced_frames > NETSEC_INT_PKTCNT_MAX) -+ return -EINVAL; -+ if (et_coalesce->tx_max_coalesced_frames > NETSEC_INT_PKTCNT_MAX) -+ return -EINVAL; -+ if (!et_coalesce->rx_max_coalesced_frames) -+ return -EINVAL; -+ if (!et_coalesce->tx_max_coalesced_frames) -+ return -EINVAL; -+ -+ priv->et_coalesce = *et_coalesce; -+ -+ return 0; -+} -+ -+static u32 netsec_et_get_msglevel(struct net_device *dev) -+{ -+ struct netsec_priv *priv = netdev_priv(dev); -+ -+ return priv->msg_enable; -+} -+ -+static void netsec_et_set_msglevel(struct net_device *dev, u32 datum) -+{ -+ struct netsec_priv *priv = netdev_priv(dev); -+ -+ priv->msg_enable = datum; -+} -+ -+const struct ethtool_ops netsec_ethtool_ops = { -+ .get_drvinfo = netsec_et_get_drvinfo, -+ .get_link_ksettings = phy_ethtool_get_link_ksettings, -+ .set_link_ksettings = phy_ethtool_set_link_ksettings, -+ .get_link = ethtool_op_get_link, -+ .get_coalesce = netsec_et_get_coalesce, -+ .set_coalesce = netsec_et_set_coalesce, -+ .get_msglevel = netsec_et_get_msglevel, -+ .set_msglevel = netsec_et_set_msglevel, -+}; -diff --git a/drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c b/drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c -new file mode 100644 -index 0000000..94e9b7f ---- /dev/null -+++ b/drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c -@@ -0,0 +1,330 @@ -+/** -+ * drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c -+ * -+ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited. -+ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved. -+ * Andy Green -+ * Jassi Brar -+ * Ard Biesheuvel -+ * -+ * 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. -+ */ -+#include "netsec.h" -+ -+#define TIMEOUT_SPINS_MAC 1000 -+#define TIMEOUT_SECONDARY_MS_MAC 100 -+ -+static u32 netsec_clk_type(u32 freq) -+{ -+ if (freq < 35 * NETSEC_CLK_MHZ) -+ return NETSEC_GMAC_GAR_REG_CR_25_35_MHZ; -+ if (freq < 60 * NETSEC_CLK_MHZ) -+ return NETSEC_GMAC_GAR_REG_CR_35_60_MHZ; -+ if (freq < 100 * NETSEC_CLK_MHZ) -+ return NETSEC_GMAC_GAR_REG_CR_60_100_MHZ; -+ if (freq < 150 * NETSEC_CLK_MHZ) -+ return NETSEC_GMAC_GAR_REG_CR_100_150_MHZ; -+ if (freq < 250 * NETSEC_CLK_MHZ) -+ return NETSEC_GMAC_GAR_REG_CR_150_250_MHZ; -+ -+ return NETSEC_GMAC_GAR_REG_CR_250_300_MHZ; -+} -+ -+static int netsec_wait_while_busy(struct netsec_priv *priv, u32 addr, u32 mask) -+{ -+ u32 timeout = TIMEOUT_SPINS_MAC; -+ -+ while (--timeout && netsec_readl(priv, addr) & mask) -+ cpu_relax(); -+ if (timeout) -+ return 0; -+ -+ timeout = TIMEOUT_SECONDARY_MS_MAC; -+ while (--timeout && netsec_readl(priv, addr) & mask) -+ usleep_range(1000, 2000); -+ -+ if (timeout) -+ return 0; -+ -+ netdev_WARN(priv->ndev, "%s: timeout\n", __func__); -+ -+ return -ETIMEDOUT; -+} -+ -+static int netsec_mac_write(struct netsec_priv *priv, u32 addr, u32 value) -+{ -+ netsec_writel(priv, MAC_REG_DATA, value); -+ netsec_writel(priv, MAC_REG_CMD, addr | NETSEC_GMAC_CMD_ST_WRITE); -+ return netsec_wait_while_busy(priv, -+ MAC_REG_CMD, NETSEC_GMAC_CMD_ST_BUSY); -+} -+ -+static int netsec_mac_read(struct netsec_priv *priv, u32 addr, u32 *read) -+{ -+ int ret; -+ -+ netsec_writel(priv, MAC_REG_CMD, addr | NETSEC_GMAC_CMD_ST_READ); -+ ret = netsec_wait_while_busy(priv, -+ MAC_REG_CMD, NETSEC_GMAC_CMD_ST_BUSY); -+ if (ret) -+ return ret; -+ -+ *read = netsec_readl(priv, MAC_REG_DATA); -+ -+ return 0; -+} -+ -+static int netsec_mac_wait_while_busy(struct netsec_priv *priv, -+ u32 addr, u32 mask) -+{ -+ u32 timeout = TIMEOUT_SPINS_MAC; -+ int ret, data; -+ -+ do { -+ ret = netsec_mac_read(priv, addr, &data); -+ if (ret) -+ break; -+ cpu_relax(); -+ } while (--timeout && (data & mask)); -+ -+ if (timeout) -+ return 0; -+ -+ timeout = TIMEOUT_SECONDARY_MS_MAC; -+ do { -+ usleep_range(1000, 2000); -+ -+ ret = netsec_mac_read(priv, addr, &data); -+ if (ret) -+ break; -+ cpu_relax(); -+ } while (--timeout && (data & mask)); -+ -+ if (timeout && !ret) -+ return 0; -+ -+ netdev_WARN(priv->ndev, "%s: timeout\n", __func__); -+ -+ return -ETIMEDOUT; -+} -+ -+static int netsec_mac_update_to_phy_state(struct netsec_priv *priv) -+{ -+ struct phy_device *phydev = priv->ndev->phydev; -+ u32 value = 0; -+ -+ value = phydev->duplex ? NETSEC_GMAC_MCR_REG_FULL_DUPLEX_COMMON : -+ NETSEC_GMAC_MCR_REG_HALF_DUPLEX_COMMON; -+ -+ if (phydev->speed != SPEED_1000) -+ value |= NETSEC_MCR_PS; -+ -+ if ((priv->phy_interface != PHY_INTERFACE_MODE_GMII) && -+ (phydev->speed == SPEED_100)) -+ value |= NETSEC_GMAC_MCR_REG_FES; -+ -+ value |= NETSEC_GMAC_MCR_REG_CST | NETSEC_GMAC_MCR_REG_JE; -+ -+ if (priv->phy_interface == PHY_INTERFACE_MODE_RGMII) -+ value |= NETSEC_GMAC_MCR_REG_IBN; -+ -+ if (netsec_mac_write(priv, GMAC_REG_MCR, value)) -+ return -ETIMEDOUT; -+ -+ priv->actual_link_speed = phydev->speed; -+ priv->actual_duplex = phydev->duplex; -+ -+ return 0; -+} -+ -+/* NB netsec_start_gmac() only called from adjust_link */ -+ -+int netsec_start_gmac(struct netsec_priv *priv) -+{ -+ struct phy_device *phydev = priv->ndev->phydev; -+ u32 value = 0; -+ int ret; -+ -+ if (priv->desc_ring[NETSEC_RING_TX].running && -+ priv->desc_ring[NETSEC_RING_RX].running) -+ return 0; -+ -+ if (!priv->desc_ring[NETSEC_RING_RX].running && -+ !priv->desc_ring[NETSEC_RING_TX].running) { -+ if (phydev->speed != SPEED_1000) -+ value = (NETSEC_GMAC_MCR_REG_CST | -+ NETSEC_GMAC_MCR_REG_HALF_DUPLEX_COMMON); -+ -+ if (netsec_mac_write(priv, GMAC_REG_MCR, value)) -+ return -ETIMEDOUT; -+ if (netsec_mac_write(priv, GMAC_REG_BMR, -+ NETSEC_GMAC_BMR_REG_RESET)) -+ return -ETIMEDOUT; -+ -+ /* Wait soft reset */ -+ usleep_range(1000, 5000); -+ -+ ret = netsec_mac_read(priv, GMAC_REG_BMR, &value); -+ if (ret) -+ return ret; -+ if (value & NETSEC_GMAC_BMR_REG_SWR) -+ return -EAGAIN; -+ -+ netsec_writel(priv, MAC_REG_DESC_SOFT_RST, 1); -+ if (netsec_wait_while_busy(priv, MAC_REG_DESC_SOFT_RST, 1)) -+ return -ETIMEDOUT; -+ -+ netsec_writel(priv, MAC_REG_DESC_INIT, 1); -+ if (netsec_wait_while_busy(priv, MAC_REG_DESC_INIT, 1)) -+ return -ETIMEDOUT; -+ -+ if (netsec_mac_write(priv, GMAC_REG_BMR, -+ NETSEC_GMAC_BMR_REG_COMMON)) -+ return -ETIMEDOUT; -+ if (netsec_mac_write(priv, GMAC_REG_RDLAR, -+ NETSEC_GMAC_RDLAR_REG_COMMON)) -+ return -ETIMEDOUT; -+ if (netsec_mac_write(priv, GMAC_REG_TDLAR, -+ NETSEC_GMAC_TDLAR_REG_COMMON)) -+ return -ETIMEDOUT; -+ if (netsec_mac_write(priv, GMAC_REG_MFFR, 0x80000001)) -+ return -ETIMEDOUT; -+ -+ ret = netsec_mac_update_to_phy_state(priv); -+ if (ret) -+ return ret; -+ -+ if (priv->mac_mode.flow_ctrl_enable_flag) { -+ netsec_writel(priv, MAC_REG_FLOW_TH, -+ (priv->mac_mode.flow_stop_th << 16) | -+ priv->mac_mode.flow_start_th); -+ if (netsec_mac_write(priv, GMAC_REG_FCR, -+ (priv->mac_mode.pause_time << 16) | -+ NETSEC_FCR_RFE | NETSEC_FCR_TFE)) -+ return -ETIMEDOUT; -+ } -+ } -+ -+ ret = netsec_mac_read(priv, GMAC_REG_OMR, &value); -+ if (ret) -+ return ret; -+ -+ if (!priv->desc_ring[NETSEC_RING_RX].running) { -+ value |= NETSEC_GMAC_OMR_REG_SR; -+ netsec_start_desc_ring(priv, NETSEC_RING_RX); -+ } -+ if (!priv->desc_ring[NETSEC_RING_TX].running) { -+ value |= NETSEC_GMAC_OMR_REG_ST; -+ netsec_start_desc_ring(priv, NETSEC_RING_TX); -+ } -+ -+ if (netsec_mac_write(priv, GMAC_REG_OMR, value)) -+ return -ETIMEDOUT; -+ -+ netsec_writel(priv, NETSEC_REG_INTEN_SET, -+ NETSEC_IRQ_TX | NETSEC_IRQ_RX); -+ -+ return 0; -+} -+ -+int netsec_stop_gmac(struct netsec_priv *priv) -+{ -+ u32 value; -+ int ret; -+ -+ ret = netsec_mac_read(priv, GMAC_REG_OMR, &value); -+ if (ret) -+ return ret; -+ -+ if (priv->desc_ring[NETSEC_RING_RX].running) { -+ value &= ~NETSEC_GMAC_OMR_REG_SR; -+ netsec_stop_desc_ring(priv, NETSEC_RING_RX); -+ } -+ if (priv->desc_ring[NETSEC_RING_TX].running) { -+ value &= ~NETSEC_GMAC_OMR_REG_ST; -+ netsec_stop_desc_ring(priv, NETSEC_RING_TX); -+ } -+ -+ priv->actual_link_speed = 0; -+ priv->actual_duplex = false; -+ -+ return netsec_mac_write(priv, GMAC_REG_OMR, value); -+} -+ -+static int netsec_phy_write(struct mii_bus *bus, -+ int phy_addr, int reg, u16 val) -+{ -+ struct netsec_priv *priv = bus->priv; -+ -+ if (netsec_mac_write(priv, GMAC_REG_GDR, val)) -+ return -ETIMEDOUT; -+ if (netsec_mac_write(priv, GMAC_REG_GAR, -+ phy_addr << NETSEC_GMAC_GAR_REG_SHIFT_PA | -+ reg << NETSEC_GMAC_GAR_REG_SHIFT_GR | -+ NETSEC_GMAC_GAR_REG_GW | NETSEC_GMAC_GAR_REG_GB | -+ (netsec_clk_type(priv->freq) << -+ GMAC_REG_SHIFT_CR_GAR))) -+ return -ETIMEDOUT; -+ -+ return netsec_mac_wait_while_busy(priv, GMAC_REG_GAR, -+ NETSEC_GMAC_GAR_REG_GB); -+} -+ -+static int netsec_phy_read(struct mii_bus *bus, int phy_addr, int reg_addr) -+{ -+ struct netsec_priv *priv = bus->priv; -+ u32 data; -+ int ret; -+ -+ if (netsec_mac_write(priv, GMAC_REG_GAR, NETSEC_GMAC_GAR_REG_GB | -+ phy_addr << NETSEC_GMAC_GAR_REG_SHIFT_PA | -+ reg_addr << NETSEC_GMAC_GAR_REG_SHIFT_GR | -+ (netsec_clk_type(priv->freq) << -+ GMAC_REG_SHIFT_CR_GAR))) -+ return -ETIMEDOUT; -+ -+ ret = netsec_mac_wait_while_busy(priv, GMAC_REG_GAR, -+ NETSEC_GMAC_GAR_REG_GB); -+ if (ret) -+ return ret; -+ -+ ret = netsec_mac_read(priv, GMAC_REG_GDR, &data); -+ if (ret) -+ return ret; -+ -+ return data; -+} -+ -+int netsec_mii_register(struct netsec_priv *priv) -+{ -+ struct mii_bus *bus = devm_mdiobus_alloc(priv->dev); -+ int ret; -+ -+ if (!bus) -+ return -ENOMEM; -+ -+ snprintf(bus->id, MII_BUS_ID_SIZE, "%s", dev_name(priv->dev)); -+ bus->priv = priv; -+ bus->name = "SNI NETSEC MDIO"; -+ bus->read = netsec_phy_read; -+ bus->write = netsec_phy_write; -+ bus->parent = priv->dev; -+ priv->mii_bus = bus; -+ -+ if (dev_of_node(priv->dev)) { -+ ret = of_mdiobus_register(bus, dev_of_node(priv->dev)); -+ } else { -+ /* Mask out all PHYs from auto probing. */ -+ bus->phy_mask = ~0; -+ ret = mdiobus_register(bus); -+ } -+ return ret; -+} -+ -+void netsec_mii_unregister(struct netsec_priv *priv) -+{ -+ mdiobus_unregister(priv->mii_bus); -+} -diff --git a/drivers/net/ethernet/socionext/netsec/netsec_netdev.c b/drivers/net/ethernet/socionext/netsec/netsec_netdev.c -new file mode 100644 -index 0000000..e99cf0e ---- /dev/null -+++ b/drivers/net/ethernet/socionext/netsec/netsec_netdev.c -@@ -0,0 +1,540 @@ -+/** -+ * drivers/net/ethernet/socionext/netsec/netsec_netdev.c -+ * -+ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited. -+ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved. -+ * Andy Green -+ * Jassi Brar -+ * Ard Biesheuvel -+ * -+ * 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. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "netsec.h" -+ -+#define WAIT_FW_RDY_TIMEOUT 50 -+ -+static const u32 desc_ring_irq_status_reg_addr[] = { -+ NETSEC_REG_NRM_TX_STATUS, -+ NETSEC_REG_NRM_RX_STATUS, -+}; -+ -+static const u32 desc_ads[] = { -+ NETSEC_REG_NRM_TX_CONFIG, -+ NETSEC_REG_NRM_RX_CONFIG, -+}; -+ -+static const u32 netsec_desc_start_reg_addr_up[] = { -+ NETSEC_REG_NRM_TX_DESC_START_UP, -+ NETSEC_REG_NRM_RX_DESC_START_UP, -+}; -+ -+static const u32 netsec_desc_start_reg_addr_lw[] = { -+ NETSEC_REG_NRM_TX_DESC_START_LW, -+ NETSEC_REG_NRM_RX_DESC_START_LW, -+}; -+ -+static u32 netsec_calc_pkt_ctrl_reg_param(const struct netsec_pkt_ctrlaram -+ *pkt_ctrlaram_p) -+{ -+ u32 param = NETSEC_PKT_CTRL_REG_MODE_NRM; -+ -+ if (pkt_ctrlaram_p->log_chksum_er_flag) -+ param |= NETSEC_PKT_CTRL_REG_LOG_CHKSUM_ER; -+ -+ if (pkt_ctrlaram_p->log_hd_imcomplete_flag) -+ param |= NETSEC_PKT_CTRL_REG_LOG_HD_INCOMPLETE; -+ -+ if (pkt_ctrlaram_p->log_hd_er_flag) -+ param |= NETSEC_PKT_CTRL_REG_LOG_HD_ER; -+ -+ return param; -+} -+ -+static int netsec_netdev_load_ucode_region(struct netsec_priv *priv, u32 reg, -+ u32 addr_h, u32 addr_l, u32 size) -+{ -+ u64 base = (u64)addr_h << 32 | addr_l; -+ __le32 *ucode; -+ u32 i; -+ -+ ucode = memremap(base, size * sizeof(u32), MEMREMAP_WT); -+ if (!ucode) -+ return -ENOMEM; -+ -+ for (i = 0; i < size; i++) -+ netsec_writel(priv, reg, le32_to_cpu(ucode[i])); -+ -+ memunmap(ucode); -+ return 0; -+} -+ -+static int netsec_netdev_load_microcode(struct netsec_priv *priv) -+{ -+ int err; -+ -+ err = netsec_netdev_load_ucode_region( -+ priv, NETSEC_REG_DMAC_HM_CMD_BUF, -+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_ADDRESS_H), -+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_ADDRESS_L), -+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_SIZE)); -+ if (err) -+ return err; -+ -+ err = netsec_netdev_load_ucode_region( -+ priv, NETSEC_REG_DMAC_MH_CMD_BUF, -+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_MH_ME_ADDRESS_H), -+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_MH_ME_ADDRESS_L), -+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_MH_ME_SIZE)); -+ if (err) -+ return err; -+ -+ err = netsec_netdev_load_ucode_region( -+ priv, NETSEC_REG_PKT_CMD_BUF, -+ 0, -+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_PKT_ME_ADDRESS), -+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_PKT_ME_SIZE)); -+ if (err) -+ return err; -+ -+ return 0; -+} -+ -+static int netsec_init_hardware(struct netsec_priv *priv) -+{ -+ u32 value; -+ int err; -+ -+ /* set desc_start addr */ -+ netsec_writel(priv, netsec_desc_start_reg_addr_up[NETSEC_RING_RX], -+ upper_32_bits(priv->desc_ring[NETSEC_RING_RX].desc_phys)); -+ netsec_writel(priv, netsec_desc_start_reg_addr_lw[NETSEC_RING_RX], -+ lower_32_bits(priv->desc_ring[NETSEC_RING_RX].desc_phys)); -+ -+ netsec_writel(priv, netsec_desc_start_reg_addr_up[NETSEC_RING_TX], -+ upper_32_bits(priv->desc_ring[NETSEC_RING_TX].desc_phys)); -+ netsec_writel(priv, netsec_desc_start_reg_addr_lw[NETSEC_RING_TX], -+ lower_32_bits(priv->desc_ring[NETSEC_RING_TX].desc_phys)); -+ -+ /* set normal tx desc ring config */ -+ netsec_writel(priv, desc_ads[NETSEC_RING_TX], -+ 1 << NETSEC_REG_DESC_ENDIAN); -+ netsec_writel(priv, desc_ads[NETSEC_RING_RX], -+ 1 << NETSEC_REG_DESC_ENDIAN); -+ -+ err = netsec_netdev_load_microcode(priv); -+ if (err) { -+ netif_err(priv, probe, priv->ndev, -+ "%s: failed to load microcode (%d)\n", __func__, err); -+ return err; -+ } -+ -+ /* start DMA engines */ -+ netsec_writel(priv, NETSEC_REG_DMA_TMR_CTRL, priv->freq / 1000000 - 1); -+ netsec_writel(priv, NETSEC_REG_ADDR_DIS_CORE, 0); -+ -+ usleep_range(1000, 2000); -+ -+ if (!(netsec_readl(priv, NETSEC_REG_TOP_STATUS) & -+ NETSEC_TOP_IRQ_REG_CODE_LOAD_END)) { -+ netif_err(priv, drv, priv->ndev, "microengine start failed\n"); -+ return -ENXIO; -+ } -+ netsec_writel(priv, NETSEC_REG_TOP_STATUS, -+ NETSEC_TOP_IRQ_REG_CODE_LOAD_END); -+ -+ value = netsec_calc_pkt_ctrl_reg_param(&priv->param.pkt_ctrlaram); -+ -+ if (priv->param.use_jumbo_pkt_flag) -+ value |= NETSEC_PKT_CTRL_REG_EN_JUMBO; -+ -+ /* change to normal mode */ -+ netsec_writel(priv, NETSEC_REG_DMA_MH_CTRL, MH_CTRL__MODE_TRANS); -+ netsec_writel(priv, NETSEC_REG_PKT_CTRL, value); -+ -+ while ((netsec_readl(priv, NETSEC_REG_MODE_TRANS_COMP_STATUS) & -+ NETSEC_MODE_TRANS_COMP_IRQ_T2N) == 0) -+ cpu_relax(); -+ -+ return 0; -+} -+ -+static void netsec_ring_irq_clr(struct netsec_priv *priv, -+ unsigned int id, u32 value) -+{ -+ netsec_writel(priv, desc_ring_irq_status_reg_addr[id], -+ value & (NETSEC_IRQ_EMPTY | NETSEC_IRQ_ERR)); -+} -+ -+static void netsec_napi_tx_processing(struct netsec_priv *priv) -+{ -+ netsec_ring_irq_clr(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); -+ netsec_clean_tx_desc_ring(priv); -+ -+ if (netif_queue_stopped(priv->ndev) && -+ netsec_get_tx_avail_num(priv) >= NETSEC_NETDEV_TX_PKT_SCAT_NUM_MAX) -+ netif_wake_queue(priv->ndev); -+} -+ -+int netsec_netdev_napi_poll(struct napi_struct *napi_p, int budget) -+{ -+ struct netsec_priv *priv = container_of(napi_p, struct netsec_priv, -+ napi); -+ struct net_device *ndev = priv->ndev; -+ struct netsec_rx_pkt_info rx_info; -+ int ret, done = 0, rx_num = 0; -+ struct netsec_frag_info frag; -+ struct sk_buff *skb; -+ u16 len; -+ -+ netsec_napi_tx_processing(priv); -+ -+ while (done < budget) { -+ if (!rx_num) { -+ rx_num = netsec_get_rx_num(priv); -+ if (!rx_num) -+ break; -+ } -+ done++; -+ rx_num--; -+ ret = netsec_get_rx_pkt_data(priv, &rx_info, &frag, &len, &skb); -+ if (unlikely(ret == -ENOMEM)) { -+ netif_err(priv, drv, priv->ndev, -+ "%s: rx fail %d\n", __func__, ret); -+ ndev->stats.rx_dropped++; -+ continue; -+ } -+ dma_unmap_single(priv->dev, frag.dma_addr, frag.len, -+ DMA_FROM_DEVICE); -+ skb_put(skb, len); -+ skb->protocol = eth_type_trans(skb, priv->ndev); -+ -+ if (priv->rx_cksum_offload_flag && -+ rx_info.rx_cksum_result == NETSEC_RX_CKSUM_OK) -+ skb->ip_summed = CHECKSUM_UNNECESSARY; -+ -+ if (napi_gro_receive(napi_p, skb) != GRO_DROP) { -+ ndev->stats.rx_packets++; -+ ndev->stats.rx_bytes += len; -+ } -+ } -+ -+ if (done < budget && napi_complete_done(napi_p, done)) -+ netsec_writel(priv, NETSEC_REG_INTEN_SET, -+ NETSEC_IRQ_TX | NETSEC_IRQ_RX); -+ return done; -+} -+ -+static netdev_tx_t netsec_netdev_start_xmit(struct sk_buff *skb, -+ struct net_device *ndev) -+{ -+ struct netsec_priv *priv = netdev_priv(ndev); -+ struct netsec_tx_pkt_ctrl tx_ctrl = {}; -+ u16 pend_tx, tso_seg_len = 0; -+ skb_frag_t *frag; -+ int count_frags; -+ int ret, i; -+ -+ netsec_ring_irq_clr(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); -+ -+ count_frags = skb_shinfo(skb)->nr_frags + 1; -+ -+ if (skb->ip_summed == CHECKSUM_PARTIAL) { -+ if ((skb->protocol == htons(ETH_P_IP) && -+ ip_hdr(skb)->protocol == IPPROTO_TCP) || -+ (skb->protocol == htons(ETH_P_IPV6) && -+ ipv6_hdr(skb)->nexthdr == IPPROTO_TCP)) -+ tx_ctrl.cksum_offload_flag = true; -+ else -+ skb_checksum_help(skb); -+ } -+ -+ if (skb_is_gso(skb)) -+ tso_seg_len = skb_shinfo(skb)->gso_size; -+ -+ if (tso_seg_len > 0) { -+ if (skb->protocol == htons(ETH_P_IP)) { -+ ip_hdr(skb)->tot_len = 0; -+ tcp_hdr(skb)->check = -+ ~tcp_v4_check(0, ip_hdr(skb)->saddr, -+ ip_hdr(skb)->daddr, 0); -+ } else { -+ ipv6_hdr(skb)->payload_len = 0; -+ tcp_hdr(skb)->check = -+ ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr, -+ &ipv6_hdr(skb)->daddr, -+ 0, IPPROTO_TCP, 0); -+ } -+ -+ tx_ctrl.tcp_seg_offload_flag = true; -+ tx_ctrl.tcp_seg_len = tso_seg_len; -+ } -+ -+ priv->tx_info[0].dma_addr = dma_map_single(priv->dev, skb->data, -+ skb_headlen(skb), -+ DMA_TO_DEVICE); -+ if (dma_mapping_error(priv->dev, priv->tx_info[0].dma_addr)) { -+ netif_err(priv, drv, priv->ndev, -+ "%s: DMA mapping failed\n", __func__); -+ return NETDEV_TX_OK; -+ } -+ priv->tx_info[0].addr = skb->data; -+ priv->tx_info[0].len = skb_headlen(skb); -+ -+ for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { -+ frag = &skb_shinfo(skb)->frags[i]; -+ priv->tx_info[i + 1].dma_addr = -+ skb_frag_dma_map(priv->dev, frag, 0, -+ skb_frag_size(frag), DMA_TO_DEVICE); -+ priv->tx_info[i + 1].addr = skb_frag_address(frag); -+ priv->tx_info[i + 1].len = frag->size; -+ } -+ -+ netsec_mark_skb_type(skb, NETSEC_RING_TX); -+ -+ ret = netsec_set_tx_pkt_data(priv, &tx_ctrl, count_frags, -+ priv->tx_info, skb); -+ if (ret) { -+ netif_info(priv, drv, priv->ndev, -+ "set tx pkt failed %d\n", ret); -+ for (i = 0; i < count_frags; i++) -+ dma_unmap_single(priv->dev, priv->tx_info[i].dma_addr, -+ priv->tx_info[i].len, DMA_TO_DEVICE); -+ ndev->stats.tx_dropped++; -+ -+ return NETDEV_TX_OK; -+ } -+ -+ netdev_sent_queue(priv->ndev, skb->len); -+ -+ spin_lock(&priv->tx_queue_lock); -+ pend_tx = netsec_get_tx_avail_num(priv); -+ -+ if (pend_tx < NETSEC_NETDEV_TX_PKT_SCAT_NUM_MAX) { -+ netsec_ring_irq_enable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); -+ netif_stop_queue(ndev); -+ goto err; -+ } -+ if (pend_tx <= DESC_NUM - 2) { -+ netsec_ring_irq_enable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); -+ goto err; -+ } -+ netsec_ring_irq_disable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); -+ -+err: -+ spin_unlock(&priv->tx_queue_lock); -+ -+ return NETDEV_TX_OK; -+} -+ -+static int netsec_netdev_set_features(struct net_device *ndev, -+ netdev_features_t features) -+{ -+ struct netsec_priv *priv = netdev_priv(ndev); -+ -+ priv->rx_cksum_offload_flag = !!(features & NETIF_F_RXCSUM); -+ -+ return 0; -+} -+ -+static void netsec_phy_adjust_link(struct net_device *ndev) -+{ -+ struct netsec_priv *priv = netdev_priv(ndev); -+ -+ if (priv->actual_link_speed == ndev->phydev->speed && -+ priv->actual_duplex == ndev->phydev->duplex) -+ return; -+ -+ phy_print_status(ndev->phydev); -+ -+ netsec_stop_gmac(priv); -+ netsec_start_gmac(priv); -+} -+ -+static irqreturn_t netsec_irq_handler(int irq, void *dev_id) -+{ -+ struct netsec_priv *priv = dev_id; -+ u32 status = netsec_readl(priv, NETSEC_REG_TOP_STATUS) & -+ netsec_readl(priv, NETSEC_REG_TOP_INTEN); -+ -+ if (!status) -+ return IRQ_NONE; -+ -+ if (status & (NETSEC_IRQ_TX | NETSEC_IRQ_RX)) { -+ netsec_writel(priv, NETSEC_REG_INTEN_CLR, -+ status & (NETSEC_IRQ_TX | NETSEC_IRQ_RX)); -+ napi_schedule(&priv->napi); -+ } -+ -+ return IRQ_HANDLED; -+} -+ -+static void netsec_reset_hardware(struct netsec_priv *priv) -+{ -+ /* stop DMA engines */ -+ if (!netsec_readl(priv, NETSEC_REG_ADDR_DIS_CORE)) { -+ netsec_writel(priv, NETSEC_REG_DMA_HM_CTRL, -+ NETSEC_DMA_CTRL_REG_STOP); -+ netsec_writel(priv, NETSEC_REG_DMA_MH_CTRL, -+ NETSEC_DMA_CTRL_REG_STOP); -+ -+ while (netsec_readl(priv, NETSEC_REG_DMA_HM_CTRL) & -+ NETSEC_DMA_CTRL_REG_STOP) -+ cpu_relax(); -+ -+ while (netsec_readl(priv, NETSEC_REG_DMA_MH_CTRL) & -+ NETSEC_DMA_CTRL_REG_STOP) -+ cpu_relax(); -+ } -+ -+ netsec_writel(priv, NETSEC_REG_SOFT_RST, NETSEC_SOFT_RST_REG_RESET); -+ netsec_writel(priv, NETSEC_REG_SOFT_RST, NETSEC_SOFT_RST_REG_RUN); -+ netsec_writel(priv, NETSEC_REG_COM_INIT, NETSEC_COM_INIT_REG_ALL); -+ -+ while (netsec_readl(priv, NETSEC_REG_COM_INIT) != 0) -+ cpu_relax(); -+} -+ -+static int netsec_netdev_open(struct net_device *ndev) -+{ -+ struct netsec_priv *priv = netdev_priv(ndev); -+ int ret, n; -+ -+ pm_runtime_get_sync(priv->dev); -+ -+ netsec_reset_hardware(priv); -+ -+ for (n = 0; n <= NETSEC_RING_MAX; n++) { -+ ret = netsec_alloc_desc_ring(priv, n); -+ if (ret) { -+ netif_err(priv, probe, priv->ndev, -+ "%s: alloc ring failed\n", __func__); -+ goto err; -+ } -+ } -+ -+ ret = netsec_setup_rx_desc(priv, &priv->desc_ring[NETSEC_RING_RX]); -+ if (ret) { -+ netif_err(priv, probe, priv->ndev, -+ "%s: fail setup ring\n", __func__); -+ goto err1; -+ } -+ -+ ret = netsec_init_hardware(priv); -+ if (ret) { -+ netif_err(priv, probe, priv->ndev, -+ "%s: netsec_init_hardware fail %d\n", __func__, ret); -+ goto err1; -+ } -+ -+ ret = request_irq(priv->ndev->irq, netsec_irq_handler, -+ IRQF_SHARED, "netsec", priv); -+ if (ret) { -+ netif_err(priv, drv, priv->ndev, "request_irq failed\n"); -+ goto err1; -+ } -+ priv->irq_registered = true; -+ -+ ret = netsec_clean_rx_desc_ring(priv); -+ if (ret) { -+ netif_err(priv, drv, priv->ndev, -+ "%s: clean rx desc fail\n", __func__); -+ goto err2; -+ } -+ -+ ret = netsec_clean_tx_desc_ring(priv); -+ if (ret) { -+ netif_err(priv, drv, priv->ndev, -+ "%s: clean tx desc fail\n", __func__); -+ goto err2; -+ } -+ -+ netsec_ring_irq_clr(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); -+ -+ if (dev_of_node(priv->dev)) { -+ if (!of_phy_connect(priv->ndev, priv->phy_np, -+ netsec_phy_adjust_link, 0, -+ priv->phy_interface)) { -+ netif_err(priv, link, priv->ndev, "missing PHY\n"); -+ goto err2; -+ } -+ } else { -+ ret = phy_connect_direct(priv->ndev, priv->phydev, -+ netsec_phy_adjust_link, -+ priv->phy_interface); -+ if (ret) { -+ netif_err(priv, link, priv->ndev, -+ "phy_connect_direct() failed (%d)\n", ret); -+ goto err2; -+ } -+ } -+ -+ phy_start_aneg(ndev->phydev); -+ -+ netsec_ring_irq_disable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); -+ -+ netsec_start_gmac(priv); -+ napi_enable(&priv->napi); -+ netif_start_queue(ndev); -+ -+ netsec_writel(priv, NETSEC_REG_INTEN_SET, -+ NETSEC_IRQ_TX | NETSEC_IRQ_RX); -+ -+ return 0; -+ -+err2: -+ pm_runtime_put_sync(priv->dev); -+ free_irq(priv->ndev->irq, priv); -+ priv->irq_registered = false; -+err1: -+ for (n = 0; n <= NETSEC_RING_MAX; n++) -+ netsec_free_desc_ring(priv, &priv->desc_ring[n]); -+err: -+ pm_runtime_put_sync(priv->dev); -+ -+ return ret; -+} -+ -+static int netsec_netdev_stop(struct net_device *ndev) -+{ -+ struct netsec_priv *priv = netdev_priv(ndev); -+ int n; -+ -+ phy_stop(ndev->phydev); -+ phy_disconnect(ndev->phydev); -+ -+ netif_stop_queue(priv->ndev); -+ napi_disable(&priv->napi); -+ -+ netsec_writel(priv, NETSEC_REG_INTEN_CLR, ~0); -+ netsec_stop_gmac(priv); -+ -+ pm_runtime_put_sync(priv->dev); -+ -+ for (n = 0; n <= NETSEC_RING_MAX; n++) -+ netsec_free_desc_ring(priv, &priv->desc_ring[n]); -+ -+ free_irq(priv->ndev->irq, priv); -+ priv->irq_registered = false; -+ -+ return 0; -+} -+ -+const struct net_device_ops netsec_netdev_ops = { -+ .ndo_open = netsec_netdev_open, -+ .ndo_stop = netsec_netdev_stop, -+ .ndo_start_xmit = netsec_netdev_start_xmit, -+ .ndo_set_features = netsec_netdev_set_features, -+ .ndo_set_mac_address = eth_mac_addr, -+ .ndo_validate_addr = eth_validate_addr, -+}; -diff --git a/drivers/net/ethernet/socionext/netsec/netsec_platform.c b/drivers/net/ethernet/socionext/netsec/netsec_platform.c -new file mode 100644 -index 0000000..624f6a7 ---- /dev/null -+++ b/drivers/net/ethernet/socionext/netsec/netsec_platform.c -@@ -0,0 +1,435 @@ -+/** -+ * drivers/net/ethernet/socionext/netsec/netsec_platform.c -+ * -+ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited. -+ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved. -+ * Andy Green -+ * Jassi Brar -+ * Ard Biesheuvel -+ * -+ * 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. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "netsec.h" -+ -+#define NETSEC_F_NETSEC_VER_MAJOR_NUM(x) (x & 0xffff0000) -+ -+static int napi_weight = 64; -+static u16 pause_time = 256; -+ -+static int netsec_of_probe(struct platform_device *pdev, -+ struct netsec_priv *priv) -+{ -+ int clk_count, ret, i; -+ -+ priv->phy_np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0); -+ if (!priv->phy_np) { -+ dev_err(&pdev->dev, "missing required property 'phy-handle'\n"); -+ return -EINVAL; -+ } -+ -+ /* we require named clocks if there is more than one */ -+ clk_count = of_property_count_strings(pdev->dev.of_node, "clock-names"); -+ if (clk_count > 1) { -+ if (clk_count > ARRAY_SIZE(priv->clk)) { -+ dev_err(&pdev->dev, "too many clocks specified (%d)\n", -+ clk_count); -+ return -EINVAL; -+ } -+ -+ for (i = 0; i < clk_count; i++) { -+ const char *clk_name; -+ -+ ret = of_property_read_string_index(pdev->dev.of_node, -+ "clock-names", i, -+ &clk_name); -+ if (ret) { -+ dev_err(&pdev->dev, -+ "failed to parse 'clock-names'\n"); -+ return ret; -+ } -+ priv->clk[i] = devm_clk_get(&pdev->dev, clk_name); -+ if (!strcmp(clk_name, "phy_refclk")) { -+ priv->freq = clk_get_rate(priv->clk[i]); -+ dev_dbg(&pdev->dev, -+ "found PHY refclock #%d freq %u\n", -+ i, priv->freq); -+ } -+ } -+ priv->clock_count = clk_count; -+ } else { -+ priv->clk[0] = devm_clk_get(&pdev->dev, NULL); -+ if (IS_ERR(priv->clk)) { -+ dev_err(&pdev->dev, -+ "missing required property 'clocks'\n"); -+ return PTR_ERR(priv->clk); -+ } -+ priv->freq = clk_get_rate(priv->clk[0]); -+ priv->clock_count = 1; -+ } -+ return 0; -+} -+ -+static int netsec_acpi_probe(struct platform_device *pdev, -+ struct netsec_priv *priv, u32 *phy_addr) -+{ -+ int ret; -+ -+ if (!IS_ENABLED(CONFIG_ACPI)) -+ return -ENODEV; -+ -+ ret = device_property_read_u32(&pdev->dev, "phy-channel", phy_addr); -+ if (ret) { -+ dev_err(&pdev->dev, -+ "missing required property 'phy-channel'\n"); -+ return ret; -+ } -+ -+ ret = device_property_read_u32(&pdev->dev, -+ "socionext,phy-clock-frequency", -+ &priv->freq); -+ if (ret) -+ dev_err(&pdev->dev, -+ "missing required property 'socionext,phy-clock-frequency'\n"); -+ return ret; -+} -+ -+static int netsec_probe(struct platform_device *pdev) -+{ -+ struct net_device *ndev; -+ struct netsec_priv *priv; -+ struct resource *mmio_res, *eeprom_res, *irq_res; -+ u8 *mac, macbuf[ETH_ALEN]; -+ u32 hw_ver, phy_addr; -+ int ret; -+ -+ mmio_res = platform_get_resource(pdev, IORESOURCE_MEM, 0); -+ if (!mmio_res) { -+ dev_err(&pdev->dev, "No MMIO resource found.\n"); -+ return -ENODEV; -+ } -+ -+ eeprom_res = platform_get_resource(pdev, IORESOURCE_MEM, 1); -+ if (!eeprom_res) { -+ dev_info(&pdev->dev, "No EEPROM resource found.\n"); -+ return -ENODEV; -+ } -+ -+ irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); -+ if (!irq_res) { -+ dev_err(&pdev->dev, "No IRQ resource found.\n"); -+ return -ENODEV; -+ } -+ -+ ndev = alloc_etherdev(sizeof(*priv)); -+ if (!ndev) -+ return -ENOMEM; -+ -+ priv = netdev_priv(ndev); -+ priv->ndev = ndev; -+ SET_NETDEV_DEV(ndev, &pdev->dev); -+ platform_set_drvdata(pdev, priv); -+ priv->dev = &pdev->dev; -+ -+ priv->msg_enable = NETIF_MSG_TX_ERR | NETIF_MSG_HW | NETIF_MSG_DRV | -+ NETIF_MSG_LINK | NETIF_MSG_PROBE; -+ -+ ndev->irq = irq_res->start; -+ -+ priv->phy_interface = device_get_phy_mode(&pdev->dev); -+ if (priv->phy_interface < 0) { -+ dev_err(&pdev->dev, "missing required property 'phy-mode'\n"); -+ ret = -ENODEV; -+ goto free_ndev; -+ } -+ -+ priv->ioaddr = devm_ioremap(&pdev->dev, mmio_res->start, -+ resource_size(mmio_res)); -+ if (!priv->ioaddr) { -+ dev_err(&pdev->dev, "devm_ioremap() failed\n"); -+ ret = -ENXIO; -+ goto free_ndev; -+ } -+ -+ priv->eeprom_base = devm_memremap(&pdev->dev, eeprom_res->start, -+ resource_size(eeprom_res), -+ MEMREMAP_WT); -+ if (!priv->eeprom_base) { -+ dev_err(&pdev->dev, "devm_memremap() failed for EEPROM\n"); -+ ret = -ENXIO; -+ goto free_ndev; -+ } -+ -+ mac = device_get_mac_address(&pdev->dev, macbuf, sizeof(macbuf)); -+ if (mac) -+ ether_addr_copy(ndev->dev_addr, mac); -+ -+ if (priv->eeprom_base && -+ (!mac || !is_valid_ether_addr(ndev->dev_addr))) { -+ const u8 *macp = priv->eeprom_base + NETSEC_EEPROM_MAC_ADDRESS; -+ -+ ndev->dev_addr[0] = macp[3]; -+ ndev->dev_addr[1] = macp[2]; -+ ndev->dev_addr[2] = macp[1]; -+ ndev->dev_addr[3] = macp[0]; -+ ndev->dev_addr[4] = macp[7]; -+ ndev->dev_addr[5] = macp[6]; -+ } -+ -+ if (!is_valid_ether_addr(ndev->dev_addr)) { -+ dev_warn(&pdev->dev, "No MAC address found, using random\n"); -+ eth_hw_addr_random(ndev); -+ } -+ -+ if (dev_of_node(&pdev->dev)) -+ ret = netsec_of_probe(pdev, priv); -+ else -+ ret = netsec_acpi_probe(pdev, priv, &phy_addr); -+ if (ret) -+ goto free_ndev; -+ -+ if (!priv->freq) { -+ dev_err(&pdev->dev, "missing PHY reference clock frequency\n"); -+ ret = -ENODEV; -+ goto free_ndev; -+ } -+ -+ /* disable by default */ -+ priv->et_coalesce.rx_coalesce_usecs = 0; -+ priv->et_coalesce.rx_max_coalesced_frames = 1; -+ priv->et_coalesce.tx_coalesce_usecs = 0; -+ priv->et_coalesce.tx_max_coalesced_frames = 1; -+ -+ ret = device_property_read_u32(&pdev->dev, "max-frame-size", -+ &ndev->max_mtu); -+ if (ret < 0) -+ ndev->max_mtu = ETH_DATA_LEN; -+ -+ priv->rx_pkt_buf_len = ndev->max_mtu + 22; -+ priv->param.use_jumbo_pkt_flag = (ndev->max_mtu > ETH_DATA_LEN); -+ -+ pm_runtime_enable(&pdev->dev); -+ /* runtime_pm coverage just for probe, open/close also cover it */ -+ pm_runtime_get_sync(&pdev->dev); -+ -+ hw_ver = netsec_readl(priv, NETSEC_REG_F_TAIKI_VER); -+ /* this driver only supports F_TAIKI style NETSEC */ -+ if (NETSEC_F_NETSEC_VER_MAJOR_NUM(hw_ver) != -+ NETSEC_F_NETSEC_VER_MAJOR_NUM(NETSEC_REG_NETSEC_VER_F_TAIKI)) { -+ ret = -ENODEV; -+ goto pm_disable; -+ } -+ -+ dev_info(&pdev->dev, "hardware revision %d.%d\n", -+ hw_ver >> 16, hw_ver & 0xffff); -+ -+ priv->mac_mode.flow_start_th = NETSEC_FLOW_CONTROL_START_THRESHOLD; -+ priv->mac_mode.flow_stop_th = NETSEC_FLOW_CONTROL_STOP_THRESHOLD; -+ priv->mac_mode.pause_time = pause_time; -+ priv->mac_mode.flow_ctrl_enable_flag = false; -+ -+ netif_napi_add(ndev, &priv->napi, netsec_netdev_napi_poll, napi_weight); -+ -+ ndev->netdev_ops = &netsec_netdev_ops; -+ ndev->ethtool_ops = &netsec_ethtool_ops; -+ ndev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | -+ NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GSO | -+ NETIF_F_HIGHDMA | NETIF_F_RXCSUM; -+ ndev->hw_features = ndev->features; -+ -+ priv->rx_cksum_offload_flag = true; -+ spin_lock_init(&priv->tx_queue_lock); -+ -+ ret = netsec_mii_register(priv); -+ if (ret) { -+ dev_err(&pdev->dev, "mii bus registration failed (%d)\n", ret); -+ goto pm_disable; -+ } -+ -+ if (!dev_of_node(&pdev->dev)) { /* ACPI */ -+ priv->phydev = get_phy_device(priv->mii_bus, phy_addr, false); -+ if (IS_ERR(priv->phydev)) { -+ dev_err(&pdev->dev, "get_phy_device() failed (%ld)\n", -+ PTR_ERR(priv->phydev)); -+ ret = PTR_ERR(priv->phydev); -+ goto unregister_mii; -+ } -+ -+ ret = phy_device_register(priv->phydev); -+ if (ret) { -+ dev_err(&pdev->dev, -+ "phy_device_register() failed (%d)\n", ret); -+ phy_device_free(priv->phydev); -+ goto unregister_mii; -+ } -+ } -+ -+ /* disable all other interrupt sources */ -+ netsec_writel(priv, NETSEC_REG_INTEN_CLR, ~0); -+ netsec_writel(priv, NETSEC_REG_INTEN_SET, -+ NETSEC_IRQ_TX | NETSEC_IRQ_RX); -+ -+ if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64))) -+ dev_warn(&pdev->dev, "Failed to enable 64-bit DMA\n"); -+ -+ ret = register_netdev(ndev); -+ if (ret) { -+ netif_err(priv, probe, ndev, "register_netdev() failed\n"); -+ goto unregister_mii; -+ } -+ -+ pm_runtime_put_sync_suspend(&pdev->dev); -+ -+ return 0; -+ -+unregister_mii: -+ netsec_mii_unregister(priv); -+ -+pm_disable: -+ pm_runtime_put_sync_suspend(&pdev->dev); -+ pm_runtime_disable(&pdev->dev); -+ -+free_ndev: -+ free_netdev(ndev); -+ -+ dev_err(&pdev->dev, "init failed\n"); -+ -+ return ret; -+} -+ -+static int netsec_remove(struct platform_device *pdev) -+{ -+ struct netsec_priv *priv = platform_get_drvdata(pdev); -+ -+ unregister_netdev(priv->ndev); -+ if (!dev_of_node(&pdev->dev)) { /* ACPI */ -+ phy_device_remove(priv->phydev); -+ phy_device_free(priv->phydev); -+ } -+ netsec_mii_unregister(priv); -+ pm_runtime_disable(&pdev->dev); -+ free_netdev(priv->ndev); -+ -+ return 0; -+} -+ -+#ifdef CONFIG_PM -+static int netsec_runtime_suspend(struct device *dev) -+{ -+ struct netsec_priv *priv = dev_get_drvdata(dev); -+ int n; -+ -+ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__); -+ -+ if (priv->irq_registered) -+ disable_irq(priv->ndev->irq); -+ -+ netsec_writel(priv, NETSEC_REG_CLK_EN, 0); -+ -+ for (n = priv->clock_count - 1; n >= 0; n--) -+ clk_disable_unprepare(priv->clk[n]); -+ -+ return 0; -+} -+ -+static int netsec_runtime_resume(struct device *dev) -+{ -+ struct netsec_priv *priv = dev_get_drvdata(dev); -+ int n; -+ -+ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__); -+ -+ /* first let the clocks back on */ -+ -+ for (n = 0; n < priv->clock_count; n++) -+ clk_prepare_enable(priv->clk[n]); -+ -+ netsec_writel(priv, NETSEC_REG_CLK_EN, NETSEC_CLK_EN_REG_DOM_D | -+ NETSEC_CLK_EN_REG_DOM_C | -+ NETSEC_CLK_EN_REG_DOM_G); -+ -+ if (priv->irq_registered) -+ enable_irq(priv->ndev->irq); -+ -+ return 0; -+} -+ -+static int netsec_pm_suspend(struct device *dev) -+{ -+ struct netsec_priv *priv = dev_get_drvdata(dev); -+ -+ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__); -+ -+ if (pm_runtime_status_suspended(dev)) -+ return 0; -+ -+ return netsec_runtime_suspend(dev); -+} -+ -+static int netsec_pm_resume(struct device *dev) -+{ -+ struct netsec_priv *priv = dev_get_drvdata(dev); -+ -+ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__); -+ -+ if (pm_runtime_status_suspended(dev)) -+ return 0; -+ -+ return netsec_runtime_resume(dev); -+} -+#endif -+ -+static const struct dev_pm_ops netsec_pm_ops = { -+ SET_SYSTEM_SLEEP_PM_OPS(netsec_pm_suspend, netsec_pm_resume) -+ SET_RUNTIME_PM_OPS(netsec_runtime_suspend, netsec_runtime_resume, NULL) -+}; -+ -+static const struct of_device_id netsec_dt_ids[] = { -+ { .compatible = "socionext,synquacer-netsec" }, -+ { } -+}; -+MODULE_DEVICE_TABLE(of, netsec_dt_ids); -+ -+#ifdef CONFIG_ACPI -+static const struct acpi_device_id netsec_acpi_ids[] = { -+ { "SCX0001" }, -+ { } -+}; -+MODULE_DEVICE_TABLE(acpi, netsec_acpi_ids); -+#endif -+ -+static struct platform_driver netsec_driver = { -+ .probe = netsec_probe, -+ .remove = netsec_remove, -+ .driver.name = "netsec", -+ .driver.of_match_table = netsec_dt_ids, -+ .driver.acpi_match_table = ACPI_PTR(netsec_acpi_ids), -+ .driver.pm = &netsec_pm_ops, -+}; -+module_platform_driver(netsec_driver); -+ -+MODULE_AUTHOR("Andy Green "); -+MODULE_AUTHOR("Jassi Brar "); -+MODULE_AUTHOR("Ard Biesheuvel "); -+MODULE_DESCRIPTION("NETSEC Ethernet driver"); -+MODULE_LICENSE("GPL"); --- -cgit v1.1 - -From 31a61532e7b859a797d36595ec5ab7485a9b24d5 Mon Sep 17 00:00:00 2001 -From: Jassi Brar -Date: Wed, 30 Aug 2017 15:55:52 +0530 -Subject: dt-bindings: net: Add DT bindings for Socionext Netsec - -This patch adds documentation for Device-Tree bindings for the -Socionext NetSec Controller driver. - -Signed-off-by: Jassi Brar -Signed-off-by: Ard Biesheuvel ---- - .../devicetree/bindings/net/socionext-netsec.txt | 43 ++++++++++++++++++++++ - 1 file changed, 43 insertions(+) - create mode 100644 Documentation/devicetree/bindings/net/socionext-netsec.txt - -diff --git a/Documentation/devicetree/bindings/net/socionext-netsec.txt b/Documentation/devicetree/bindings/net/socionext-netsec.txt -new file mode 100644 -index 0000000..4695969 ---- /dev/null -+++ b/Documentation/devicetree/bindings/net/socionext-netsec.txt -@@ -0,0 +1,43 @@ -+* Socionext NetSec Ethernet Controller IP -+ -+Required properties: -+- compatible: Should be "socionext,synquacer-netsec" -+- reg: Address and length of the control register area, followed by the -+ address and length of the EEPROM holding the MAC address and -+ microengine firmware -+- interrupts: Should contain ethernet controller interrupt -+- clocks: phandle to the PHY reference clock, and any other clocks to be -+ switched by runtime_pm -+- clock-names: Required only if more than a single clock is listed in 'clocks'. -+ The PHY reference clock must be named 'phy_refclk' -+- phy-mode: See ethernet.txt file in the same directory -+- phy-handle: phandle to select child phy -+ -+Optional properties: (See ethernet.txt file in the same directory) -+- local-mac-address -+- mac-address -+- max-speed -+- max-frame-size -+ -+Required properties for the child phy: -+- reg: phy address -+ -+Example: -+ eth0: netsec@522D0000 { -+ compatible = "socionext,synquacer-netsec"; -+ reg = <0 0x522D0000 0x0 0x10000>, <0 0x10000000 0x0 0x10000>; -+ interrupts = ; -+ clocks = <&clk_netsec>; -+ phy-mode = "rgmii"; -+ max-speed = <1000>; -+ max-frame-size = <9000>; -+ phy-handle = <ðphy0>; -+ -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ ethphy0: ethernet-phy@1 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <1>; -+ }; -+ }; --- -cgit v1.1 - -From d2fc584f8237746a84e6ec8690d8884f148fc449 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Tue, 10 Oct 2017 11:35:51 +0100 -Subject: [PATCH] add interrupt.h, sort alphabetically - -Signed-off-by: Peter Robinson ---- - drivers/net/ethernet/socionext/netsec/netsec_platform.c | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -diff --git a/drivers/net/ethernet/socionext/netsec/netsec_platform.c b/drivers/net/ethernet/socionext/netsec/netsec_platform.c -index 624f6a7093f6..79072bae917d 100644 ---- a/drivers/net/ethernet/socionext/netsec/netsec_platform.c -+++ b/drivers/net/ethernet/socionext/netsec/netsec_platform.c -@@ -14,21 +14,22 @@ - */ - - #include --#include --#include --#include --#include - #include -+#include -+#include -+#include - #include -+#include -+#include - #include --#include --#include --#include -+#include - #include - #include - #include --#include -+#include - #include -+#include -+#include - - #include "netsec.h" - --- -2.14.2 - diff --git a/arm64-thunderx-crypto-zip-fixes.patch b/arm64-thunderx-crypto-zip-fixes.patch new file mode 100644 index 0000000..7f970ee --- /dev/null +++ b/arm64-thunderx-crypto-zip-fixes.patch @@ -0,0 +1,403 @@ +From patchwork Mon Apr 9 15:45:50 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,1/5] crypto: thunderx_zip: Fix fallout from CONFIG_VMAP_STACK +From: Jan Glauber +X-Patchwork-Id: 10331719 +Message-Id: <20180409154554.7578-2-jglauber@cavium.com> +To: Herbert Xu +Cc: "David S . Miller" , + linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, + Mahipal Challa , + Robert Richter , Jan Glauber , + stable +Date: Mon, 9 Apr 2018 17:45:50 +0200 + +Enabling virtual mapped kernel stacks breaks the thunderx_zip +driver. On compression or decompression the executing CPU hangs +in an endless loop. The reason for this is the usage of __pa +by the driver which does no longer work for an address that is +not part of the 1:1 mapping. + +The zip driver allocates a result struct on the stack and needs +to tell the hardware the physical address within this struct +that is used to signal the completion of the request. + +As the hardware gets the wrong address after the broken __pa +conversion it writes to an arbitrary address. The zip driver then +waits forever for the completion byte to contain a non-zero value. + +Allocating the result struct from 1:1 mapped memory resolves this +bug. + +Signed-off-by: Jan Glauber +Reviewed-by: Robert Richter +Cc: stable # 4.14 +--- + drivers/crypto/cavium/zip/zip_crypto.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +diff --git a/drivers/crypto/cavium/zip/zip_crypto.c b/drivers/crypto/cavium/zip/zip_crypto.c +index 8df4d26cf9d4..b92b6e7e100f 100644 +--- a/drivers/crypto/cavium/zip/zip_crypto.c ++++ b/drivers/crypto/cavium/zip/zip_crypto.c +@@ -124,7 +124,7 @@ int zip_compress(const u8 *src, unsigned int slen, + struct zip_kernel_ctx *zip_ctx) + { + struct zip_operation *zip_ops = NULL; +- struct zip_state zip_state; ++ struct zip_state *zip_state; + struct zip_device *zip = NULL; + int ret; + +@@ -135,20 +135,23 @@ int zip_compress(const u8 *src, unsigned int slen, + if (!zip) + return -ENODEV; + +- memset(&zip_state, 0, sizeof(struct zip_state)); ++ zip_state = kzalloc(sizeof(*zip_state), GFP_ATOMIC); ++ if (!zip_state) ++ return -ENOMEM; ++ + zip_ops = &zip_ctx->zip_comp; + + zip_ops->input_len = slen; + zip_ops->output_len = *dlen; + memcpy(zip_ops->input, src, slen); + +- ret = zip_deflate(zip_ops, &zip_state, zip); ++ ret = zip_deflate(zip_ops, zip_state, zip); + + if (!ret) { + *dlen = zip_ops->output_len; + memcpy(dst, zip_ops->output, *dlen); + } +- ++ kfree(zip_state); + return ret; + } + +@@ -157,7 +160,7 @@ int zip_decompress(const u8 *src, unsigned int slen, + struct zip_kernel_ctx *zip_ctx) + { + struct zip_operation *zip_ops = NULL; +- struct zip_state zip_state; ++ struct zip_state *zip_state; + struct zip_device *zip = NULL; + int ret; + +@@ -168,7 +171,10 @@ int zip_decompress(const u8 *src, unsigned int slen, + if (!zip) + return -ENODEV; + +- memset(&zip_state, 0, sizeof(struct zip_state)); ++ zip_state = kzalloc(sizeof(*zip_state), GFP_ATOMIC); ++ if (!zip_state) ++ return -ENOMEM; ++ + zip_ops = &zip_ctx->zip_decomp; + memcpy(zip_ops->input, src, slen); + +@@ -179,13 +185,13 @@ int zip_decompress(const u8 *src, unsigned int slen, + zip_ops->input_len = slen; + zip_ops->output_len = *dlen; + +- ret = zip_inflate(zip_ops, &zip_state, zip); ++ ret = zip_inflate(zip_ops, zip_state, zip); + + if (!ret) { + *dlen = zip_ops->output_len; + memcpy(dst, zip_ops->output, *dlen); + } +- ++ kfree(zip_state); + return ret; + } + +From patchwork Mon Apr 9 15:45:51 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,2/5] crypto: thunderx_zip: Limit result reading attempts +From: Jan Glauber +X-Patchwork-Id: 10331705 +Message-Id: <20180409154554.7578-3-jglauber@cavium.com> +To: Herbert Xu +Cc: "David S . Miller" , + linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, + Mahipal Challa , + Robert Richter , Jan Glauber , + stable +Date: Mon, 9 Apr 2018 17:45:51 +0200 + +After issuing a request an endless loop was used to read the +completion state from memory which is asynchronously updated +by the ZIP coprocessor. + +Add an upper bound to the retry attempts to prevent a CPU getting stuck +forever in case of an error. Additionally, add a read memory barrier +and a small delay between the reading attempts. + +Signed-off-by: Jan Glauber +Reviewed-by: Robert Richter +Cc: stable # 4.14 +--- + drivers/crypto/cavium/zip/common.h | 21 +++++++++++++++++++++ + drivers/crypto/cavium/zip/zip_deflate.c | 4 ++-- + drivers/crypto/cavium/zip/zip_inflate.c | 4 ++-- + 3 files changed, 25 insertions(+), 4 deletions(-) + +diff --git a/drivers/crypto/cavium/zip/common.h b/drivers/crypto/cavium/zip/common.h +index dc451e0a43c5..58fb3ed6e644 100644 +--- a/drivers/crypto/cavium/zip/common.h ++++ b/drivers/crypto/cavium/zip/common.h +@@ -46,8 +46,10 @@ + #ifndef __COMMON_H__ + #define __COMMON_H__ + ++#include + #include + #include ++#include + #include + #include + #include +@@ -149,6 +151,25 @@ struct zip_operation { + u32 sizeofzops; + }; + ++static inline int zip_poll_result(union zip_zres_s *result) ++{ ++ int retries = 1000; ++ ++ while (!result->s.compcode) { ++ if (!--retries) { ++ pr_err("ZIP ERR: request timed out"); ++ return -ETIMEDOUT; ++ } ++ udelay(10); ++ /* ++ * Force re-reading of compcode which is updated ++ * by the ZIP coprocessor. ++ */ ++ rmb(); ++ } ++ return 0; ++} ++ + /* error messages */ + #define zip_err(fmt, args...) pr_err("ZIP ERR:%s():%d: " \ + fmt "\n", __func__, __LINE__, ## args) +diff --git a/drivers/crypto/cavium/zip/zip_deflate.c b/drivers/crypto/cavium/zip/zip_deflate.c +index 9a944b8c1e29..d7133f857d67 100644 +--- a/drivers/crypto/cavium/zip/zip_deflate.c ++++ b/drivers/crypto/cavium/zip/zip_deflate.c +@@ -129,8 +129,8 @@ int zip_deflate(struct zip_operation *zip_ops, struct zip_state *s, + /* Stats update for compression requests submitted */ + atomic64_inc(&zip_dev->stats.comp_req_submit); + +- while (!result_ptr->s.compcode) +- continue; ++ /* Wait for completion or error */ ++ zip_poll_result(result_ptr); + + /* Stats update for compression requests completed */ + atomic64_inc(&zip_dev->stats.comp_req_complete); +diff --git a/drivers/crypto/cavium/zip/zip_inflate.c b/drivers/crypto/cavium/zip/zip_inflate.c +index 50cbdd83dbf2..7e0d73e2f89e 100644 +--- a/drivers/crypto/cavium/zip/zip_inflate.c ++++ b/drivers/crypto/cavium/zip/zip_inflate.c +@@ -143,8 +143,8 @@ int zip_inflate(struct zip_operation *zip_ops, struct zip_state *s, + /* Decompression requests submitted stats update */ + atomic64_inc(&zip_dev->stats.decomp_req_submit); + +- while (!result_ptr->s.compcode) +- continue; ++ /* Wait for completion or error */ ++ zip_poll_result(result_ptr); + + /* Decompression requests completed stats update */ + atomic64_inc(&zip_dev->stats.decomp_req_complete); +From patchwork Mon Apr 9 15:45:52 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,3/5] crypto: thunderx_zip: Prevent division by zero +From: Jan Glauber +X-Patchwork-Id: 10331709 +Message-Id: <20180409154554.7578-4-jglauber@cavium.com> +To: Herbert Xu +Cc: "David S . Miller" , + linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, + Mahipal Challa , + Robert Richter , Jan Glauber +Date: Mon, 9 Apr 2018 17:45:52 +0200 + +Avoid two potential divisions by zero when calculating average +values for the zip statistics. + +Signed-off-by: Jan Glauber +Reviewed-by: Robert Richter +--- + drivers/crypto/cavium/zip/zip_main.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c +index 1cd8aa488185..79b449e0f955 100644 +--- a/drivers/crypto/cavium/zip/zip_main.c ++++ b/drivers/crypto/cavium/zip/zip_main.c +@@ -482,10 +482,11 @@ static int zip_show_stats(struct seq_file *s, void *unused) + atomic64_add(val, &st->pending_req); + } + +- avg_chunk = (atomic64_read(&st->comp_in_bytes) / +- atomic64_read(&st->comp_req_complete)); +- avg_cr = (atomic64_read(&st->comp_in_bytes) / +- atomic64_read(&st->comp_out_bytes)); ++ val = atomic64_read(&st->comp_req_complete); ++ avg_chunk = (val) ? atomic64_read(&st->comp_in_bytes) / val : 0; ++ ++ val = atomic64_read(&st->comp_out_bytes); ++ avg_cr = (val) ? atomic64_read(&st->comp_in_bytes) / val : 0; + seq_printf(s, " ZIP Device %d Stats\n" + "-----------------------------------\n" + "Comp Req Submitted : \t%lld\n" +From patchwork Mon Apr 9 15:45:53 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,4/5] crypto: thunderx_zip: Fix statistics pending request value +From: Jan Glauber +X-Patchwork-Id: 10331711 +Message-Id: <20180409154554.7578-5-jglauber@cavium.com> +To: Herbert Xu +Cc: "David S . Miller" , + linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, + Mahipal Challa , + Robert Richter , Jan Glauber +Date: Mon, 9 Apr 2018 17:45:53 +0200 + +The pending request counter was read from the wrong register. While +at it, there is no need to use an atomic for it as it is only read +localy in a loop. + +Signed-off-by: Jan Glauber +Reviewed-by: Robert Richter +--- + drivers/crypto/cavium/zip/zip_main.c | 13 +++++-------- + drivers/crypto/cavium/zip/zip_main.h | 1 - + 2 files changed, 5 insertions(+), 9 deletions(-) + +diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c +index 79b449e0f955..ae5b20c695ca 100644 +--- a/drivers/crypto/cavium/zip/zip_main.c ++++ b/drivers/crypto/cavium/zip/zip_main.c +@@ -469,6 +469,8 @@ static int zip_show_stats(struct seq_file *s, void *unused) + struct zip_stats *st; + + for (index = 0; index < MAX_ZIP_DEVICES; index++) { ++ u64 pending = 0; ++ + if (zip_dev[index]) { + zip = zip_dev[index]; + st = &zip->stats; +@@ -476,10 +478,8 @@ static int zip_show_stats(struct seq_file *s, void *unused) + /* Get all the pending requests */ + for (q = 0; q < ZIP_NUM_QUEUES; q++) { + val = zip_reg_read((zip->reg_base + +- ZIP_DBG_COREX_STA(q))); +- val = (val >> 32); +- val = val & 0xffffff; +- atomic64_add(val, &st->pending_req); ++ ZIP_DBG_QUEX_STA(q))); ++ pending += val >> 32 & 0xffffff; + } + + val = atomic64_read(&st->comp_req_complete); +@@ -514,10 +514,7 @@ static int zip_show_stats(struct seq_file *s, void *unused) + (u64)atomic64_read(&st->decomp_in_bytes), + (u64)atomic64_read(&st->decomp_out_bytes), + (u64)atomic64_read(&st->decomp_bad_reqs), +- (u64)atomic64_read(&st->pending_req)); +- +- /* Reset pending requests count */ +- atomic64_set(&st->pending_req, 0); ++ pending); + } + } + return 0; +diff --git a/drivers/crypto/cavium/zip/zip_main.h b/drivers/crypto/cavium/zip/zip_main.h +index 64e051f60784..e1e4fa92ce80 100644 +--- a/drivers/crypto/cavium/zip/zip_main.h ++++ b/drivers/crypto/cavium/zip/zip_main.h +@@ -74,7 +74,6 @@ struct zip_stats { + atomic64_t comp_req_complete; + atomic64_t decomp_req_submit; + atomic64_t decomp_req_complete; +- atomic64_t pending_req; + atomic64_t comp_in_bytes; + atomic64_t comp_out_bytes; + atomic64_t decomp_in_bytes; +From patchwork Mon Apr 9 15:45:54 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,5/5] crypto: thunderx_zip: Fix smp_processor_id() warnings +From: Jan Glauber +X-Patchwork-Id: 10331715 +Message-Id: <20180409154554.7578-6-jglauber@cavium.com> +To: Herbert Xu +Cc: "David S . Miller" , + linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, + Mahipal Challa , + Robert Richter , Jan Glauber +Date: Mon, 9 Apr 2018 17:45:54 +0200 + +Switch to raw_smp_processor_id() to prevent a number of +warnings from kernel debugging. We do not care about +preemption here, as the CPU number is only used as a +poor mans load balancing or device selection. If preemption +happens during a compress/decompress operation a small performance +hit will occur but everything will continue to work, so just +ignore it. + +Signed-off-by: Jan Glauber +Reviewed-by: Robert Richter +--- + drivers/crypto/cavium/zip/zip_device.c | 4 ++-- + drivers/crypto/cavium/zip/zip_main.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/crypto/cavium/zip/zip_device.c b/drivers/crypto/cavium/zip/zip_device.c +index ccf21fb91513..f174ec29ed69 100644 +--- a/drivers/crypto/cavium/zip/zip_device.c ++++ b/drivers/crypto/cavium/zip/zip_device.c +@@ -87,12 +87,12 @@ u32 zip_load_instr(union zip_inst_s *instr, + * Distribute the instructions between the enabled queues based on + * the CPU id. + */ +- if (smp_processor_id() % 2 == 0) ++ if (raw_smp_processor_id() % 2 == 0) + queue = 0; + else + queue = 1; + +- zip_dbg("CPU Core: %d Queue number:%d", smp_processor_id(), queue); ++ zip_dbg("CPU Core: %d Queue number:%d", raw_smp_processor_id(), queue); + + /* Take cmd buffer lock */ + spin_lock(&zip_dev->iq[queue].lock); +diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c +index ae5b20c695ca..be055b9547f6 100644 +--- a/drivers/crypto/cavium/zip/zip_main.c ++++ b/drivers/crypto/cavium/zip/zip_main.c +@@ -113,7 +113,7 @@ struct zip_device *zip_get_device(int node) + */ + int zip_get_node_id(void) + { +- return cpu_to_node(smp_processor_id()); ++ return cpu_to_node(raw_smp_processor_id()); + } + + /* Initializes the ZIP h/w sub-system */ diff --git a/baseconfig/CONFIG_ACPI_SPCR_TABLE b/baseconfig/CONFIG_ACPI_SPCR_TABLE new file mode 100644 index 0000000..f8a1925 --- /dev/null +++ b/baseconfig/CONFIG_ACPI_SPCR_TABLE @@ -0,0 +1 @@ +CONFIG_ACPI_SPCR_TABLE=y diff --git a/baseconfig/CONFIG_ATH10K_SPECTRAL b/baseconfig/CONFIG_ATH10K_SPECTRAL new file mode 100644 index 0000000..8bc1582 --- /dev/null +++ b/baseconfig/CONFIG_ATH10K_SPECTRAL @@ -0,0 +1 @@ +# CONFIG_ATH10K_SPECTRAL is not set diff --git a/baseconfig/CONFIG_ATH9K_COMMON_SPECTRAL b/baseconfig/CONFIG_ATH9K_COMMON_SPECTRAL new file mode 100644 index 0000000..48a7959 --- /dev/null +++ b/baseconfig/CONFIG_ATH9K_COMMON_SPECTRAL @@ -0,0 +1 @@ +# CONFIG_ATH9K_COMMON_SPECTRAL is not set diff --git a/baseconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION b/baseconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION new file mode 100644 index 0000000..b93aaa7 --- /dev/null +++ b/baseconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION @@ -0,0 +1 @@ +# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set diff --git a/baseconfig/CONFIG_BPF_KPROBE_OVERRIDE b/baseconfig/CONFIG_BPF_KPROBE_OVERRIDE new file mode 100644 index 0000000..5736041 --- /dev/null +++ b/baseconfig/CONFIG_BPF_KPROBE_OVERRIDE @@ -0,0 +1 @@ +# CONFIG_BPF_KPROBE_OVERRIDE is not set diff --git a/baseconfig/CONFIG_CHELSIO_IPSEC_INLINE b/baseconfig/CONFIG_CHELSIO_IPSEC_INLINE new file mode 100644 index 0000000..729e6ef --- /dev/null +++ b/baseconfig/CONFIG_CHELSIO_IPSEC_INLINE @@ -0,0 +1 @@ +CONFIG_CHELSIO_IPSEC_INLINE=y diff --git a/baseconfig/CONFIG_CIFS_SMB_DIRECT b/baseconfig/CONFIG_CIFS_SMB_DIRECT new file mode 100644 index 0000000..849bffb --- /dev/null +++ b/baseconfig/CONFIG_CIFS_SMB_DIRECT @@ -0,0 +1 @@ +# CONFIG_CIFS_SMB_DIRECT is not set diff --git a/baseconfig/CONFIG_DM_UNSTRIPED b/baseconfig/CONFIG_DM_UNSTRIPED new file mode 100644 index 0000000..27e4d23 --- /dev/null +++ b/baseconfig/CONFIG_DM_UNSTRIPED @@ -0,0 +1 @@ +CONFIG_DM_UNSTRIPED=m diff --git a/baseconfig/CONFIG_DRM_PANEL_ILITEK_IL9322 b/baseconfig/CONFIG_DRM_PANEL_ILITEK_IL9322 new file mode 100644 index 0000000..4a9fd45 --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_ILITEK_IL9322 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set diff --git a/baseconfig/CONFIG_DVB_MMAP b/baseconfig/CONFIG_DVB_MMAP new file mode 100644 index 0000000..fea1faa --- /dev/null +++ b/baseconfig/CONFIG_DVB_MMAP @@ -0,0 +1 @@ +# CONFIG_DVB_MMAP is not set diff --git a/baseconfig/CONFIG_DVB_ULE_DEBUG b/baseconfig/CONFIG_DVB_ULE_DEBUG new file mode 100644 index 0000000..3acb854 --- /dev/null +++ b/baseconfig/CONFIG_DVB_ULE_DEBUG @@ -0,0 +1 @@ +# CONFIG_DVB_ULE_DEBUG is not set diff --git a/baseconfig/CONFIG_FIND_BIT_BENCHMARK b/baseconfig/CONFIG_FIND_BIT_BENCHMARK new file mode 100644 index 0000000..93fe7e0 --- /dev/null +++ b/baseconfig/CONFIG_FIND_BIT_BENCHMARK @@ -0,0 +1 @@ +# CONFIG_FIND_BIT_BENCHMARK is not set diff --git a/baseconfig/CONFIG_GPIO_PCIE_IDIO_24 b/baseconfig/CONFIG_GPIO_PCIE_IDIO_24 new file mode 100644 index 0000000..6313cc6 --- /dev/null +++ b/baseconfig/CONFIG_GPIO_PCIE_IDIO_24 @@ -0,0 +1 @@ +# CONFIG_GPIO_PCIE_IDIO_24 is not set diff --git a/baseconfig/CONFIG_HARDENED_USERCOPY_FALLBACK b/baseconfig/CONFIG_HARDENED_USERCOPY_FALLBACK new file mode 100644 index 0000000..36d49f5 --- /dev/null +++ b/baseconfig/CONFIG_HARDENED_USERCOPY_FALLBACK @@ -0,0 +1 @@ +CONFIG_HARDENED_USERCOPY_FALLBACK=y diff --git a/baseconfig/CONFIG_HID_JABRA b/baseconfig/CONFIG_HID_JABRA new file mode 100644 index 0000000..c93fae8 --- /dev/null +++ b/baseconfig/CONFIG_HID_JABRA @@ -0,0 +1 @@ +CONFIG_HID_JABRA=m diff --git a/baseconfig/CONFIG_HW_RANDOM_TPM b/baseconfig/CONFIG_HW_RANDOM_TPM index 51b6ac9..d991b3c 100644 --- a/baseconfig/CONFIG_HW_RANDOM_TPM +++ b/baseconfig/CONFIG_HW_RANDOM_TPM @@ -1 +1 @@ -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y diff --git a/baseconfig/CONFIG_IIO_BUFFER_HW_CONSUMER b/baseconfig/CONFIG_IIO_BUFFER_HW_CONSUMER new file mode 100644 index 0000000..1d90b19 --- /dev/null +++ b/baseconfig/CONFIG_IIO_BUFFER_HW_CONSUMER @@ -0,0 +1 @@ +CONFIG_IIO_BUFFER_HW_CONSUMER=m diff --git a/baseconfig/CONFIG_IP6_NF_MATCH_SRH b/baseconfig/CONFIG_IP6_NF_MATCH_SRH new file mode 100644 index 0000000..c90ba3e --- /dev/null +++ b/baseconfig/CONFIG_IP6_NF_MATCH_SRH @@ -0,0 +1 @@ +CONFIG_IP6_NF_MATCH_SRH=m diff --git a/baseconfig/CONFIG_IPX_INTERN b/baseconfig/CONFIG_IPX_INTERN deleted file mode 100644 index d409381..0000000 --- a/baseconfig/CONFIG_IPX_INTERN +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_IPX_INTERN is not set diff --git a/baseconfig/CONFIG_LEDS_LM3692X b/baseconfig/CONFIG_LEDS_LM3692X new file mode 100644 index 0000000..f31f9cb --- /dev/null +++ b/baseconfig/CONFIG_LEDS_LM3692X @@ -0,0 +1 @@ +CONFIG_LEDS_LM3692X=m diff --git a/baseconfig/CONFIG_LEDS_TRIGGER_NETDEV b/baseconfig/CONFIG_LEDS_TRIGGER_NETDEV new file mode 100644 index 0000000..890e0a4 --- /dev/null +++ b/baseconfig/CONFIG_LEDS_TRIGGER_NETDEV @@ -0,0 +1 @@ +CONFIG_LEDS_TRIGGER_NETDEV=m diff --git a/baseconfig/CONFIG_LIRC b/baseconfig/CONFIG_LIRC index e1049c6..f0068c9 100644 --- a/baseconfig/CONFIG_LIRC +++ b/baseconfig/CONFIG_LIRC @@ -1 +1 @@ -CONFIG_LIRC=m +CONFIG_LIRC=y diff --git a/baseconfig/CONFIG_MELLANOX_PLATFORM b/baseconfig/CONFIG_MELLANOX_PLATFORM new file mode 100644 index 0000000..8bd7b2e --- /dev/null +++ b/baseconfig/CONFIG_MELLANOX_PLATFORM @@ -0,0 +1 @@ +CONFIG_MELLANOX_PLATFORM=y diff --git a/baseconfig/CONFIG_MFD_RTSX_PCI b/baseconfig/CONFIG_MFD_RTSX_PCI deleted file mode 100644 index 161c0e2..0000000 --- a/baseconfig/CONFIG_MFD_RTSX_PCI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MFD_RTSX_PCI=m diff --git a/baseconfig/CONFIG_MFD_RTSX_USB b/baseconfig/CONFIG_MFD_RTSX_USB deleted file mode 100644 index 1ec59a1..0000000 --- a/baseconfig/CONFIG_MFD_RTSX_USB +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MFD_RTSX_USB=m diff --git a/baseconfig/CONFIG_MISC_RTSX_PCI b/baseconfig/CONFIG_MISC_RTSX_PCI new file mode 100644 index 0000000..c05d0dd --- /dev/null +++ b/baseconfig/CONFIG_MISC_RTSX_PCI @@ -0,0 +1 @@ +CONFIG_MISC_RTSX_PCI=m diff --git a/baseconfig/CONFIG_MISC_RTSX_USB b/baseconfig/CONFIG_MISC_RTSX_USB new file mode 100644 index 0000000..c22296e --- /dev/null +++ b/baseconfig/CONFIG_MISC_RTSX_USB @@ -0,0 +1 @@ +CONFIG_MISC_RTSX_USB=m diff --git a/baseconfig/CONFIG_MLXREG_HOTPLUG b/baseconfig/CONFIG_MLXREG_HOTPLUG new file mode 100644 index 0000000..44d9d37 --- /dev/null +++ b/baseconfig/CONFIG_MLXREG_HOTPLUG @@ -0,0 +1 @@ +CONFIG_MLXREG_HOTPLUG=m diff --git a/baseconfig/CONFIG_MMC_CQHCI b/baseconfig/CONFIG_MMC_CQHCI new file mode 100644 index 0000000..3ecbe65 --- /dev/null +++ b/baseconfig/CONFIG_MMC_CQHCI @@ -0,0 +1 @@ +CONFIG_MMC_CQHCI=m diff --git a/baseconfig/CONFIG_MT76x2E b/baseconfig/CONFIG_MT76x2E new file mode 100644 index 0000000..9667d0d --- /dev/null +++ b/baseconfig/CONFIG_MT76x2E @@ -0,0 +1 @@ +CONFIG_MT76x2E=m diff --git a/baseconfig/CONFIG_NETDEVSIM b/baseconfig/CONFIG_NETDEVSIM new file mode 100644 index 0000000..f7666c5 --- /dev/null +++ b/baseconfig/CONFIG_NETDEVSIM @@ -0,0 +1 @@ +# CONFIG_NETDEVSIM is not set diff --git a/baseconfig/CONFIG_NET_DSA_LEGACY b/baseconfig/CONFIG_NET_DSA_LEGACY new file mode 100644 index 0000000..7608052 --- /dev/null +++ b/baseconfig/CONFIG_NET_DSA_LEGACY @@ -0,0 +1 @@ +# CONFIG_NET_DSA_LEGACY is not set diff --git a/baseconfig/CONFIG_NET_VENDOR_CORTINA b/baseconfig/CONFIG_NET_VENDOR_CORTINA new file mode 100644 index 0000000..3e188cd --- /dev/null +++ b/baseconfig/CONFIG_NET_VENDOR_CORTINA @@ -0,0 +1 @@ +# CONFIG_NET_VENDOR_CORTINA is not set diff --git a/baseconfig/CONFIG_NET_VENDOR_SOCIONEXT b/baseconfig/CONFIG_NET_VENDOR_SOCIONEXT new file mode 100644 index 0000000..7e4d43b --- /dev/null +++ b/baseconfig/CONFIG_NET_VENDOR_SOCIONEXT @@ -0,0 +1 @@ +# CONFIG_NET_VENDOR_SOCIONEXT is not set diff --git a/baseconfig/CONFIG_NFT_FLOW_OFFLOAD b/baseconfig/CONFIG_NFT_FLOW_OFFLOAD new file mode 100644 index 0000000..2960ce5 --- /dev/null +++ b/baseconfig/CONFIG_NFT_FLOW_OFFLOAD @@ -0,0 +1 @@ +CONFIG_NFT_FLOW_OFFLOAD=m diff --git a/baseconfig/CONFIG_NF_FLOW_TABLE b/baseconfig/CONFIG_NF_FLOW_TABLE new file mode 100644 index 0000000..a2b5e03 --- /dev/null +++ b/baseconfig/CONFIG_NF_FLOW_TABLE @@ -0,0 +1 @@ +CONFIG_NF_FLOW_TABLE=m diff --git a/baseconfig/CONFIG_NF_FLOW_TABLE_INET b/baseconfig/CONFIG_NF_FLOW_TABLE_INET new file mode 100644 index 0000000..f41129c --- /dev/null +++ b/baseconfig/CONFIG_NF_FLOW_TABLE_INET @@ -0,0 +1 @@ +CONFIG_NF_FLOW_TABLE_INET=m diff --git a/baseconfig/CONFIG_NF_FLOW_TABLE_IPV4 b/baseconfig/CONFIG_NF_FLOW_TABLE_IPV4 new file mode 100644 index 0000000..413b791 --- /dev/null +++ b/baseconfig/CONFIG_NF_FLOW_TABLE_IPV4 @@ -0,0 +1 @@ +CONFIG_NF_FLOW_TABLE_IPV4=m diff --git a/baseconfig/CONFIG_NF_FLOW_TABLE_IPV6 b/baseconfig/CONFIG_NF_FLOW_TABLE_IPV6 new file mode 100644 index 0000000..d482fc4 --- /dev/null +++ b/baseconfig/CONFIG_NF_FLOW_TABLE_IPV6 @@ -0,0 +1 @@ +CONFIG_NF_FLOW_TABLE_IPV6=m diff --git a/baseconfig/CONFIG_PCIE_CADENCE_HOST b/baseconfig/CONFIG_PCIE_CADENCE_HOST new file mode 100644 index 0000000..1f1f00d --- /dev/null +++ b/baseconfig/CONFIG_PCIE_CADENCE_HOST @@ -0,0 +1 @@ +CONFIG_PCIE_CADENCE_HOST=y diff --git a/baseconfig/CONFIG_PINCTRL_AXP209 b/baseconfig/CONFIG_PINCTRL_AXP209 new file mode 100644 index 0000000..4e6ecd9 --- /dev/null +++ b/baseconfig/CONFIG_PINCTRL_AXP209 @@ -0,0 +1 @@ +# CONFIG_PINCTRL_AXP209 is not set diff --git a/baseconfig/CONFIG_RAVE_SP_CORE b/baseconfig/CONFIG_RAVE_SP_CORE new file mode 100644 index 0000000..309dfa0 --- /dev/null +++ b/baseconfig/CONFIG_RAVE_SP_CORE @@ -0,0 +1 @@ +# CONFIG_RAVE_SP_CORE is not set diff --git a/baseconfig/CONFIG_RUNTIME_TESTING_MENU b/baseconfig/CONFIG_RUNTIME_TESTING_MENU new file mode 100644 index 0000000..7d54fe1 --- /dev/null +++ b/baseconfig/CONFIG_RUNTIME_TESTING_MENU @@ -0,0 +1 @@ +CONFIG_RUNTIME_TESTING_MENU=y diff --git a/baseconfig/CONFIG_SD_ADC_MODULATOR b/baseconfig/CONFIG_SD_ADC_MODULATOR new file mode 100644 index 0000000..ec43a0f --- /dev/null +++ b/baseconfig/CONFIG_SD_ADC_MODULATOR @@ -0,0 +1 @@ +# CONFIG_SD_ADC_MODULATOR is not set diff --git a/baseconfig/CONFIG_SENSORS_W83773G b/baseconfig/CONFIG_SENSORS_W83773G new file mode 100644 index 0000000..d0e8c4c --- /dev/null +++ b/baseconfig/CONFIG_SENSORS_W83773G @@ -0,0 +1 @@ +CONFIG_SENSORS_W83773G=m diff --git a/baseconfig/CONFIG_SIOX b/baseconfig/CONFIG_SIOX new file mode 100644 index 0000000..89578e7 --- /dev/null +++ b/baseconfig/CONFIG_SIOX @@ -0,0 +1 @@ +# CONFIG_SIOX is not set diff --git a/baseconfig/CONFIG_SLIMBUS b/baseconfig/CONFIG_SLIMBUS new file mode 100644 index 0000000..63141c2 --- /dev/null +++ b/baseconfig/CONFIG_SLIMBUS @@ -0,0 +1 @@ +# CONFIG_SLIMBUS is not set diff --git a/baseconfig/CONFIG_SND_SOC_MAX98373 b/baseconfig/CONFIG_SND_SOC_MAX98373 new file mode 100644 index 0000000..c82d1c8 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_MAX98373 @@ -0,0 +1 @@ +CONFIG_SND_SOC_MAX98373=m diff --git a/baseconfig/CONFIG_SND_SOC_PCM186X_I2C b/baseconfig/CONFIG_SND_SOC_PCM186X_I2C new file mode 100644 index 0000000..8d0fad2 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_PCM186X_I2C @@ -0,0 +1 @@ +CONFIG_SND_SOC_PCM186X_I2C=m diff --git a/baseconfig/CONFIG_SND_SOC_PCM186X_SPI b/baseconfig/CONFIG_SND_SOC_PCM186X_SPI new file mode 100644 index 0000000..0e112b3 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_PCM186X_SPI @@ -0,0 +1 @@ +CONFIG_SND_SOC_PCM186X_SPI=m diff --git a/baseconfig/CONFIG_SND_SOC_TAS6424 b/baseconfig/CONFIG_SND_SOC_TAS6424 new file mode 100644 index 0000000..c70624d --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_TAS6424 @@ -0,0 +1 @@ +CONFIG_SND_SOC_TAS6424=m diff --git a/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_I2C b/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_I2C new file mode 100644 index 0000000..e7ecb53 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_I2C @@ -0,0 +1 @@ +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m diff --git a/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_SPI b/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_SPI new file mode 100644 index 0000000..166098d --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_SPI @@ -0,0 +1 @@ +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m diff --git a/baseconfig/CONFIG_SND_SOC_TSCS42XX b/baseconfig/CONFIG_SND_SOC_TSCS42XX new file mode 100644 index 0000000..d91060f --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_TSCS42XX @@ -0,0 +1 @@ +CONFIG_SND_SOC_TSCS42XX=m diff --git a/baseconfig/CONFIG_SOUNDWIRE b/baseconfig/CONFIG_SOUNDWIRE new file mode 100644 index 0000000..1446f20 --- /dev/null +++ b/baseconfig/CONFIG_SOUNDWIRE @@ -0,0 +1 @@ +CONFIG_SOUNDWIRE=y diff --git a/baseconfig/CONFIG_SOUNDWIRE_BUS b/baseconfig/CONFIG_SOUNDWIRE_BUS new file mode 100644 index 0000000..dd3714b --- /dev/null +++ b/baseconfig/CONFIG_SOUNDWIRE_BUS @@ -0,0 +1 @@ +CONFIG_SOUNDWIRE_BUS=m diff --git a/baseconfig/CONFIG_SOUNDWIRE_CADENCE b/baseconfig/CONFIG_SOUNDWIRE_CADENCE new file mode 100644 index 0000000..f97a403 --- /dev/null +++ b/baseconfig/CONFIG_SOUNDWIRE_CADENCE @@ -0,0 +1 @@ +CONFIG_SOUNDWIRE_CADENCE=m diff --git a/baseconfig/CONFIG_ST_UVIS25 b/baseconfig/CONFIG_ST_UVIS25 new file mode 100644 index 0000000..55c15bb --- /dev/null +++ b/baseconfig/CONFIG_ST_UVIS25 @@ -0,0 +1 @@ +CONFIG_ST_UVIS25=m diff --git a/baseconfig/CONFIG_ST_UVIS25_I2C b/baseconfig/CONFIG_ST_UVIS25_I2C new file mode 100644 index 0000000..677b118 --- /dev/null +++ b/baseconfig/CONFIG_ST_UVIS25_I2C @@ -0,0 +1 @@ +CONFIG_ST_UVIS25_I2C=m diff --git a/baseconfig/CONFIG_ST_UVIS25_SPI b/baseconfig/CONFIG_ST_UVIS25_SPI new file mode 100644 index 0000000..e094a51 --- /dev/null +++ b/baseconfig/CONFIG_ST_UVIS25_SPI @@ -0,0 +1 @@ +CONFIG_ST_UVIS25_SPI=m diff --git a/baseconfig/CONFIG_TIMER_STATS b/baseconfig/CONFIG_TIMER_STATS deleted file mode 100644 index 0dfc820..0000000 --- a/baseconfig/CONFIG_TIMER_STATS +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_TIMER_STATS is not set diff --git a/baseconfig/CONFIG_UNISYS_VISORBUS b/baseconfig/CONFIG_UNISYS_VISORBUS new file mode 100644 index 0000000..ba34845 --- /dev/null +++ b/baseconfig/CONFIG_UNISYS_VISORBUS @@ -0,0 +1 @@ +# CONFIG_UNISYS_VISORBUS is not set diff --git a/baseconfig/CONFIG_USB_XHCI_DBGCAP b/baseconfig/CONFIG_USB_XHCI_DBGCAP new file mode 100644 index 0000000..3cf92a7 --- /dev/null +++ b/baseconfig/CONFIG_USB_XHCI_DBGCAP @@ -0,0 +1 @@ +CONFIG_USB_XHCI_DBGCAP=y diff --git a/baseconfig/CONFIG_VIRTIO_MENU b/baseconfig/CONFIG_VIRTIO_MENU new file mode 100644 index 0000000..ce9f283 --- /dev/null +++ b/baseconfig/CONFIG_VIRTIO_MENU @@ -0,0 +1 @@ +CONFIG_VIRTIO_MENU=y diff --git a/baseconfig/CONFIG_XILINX_VCU b/baseconfig/CONFIG_XILINX_VCU new file mode 100644 index 0000000..6ba10b3 --- /dev/null +++ b/baseconfig/CONFIG_XILINX_VCU @@ -0,0 +1 @@ +CONFIG_XILINX_VCU=m diff --git a/baseconfig/CONFIG_ZOPT2201 b/baseconfig/CONFIG_ZOPT2201 new file mode 100644 index 0000000..407ef5f --- /dev/null +++ b/baseconfig/CONFIG_ZOPT2201 @@ -0,0 +1 @@ +CONFIG_ZOPT2201=m diff --git a/baseconfig/arm/CONFIG_ARM_ARMADA_37XX_CPUFREQ b/baseconfig/arm/CONFIG_ARM_ARMADA_37XX_CPUFREQ new file mode 100644 index 0000000..c2475dc --- /dev/null +++ b/baseconfig/arm/CONFIG_ARM_ARMADA_37XX_CPUFREQ @@ -0,0 +1 @@ +CONFIG_ARM_ARMADA_37XX_CPUFREQ=m diff --git a/baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ b/baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ index 89d5552..8b76dfa 100644 --- a/baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ +++ b/baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ @@ -1 +1 @@ -# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +CONFIG_ARM_BIG_LITTLE_CPUFREQ=m diff --git a/baseconfig/arm/CONFIG_ARM_PTDUMP_DEBUGFS b/baseconfig/arm/CONFIG_ARM_PTDUMP_DEBUGFS new file mode 100644 index 0000000..b0e6259 --- /dev/null +++ b/baseconfig/arm/CONFIG_ARM_PTDUMP_DEBUGFS @@ -0,0 +1 @@ +# CONFIG_ARM_PTDUMP_DEBUGFS is not set diff --git a/baseconfig/arm/CONFIG_ARM_SCPI_CPUFREQ b/baseconfig/arm/CONFIG_ARM_SCPI_CPUFREQ new file mode 100644 index 0000000..f2b7060 --- /dev/null +++ b/baseconfig/arm/CONFIG_ARM_SCPI_CPUFREQ @@ -0,0 +1 @@ +CONFIG_ARM_SCPI_CPUFREQ=m diff --git a/baseconfig/arm/CONFIG_DEBUG_WX b/baseconfig/arm/CONFIG_DEBUG_WX new file mode 100644 index 0000000..95e08f4 --- /dev/null +++ b/baseconfig/arm/CONFIG_DEBUG_WX @@ -0,0 +1 @@ +CONFIG_DEBUG_WX=y diff --git a/baseconfig/arm/CONFIG_DRM_I2C_ADV7511 b/baseconfig/arm/CONFIG_DRM_I2C_ADV7511 new file mode 100644 index 0000000..2d931f7 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_I2C_ADV7511 @@ -0,0 +1 @@ +CONFIG_DRM_I2C_ADV7511=m diff --git a/baseconfig/arm/CONFIG_DRM_I2C_ADV7511_CEC b/baseconfig/arm/CONFIG_DRM_I2C_ADV7511_CEC new file mode 100644 index 0000000..42e87e0 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_I2C_ADV7511_CEC @@ -0,0 +1 @@ +CONFIG_DRM_I2C_ADV7511_CEC=y diff --git a/baseconfig/arm/CONFIG_DRM_PANEL_ILITEK_IL9322 b/baseconfig/arm/CONFIG_DRM_PANEL_ILITEK_IL9322 new file mode 100644 index 0000000..c18cc1b --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_PANEL_ILITEK_IL9322 @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_ILITEK_IL9322=m diff --git a/baseconfig/arm/CONFIG_FTWDT010_WATCHDOG b/baseconfig/arm/CONFIG_FTWDT010_WATCHDOG new file mode 100644 index 0000000..63ed031 --- /dev/null +++ b/baseconfig/arm/CONFIG_FTWDT010_WATCHDOG @@ -0,0 +1 @@ +# CONFIG_FTWDT010_WATCHDOG is not set diff --git a/baseconfig/arm/CONFIG_GPIO_RASPBERRYPI_EXP b/baseconfig/arm/CONFIG_GPIO_RASPBERRYPI_EXP new file mode 100644 index 0000000..c98e757 --- /dev/null +++ b/baseconfig/arm/CONFIG_GPIO_RASPBERRYPI_EXP @@ -0,0 +1 @@ +CONFIG_GPIO_RASPBERRYPI_EXP=m diff --git a/baseconfig/arm/CONFIG_I2C_GPIO_FAULT_INJECTOR b/baseconfig/arm/CONFIG_I2C_GPIO_FAULT_INJECTOR new file mode 100644 index 0000000..711cee4 --- /dev/null +++ b/baseconfig/arm/CONFIG_I2C_GPIO_FAULT_INJECTOR @@ -0,0 +1 @@ +# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set diff --git a/baseconfig/arm/CONFIG_MFD_CROS_EC_CHARDEV b/baseconfig/arm/CONFIG_MFD_CROS_EC_CHARDEV new file mode 100644 index 0000000..fc68f1d --- /dev/null +++ b/baseconfig/arm/CONFIG_MFD_CROS_EC_CHARDEV @@ -0,0 +1 @@ +CONFIG_MFD_CROS_EC_CHARDEV=m diff --git a/baseconfig/arm/CONFIG_MTD_NAND_MARVELL b/baseconfig/arm/CONFIG_MTD_NAND_MARVELL new file mode 100644 index 0000000..439fe95 --- /dev/null +++ b/baseconfig/arm/CONFIG_MTD_NAND_MARVELL @@ -0,0 +1 @@ +CONFIG_MTD_NAND_MARVELL=m diff --git a/baseconfig/arm/CONFIG_NCP_FS b/baseconfig/arm/CONFIG_NCP_FS deleted file mode 100644 index 62eb3bd..0000000 --- a/baseconfig/arm/CONFIG_NCP_FS +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_NCP_FS is not set diff --git a/baseconfig/arm/CONFIG_PINCTRL_AXP209 b/baseconfig/arm/CONFIG_PINCTRL_AXP209 new file mode 100644 index 0000000..6ccab1d --- /dev/null +++ b/baseconfig/arm/CONFIG_PINCTRL_AXP209 @@ -0,0 +1 @@ +CONFIG_PINCTRL_AXP209=m diff --git a/baseconfig/arm/CONFIG_PINCTRL_MSM8998 b/baseconfig/arm/CONFIG_PINCTRL_MSM8998 new file mode 100644 index 0000000..e265000 --- /dev/null +++ b/baseconfig/arm/CONFIG_PINCTRL_MSM8998 @@ -0,0 +1 @@ +CONFIG_PINCTRL_MSM8998=m diff --git a/baseconfig/arm/CONFIG_QCOM_A53PLL b/baseconfig/arm/CONFIG_QCOM_A53PLL new file mode 100644 index 0000000..6928d61 --- /dev/null +++ b/baseconfig/arm/CONFIG_QCOM_A53PLL @@ -0,0 +1 @@ +CONFIG_QCOM_A53PLL=m diff --git a/baseconfig/arm/CONFIG_QCOM_CLK_APCS_MSM8916 b/baseconfig/arm/CONFIG_QCOM_CLK_APCS_MSM8916 new file mode 100644 index 0000000..ca97c45 --- /dev/null +++ b/baseconfig/arm/CONFIG_QCOM_CLK_APCS_MSM8916 @@ -0,0 +1 @@ +CONFIG_QCOM_CLK_APCS_MSM8916=m diff --git a/baseconfig/arm/CONFIG_REFCOUNT_FULL b/baseconfig/arm/CONFIG_REFCOUNT_FULL new file mode 100644 index 0000000..c7e4a16 --- /dev/null +++ b/baseconfig/arm/CONFIG_REFCOUNT_FULL @@ -0,0 +1 @@ +CONFIG_REFCOUNT_FULL=y diff --git a/baseconfig/arm/CONFIG_RTC_DRV_CROS_EC b/baseconfig/arm/CONFIG_RTC_DRV_CROS_EC new file mode 100644 index 0000000..4665f79 --- /dev/null +++ b/baseconfig/arm/CONFIG_RTC_DRV_CROS_EC @@ -0,0 +1 @@ +CONFIG_RTC_DRV_CROS_EC=m diff --git a/baseconfig/arm/CONFIG_SD_ADC_MODULATOR b/baseconfig/arm/CONFIG_SD_ADC_MODULATOR new file mode 100644 index 0000000..de78e1d --- /dev/null +++ b/baseconfig/arm/CONFIG_SD_ADC_MODULATOR @@ -0,0 +1 @@ +CONFIG_SD_ADC_MODULATOR=m diff --git a/baseconfig/arm/CONFIG_SLIMBUS b/baseconfig/arm/CONFIG_SLIMBUS new file mode 100644 index 0000000..6b6eac1 --- /dev/null +++ b/baseconfig/arm/CONFIG_SLIMBUS @@ -0,0 +1 @@ +CONFIG_SLIMBUS=m diff --git a/baseconfig/arm/CONFIG_SLIM_QCOM_CTRL b/baseconfig/arm/CONFIG_SLIM_QCOM_CTRL new file mode 100644 index 0000000..ea35322 --- /dev/null +++ b/baseconfig/arm/CONFIG_SLIM_QCOM_CTRL @@ -0,0 +1 @@ +CONFIG_SLIM_QCOM_CTRL=m diff --git a/baseconfig/arm/CONFIG_SPMI_PMIC_CLKDIV b/baseconfig/arm/CONFIG_SPMI_PMIC_CLKDIV new file mode 100644 index 0000000..2b11b2d --- /dev/null +++ b/baseconfig/arm/CONFIG_SPMI_PMIC_CLKDIV @@ -0,0 +1 @@ +CONFIG_SPMI_PMIC_CLKDIV=m diff --git a/baseconfig/arm/CONFIG_TEGRA_VDE b/baseconfig/arm/CONFIG_TEGRA_VDE new file mode 100644 index 0000000..1b373e8 --- /dev/null +++ b/baseconfig/arm/CONFIG_TEGRA_VDE @@ -0,0 +1 @@ +CONFIG_TEGRA_VDE=m diff --git a/baseconfig/arm/CONFIG_TINYDRM_ILI9225 b/baseconfig/arm/CONFIG_TINYDRM_ILI9225 new file mode 100644 index 0000000..3f9d07d --- /dev/null +++ b/baseconfig/arm/CONFIG_TINYDRM_ILI9225 @@ -0,0 +1 @@ +CONFIG_TINYDRM_ILI9225=m diff --git a/baseconfig/arm/CONFIG_TINYDRM_ST7735R b/baseconfig/arm/CONFIG_TINYDRM_ST7735R new file mode 100644 index 0000000..89c0fd5 --- /dev/null +++ b/baseconfig/arm/CONFIG_TINYDRM_ST7735R @@ -0,0 +1 @@ +CONFIG_TINYDRM_ST7735R=m diff --git a/baseconfig/arm/CONFIG_USB_MUSB_SUNXI b/baseconfig/arm/CONFIG_USB_MUSB_SUNXI new file mode 100644 index 0000000..258e716 --- /dev/null +++ b/baseconfig/arm/CONFIG_USB_MUSB_SUNXI @@ -0,0 +1 @@ +CONFIG_USB_MUSB_SUNXI=m diff --git a/baseconfig/arm/CONFIG_USB_OTG_FSM b/baseconfig/arm/CONFIG_USB_OTG_FSM new file mode 100644 index 0000000..6dc1aac --- /dev/null +++ b/baseconfig/arm/CONFIG_USB_OTG_FSM @@ -0,0 +1 @@ +CONFIG_USB_OTG_FSM=m diff --git a/baseconfig/arm/aarch64/CONFIG_ARCH_ZYNQMP b/baseconfig/arm/aarch64/CONFIG_ARCH_ZYNQMP index f92a386..59df22f 100644 --- a/baseconfig/arm/aarch64/CONFIG_ARCH_ZYNQMP +++ b/baseconfig/arm/aarch64/CONFIG_ARCH_ZYNQMP @@ -1 +1 @@ -# CONFIG_ARCH_ZYNQMP is not set +CONFIG_ARCH_ZYNQMP=y diff --git a/baseconfig/arm/aarch64/CONFIG_ARM64_PMEM b/baseconfig/arm/aarch64/CONFIG_ARM64_PMEM index 9325600..f2e1b13 100644 --- a/baseconfig/arm/aarch64/CONFIG_ARM64_PMEM +++ b/baseconfig/arm/aarch64/CONFIG_ARM64_PMEM @@ -1 +1 @@ -# CONFIG_ARM64_PMEM is not set +CONFIG_ARM64_PMEM=y diff --git a/baseconfig/arm/aarch64/CONFIG_ARM64_RAS_EXTN b/baseconfig/arm/aarch64/CONFIG_ARM64_RAS_EXTN new file mode 100644 index 0000000..b664a0d --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARM64_RAS_EXTN @@ -0,0 +1 @@ +CONFIG_ARM64_RAS_EXTN=y diff --git a/baseconfig/arm/aarch64/CONFIG_ARM_DSU_PMU b/baseconfig/arm/aarch64/CONFIG_ARM_DSU_PMU new file mode 100644 index 0000000..383292c --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARM_DSU_PMU @@ -0,0 +1 @@ +CONFIG_ARM_DSU_PMU=m diff --git a/baseconfig/arm/aarch64/CONFIG_ARM_SDE_INTERFACE b/baseconfig/arm/aarch64/CONFIG_ARM_SDE_INTERFACE new file mode 100644 index 0000000..b336091 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARM_SDE_INTERFACE @@ -0,0 +1 @@ +CONFIG_ARM_SDE_INTERFACE=y diff --git a/baseconfig/arm/aarch64/CONFIG_CAVIUM_PTP b/baseconfig/arm/aarch64/CONFIG_CAVIUM_PTP new file mode 100644 index 0000000..271967f --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CAVIUM_PTP @@ -0,0 +1 @@ +CONFIG_CAVIUM_PTP=m diff --git a/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA3_ARM64 b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA3_ARM64 new file mode 100644 index 0000000..52d5aea --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA3_ARM64 @@ -0,0 +1 @@ +CONFIG_CRYPTO_SHA3_ARM64=m diff --git a/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA512_ARM64_CE b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA512_ARM64_CE new file mode 100644 index 0000000..3a159ef --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA512_ARM64_CE @@ -0,0 +1 @@ +CONFIG_CRYPTO_SHA512_ARM64_CE=m diff --git a/baseconfig/arm/aarch64/CONFIG_CRYPTO_SM3_ARM64_CE b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SM3_ARM64_CE new file mode 100644 index 0000000..93a6a00 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SM3_ARM64_CE @@ -0,0 +1 @@ +CONFIG_CRYPTO_SM3_ARM64_CE=m diff --git a/baseconfig/arm/aarch64/CONFIG_FB_XILINX b/baseconfig/arm/aarch64/CONFIG_FB_XILINX new file mode 100644 index 0000000..4bcb7d8 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_FB_XILINX @@ -0,0 +1 @@ +CONFIG_FB_XILINX=m diff --git a/baseconfig/arm/aarch64/CONFIG_GPIO_ZYNQ b/baseconfig/arm/aarch64/CONFIG_GPIO_ZYNQ new file mode 100644 index 0000000..2f9ba20 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_GPIO_ZYNQ @@ -0,0 +1 @@ +CONFIG_GPIO_ZYNQ=m diff --git a/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SOCIONEXT b/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SOCIONEXT new file mode 100644 index 0000000..213e485 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SOCIONEXT @@ -0,0 +1 @@ +CONFIG_NET_VENDOR_SOCIONEXT=y diff --git a/baseconfig/arm/aarch64/CONFIG_PCIE_XILINX_NWL b/baseconfig/arm/aarch64/CONFIG_PCIE_XILINX_NWL new file mode 100644 index 0000000..90eae1f --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_PCIE_XILINX_NWL @@ -0,0 +1 @@ +CONFIG_PCIE_XILINX_NWL=y diff --git a/baseconfig/arm/aarch64/CONFIG_PINCTRL_MESON_AXG b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MESON_AXG new file mode 100644 index 0000000..fec409e --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MESON_AXG @@ -0,0 +1 @@ +CONFIG_PINCTRL_MESON_AXG=y diff --git a/baseconfig/arm/aarch64/CONFIG_REFCOUNT_FULL b/baseconfig/arm/aarch64/CONFIG_REFCOUNT_FULL deleted file mode 100644 index c7e4a16..0000000 --- a/baseconfig/arm/aarch64/CONFIG_REFCOUNT_FULL +++ /dev/null @@ -1 +0,0 @@ -CONFIG_REFCOUNT_FULL=y diff --git a/baseconfig/arm/aarch64/CONFIG_RTC_DRV_ZYNQMP b/baseconfig/arm/aarch64/CONFIG_RTC_DRV_ZYNQMP new file mode 100644 index 0000000..440cc29 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_RTC_DRV_ZYNQMP @@ -0,0 +1 @@ +CONFIG_RTC_DRV_ZYNQMP=m diff --git a/baseconfig/arm/aarch64/CONFIG_SPI_ZYNQMP_GQSPI b/baseconfig/arm/aarch64/CONFIG_SPI_ZYNQMP_GQSPI new file mode 100644 index 0000000..98ca0a7 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_SPI_ZYNQMP_GQSPI @@ -0,0 +1 @@ +CONFIG_SPI_ZYNQMP_GQSPI=m diff --git a/baseconfig/arm/aarch64/CONFIG_STUB_CLK_HI3660 b/baseconfig/arm/aarch64/CONFIG_STUB_CLK_HI3660 new file mode 100644 index 0000000..99ffc02 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_STUB_CLK_HI3660 @@ -0,0 +1 @@ +CONFIG_STUB_CLK_HI3660=y diff --git a/baseconfig/arm/aarch64/CONFIG_USB_MUSB_SUNXI b/baseconfig/arm/aarch64/CONFIG_USB_MUSB_SUNXI deleted file mode 100644 index 258e716..0000000 --- a/baseconfig/arm/aarch64/CONFIG_USB_MUSB_SUNXI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_MUSB_SUNXI=m diff --git a/baseconfig/arm/aarch64/CONFIG_XILINX_ZYNQMP_DMA b/baseconfig/arm/aarch64/CONFIG_XILINX_ZYNQMP_DMA new file mode 100644 index 0000000..9d804ee --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_XILINX_ZYNQMP_DMA @@ -0,0 +1 @@ +CONFIG_XILINX_ZYNQMP_DMA=m diff --git a/baseconfig/arm/armv7/CONFIG_ARM_BIG_LITTLE_CPUFREQ b/baseconfig/arm/armv7/CONFIG_ARM_BIG_LITTLE_CPUFREQ deleted file mode 100644 index 8b76dfa..0000000 --- a/baseconfig/arm/armv7/CONFIG_ARM_BIG_LITTLE_CPUFREQ +++ /dev/null @@ -1 +0,0 @@ -CONFIG_ARM_BIG_LITTLE_CPUFREQ=m diff --git a/baseconfig/arm/armv7/CONFIG_ARM_SCPI_CPUFREQ b/baseconfig/arm/armv7/CONFIG_ARM_SCPI_CPUFREQ deleted file mode 100644 index f2b7060..0000000 --- a/baseconfig/arm/armv7/CONFIG_ARM_SCPI_CPUFREQ +++ /dev/null @@ -1 +0,0 @@ -CONFIG_ARM_SCPI_CPUFREQ=m diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_FIMC b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_FIMC deleted file mode 100644 index 761cf11..0000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_FIMC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_EXYNOS_FIMC=y diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_GSC b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_GSC deleted file mode 100644 index cf2c394..0000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_GSC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_EXYNOS_GSC=y diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IOMMU b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IOMMU index 1c741aa..5975dfe 100644 --- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IOMMU +++ b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IOMMU @@ -1 +1 @@ -# CONFIG_DRM_EXYNOS_IOMMU is not set +CONFIG_DRM_EXYNOS_IOMMU=y diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IPP b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IPP deleted file mode 100644 index 0d547a2..0000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IPP +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_EXYNOS_IPP=y diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_ROTATOR b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_ROTATOR deleted file mode 100644 index b994e95..0000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_ROTATOR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_EXYNOS_ROTATOR=y diff --git a/baseconfig/arm/armv7/CONFIG_EXYNOS_IOMMU b/baseconfig/arm/armv7/CONFIG_EXYNOS_IOMMU index 76ab03a..6a0844a 100644 --- a/baseconfig/arm/armv7/CONFIG_EXYNOS_IOMMU +++ b/baseconfig/arm/armv7/CONFIG_EXYNOS_IOMMU @@ -1 +1 @@ -# CONFIG_EXYNOS_IOMMU is not set +CONFIG_EXYNOS_IOMMU=y diff --git a/baseconfig/arm/armv7/CONFIG_HW_RANDOM_EXYNOS b/baseconfig/arm/armv7/CONFIG_HW_RANDOM_EXYNOS new file mode 100644 index 0000000..87c2530 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_HW_RANDOM_EXYNOS @@ -0,0 +1 @@ +CONFIG_HW_RANDOM_EXYNOS=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_TPS65217 b/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_TPS65217 index e77c2fc..629b850 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_TPS65217 +++ b/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_TPS65217 @@ -1 +1 @@ -CONFIG_CHARGER_TPS65217=m +# CONFIG_CHARGER_TPS65217 is not set diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DRM_ETNAVIV_THERMAL b/baseconfig/arm/armv7/armv7/CONFIG_DRM_ETNAVIV_THERMAL new file mode 100644 index 0000000..ddd9d58 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_DRM_ETNAVIV_THERMAL @@ -0,0 +1 @@ +CONFIG_DRM_ETNAVIV_THERMAL=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MFD_TI_LMU b/baseconfig/arm/armv7/armv7/CONFIG_MFD_TI_LMU new file mode 100644 index 0000000..777cb90 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_MFD_TI_LMU @@ -0,0 +1 @@ +CONFIG_MFD_TI_LMU=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_IMX b/baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_IMX deleted file mode 100644 index 25d1d55..0000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_IMX +++ /dev/null @@ -1 +0,0 @@ -CONFIG_POWER_RESET_IMX=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_LM363X b/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_LM363X new file mode 100644 index 0000000..a4610d5 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_LM363X @@ -0,0 +1 @@ +CONFIG_REGULATOR_LM363X=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_MXC_V2 b/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_MXC_V2 new file mode 100644 index 0000000..2255940 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_MXC_V2 @@ -0,0 +1 @@ +CONFIG_RTC_DRV_MXC_V2=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP index 582053b..0f7ea54 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP +++ b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP @@ -1 +1 @@ -CONFIG_SERIAL_8250_OMAP=m +CONFIG_SERIAL_8250_OMAP=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP new file mode 100644 index 0000000..cffbc1b --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP @@ -0,0 +1 @@ +CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP index 0dbd205..1c036ec 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP +++ b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP @@ -1 +1 @@ -CONFIG_SERIAL_OMAP=y +# CONFIG_SERIAL_OMAP is not set diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP_CONSOLE b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP_CONSOLE deleted file mode 100644 index 84ab44f..0000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP_CONSOLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SERIAL_OMAP_CONSOLE=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM b/baseconfig/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM new file mode 100644 index 0000000..6bb0bf6 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM @@ -0,0 +1 @@ +CONFIG_TI_EMIF_SRAM=m diff --git a/baseconfig/arm/armv7/lpae/CONFIG_EDAC_TI b/baseconfig/arm/armv7/lpae/CONFIG_EDAC_TI new file mode 100644 index 0000000..6989ad7 --- /dev/null +++ b/baseconfig/arm/armv7/lpae/CONFIG_EDAC_TI @@ -0,0 +1 @@ +CONFIG_EDAC_TI=m diff --git a/baseconfig/powerpc/CONFIG_OCXL b/baseconfig/powerpc/CONFIG_OCXL new file mode 100644 index 0000000..4f2a1a2 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_OCXL @@ -0,0 +1 @@ +CONFIG_OCXL=m diff --git a/baseconfig/powerpc/CONFIG_PPC_IRQ_SOFT_MASK_DEBUG b/baseconfig/powerpc/CONFIG_PPC_IRQ_SOFT_MASK_DEBUG new file mode 100644 index 0000000..34e3d00 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PPC_IRQ_SOFT_MASK_DEBUG @@ -0,0 +1 @@ +# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set diff --git a/baseconfig/powerpc/CONFIG_PPC_MEM_KEYS b/baseconfig/powerpc/CONFIG_PPC_MEM_KEYS new file mode 100644 index 0000000..fc57e86 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PPC_MEM_KEYS @@ -0,0 +1 @@ +CONFIG_PPC_MEM_KEYS=y diff --git a/baseconfig/s390x/CONFIG_EXPOLINE b/baseconfig/s390x/CONFIG_EXPOLINE new file mode 100644 index 0000000..4fed392 --- /dev/null +++ b/baseconfig/s390x/CONFIG_EXPOLINE @@ -0,0 +1 @@ +CONFIG_EXPOLINE=y diff --git a/baseconfig/s390x/CONFIG_EXPOLINE_MEDIUM b/baseconfig/s390x/CONFIG_EXPOLINE_MEDIUM new file mode 100644 index 0000000..82c8370 --- /dev/null +++ b/baseconfig/s390x/CONFIG_EXPOLINE_MEDIUM @@ -0,0 +1 @@ +CONFIG_EXPOLINE_MEDIUM=y diff --git a/baseconfig/s390x/CONFIG_KERNEL_NOBP b/baseconfig/s390x/CONFIG_KERNEL_NOBP new file mode 100644 index 0000000..b3c2916 --- /dev/null +++ b/baseconfig/s390x/CONFIG_KERNEL_NOBP @@ -0,0 +1 @@ +CONFIG_KERNEL_NOBP=y diff --git a/baseconfig/s390x/CONFIG_MFD_RTSX_PCI b/baseconfig/s390x/CONFIG_MFD_RTSX_PCI deleted file mode 100644 index 03cefd7..0000000 --- a/baseconfig/s390x/CONFIG_MFD_RTSX_PCI +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MFD_RTSX_PCI is not set diff --git a/baseconfig/s390x/CONFIG_MFD_RTSX_USB b/baseconfig/s390x/CONFIG_MFD_RTSX_USB deleted file mode 100644 index b6efa65..0000000 --- a/baseconfig/s390x/CONFIG_MFD_RTSX_USB +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MFD_RTSX_USB is not set diff --git a/baseconfig/s390x/CONFIG_MISC_RTSX_PCI b/baseconfig/s390x/CONFIG_MISC_RTSX_PCI new file mode 100644 index 0000000..eeec3f0 --- /dev/null +++ b/baseconfig/s390x/CONFIG_MISC_RTSX_PCI @@ -0,0 +1 @@ +# CONFIG_MISC_RTSX_PCI is not set diff --git a/baseconfig/s390x/CONFIG_MISC_RTSX_USB b/baseconfig/s390x/CONFIG_MISC_RTSX_USB new file mode 100644 index 0000000..f41dad5 --- /dev/null +++ b/baseconfig/s390x/CONFIG_MISC_RTSX_USB @@ -0,0 +1 @@ +# CONFIG_MISC_RTSX_USB is not set diff --git a/baseconfig/x86/CONFIG_ACER_WIRELESS b/baseconfig/x86/CONFIG_ACER_WIRELESS new file mode 100644 index 0000000..6d6dddc --- /dev/null +++ b/baseconfig/x86/CONFIG_ACER_WIRELESS @@ -0,0 +1 @@ +CONFIG_ACER_WIRELESS=m diff --git a/baseconfig/x86/CONFIG_DELL_SMBIOS_SMM b/baseconfig/x86/CONFIG_DELL_SMBIOS_SMM index 2ba6382..3fead97 100644 --- a/baseconfig/x86/CONFIG_DELL_SMBIOS_SMM +++ b/baseconfig/x86/CONFIG_DELL_SMBIOS_SMM @@ -1 +1 @@ -CONFIG_DELL_SMBIOS_SMM=m +CONFIG_DELL_SMBIOS_SMM=y diff --git a/baseconfig/x86/CONFIG_DELL_SMBIOS_WMI b/baseconfig/x86/CONFIG_DELL_SMBIOS_WMI index 0e3f3d8..46a8c84 100644 --- a/baseconfig/x86/CONFIG_DELL_SMBIOS_WMI +++ b/baseconfig/x86/CONFIG_DELL_SMBIOS_WMI @@ -1 +1 @@ -CONFIG_DELL_SMBIOS_WMI=m +CONFIG_DELL_SMBIOS_WMI=y diff --git a/baseconfig/x86/CONFIG_GPD_POCKET_FAN b/baseconfig/x86/CONFIG_GPD_POCKET_FAN new file mode 100644 index 0000000..6eb761b --- /dev/null +++ b/baseconfig/x86/CONFIG_GPD_POCKET_FAN @@ -0,0 +1 @@ +CONFIG_GPD_POCKET_FAN=m diff --git a/baseconfig/x86/CONFIG_INTEL_CHTDC_TI_PWRBTN b/baseconfig/x86/CONFIG_INTEL_CHTDC_TI_PWRBTN new file mode 100644 index 0000000..55ca8a3 --- /dev/null +++ b/baseconfig/x86/CONFIG_INTEL_CHTDC_TI_PWRBTN @@ -0,0 +1 @@ +CONFIG_INTEL_CHTDC_TI_PWRBTN=m diff --git a/baseconfig/x86/CONFIG_KEXEC_SIG b/baseconfig/x86/CONFIG_KEXEC_SIG new file mode 100644 index 0000000..49392e4 --- /dev/null +++ b/baseconfig/x86/CONFIG_KEXEC_SIG @@ -0,0 +1 @@ +# CONFIG_KEXEC_SIG is not set diff --git a/baseconfig/x86/CONFIG_KEXEC_VERIFY_SIG b/baseconfig/x86/CONFIG_KEXEC_VERIFY_SIG deleted file mode 100644 index 5d9b843..0000000 --- a/baseconfig/x86/CONFIG_KEXEC_VERIFY_SIG +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_KEXEC_VERIFY_SIG is not set diff --git a/baseconfig/x86/CONFIG_MLX_PLATFORM b/baseconfig/x86/CONFIG_MLX_PLATFORM new file mode 100644 index 0000000..54e7906 --- /dev/null +++ b/baseconfig/x86/CONFIG_MLX_PLATFORM @@ -0,0 +1 @@ +CONFIG_MLX_PLATFORM=m diff --git a/baseconfig/x86/CONFIG_SD_ADC_MODULATOR b/baseconfig/x86/CONFIG_SD_ADC_MODULATOR new file mode 100644 index 0000000..de78e1d --- /dev/null +++ b/baseconfig/x86/CONFIG_SD_ADC_MODULATOR @@ -0,0 +1 @@ +CONFIG_SD_ADC_MODULATOR=m diff --git a/baseconfig/x86/CONFIG_SND_SOC_INTEL_SST_TOPLEVEL b/baseconfig/x86/CONFIG_SND_SOC_INTEL_SST_TOPLEVEL index b5dc647..419418b 100644 --- a/baseconfig/x86/CONFIG_SND_SOC_INTEL_SST_TOPLEVEL +++ b/baseconfig/x86/CONFIG_SND_SOC_INTEL_SST_TOPLEVEL @@ -1 +1 @@ -CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m +CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y diff --git a/baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI b/baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI new file mode 100644 index 0000000..2fcfec9 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI @@ -0,0 +1 @@ +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m diff --git a/baseconfig/x86/CONFIG_SOUNDWIRE_INTEL b/baseconfig/x86/CONFIG_SOUNDWIRE_INTEL new file mode 100644 index 0000000..d48d1cc --- /dev/null +++ b/baseconfig/x86/CONFIG_SOUNDWIRE_INTEL @@ -0,0 +1 @@ +CONFIG_SOUNDWIRE_INTEL=m diff --git a/baseconfig/x86/CONFIG_VBOXGUEST b/baseconfig/x86/CONFIG_VBOXGUEST new file mode 100644 index 0000000..7901866 --- /dev/null +++ b/baseconfig/x86/CONFIG_VBOXGUEST @@ -0,0 +1 @@ +# CONFIG_VBOXGUEST is not set diff --git a/baseconfig/x86/CONFIG_VIDEO_IPU3_CIO2 b/baseconfig/x86/CONFIG_VIDEO_IPU3_CIO2 new file mode 100644 index 0000000..d8d306e --- /dev/null +++ b/baseconfig/x86/CONFIG_VIDEO_IPU3_CIO2 @@ -0,0 +1 @@ +CONFIG_VIDEO_IPU3_CIO2=m diff --git a/baseconfig/x86/CONFIG_VIRT_DRIVERS b/baseconfig/x86/CONFIG_VIRT_DRIVERS new file mode 100644 index 0000000..7173b9c --- /dev/null +++ b/baseconfig/x86/CONFIG_VIRT_DRIVERS @@ -0,0 +1 @@ +CONFIG_VIRT_DRIVERS=y diff --git a/baseconfig/x86/CONFIG_X86_PMEM_LEGACY b/baseconfig/x86/CONFIG_X86_PMEM_LEGACY index 3ac539a..b93c135 100644 --- a/baseconfig/x86/CONFIG_X86_PMEM_LEGACY +++ b/baseconfig/x86/CONFIG_X86_PMEM_LEGACY @@ -1 +1 @@ -CONFIG_X86_PMEM_LEGACY=y +CONFIG_X86_PMEM_LEGACY=m diff --git a/baseconfig/x86/i686/CONFIG_X86_PPRO_FENCE b/baseconfig/x86/i686/CONFIG_X86_PPRO_FENCE deleted file mode 100644 index 3733828..0000000 --- a/baseconfig/x86/i686/CONFIG_X86_PPRO_FENCE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_X86_PPRO_FENCE is not set diff --git a/baseconfig/x86/i686PAE/CONFIG_X86_PPRO_FENCE b/baseconfig/x86/i686PAE/CONFIG_X86_PPRO_FENCE deleted file mode 100644 index 3733828..0000000 --- a/baseconfig/x86/i686PAE/CONFIG_X86_PPRO_FENCE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_X86_PPRO_FENCE is not set diff --git a/baseconfig/x86/x86_64/CONFIG_CRYPTO_DEV_SP_PSP b/baseconfig/x86/x86_64/CONFIG_CRYPTO_DEV_SP_PSP new file mode 100644 index 0000000..7b0c649 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_CRYPTO_DEV_SP_PSP @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_SP_PSP=y diff --git a/baseconfig/x86/x86_64/CONFIG_JAILHOUSE_GUEST b/baseconfig/x86/x86_64/CONFIG_JAILHOUSE_GUEST new file mode 100644 index 0000000..aa93b53 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_JAILHOUSE_GUEST @@ -0,0 +1 @@ +# CONFIG_JAILHOUSE_GUEST is not set diff --git a/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG b/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG new file mode 100644 index 0000000..67b6886 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG @@ -0,0 +1 @@ +CONFIG_KEXEC_SIG=y diff --git a/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG_FORCE b/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG_FORCE new file mode 100644 index 0000000..6aa62ef --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG_FORCE @@ -0,0 +1 @@ +CONFIG_KEXEC_SIG_FORCE=y diff --git a/baseconfig/x86/x86_64/CONFIG_KEXEC_VERIFY_SIG b/baseconfig/x86/x86_64/CONFIG_KEXEC_VERIFY_SIG deleted file mode 100644 index 5f39f19..0000000 --- a/baseconfig/x86/x86_64/CONFIG_KEXEC_VERIFY_SIG +++ /dev/null @@ -1 +0,0 @@ -CONFIG_KEXEC_VERIFY_SIG=y diff --git a/baseconfig/x86/x86_64/CONFIG_KVM_AMD_SEV b/baseconfig/x86/x86_64/CONFIG_KVM_AMD_SEV new file mode 100644 index 0000000..de33426 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_KVM_AMD_SEV @@ -0,0 +1 @@ +CONFIG_KVM_AMD_SEV=y diff --git a/baseconfig/x86/x86_64/CONFIG_MLX_PLATFORM b/baseconfig/x86/x86_64/CONFIG_MLX_PLATFORM deleted file mode 100644 index 54e7906..0000000 --- a/baseconfig/x86/x86_64/CONFIG_MLX_PLATFORM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MLX_PLATFORM=m diff --git a/bcm2835-hwrng-Handle-deferred-clock-properly.patch b/bcm2835-hwrng-Handle-deferred-clock-properly.patch new file mode 100644 index 0000000..4b4cdfe --- /dev/null +++ b/bcm2835-hwrng-Handle-deferred-clock-properly.patch @@ -0,0 +1,42 @@ +From patchwork Mon Feb 12 20:11:36 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: hwrng: bcm2835: Handle deferred clock properly +From: Stefan Wahren +X-Patchwork-Id: 10214385 +Message-Id: <1518466296-30161-1-git-send-email-stefan.wahren@i2se.com> +To: Herbert Xu , Matt Mackall +Cc: Stefan Wahren , + Florian Fainelli , Arnd Bergmann , + Scott Branden , Jon Mason , + Greg Kroah-Hartman , + Eric Anholt , + bcm-kernel-feedback-list@broadcom.com, linux-crypto@vger.kernel.org, + Ray Jui , linux-arm-kernel@lists.infradead.org +Date: Mon, 12 Feb 2018 21:11:36 +0100 + +In case the probe of the clock is deferred, we would assume it is +optional. This is wrong, so defer the probe of this driver until +the clock is available. + +Fixes: 791af4f4907a ("hwrng: bcm2835 - Manage an optional clock") +Signed-off-by: Stefan Wahren +Acked-by: Florian Fainelli +--- + drivers/char/hw_random/bcm2835-rng.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/char/hw_random/bcm2835-rng.c b/drivers/char/hw_random/bcm2835-rng.c +index 7a84cec..6767d96 100644 +--- a/drivers/char/hw_random/bcm2835-rng.c ++++ b/drivers/char/hw_random/bcm2835-rng.c +@@ -163,6 +163,8 @@ static int bcm2835_rng_probe(struct platform_device *pdev) + + /* Clock is optional on most platforms */ + priv->clk = devm_clk_get(dev, NULL); ++ if (IS_ERR(priv->clk) && PTR_ERR(priv->clk) == -EPROBE_DEFER) ++ return -EPROBE_DEFER; + + priv->rng.name = pdev->name; + priv->rng.init = bcm2835_rng_init; diff --git a/bcm2837-enable-pmu.patch b/bcm2837-enable-pmu.patch new file mode 100644 index 0000000..378dd64 --- /dev/null +++ b/bcm2837-enable-pmu.patch @@ -0,0 +1,31 @@ +From 69e52712002cb6768b894cde9620fb426fd8728d Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Fri, 16 Mar 2018 21:49:37 +0100 +Subject: [PATCH] ARM: dts: bcm2837: Enable PMU on Raspberry Pi 3 + +This enables the PMU (performance monitoring unit) on Raspberry Pi 3. +In order to make it work on ARM and ARM64, we need to specify two +compatible strings. + +Signed-off-by: Stefan Wahren +--- + arch/arm/boot/dts/bcm2837.dtsi | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi +index 7704bb029605..1f5e5c782835 100644 +--- a/arch/arm/boot/dts/bcm2837.dtsi ++++ b/arch/arm/boot/dts/bcm2837.dtsi +@@ -17,6 +17,12 @@ + }; + }; + ++ arm-pmu { ++ compatible = "arm,cortex-a53-pmu", "arm,cortex-a7-pmu"; ++ interrupt-parent = <&local_intc>; ++ interrupts = <9 IRQ_TYPE_LEVEL_HIGH>; ++ }; ++ + timer { + compatible = "arm,armv7-timer"; + interrupt-parent = <&local_intc>; diff --git a/bcm2837-gpio-expander.patch b/bcm2837-gpio-expander.patch new file mode 100644 index 0000000..f5b8370 --- /dev/null +++ b/bcm2837-gpio-expander.patch @@ -0,0 +1,707 @@ +From patchwork Tue Feb 20 12:19:31 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v5,1/5] ARM: bcm2835: sync firmware properties with downstream +From: Baruch Siach +X-Patchwork-Id: 10229963 +Message-Id: +To: Linus Walleij , + Dave Stevenson , + Eric Anholt , Stefan Wahren +Cc: devicetree@vger.kernel.org, Baruch Siach , + linux-gpio@vger.kernel.org, Michael Zoran , + Rob Herring , linux-rpi-kernel@lists.infradead.org, + Frank Rowand , linux-arm-kernel@lists.infradead.org +Date: Tue, 20 Feb 2018 14:19:31 +0200 + +Add latest firmware property tags from the latest Raspberry Pi downstream +kernel. This is needed for the GPIO tags, so we can control the GPIO +multiplexor lines. + +Acked-by: Stefan Wahren +Signed-off-by: Baruch Siach +--- +v4: No change + +v3: Add Stefan's ack + +v2: No change +--- + include/soc/bcm2835/raspberrypi-firmware.h | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h +index cb979ad90401..50df5b28d2c9 100644 +--- a/include/soc/bcm2835/raspberrypi-firmware.h ++++ b/include/soc/bcm2835/raspberrypi-firmware.h +@@ -63,6 +63,7 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_GET_MIN_VOLTAGE = 0x00030008, + RPI_FIRMWARE_GET_TURBO = 0x00030009, + RPI_FIRMWARE_GET_MAX_TEMPERATURE = 0x0003000a, ++ RPI_FIRMWARE_GET_STC = 0x0003000b, + RPI_FIRMWARE_ALLOCATE_MEMORY = 0x0003000c, + RPI_FIRMWARE_LOCK_MEMORY = 0x0003000d, + RPI_FIRMWARE_UNLOCK_MEMORY = 0x0003000e, +@@ -72,12 +73,22 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_SET_ENABLE_QPU = 0x00030012, + RPI_FIRMWARE_GET_DISPMANX_RESOURCE_MEM_HANDLE = 0x00030014, + RPI_FIRMWARE_GET_EDID_BLOCK = 0x00030020, ++ RPI_FIRMWARE_GET_CUSTOMER_OTP = 0x00030021, + RPI_FIRMWARE_GET_DOMAIN_STATE = 0x00030030, + RPI_FIRMWARE_SET_CLOCK_STATE = 0x00038001, + RPI_FIRMWARE_SET_CLOCK_RATE = 0x00038002, + RPI_FIRMWARE_SET_VOLTAGE = 0x00038003, + RPI_FIRMWARE_SET_TURBO = 0x00038009, ++ RPI_FIRMWARE_SET_CUSTOMER_OTP = 0x00038021, + RPI_FIRMWARE_SET_DOMAIN_STATE = 0x00038030, ++ RPI_FIRMWARE_GET_GPIO_STATE = 0x00030041, ++ RPI_FIRMWARE_SET_GPIO_STATE = 0x00038041, ++ RPI_FIRMWARE_SET_SDHOST_CLOCK = 0x00038042, ++ RPI_FIRMWARE_GET_GPIO_CONFIG = 0x00030043, ++ RPI_FIRMWARE_SET_GPIO_CONFIG = 0x00038043, ++ RPI_FIRMWARE_GET_PERIPH_REG = 0x00030045, ++ RPI_FIRMWARE_SET_PERIPH_REG = 0x00038045, ++ + + /* Dispmanx TAGS */ + RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, +@@ -91,6 +102,8 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_OFFSET = 0x00040009, + RPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN = 0x0004000a, + RPI_FIRMWARE_FRAMEBUFFER_GET_PALETTE = 0x0004000b, ++ RPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF = 0x0004000f, ++ RPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF = 0x00040010, + RPI_FIRMWARE_FRAMEBUFFER_RELEASE = 0x00048001, + RPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 0x00044003, + RPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT = 0x00044004, +@@ -100,6 +113,7 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_OFFSET = 0x00044009, + RPI_FIRMWARE_FRAMEBUFFER_TEST_OVERSCAN = 0x0004400a, + RPI_FIRMWARE_FRAMEBUFFER_TEST_PALETTE = 0x0004400b, ++ RPI_FIRMWARE_FRAMEBUFFER_TEST_VSYNC = 0x0004400e, + RPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT = 0x00048003, + RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT = 0x00048004, + RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH = 0x00048005, +@@ -108,6 +122,10 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET = 0x00048009, + RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN = 0x0004800a, + RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE = 0x0004800b, ++ RPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF = 0x0004801f, ++ RPI_FIRMWARE_FRAMEBUFFER_SET_GPIOVIRTBUF = 0x00048020, ++ RPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC = 0x0004800e, ++ RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, + + RPI_FIRMWARE_VCHIQ_INIT = 0x00048010, + +From patchwork Tue Feb 20 12:19:32 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v5,2/5] dt-bindings: gpio: add raspberry pi GPIO expander binding +From: Baruch Siach +X-Patchwork-Id: 10229965 +Message-Id: +To: Linus Walleij , + Dave Stevenson , + Eric Anholt , Stefan Wahren +Cc: devicetree@vger.kernel.org, Baruch Siach , + linux-gpio@vger.kernel.org, Michael Zoran , + Rob Herring , linux-rpi-kernel@lists.infradead.org, + Frank Rowand , linux-arm-kernel@lists.infradead.org +Date: Tue, 20 Feb 2018 14:19:32 +0200 + +The Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware over +I2C. The firmware mailbox interface allows the ARM core to control the +GPIO lines. + +Signed-off-by: Baruch Siach +Reviewed-by: Rob Herring +--- +v5: + * Remove the 'firmware' property + * Note that the gpio node is a child of the firmware node + +v4: + * Move the example gpio node under the firmware node + * Rename gpio node name to plain 'gpio' + +v3: + * Rename node name. + +v2: + * Rename compatible string to raspberrypi,firmware-gpio +--- + .../bindings/gpio/raspberrypi,firmware-gpio.txt | 30 ++++++++++++++++++++++ + 1 file changed, 30 insertions(+) + create mode 100644 Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt + +diff --git a/Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt b/Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt +new file mode 100644 +index 000000000000..ce97265e23ba +--- /dev/null ++++ b/Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt +@@ -0,0 +1,30 @@ ++Raspberry Pi GPIO expander ++ ++The Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware. The ++firmware exposes a mailbox interface that allows the ARM core to control the ++GPIO lines on the expander. ++ ++The Raspberry Pi GPIO expander node must be a child node of the Raspberry Pi ++firmware node. ++ ++Required properties: ++ ++- compatible : Should be "raspberrypi,firmware-gpio" ++- gpio-controller : Marks the device node as a gpio controller ++- #gpio-cells : Should be two. The first cell is the pin number, and ++ the second cell is used to specify the gpio polarity: ++ 0 = active high ++ 1 = active low ++ ++Example: ++ ++firmware: firmware-rpi { ++ compatible = "raspberrypi,bcm2835-firmware"; ++ mboxes = <&mailbox>; ++ ++ expgpio: gpio { ++ compatible = "raspberrypi,firmware-gpio"; ++ gpio-controller; ++ #gpio-cells = <2>; ++ }; ++}; +From patchwork Tue Feb 20 12:19:33 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v5, + 3/5] gpio: raspberrypi-exp: Driver for RPi3 GPIO expander via mailbox + service +From: Baruch Siach +X-Patchwork-Id: 10229967 +Message-Id: <8c34f287ee72b340fa9d693aa0e304b25541c74c.1519128054.git.baruch@tkos.co.il> +To: Linus Walleij , + Dave Stevenson , + Eric Anholt , Stefan Wahren +Cc: devicetree@vger.kernel.org, Baruch Siach , + linux-gpio@vger.kernel.org, Michael Zoran , + Rob Herring , linux-rpi-kernel@lists.infradead.org, + Frank Rowand , linux-arm-kernel@lists.infradead.org +Date: Tue, 20 Feb 2018 14:19:33 +0200 + +From: Dave Stevenson + +Pi3 and Compute Module 3 have a GPIO expander that the +VPU communicates with. +There is a mailbox service that now allows control of this +expander, so add a kernel driver that can make use of it. + +Reviewed-by: Stefan Wahren +Signed-off-by: Dave Stevenson +Signed-off-by: Baruch Siach +--- +v5: + * Use the parent node to find the firmware + +v4: + * Don't set the .owner driver field + * Add Stefan's review tag + +v3: + * Tweak Kconfig driver prompt + * Make GPIO_RASPBERRYPI_EXP tristate + * Make COMPILE_TEST independent of RASPBERRYPI_FIRMWARE + * Remove redundant DMA header + * Use less code lines for dev_err() + * Check rpi_exp_gpio_get_polarity() return value + * Remove redundant platform_set_drvdata() call + +v2: + * Rename driver to gpio-raspberrypi-exp + * Populate the gpiochip parent device pointer + * Use macro for the mailbox base GPIO number + * Drop linux/gpio.h and GPIOF_DIR_* + * Check and print firmware error value + * Use devm_gpiochip_add_data(); drop .remove + * A few more minor tweaks +--- + drivers/gpio/Kconfig | 9 ++ + drivers/gpio/Makefile | 1 + + drivers/gpio/gpio-raspberrypi-exp.c | 252 ++++++++++++++++++++++++++++++++++++ + 3 files changed, 262 insertions(+) + create mode 100644 drivers/gpio/gpio-raspberrypi-exp.c + +diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig +index 8dbb2280538d..fd0562a37f68 100644 +--- a/drivers/gpio/Kconfig ++++ b/drivers/gpio/Kconfig +@@ -122,6 +122,15 @@ config GPIO_ATH79 + Select this option to enable GPIO driver for + Atheros AR71XX/AR724X/AR913X SoC devices. + ++config GPIO_RASPBERRYPI_EXP ++ tristate "Raspberry Pi 3 GPIO Expander" ++ default RASPBERRYPI_FIRMWARE ++ depends on OF_GPIO ++ depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || COMPILE_TEST ++ help ++ Turn on GPIO support for the expander on Raspberry Pi 3 boards, using ++ the firmware mailbox to communicate with VideoCore on BCM283x chips. ++ + config GPIO_BCM_KONA + bool "Broadcom Kona GPIO" + depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST) +diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile +index cccb0d40846c..76dc0a02bd56 100644 +--- a/drivers/gpio/Makefile ++++ b/drivers/gpio/Makefile +@@ -32,6 +32,7 @@ obj-$(CONFIG_GPIO_AMDPT) += gpio-amdpt.o + obj-$(CONFIG_GPIO_ARIZONA) += gpio-arizona.o + obj-$(CONFIG_GPIO_ATH79) += gpio-ath79.o + obj-$(CONFIG_GPIO_ASPEED) += gpio-aspeed.o ++obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o + obj-$(CONFIG_GPIO_BCM_KONA) += gpio-bcm-kona.o + obj-$(CONFIG_GPIO_BD9571MWV) += gpio-bd9571mwv.o + obj-$(CONFIG_GPIO_BRCMSTB) += gpio-brcmstb.o +diff --git a/drivers/gpio/gpio-raspberrypi-exp.c b/drivers/gpio/gpio-raspberrypi-exp.c +new file mode 100644 +index 000000000000..d6d36d537e37 +--- /dev/null ++++ b/drivers/gpio/gpio-raspberrypi-exp.c +@@ -0,0 +1,252 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Raspberry Pi 3 expander GPIO driver ++ * ++ * Uses the firmware mailbox service to communicate with the ++ * GPIO expander on the VPU. ++ * ++ * Copyright (C) 2017 Raspberry Pi Trading Ltd. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#define MODULE_NAME "raspberrypi-exp-gpio" ++#define NUM_GPIO 8 ++ ++#define RPI_EXP_GPIO_BASE 128 ++ ++#define RPI_EXP_GPIO_DIR_IN 0 ++#define RPI_EXP_GPIO_DIR_OUT 1 ++ ++struct rpi_exp_gpio { ++ struct gpio_chip gc; ++ struct rpi_firmware *fw; ++}; ++ ++/* VC4 firmware mailbox interface data structures */ ++ ++struct gpio_set_config { ++ u32 gpio; ++ u32 direction; ++ u32 polarity; ++ u32 term_en; ++ u32 term_pull_up; ++ u32 state; ++}; ++ ++struct gpio_get_config { ++ u32 gpio; ++ u32 direction; ++ u32 polarity; ++ u32 term_en; ++ u32 term_pull_up; ++}; ++ ++struct gpio_get_set_state { ++ u32 gpio; ++ u32 state; ++}; ++ ++static int rpi_exp_gpio_get_polarity(struct gpio_chip *gc, unsigned int off) ++{ ++ struct rpi_exp_gpio *gpio; ++ struct gpio_get_config get; ++ int ret; ++ ++ gpio = gpiochip_get_data(gc); ++ ++ get.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */ ++ ++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_GET_GPIO_CONFIG, ++ &get, sizeof(get)); ++ if (ret || get.gpio != 0) { ++ dev_err(gc->parent, "Failed to get GPIO %u config (%d %x)\n", ++ off, ret, get.gpio); ++ return ret ? ret : -EIO; ++ } ++ return get.polarity; ++} ++ ++static int rpi_exp_gpio_dir_in(struct gpio_chip *gc, unsigned int off) ++{ ++ struct rpi_exp_gpio *gpio; ++ struct gpio_set_config set_in; ++ int ret; ++ ++ gpio = gpiochip_get_data(gc); ++ ++ set_in.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */ ++ set_in.direction = RPI_EXP_GPIO_DIR_IN; ++ set_in.term_en = 0; /* termination disabled */ ++ set_in.term_pull_up = 0; /* n/a as termination disabled */ ++ set_in.state = 0; /* n/a as configured as an input */ ++ ++ ret = rpi_exp_gpio_get_polarity(gc, off); ++ if (ret < 0) ++ return ret; ++ set_in.polarity = ret; /* Retain existing setting */ ++ ++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_SET_GPIO_CONFIG, ++ &set_in, sizeof(set_in)); ++ if (ret || set_in.gpio != 0) { ++ dev_err(gc->parent, "Failed to set GPIO %u to input (%d %x)\n", ++ off, ret, set_in.gpio); ++ return ret ? ret : -EIO; ++ } ++ return 0; ++} ++ ++static int rpi_exp_gpio_dir_out(struct gpio_chip *gc, unsigned int off, int val) ++{ ++ struct rpi_exp_gpio *gpio; ++ struct gpio_set_config set_out; ++ int ret; ++ ++ gpio = gpiochip_get_data(gc); ++ ++ set_out.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */ ++ set_out.direction = RPI_EXP_GPIO_DIR_OUT; ++ set_out.term_en = 0; /* n/a as an output */ ++ set_out.term_pull_up = 0; /* n/a as termination disabled */ ++ set_out.state = val; /* Output state */ ++ ++ ret = rpi_exp_gpio_get_polarity(gc, off); ++ if (ret < 0) ++ return ret; ++ set_out.polarity = ret; /* Retain existing setting */ ++ ++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_SET_GPIO_CONFIG, ++ &set_out, sizeof(set_out)); ++ if (ret || set_out.gpio != 0) { ++ dev_err(gc->parent, "Failed to set GPIO %u to output (%d %x)\n", ++ off, ret, set_out.gpio); ++ return ret ? ret : -EIO; ++ } ++ return 0; ++} ++ ++static int rpi_exp_gpio_get_direction(struct gpio_chip *gc, unsigned int off) ++{ ++ struct rpi_exp_gpio *gpio; ++ struct gpio_get_config get; ++ int ret; ++ ++ gpio = gpiochip_get_data(gc); ++ ++ get.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */ ++ ++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_GET_GPIO_CONFIG, ++ &get, sizeof(get)); ++ if (ret || get.gpio != 0) { ++ dev_err(gc->parent, ++ "Failed to get GPIO %u config (%d %x)\n", off, ret, ++ get.gpio); ++ return ret ? ret : -EIO; ++ } ++ return !get.direction; ++} ++ ++static int rpi_exp_gpio_get(struct gpio_chip *gc, unsigned int off) ++{ ++ struct rpi_exp_gpio *gpio; ++ struct gpio_get_set_state get; ++ int ret; ++ ++ gpio = gpiochip_get_data(gc); ++ ++ get.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */ ++ get.state = 0; /* storage for returned value */ ++ ++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_GET_GPIO_STATE, ++ &get, sizeof(get)); ++ if (ret || get.gpio != 0) { ++ dev_err(gc->parent, ++ "Failed to get GPIO %u state (%d %x)\n", off, ret, ++ get.gpio); ++ return ret ? ret : -EIO; ++ } ++ return !!get.state; ++} ++ ++static void rpi_exp_gpio_set(struct gpio_chip *gc, unsigned int off, int val) ++{ ++ struct rpi_exp_gpio *gpio; ++ struct gpio_get_set_state set; ++ int ret; ++ ++ gpio = gpiochip_get_data(gc); ++ ++ set.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */ ++ set.state = val; /* Output state */ ++ ++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_SET_GPIO_STATE, ++ &set, sizeof(set)); ++ if (ret || set.gpio != 0) ++ dev_err(gc->parent, ++ "Failed to set GPIO %u state (%d %x)\n", off, ret, ++ set.gpio); ++} ++ ++static int rpi_exp_gpio_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ struct device_node *np = dev->of_node; ++ struct device_node *fw_node; ++ struct rpi_firmware *fw; ++ struct rpi_exp_gpio *rpi_gpio; ++ ++ fw_node = of_get_parent(np); ++ if (!fw_node) { ++ dev_err(dev, "Missing firmware node\n"); ++ return -ENOENT; ++ } ++ ++ fw = rpi_firmware_get(fw_node); ++ if (!fw) ++ return -EPROBE_DEFER; ++ ++ rpi_gpio = devm_kzalloc(dev, sizeof(*rpi_gpio), GFP_KERNEL); ++ if (!rpi_gpio) ++ return -ENOMEM; ++ ++ rpi_gpio->fw = fw; ++ rpi_gpio->gc.parent = dev; ++ rpi_gpio->gc.label = MODULE_NAME; ++ rpi_gpio->gc.owner = THIS_MODULE; ++ rpi_gpio->gc.of_node = np; ++ rpi_gpio->gc.base = -1; ++ rpi_gpio->gc.ngpio = NUM_GPIO; ++ ++ rpi_gpio->gc.direction_input = rpi_exp_gpio_dir_in; ++ rpi_gpio->gc.direction_output = rpi_exp_gpio_dir_out; ++ rpi_gpio->gc.get_direction = rpi_exp_gpio_get_direction; ++ rpi_gpio->gc.get = rpi_exp_gpio_get; ++ rpi_gpio->gc.set = rpi_exp_gpio_set; ++ rpi_gpio->gc.can_sleep = true; ++ ++ return devm_gpiochip_add_data(dev, &rpi_gpio->gc, rpi_gpio); ++} ++ ++static const struct of_device_id rpi_exp_gpio_ids[] = { ++ { .compatible = "raspberrypi,firmware-gpio" }, ++ { } ++}; ++MODULE_DEVICE_TABLE(of, rpi_exp_gpio_ids); ++ ++static struct platform_driver rpi_exp_gpio_driver = { ++ .driver = { ++ .name = MODULE_NAME, ++ .of_match_table = of_match_ptr(rpi_exp_gpio_ids), ++ }, ++ .probe = rpi_exp_gpio_probe, ++}; ++module_platform_driver(rpi_exp_gpio_driver); ++ ++MODULE_LICENSE("GPL"); ++MODULE_AUTHOR("Dave Stevenson "); ++MODULE_DESCRIPTION("Raspberry Pi 3 expander GPIO driver"); ++MODULE_ALIAS("platform:rpi-exp-gpio"); +From patchwork Tue Feb 20 12:19:34 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v5,4/5] ARM: dts: bcm2835: make the firmware node into a bus +From: Baruch Siach +X-Patchwork-Id: 10229961 +Message-Id: <43f9082a6835df6d7bcd3e16d79db687c52826d2.1519128054.git.baruch@tkos.co.il> +To: Linus Walleij , + Dave Stevenson , + Eric Anholt , Stefan Wahren +Cc: devicetree@vger.kernel.org, Baruch Siach , + linux-gpio@vger.kernel.org, Michael Zoran , + Rob Herring , linux-rpi-kernel@lists.infradead.org, + Frank Rowand , linux-arm-kernel@lists.infradead.org +Date: Tue, 20 Feb 2018 14:19:34 +0200 + +This allows adding devices for which the firmware exposes control interface +via the mailbox. An example of such device is the GPIO expander. + +Signed-off-by: Baruch Siach +Reviewed-by: Linus Walleij +--- +v4: New patch in this series +--- + arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi +index e36c392a2b8f..0198bd46ef7c 100644 +--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi +@@ -18,7 +18,9 @@ + + soc { + firmware: firmware { +- compatible = "raspberrypi,bcm2835-firmware"; ++ compatible = "raspberrypi,bcm2835-firmware", "simple-bus"; ++ #address-cells = <0>; ++ #size-cells = <0>; + mboxes = <&mailbox>; + }; + +From patchwork Tue Feb 20 12:19:35 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v5,5/5] ARM: dts: bcm2837-rpi-3-b: add GPIO expander +From: Baruch Siach +X-Patchwork-Id: 10229995 +Message-Id: +To: Linus Walleij , + Dave Stevenson , + Eric Anholt , Stefan Wahren +Cc: devicetree@vger.kernel.org, Baruch Siach , + linux-gpio@vger.kernel.org, Michael Zoran , + Rob Herring , linux-rpi-kernel@lists.infradead.org, + Frank Rowand , linux-arm-kernel@lists.infradead.org +Date: Tue, 20 Feb 2018 14:19:35 +0200 + +Add a description of the RPi3 GPIO expander that the VC4 firmware controls. + +Acked-by: Stefan Wahren +Signed-off-by: Baruch Siach +Reviewed-by: Linus Walleij +--- +v5: + * Drop the 'firmware' property + +v4: + * Move the gpio node under the firmware node + * Rename the gpio node to plain 'gpio' + * Add Stefan's ack + +v3: + * List GPIO names one per line. + +v2: + * Move GPIO expander node out of the soc container + * Rename compatible string + * Add gpio-line-names property +--- + arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +index 3e4ed7c5b0b3..0b31d995a066 100644 +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +@@ -25,6 +25,23 @@ + }; + }; + ++&firmware { ++ expgpio: gpio { ++ compatible = "raspberrypi,firmware-gpio"; ++ gpio-controller; ++ #gpio-cells = <2>; ++ gpio-line-names = "BT_ON", ++ "WL_ON", ++ "STATUS_LED", ++ "LAN_RUN", ++ "HPD_N", ++ "CAM_GPIO0", ++ "CAM_GPIO1", ++ "PWR_LOW_N"; ++ status = "okay"; ++ }; ++}; ++ + /* uart0 communicates with the BT module */ + &uart0 { + pinctrl-names = "default"; +From 257f497bb3e58f88500971145761ed55428618eb Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Wed, 7 Mar 2018 15:56:20 +0100 +Subject: [PATCH] ARM: dts: bcm2837: Add missing GPIOs of Expander + +Signed-off-by: Stefan Wahren +--- + arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +index 0b31d995a066..3e87ed05918e 100644 +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +@@ -20,9 +20,14 @@ + + leds { + act { +- gpios = <&gpio 47 GPIO_ACTIVE_HIGH>; ++ gpios = <&expgpio 2 GPIO_ACTIVE_HIGH>; + }; + }; ++ ++ wifi_pwrseq: wifi-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>; ++ }; + }; + + &firmware { +@@ -42,6 +47,10 @@ + }; + }; + ++&hdmi { ++ hpd-gpios = <&expgpio 4 GPIO_ACTIVE_LOW>; ++}; ++ + /* uart0 communicates with the BT module */ + &uart0 { + pinctrl-names = "default"; +@@ -51,6 +60,7 @@ + bluetooth { + compatible = "brcm,bcm43438-bt"; + max-speed = <2000000>; ++ shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; + }; + }; + +@@ -63,11 +73,19 @@ + + /* SDHCI is used to control the SDIO for wireless */ + &sdhci { ++ #address-cells = <1>; ++ #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_gpio34>; + status = "okay"; + bus-width = <4>; + non-removable; ++ mmc-pwrseq = <&wifi_pwrseq>; ++ ++ brcmf: wifi@1 { ++ reg = <1>; ++ compatible = "brcm,bcm4329-fmac"; ++ }; + }; + + /* SDHOST is used to drive the SD card */ diff --git a/bcm2837-lan78xx-fixes.patch b/bcm2837-lan78xx-fixes.patch new file mode 100644 index 0000000..1cb1dea --- /dev/null +++ b/bcm2837-lan78xx-fixes.patch @@ -0,0 +1,463 @@ +From 6ed88d188a8240ba44da6578eab7d17e036d0e61 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 17 Oct 2017 15:04:29 +0100 +Subject: [PATCH] lan78xx: Enable LEDs if no valid EEPROM or OTP + +For applications of the LAN78xx that don't have valid programmed +EEPROMs or OTPs, enabling both LEDs by default seems reasonable. + +Signed-off-by: Phil Elwell +--- + drivers/net/usb/lan78xx.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index a21039852f8d..cd20ce4ed87d 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -2414,6 +2414,12 @@ static int lan78xx_reset(struct lan78xx_net *dev) + + ret = lan78xx_read_reg(dev, HW_CFG, &buf); + buf |= HW_CFG_MEF_; ++ ++ /* If no valid EEPROM and no valid OTP, enable the LEDs by default */ ++ if (lan78xx_read_eeprom(dev, 0, 0, NULL) && ++ lan78xx_read_otp(dev, 0, 0, NULL)) ++ buf |= HW_CFG_LED0_EN_ | HW_CFG_LED1_EN_; ++ + ret = lan78xx_write_reg(dev, HW_CFG, buf); + + ret = lan78xx_read_reg(dev, USB_CFG0, &buf); +From f8a798bb45ae15cbec980c8e921eb377fd1a3df6 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 28 Nov 2017 12:02:37 +0000 +Subject: [PATCH] lan78xx: Correctly indicate invalid OTP + +lan78xx_read_otp tries to return -EINVAL in the event of invalid OTP +content, but the value gets overwritten before it is returned and the +read goes ahead anyway. Make the read conditional as it should be +and preserve the error code. + +Signed-off-by: Phil Elwell +--- + drivers/net/usb/lan78xx.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index cd20ce4ed87d..b270935f3f8d 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -929,7 +929,8 @@ static int lan78xx_read_otp(struct lan78xx_net *dev, u32 offset, + offset += 0x100; + else + ret = -EINVAL; +- ret = lan78xx_read_raw_otp(dev, offset, length, data); ++ if (!ret) ++ ret = lan78xx_read_raw_otp(dev, offset, length, data); + } + + return ret; +From 4a4710f3847cd087e150f83382dffd92e09d9914 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Sat, 17 Mar 2018 00:10:02 +0100 +Subject: [PATCH] lan78xx: Read MAC address from DT if present + +There is a standard mechanism for locating and using a MAC address from +the Device Tree. Use this facility in the lan78xx driver to support +applications without programmed EEPROM or OTP. + +Signed-off-by: Phil Elwell +--- + drivers/net/usb/lan78xx.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index 60a604cc7647..a21039852f8d 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -36,6 +36,7 @@ + #include + #include + #include ++#include + #include + #include "lan78xx.h" + +@@ -1639,6 +1640,14 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev) + u32 addr_lo, addr_hi; + int ret; + u8 addr[6]; ++ const u8 *mac_addr; ++ ++ /* maybe the boot loader passed the MAC address in devicetree */ ++ mac_addr = of_get_mac_address(dev->udev->dev.of_node); ++ if (mac_addr) { ++ ether_addr_copy(addr, mac_addr); ++ goto set_mac_addr; ++ } + + ret = lan78xx_read_reg(dev, RX_ADDRL, &addr_lo); + ret = lan78xx_read_reg(dev, RX_ADDRH, &addr_hi); +@@ -1667,6 +1676,7 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev) + "MAC address set to random addr"); + } + ++set_mac_addr: + addr_lo = addr[0] | (addr[1] << 8) | + (addr[2] << 16) | (addr[3] << 24); + addr_hi = addr[4] | (addr[5] << 8); +From b5284e5d2d3562dac311443969a538b7fecb9848 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 28 Mar 2018 12:18:13 +0100 +Subject: [PATCH 1/5] lan78xx: Ignore DT MAC address if already valid + +The patch to set the lan78xx MAC address from DT does so regardless of +whether or not the interface already has a valid address. As the +initialisation function is called from the reset handler when the +interface is brought up, it is impossible to change the MAC address +in a way that persists across the interface being brought up. + +Fix the problem by moving the DT reading code after the check for a +valid address. + +See: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=209309 + +Signed-off-by: Phil Elwell +--- + drivers/net/usb/lan78xx.c | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index b43b16b6e7ee..97ee7d3f749d 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -1641,14 +1641,6 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev) + u32 addr_lo, addr_hi; + int ret; + u8 addr[6]; +- const u8 *mac_addr; +- +- /* maybe the boot loader passed the MAC address in devicetree */ +- mac_addr = of_get_mac_address(dev->udev->dev.of_node); +- if (mac_addr) { +- ether_addr_copy(addr, mac_addr); +- goto set_mac_addr; +- } + + ret = lan78xx_read_reg(dev, RX_ADDRL, &addr_lo); + ret = lan78xx_read_reg(dev, RX_ADDRH, &addr_hi); +@@ -1661,6 +1653,15 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev) + addr[5] = (addr_hi >> 8) & 0xFF; + + if (!is_valid_ether_addr(addr)) { ++ const u8 *mac_addr; ++ ++ /* maybe the boot loader passed the MAC address in devicetree */ ++ mac_addr = of_get_mac_address(dev->udev->dev.of_node); ++ if (mac_addr) { ++ ether_addr_copy(addr, mac_addr); ++ goto set_mac_addr; ++ } ++ + /* reading mac address from EEPROM or OTP */ + if ((lan78xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN, + addr) == 0) || +-- +2.17.0 + +From 2c5d6ac9133cbfed05b97b34246121bddaf2aea4 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Wed, 4 Apr 2018 16:34:24 +0100 +Subject: [PATCH 2/5] net: lan78xx: Allow for VLAN headers in timeout. + +The frame abort timeout being set by lan78xx_set_rx_max_frame_length +didn't account for any VLAN headers, resulting in very low +throughput if used with tagged VLANs. +Use VLAN_ETH_HLEN instead of ETH_HLEN to correct for this. + +See https://github.com/raspberrypi/linux/issues/2458 + +Signed-off-by: Dave Stevenson +--- + drivers/net/usb/lan78xx.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index 97ee7d3f749d..5fd7b8569cba 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -2193,7 +2193,7 @@ static int lan78xx_change_mtu(struct net_device *netdev, int new_mtu) + if ((ll_mtu % dev->maxpacket) == 0) + return -EDOM; + +- ret = lan78xx_set_rx_max_frame_length(dev, new_mtu + ETH_HLEN); ++ ret = lan78xx_set_rx_max_frame_length(dev, new_mtu + VLAN_ETH_HLEN); + + netdev->mtu = new_mtu; + +@@ -2488,7 +2488,8 @@ static int lan78xx_reset(struct lan78xx_net *dev) + buf |= FCT_TX_CTL_EN_; + ret = lan78xx_write_reg(dev, FCT_TX_CTL, buf); + +- ret = lan78xx_set_rx_max_frame_length(dev, dev->net->mtu + ETH_HLEN); ++ ret = lan78xx_set_rx_max_frame_length(dev, ++ dev->net->mtu + VLAN_ETH_HLEN); + + ret = lan78xx_read_reg(dev, MAC_RX, &buf); + buf |= MAC_RX_RXEN_; +-- +2.17.0 + +From 833315351413d94d7db407847448dfeddfafe127 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 9 Apr 2018 17:51:35 +0100 +Subject: [PATCH 3/5] lan78xx: Connect phy early + +When using wicked with a lan78xx device attached to the system, we +end up with ethtool commands issued on the device before an ifup +got issued. That lead to the following crash: + + Unable to handle kernel NULL pointer dereference at virtual address 0000039c + pgd = ffff800035b30000 + [0000039c] *pgd=0000000000000000 + Internal error: Oops: 96000004 [#1] SMP + Modules linked in: [...] + Supported: Yes + CPU: 3 PID: 638 Comm: wickedd Tainted: G E 4.12.14-0-default #1 + Hardware name: raspberrypi rpi/rpi, BIOS 2018.03-rc2 02/21/2018 + task: ffff800035e74180 task.stack: ffff800036718000 + PC is at phy_ethtool_ksettings_get+0x20/0x98 + LR is at lan78xx_get_link_ksettings+0x44/0x60 [lan78xx] + pc : [] lr : [] pstate: 20000005 + sp : ffff80003671bb20 + x29: ffff80003671bb20 x28: ffff800035e74180 + x27: ffff000008912000 x26: 000000000000001d + x25: 0000000000000124 x24: ffff000008f74d00 + x23: 0000004000114809 x22: 0000000000000000 + x21: ffff80003671bbd0 x20: 0000000000000000 + x19: ffff80003671bbd0 x18: 000000000000040d + x17: 0000000000000001 x16: 0000000000000000 + x15: 0000000000000000 x14: ffffffffffffffff + x13: 0000000000000000 x12: 0000000000000020 + x11: 0101010101010101 x10: fefefefefefefeff + x9 : 7f7f7f7f7f7f7f7f x8 : fefefeff31677364 + x7 : 0000000080808080 x6 : ffff80003671bc9c + x5 : ffff80003671b9f8 x4 : ffff80002c296190 + x3 : 0000000000000000 x2 : 0000000000000000 + x1 : ffff80003671bbd0 x0 : ffff80003671bc00 + Process wickedd (pid: 638, stack limit = 0xffff800036718000) + Call trace: + Exception stack(0xffff80003671b9e0 to 0xffff80003671bb20) + b9e0: ffff80003671bc00 ffff80003671bbd0 0000000000000000 0000000000000000 + ba00: ffff80002c296190 ffff80003671b9f8 ffff80003671bc9c 0000000080808080 + ba20: fefefeff31677364 7f7f7f7f7f7f7f7f fefefefefefefeff 0101010101010101 + ba40: 0000000000000020 0000000000000000 ffffffffffffffff 0000000000000000 + ba60: 0000000000000000 0000000000000001 000000000000040d ffff80003671bbd0 + ba80: 0000000000000000 ffff80003671bbd0 0000000000000000 0000004000114809 + baa0: ffff000008f74d00 0000000000000124 000000000000001d ffff000008912000 + bac0: ffff800035e74180 ffff80003671bb20 ffff000000dcca84 ffff80003671bb20 + bae0: ffff0000086f7f30 0000000020000005 ffff80002c296000 ffff800035223900 + bb00: 0000ffffffffffff 0000000000000000 ffff80003671bb20 ffff0000086f7f30 + [] phy_ethtool_ksettings_get+0x20/0x98 + [] lan78xx_get_link_ksettings+0x44/0x60 [lan78xx] + [] ethtool_get_settings+0x68/0x210 + [] dev_ethtool+0x214/0x2180 + [] dev_ioctl+0x400/0x630 + [] sock_do_ioctl+0x70/0x88 + [] sock_ioctl+0x208/0x368 + [] do_vfs_ioctl+0xb0/0x848 + [] SyS_ioctl+0x8c/0xa8 + Exception stack(0xffff80003671bec0 to 0xffff80003671c000) + bec0: 0000000000000009 0000000000008946 0000fffff4e841d0 0000aa0032687465 + bee0: 0000aaaafa2319d4 0000fffff4e841d4 0000000032687465 0000000032687465 + bf00: 000000000000001d 7f7fff7f7f7f7f7f 72606b622e71ff4c 7f7f7f7f7f7f7f7f + bf20: 0101010101010101 0000000000000020 ffffffffffffffff 0000ffff7f510c68 + bf40: 0000ffff7f6a9d18 0000ffff7f44ce30 000000000000040d 0000ffff7f6f98f0 + bf60: 0000fffff4e842c0 0000000000000001 0000aaaafa2c2e00 0000ffff7f6ab000 + bf80: 0000fffff4e842c0 0000ffff7f62a000 0000aaaafa2b9f20 0000aaaafa2c2e00 + bfa0: 0000fffff4e84818 0000fffff4e841a0 0000ffff7f5ad0cc 0000fffff4e841a0 + bfc0: 0000ffff7f44ce3c 0000000080000000 0000000000000009 000000000000001d + bfe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 + +The culprit is quite simple: The driver tries to access the phy left and right, +but only actually has a working reference to it when the device is up. + +The fix thus is quite simple too: Get a reference to the phy on probe already +and keep it even when the device is going down. + +With this patch applied, I can successfully run wicked on my system and bring +the interface up and down as many times as I want, without getting NULL pointer +dereferences in between. + +Signed-off-by: Alexander Graf +--- + drivers/net/usb/lan78xx.c | 34 ++++++++++++++++++---------------- + 1 file changed, 18 insertions(+), 16 deletions(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index 5fd7b8569cba..60fa1257721c 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -2094,10 +2094,6 @@ static int lan78xx_phy_init(struct lan78xx_net *dev) + + dev->fc_autoneg = phydev->autoneg; + +- phy_start(phydev); +- +- netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); +- + return 0; + + error: +@@ -2541,9 +2537,9 @@ static int lan78xx_open(struct net_device *net) + if (ret < 0) + goto done; + +- ret = lan78xx_phy_init(dev); +- if (ret < 0) +- goto done; ++ phy_start(net->phydev); ++ ++ netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); + + /* for Link Check */ + if (dev->urb_intr) { +@@ -2604,13 +2600,8 @@ static int lan78xx_stop(struct net_device *net) + if (timer_pending(&dev->stat_monitor)) + del_timer_sync(&dev->stat_monitor); + +- phy_unregister_fixup_for_uid(PHY_KSZ9031RNX, 0xfffffff0); +- phy_unregister_fixup_for_uid(PHY_LAN8835, 0xfffffff0); +- +- phy_stop(net->phydev); +- phy_disconnect(net->phydev); +- +- net->phydev = NULL; ++ if (net->phydev) ++ phy_stop(net->phydev); + + clear_bit(EVENT_DEV_OPEN, &dev->flags); + netif_stop_queue(net); +@@ -3525,8 +3516,13 @@ static void lan78xx_disconnect(struct usb_interface *intf) + return; + + udev = interface_to_usbdev(intf); +- + net = dev->net; ++ ++ phy_unregister_fixup_for_uid(PHY_KSZ9031RNX, 0xfffffff0); ++ phy_unregister_fixup_for_uid(PHY_LAN8835, 0xfffffff0); ++ ++ phy_disconnect(net->phydev); ++ + unregister_netdev(net); + + cancel_delayed_work_sync(&dev->wq); +@@ -3682,8 +3678,14 @@ static int lan78xx_probe(struct usb_interface *intf, + pm_runtime_set_autosuspend_delay(&udev->dev, + DEFAULT_AUTOSUSPEND_DELAY); + ++ ret = lan78xx_phy_init(dev); ++ if (ret < 0) ++ goto out4; ++ + return 0; + ++out4: ++ unregister_netdev(netdev); + out3: + lan78xx_unbind(dev, intf); + out2: +@@ -4031,7 +4033,7 @@ static int lan78xx_reset_resume(struct usb_interface *intf) + + lan78xx_reset(dev); + +- lan78xx_phy_init(dev); ++ phy_start(dev->net->phydev); + + return lan78xx_resume(intf); + } +-- +2.17.0 + +From 7b4cc4a0af02c0d798007a143efa7509711d52d7 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 4 Apr 2018 16:39:44 +0100 +Subject: [PATCH 4/5] lan78xx: Don't reset the interface on open + +With Alexander Graf's patch ("lan78xx: Connect phy early") applied, +the call to lan78xx_reset within lan78xx_open prevents the phy +interrupt from being generated (even though the link is up). + +Avoid this issue by removing the lan78xx_reset call. + +See: https://github.com/raspberrypi/linux/issues/2437 + https://github.com/raspberrypi/linux/issues/2442 + https://github.com/raspberrypi/linux/issues/2457 +--- + drivers/net/usb/lan78xx.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index 60fa1257721c..293ed1847932 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -2533,10 +2533,6 @@ static int lan78xx_open(struct net_device *net) + if (ret < 0) + goto out; + +- ret = lan78xx_reset(dev); +- if (ret < 0) +- goto done; +- + phy_start(net->phydev); + + netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); +-- +2.17.0 + +From ddbd11509f01c388b968872aeabf630654275b0a Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Mon, 9 Apr 2018 14:31:54 +0100 +Subject: [PATCH 5/5] net: lan78xx: Request s/w csum check on VLAN tagged + packets. + +There appears to be some issue in the LAN78xx where the checksum +computed on a VLAN tagged packet is incorrect, or at least not +in the form that the kernel is after. This is most easily shown +by pinging a device via a VLAN tagged interface and it will dump +out the error message and stack trace from netdev_rx_csum_fault. +It has also been seen with standard TCP and UDP packets. + +Until this is fully understood, request that the network stack +computes the checksum on packets signalled as having a VLAN tag +applied. + +See https://github.com/raspberrypi/linux/issues/2458 + +Signed-off-by: Dave Stevenson +--- + drivers/net/usb/lan78xx.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index 293ed1847932..44cabda17bb6 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -2937,8 +2937,12 @@ static void lan78xx_rx_csum_offload(struct lan78xx_net *dev, + struct sk_buff *skb, + u32 rx_cmd_a, u32 rx_cmd_b) + { ++ /* Checksum offload appears to be flawed if used with VLANs. ++ * Elect for sw checksum check instead. ++ */ + if (!(dev->net->features & NETIF_F_RXCSUM) || +- unlikely(rx_cmd_a & RX_CMD_A_ICSM_)) { ++ unlikely(rx_cmd_a & RX_CMD_A_ICSM_) || ++ (rx_cmd_a & RX_CMD_A_FVTG_)) { + skb->ip_summed = CHECKSUM_NONE; + } else { + skb->csum = ntohs((u16)(rx_cmd_b >> RX_CMD_B_CSUM_SHIFT_)); +-- +2.17.0 + diff --git a/bcm2837-rpi-initial-support-for-the-3.patch b/bcm2837-rpi-initial-support-for-the-3.patch new file mode 100644 index 0000000..c9bedfe --- /dev/null +++ b/bcm2837-rpi-initial-support-for-the-3.patch @@ -0,0 +1,209 @@ +From defa4876ece55751c691d17ffc928d9bfe049585 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Fri, 16 Mar 2018 22:56:59 +0100 +Subject: [PATCH] arm64: dts: broadcom: Add reference to Raspberry Pi 3 B+ + +This adds a reference to the dts file of the Raspberry Pi 3 B+ + +Signed-off-by: Stefan Wahren +--- + arch/arm64/boot/dts/broadcom/Makefile | 3 ++- + arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts | 2 ++ + 2 files changed, 4 insertions(+), 1 deletion(-) + create mode 100644 arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts + +diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile +index 2a2591ef1fee..1193a9e34bbb 100644 +--- a/arch/arm64/boot/dts/broadcom/Makefile ++++ b/arch/arm64/boot/dts/broadcom/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 +-dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb ++dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb \ ++ bcm2837-rpi-3-b-plus.dtb + + subdir-y += northstar2 + subdir-y += stingray +diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts +new file mode 100644 +index 000000000000..46ad2023cccf +--- /dev/null ++++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts +@@ -0,0 +1,2 @@ ++// SPDX-License-Identifier: GPL-2.0 ++#include "arm/bcm2837-rpi-3-b-plus.dts" + +From c7c06c54087dfadd065abcba0b7f614f7a88d549 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 16 Mar 2018 22:42:28 +0100 +Subject: [PATCH] ARM: dts: bcm2837: Add Raspberry Pi 3 B+ + +The Raspberry Pi 3 B+ has the following major differences compared +to the model 3 B: +* Microchip LAN7515 (Gigabit Ethernet) +* Cypress CYW43455 (802.11ac and BT 4.2) + +Signed-off-by: Phil Elwell +Signed-off-by: Stefan Wahren +--- + arch/arm/boot/dts/Makefile | 1 + + arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 102 +++++++++++++++++++++++++++++ + arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi | 27 ++++++++ + 3 files changed, 130 insertions(+) + create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts + create mode 100644 arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi + +diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile +index 3b471e6787ff..dee85f848de9 100644 +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -75,6 +75,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ + bcm2835-rpi-a-plus.dtb \ + bcm2836-rpi-2-b.dtb \ + bcm2837-rpi-3-b.dtb \ ++ bcm2837-rpi-3-b-plus.dtb \ + bcm2835-rpi-zero.dtb \ + bcm2835-rpi-zero-w.dtb + dtb-$(CONFIG_ARCH_BCM_5301X) += \ +diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +new file mode 100644 +index 000000000000..fb9f6f7e965c +--- /dev/null ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +@@ -0,0 +1,102 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/dts-v1/; ++#include "bcm2837.dtsi" ++#include "bcm2835-rpi.dtsi" ++#include "bcm283x-rpi-lan7515.dtsi" ++#include "bcm283x-rpi-usb-host.dtsi" ++ ++/ { ++ compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837"; ++ model = "Raspberry Pi 3 Model B+"; ++ ++ chosen { ++ /* 8250 auxiliary UART instead of pl011 */ ++ stdout-path = "serial1:115200n8"; ++ }; ++ ++ memory { ++ reg = <0 0x40000000>; ++ }; ++ ++ leds { ++ act { ++ gpios = <&gpio 29 0>; ++ }; ++ ++ pwr { ++ label = "PWR"; ++ gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; ++ }; ++ }; ++ ++ wifi_pwrseq: wifi-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>; ++ }; ++}; ++ ++&firmware { ++ expgpio: gpio { ++ compatible = "raspberrypi,firmware-gpio"; ++ gpio-controller; ++ #gpio-cells = <2>; ++ gpio-line-names = "BT_ON", ++ "WL_ON", ++ "STATUS_LED", ++ "LAN_RUN", ++ "", ++ "CAM_GPIO0", ++ "CAM_GPIO1", ++ ""; ++ status = "okay"; ++ }; ++}; ++ ++&hdmi { ++ hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; ++}; ++ ++/* uart0 communicates with the BT module */ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>; ++ status = "okay"; ++ ++ bluetooth { ++ compatible = "brcm,bcm43438-bt"; ++ max-speed = <2000000>; ++ shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; ++ }; ++}; ++ ++/* uart1 is mapped to the pin header */ ++&uart1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart1_gpio14>; ++ status = "okay"; ++}; ++ ++/* SDHCI is used to control the SDIO for wireless */ ++&sdhci { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emmc_gpio34>; ++ status = "okay"; ++ bus-width = <4>; ++ non-removable; ++ mmc-pwrseq = <&wifi_pwrseq>; ++ ++ brcmf: wifi@1 { ++ reg = <1>; ++ compatible = "brcm,bcm4329-fmac"; ++ }; ++}; ++ ++/* SDHOST is used to drive the SD card */ ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ status = "okay"; ++ bus-width = <4>; ++}; +diff --git a/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi +new file mode 100644 +index 000000000000..169203c5ce8b +--- /dev/null ++++ b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi +@@ -0,0 +1,27 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/ { ++ aliases { ++ ethernet0 = ðernet; ++ }; ++}; ++ ++&usb { ++ usb1@1 { ++ compatible = "usb424,2514"; ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ usb1_1@1 { ++ compatible = "usb424,2514"; ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ ethernet: usbether@1 { ++ compatible = "usb424,7800"; ++ reg = <1>; ++ }; ++ }; ++ }; ++}; + diff --git a/bcm283x-Fix-probing-of-bcm2835-i2s.patch b/bcm283x-Fix-probing-of-bcm2835-i2s.patch new file mode 100644 index 0000000..911b2d9 --- /dev/null +++ b/bcm283x-Fix-probing-of-bcm2835-i2s.patch @@ -0,0 +1,118 @@ +From patchwork Fri Feb 16 10:55:33 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [V3, 1/2, + RESEND] dt-bindings: bcm283x: Fix register ranges of bcm2835-i2s +From: Stefan Wahren +X-Patchwork-Id: 10224429 +Message-Id: <1518778534-3328-2-git-send-email-stefan.wahren@i2se.com> +To: Rob Herring , Mark Rutland , + Eric Anholt +Cc: Stefan Wahren , devicetree@vger.kernel.org, + alsa-devel@alsa-project.org, Liam Girdwood , + Mark Brown , linux-rpi-kernel@lists.infradead.org, + linux-arm-kernel@lists.infradead.org +Date: Fri, 16 Feb 2018 11:55:33 +0100 + +Since 517e7a1537a ("ASoC: bcm2835: move to use the clock framework") +the bcm2835-i2s requires a clock as DT property. Unfortunately +the necessary DT change has never been applied. While we are at it +also fix the first PCM register range to cover the PCM_GRAY register. + +This patch only fixes the affected dt-bindings. + +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +Reviewed-by: Rob Herring +--- + Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- + Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt | 9 ++++----- + 2 files changed, 6 insertions(+), 7 deletions(-) + +diff --git a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt +index baf9b34..b6a8cc0 100644 +--- a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt ++++ b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt +@@ -74,8 +74,8 @@ Example: + + bcm2835_i2s: i2s@7e203000 { + compatible = "brcm,bcm2835-i2s"; +- reg = < 0x7e203000 0x20>, +- < 0x7e101098 0x02>; ++ reg = < 0x7e203000 0x24>; ++ clocks = <&clocks BCM2835_CLOCK_PCM>; + + dmas = <&dma 2>, + <&dma 3>; +diff --git a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt +index 65783de..7bb0362 100644 +--- a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt ++++ b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt +@@ -2,9 +2,8 @@ + + Required properties: + - compatible: "brcm,bcm2835-i2s" +-- reg: A list of base address and size entries: +- * The first entry should cover the PCM registers +- * The second entry should cover the PCM clock registers ++- reg: Should contain PCM registers location and length. ++- clocks: the (PCM) clock to use + - dmas: List of DMA controller phandle and DMA request line ordered pairs. + - dma-names: Identifier string for each DMA request line in the dmas property. + These strings correspond 1:1 with the ordered pairs in dmas. +@@ -16,8 +15,8 @@ Example: + + bcm2835_i2s: i2s@7e203000 { + compatible = "brcm,bcm2835-i2s"; +- reg = <0x7e203000 0x20>, +- <0x7e101098 0x02>; ++ reg = <0x7e203000 0x24>; ++ clocks = <&clocks BCM2835_CLOCK_PCM>; + + dmas = <&dma 2>, + <&dma 3>; +From patchwork Fri Feb 16 10:55:34 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [V3,2/2,RESEND] ARM: dts: bcm283x: Fix probing of bcm2835-i2s +From: Stefan Wahren +X-Patchwork-Id: 10224427 +Message-Id: <1518778534-3328-3-git-send-email-stefan.wahren@i2se.com> +To: Rob Herring , Mark Rutland , + Eric Anholt +Cc: Stefan Wahren , devicetree@vger.kernel.org, + alsa-devel@alsa-project.org, Liam Girdwood , + Mark Brown , linux-rpi-kernel@lists.infradead.org, + linux-arm-kernel@lists.infradead.org +Date: Fri, 16 Feb 2018 11:55:34 +0100 + +Since 517e7a1537a ("ASoC: bcm2835: move to use the clock framework") +the bcm2835-i2s requires a clock as DT property. Unfortunately +the necessary DT change has never been applied. While we are at it +also fix the first PCM register range to cover the PCM_GRAY register. + +Fixes: 517e7a1537a ("ASoC: bcm2835: move to use the clock framework") +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +Tested-by: Matthias Reichl +--- + 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 013431e..e08203c 100644 +--- a/arch/arm/boot/dts/bcm283x.dtsi ++++ b/arch/arm/boot/dts/bcm283x.dtsi +@@ -396,8 +396,8 @@ + + i2s: i2s@7e203000 { + compatible = "brcm,bcm2835-i2s"; +- reg = <0x7e203000 0x20>, +- <0x7e101098 0x02>; ++ reg = <0x7e203000 0x24>; ++ clocks = <&clocks BCM2835_CLOCK_PCM>; + + dmas = <&dma 2>, + <&dma 3>; diff --git a/bcm283x-clk-audio-fixes.patch b/bcm283x-clk-audio-fixes.patch new file mode 100644 index 0000000..51c9fa7 --- /dev/null +++ b/bcm283x-clk-audio-fixes.patch @@ -0,0 +1,98 @@ +From aa964d59aab2cb04bc011ffd370822ac79f82a0b Mon Sep 17 00:00:00 2001 +From: Boris Brezillon +Date: Wed, 7 Mar 2018 15:39:17 +0100 +Subject: [PATCH] clk: bcm2835: De-assert/assert PLL reset signal when + appropriate + +In order to enable a PLL, not only the PLL has to be powered up and +locked, but you also have to de-assert the reset signal. The last part +was missing. Add it so PLLs that were not enabled by the FW/bootloader +can be enabled from Linux. + +Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain clocks") +Cc: +Signed-off-by: Boris Brezillon +--- + drivers/clk/bcm/clk-bcm2835.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c +index a07f6451694a..6c5d4a8e426c 100644 +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -602,6 +602,9 @@ static void bcm2835_pll_off(struct clk_hw *hw) + const struct bcm2835_pll_data *data = pll->data; + + spin_lock(&cprman->regs_lock); ++ cprman_write(cprman, data->a2w_ctrl_reg, ++ cprman_read(cprman, data->a2w_ctrl_reg) & ++ ~A2W_PLL_CTRL_PRST_DISABLE); + cprman_write(cprman, data->cm_ctrl_reg, + cprman_read(cprman, data->cm_ctrl_reg) | + CM_PLL_ANARST); +@@ -640,6 +643,10 @@ static int bcm2835_pll_on(struct clk_hw *hw) + cpu_relax(); + } + ++ cprman_write(cprman, data->a2w_ctrl_reg, ++ cprman_read(cprman, data->a2w_ctrl_reg) | ++ A2W_PLL_CTRL_PRST_DISABLE); ++ + return 0; + } + +From 1b6867ee05d84cc6ec23b5ec0b78684187d3190a Mon Sep 17 00:00:00 2001 +From: Boris Brezillon +Date: Wed, 7 Mar 2018 15:41:14 +0100 +Subject: [PATCH] clk: bcm2835: Make sure the PLL is gated before changing its + rate + +All bcm2835 PLLs should be gated before their rate can be changed. +Setting CLK_SET_RATE_GATE will let the core enforce that, but this is +not enough to make the code work in all situations. Indeed, the +CLK_SET_RATE_GATE flag prevents a user from changing the rate while +the clock is enabled, but this check only guarantees there's no Linux +users. In our case, the clock might have been enabled by the +bootloader/FW, and, because we have CLK_IGNORE_UNUSED set, Linux never +disables the PLL. So we have to make sure the PLL is actually disabled +before changing the rate. + +Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain clocks") +Cc: +Signed-off-by: Boris Brezillon +--- + drivers/clk/bcm/clk-bcm2835.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c +index 6c5d4a8e426c..051ce769c109 100644 +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -678,6 +678,18 @@ static int bcm2835_pll_set_rate(struct clk_hw *hw, + u32 ana[4]; + int i; + ++ /* ++ * Normally, the CLK_SET_RATE_GATE flag prevents a user from changing ++ * the rate while the clock is enabled, but this check only makes sure ++ * there's no Linux users. ++ * In our case, the clock might have been enabled by the bootloader/FW, ++ * and, since CLK_IGNORE_UNUSED flag is set, Linux never disables it. ++ * So we have to make sure the clk is actually disabled before changing ++ * the rate. ++ */ ++ if (bcm2835_pll_is_on(hw)) ++ bcm2835_pll_off(hw); ++ + if (rate > data->max_fb_rate) { + use_fb_prediv = true; + rate /= 2; +@@ -1318,7 +1330,7 @@ static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman, + init.num_parents = 1; + init.name = data->name; + init.ops = &bcm2835_pll_clk_ops; +- init.flags = CLK_IGNORE_UNUSED; ++ init.flags = CLK_IGNORE_UNUSED | CLK_SET_RATE_GATE; + + pll = kzalloc(sizeof(*pll), GFP_KERNEL); + if (!pll) diff --git a/clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch b/clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch new file mode 100644 index 0000000..c1ef682 --- /dev/null +++ b/clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch @@ -0,0 +1,58 @@ +From patchwork Tue Mar 27 17:47:04 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: clk: ti: fix flag space conflict with clkctrl clocks +From: Tero Kristo +X-Patchwork-Id: 10311335 +Message-Id: <1522172824-14094-1-git-send-email-t-kristo@ti.com> +To: , , + , , + +Cc: , +Date: Tue, 27 Mar 2018 20:47:04 +0300 + +The introduction of support for CLK_SET_RATE_PARENT flag for clkctrl +clocks used a generic clock flag, which causes a conflict with the +rest of the clkctrl flags, namely the NO_IDLEST flag. This can cause +boot failures on certain platforms where this flag is introduced, by +omitting the wait for the clockctrl module to be fully enabled before +proceeding with rest of the code. + +Fix this by moving all the clkctrl specific flags to their own bit-range. + +Signed-off-by: Tero Kristo +Fixes: 49159a9dc3da ("clk: ti: add support for CLK_SET_RATE_PARENT flag") +Reported-by: Christophe Lyon +Tested-by: Tony Lindgren +--- + drivers/clk/ti/clock.h | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/drivers/clk/ti/clock.h b/drivers/clk/ti/clock.h +index 90b86aa..b582780 100644 +--- a/drivers/clk/ti/clock.h ++++ b/drivers/clk/ti/clock.h +@@ -76,6 +76,11 @@ enum { + #define CLKF_CORE (1 << 9) + #define CLKF_J_TYPE (1 << 10) + ++/* CLKCTRL flags */ ++#define CLKF_SW_SUP BIT(5) ++#define CLKF_HW_SUP BIT(6) ++#define CLKF_NO_IDLEST BIT(7) ++ + #define CLK(dev, con, ck) \ + { \ + .lk = { \ +@@ -185,10 +190,6 @@ struct omap_clkctrl_data { + extern const struct omap_clkctrl_data dm814_clkctrl_data[]; + extern const struct omap_clkctrl_data dm816_clkctrl_data[]; + +-#define CLKF_SW_SUP BIT(0) +-#define CLKF_HW_SUP BIT(1) +-#define CLKF_NO_IDLEST BIT(2) +- + typedef void (*ti_of_clk_init_cb_t)(void *, struct device_node *); + + struct clk *ti_clk_register(struct device *dev, struct clk_hw *hw, diff --git a/crypto-testmgr-Allow-different-compression-results.patch b/crypto-testmgr-Allow-different-compression-results.patch new file mode 100644 index 0000000..c752770 --- /dev/null +++ b/crypto-testmgr-Allow-different-compression-results.patch @@ -0,0 +1,163 @@ +From patchwork Wed Apr 11 18:28:32 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: crypto: testmgr: Allow different compression results +From: Jan Glauber +X-Patchwork-Id: 10336001 +Message-Id: <20180411182832.27761-1-jglauber@cavium.com> +To: Herbert Xu +Cc: "David S . Miller" , + linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, + Mahipal Challa , + Balakrishna Bhamidipati , + Jan Glauber +Date: Wed, 11 Apr 2018 20:28:32 +0200 + +From: Mahipal Challa + +The following error is triggered by the ThunderX ZIP driver +if the testmanager is enabled: + +[ 199.069437] ThunderX-ZIP 0000:03:00.0: Found ZIP device 0 177d:a01a on Node 0 +[ 199.073573] alg: comp: Compression test 1 failed for deflate-generic: output len = 37 + +The reason for this error is the verification of the compression +results. Verifying the compression result only works if all +algorithm parameters are identical, in this case to the software +implementation. + +Different compression engines like the ThunderX ZIP coprocessor +might yield different compression results by tuning the +algorithm parameters. In our case the compressed result is +shorter than the test vector. + +We should not forbid different compression results but only +check that compression -> decompression yields the same +result. This is done already in the acomp test. Do something +similar for test_comp(). + +Signed-off-by: Mahipal Challa +Signed-off-by: Balakrishna Bhamidipati +[jglauber@cavium.com: removed unrelated printk changes, rewrote commit msg, + fixed whitespace and unneeded initialization] +Signed-off-by: Jan Glauber +--- + crypto/testmgr.c | 50 +++++++++++++++++++++++++++++++++++++------------- + 1 file changed, 37 insertions(+), 13 deletions(-) + +diff --git a/crypto/testmgr.c b/crypto/testmgr.c +index af4a01c..627e82e 100644 +--- a/crypto/testmgr.c ++++ b/crypto/testmgr.c +@@ -1342,19 +1342,30 @@ static int test_comp(struct crypto_comp *tfm, + int ctcount, int dtcount) + { + const char *algo = crypto_tfm_alg_driver_name(crypto_comp_tfm(tfm)); ++ char *output, *decomp_output; + unsigned int i; +- char result[COMP_BUF_SIZE]; + int ret; + ++ output = kmalloc(COMP_BUF_SIZE, GFP_KERNEL); ++ if (!output) ++ return -ENOMEM; ++ ++ decomp_output = kmalloc(COMP_BUF_SIZE, GFP_KERNEL); ++ if (!decomp_output) { ++ kfree(output); ++ return -ENOMEM; ++ } ++ + for (i = 0; i < ctcount; i++) { + int ilen; + unsigned int dlen = COMP_BUF_SIZE; + +- memset(result, 0, sizeof (result)); ++ memset(output, 0, sizeof(COMP_BUF_SIZE)); ++ memset(decomp_output, 0, sizeof(COMP_BUF_SIZE)); + + ilen = ctemplate[i].inlen; + ret = crypto_comp_compress(tfm, ctemplate[i].input, +- ilen, result, &dlen); ++ ilen, output, &dlen); + if (ret) { + printk(KERN_ERR "alg: comp: compression failed " + "on test %d for %s: ret=%d\n", i + 1, algo, +@@ -1362,7 +1373,17 @@ static int test_comp(struct crypto_comp *tfm, + goto out; + } + +- if (dlen != ctemplate[i].outlen) { ++ ilen = dlen; ++ dlen = COMP_BUF_SIZE; ++ ret = crypto_comp_decompress(tfm, output, ++ ilen, decomp_output, &dlen); ++ if (ret) { ++ pr_err("alg: comp: compression failed: decompress: on test %d for %s failed: ret=%d\n", ++ i + 1, algo, -ret); ++ goto out; ++ } ++ ++ if (dlen != ctemplate[i].inlen) { + printk(KERN_ERR "alg: comp: Compression test %d " + "failed for %s: output len = %d\n", i + 1, algo, + dlen); +@@ -1370,10 +1391,11 @@ static int test_comp(struct crypto_comp *tfm, + goto out; + } + +- if (memcmp(result, ctemplate[i].output, dlen)) { +- printk(KERN_ERR "alg: comp: Compression test %d " +- "failed for %s\n", i + 1, algo); +- hexdump(result, dlen); ++ if (memcmp(decomp_output, ctemplate[i].input, ++ ctemplate[i].inlen)) { ++ pr_err("alg: comp: compression failed: output differs: on test %d for %s\n", ++ i + 1, algo); ++ hexdump(decomp_output, dlen); + ret = -EINVAL; + goto out; + } +@@ -1383,11 +1405,11 @@ static int test_comp(struct crypto_comp *tfm, + int ilen; + unsigned int dlen = COMP_BUF_SIZE; + +- memset(result, 0, sizeof (result)); ++ memset(decomp_output, 0, sizeof(COMP_BUF_SIZE)); + + ilen = dtemplate[i].inlen; + ret = crypto_comp_decompress(tfm, dtemplate[i].input, +- ilen, result, &dlen); ++ ilen, decomp_output, &dlen); + if (ret) { + printk(KERN_ERR "alg: comp: decompression failed " + "on test %d for %s: ret=%d\n", i + 1, algo, +@@ -1403,10 +1425,10 @@ static int test_comp(struct crypto_comp *tfm, + goto out; + } + +- if (memcmp(result, dtemplate[i].output, dlen)) { ++ if (memcmp(decomp_output, dtemplate[i].output, dlen)) { + printk(KERN_ERR "alg: comp: Decompression test %d " + "failed for %s\n", i + 1, algo); +- hexdump(result, dlen); ++ hexdump(decomp_output, dlen); + ret = -EINVAL; + goto out; + } +@@ -1415,11 +1437,13 @@ static int test_comp(struct crypto_comp *tfm, + ret = 0; + + out: ++ kfree(decomp_output); ++ kfree(output); + return ret; + } + + static int test_acomp(struct crypto_acomp *tfm, +- const struct comp_testvec *ctemplate, ++ const struct comp_testvec *ctemplate, + const struct comp_testvec *dtemplate, + int ctcount, int dtcount) + { diff --git a/debugconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION b/debugconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION new file mode 100644 index 0000000..80056c1 --- /dev/null +++ b/debugconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION @@ -0,0 +1 @@ +CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y diff --git a/debugconfig/CONFIG_BPF_KPROBE_OVERRIDE b/debugconfig/CONFIG_BPF_KPROBE_OVERRIDE new file mode 100644 index 0000000..cf1d8d5 --- /dev/null +++ b/debugconfig/CONFIG_BPF_KPROBE_OVERRIDE @@ -0,0 +1 @@ +CONFIG_BPF_KPROBE_OVERRIDE=y diff --git a/debugconfig/CONFIG_FAIL_FUNCTION b/debugconfig/CONFIG_FAIL_FUNCTION new file mode 100644 index 0000000..f41816d --- /dev/null +++ b/debugconfig/CONFIG_FAIL_FUNCTION @@ -0,0 +1 @@ +CONFIG_FAIL_FUNCTION=y diff --git a/drm-nouveau-bl-fix-backlight-regression.patch b/drm-nouveau-bl-fix-backlight-regression.patch deleted file mode 100644 index 6328108..0000000 --- a/drm-nouveau-bl-fix-backlight-regression.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 9e75dc61eaa9acd1bff83c3b814ac2af6dc1f64c Mon Sep 17 00:00:00 2001 -Message-Id: <9e75dc61eaa9acd1bff83c3b814ac2af6dc1f64c.1521737559.git.jeremy@jcline.org> -From: Karol Herbst -Date: Mon, 19 Feb 2018 17:09:45 +0100 -Subject: [PATCH] drm/nouveau/bl: fix backlight regression - -Fixes: 3c66c87dc9 ("drm/nouveau/disp: remove hw-specific customisation -of output paths") -Suggested-by: Ben Skeggs -Signed-off-by: Karol Herbst -Signed-off-by: Ben Skeggs -Signed-off-by: Jeremy Cline ---- - drivers/gpu/drm/nouveau/nouveau_backlight.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c -index f56f60f695e1..debbbf0fd4bd 100644 ---- a/drivers/gpu/drm/nouveau/nouveau_backlight.c -+++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c -@@ -134,7 +134,7 @@ nv50_get_intensity(struct backlight_device *bd) - struct nouveau_encoder *nv_encoder = bl_get_data(bd); - struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); - struct nvif_object *device = &drm->client.device.object; -- int or = nv_encoder->or; -+ int or = ffs(nv_encoder->dcb->or) - 1; - u32 div = 1025; - u32 val; - -@@ -149,7 +149,7 @@ nv50_set_intensity(struct backlight_device *bd) - struct nouveau_encoder *nv_encoder = bl_get_data(bd); - struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); - struct nvif_object *device = &drm->client.device.object; -- int or = nv_encoder->or; -+ int or = ffs(nv_encoder->dcb->or) - 1; - u32 div = 1025; - u32 val = (bd->props.brightness * div) / 100; - -@@ -170,7 +170,7 @@ nva3_get_intensity(struct backlight_device *bd) - struct nouveau_encoder *nv_encoder = bl_get_data(bd); - struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); - struct nvif_object *device = &drm->client.device.object; -- int or = nv_encoder->or; -+ int or = ffs(nv_encoder->dcb->or) - 1; - u32 div, val; - - div = nvif_rd32(device, NV50_PDISP_SOR_PWM_DIV(or)); -@@ -188,7 +188,7 @@ nva3_set_intensity(struct backlight_device *bd) - struct nouveau_encoder *nv_encoder = bl_get_data(bd); - struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); - struct nvif_object *device = &drm->client.device.object; -- int or = nv_encoder->or; -+ int or = ffs(nv_encoder->dcb->or) - 1; - u32 div, val; - - div = nvif_rd32(device, NV50_PDISP_SOR_PWM_DIV(or)); -@@ -228,7 +228,7 @@ nv50_backlight_init(struct drm_connector *connector) - return -ENODEV; - } - -- if (!nvif_rd32(device, NV50_PDISP_SOR_PWM_CTL(nv_encoder->or))) -+ if (!nvif_rd32(device, NV50_PDISP_SOR_PWM_CTL(ffs(nv_encoder->dcb->or) - 1))) - return 0; - - if (drm->client.device.info.chipset <= 0xa0 || --- -2.16.2 - 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 4d380ea..0000000 --- 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 -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 ---- - 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 c99d85c..ceb0ca7 100644 --- a/efi-lockdown.patch +++ b/efi-lockdown.patch @@ -1,7 +1,7 @@ -From 646ac5c07196bc3680e34188e55c8cc3565f65e7 Mon Sep 17 00:00:00 2001 +From 1235d72fe1d34f9961051d159af3b48a1617ff0a Mon Sep 17 00:00:00 2001 From: David Howells -Date: Wed, 24 May 2017 14:56:00 +0100 -Subject: [PATCH 01/26] Add the ability to lock down access to the running +Date: Tue, 27 Feb 2018 10:04:50 +0000 +Subject: [PATCH 01/31] 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 @@ -22,10 +22,10 @@ Acked-by: James Morris create mode 100644 security/lock_down.c diff --git a/include/linux/kernel.h b/include/linux/kernel.h -index 0ad4c3044cf9..362da2e4bf53 100644 +index 3fd291503576..dcc8916098e7 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h -@@ -287,6 +287,23 @@ static inline void refcount_error_report(struct pt_regs *regs, const char *err) +@@ -306,6 +306,23 @@ static inline void refcount_error_report(struct pt_regs *regs, const char *err) { } #endif @@ -50,10 +50,10 @@ index 0ad4c3044cf9..362da2e4bf53 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 ce6265960d6c..310775476b68 100644 +index 73f1ef625d40..2e9690f3d1ce 100644 --- a/include/linux/security.h +++ b/include/linux/security.h -@@ -1753,5 +1753,13 @@ static inline void free_secdata(void *secdata) +@@ -1801,5 +1801,13 @@ static inline void free_secdata(void *secdata) { } #endif /* CONFIG_SECURITY */ @@ -68,10 +68,10 @@ index ce6265960d6c..310775476b68 100644 #endif /* ! __LINUX_SECURITY_H */ diff --git a/security/Kconfig b/security/Kconfig -index e8e449444e65..8e01fd59ae7e 100644 +index c4302067a3ad..a9e6207d287e 100644 --- a/security/Kconfig +++ b/security/Kconfig -@@ -205,6 +205,14 @@ config STATIC_USERMODEHELPER_PATH +@@ -231,6 +231,14 @@ config STATIC_USERMODEHELPER_PATH If you wish for all usermode helper programs to be disabled, specify an empty string here (i.e. ""). @@ -87,10 +87,10 @@ index e8e449444e65..8e01fd59ae7e 100644 source security/smack/Kconfig source security/tomoyo/Kconfig diff --git a/security/Makefile b/security/Makefile -index f2d71cdb8e19..8c4a43e3d4e0 100644 +index 4d2d3782ddef..507ac8c520ce 100644 --- a/security/Makefile +++ b/security/Makefile -@@ -29,3 +29,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_cgroup.o +@@ -30,3 +30,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_cgroup.o # Object integrity file lists subdir-$(CONFIG_INTEGRITY) += integrity obj-$(CONFIG_INTEGRITY) += integrity/ @@ -164,18 +164,20 @@ index 000000000000..d8595c0e6673 +} +EXPORT_SYMBOL(__kernel_is_locked_down); -- -2.13.6 +2.14.3 -From 2c46467f43bc54324de5474a8355f98c692309e4 Mon Sep 17 00:00:00 2001 +From 2c6e78b766569c7a966639346cc2b5a023998adc Mon Sep 17 00:00:00 2001 From: Kyle McMartin -Date: Wed, 18 Oct 2017 14:02:25 +0100 -Subject: [PATCH 02/26] Add a SysRq option to lift kernel lockdown +Date: Tue, 27 Feb 2018 10:04:50 +0000 +Subject: [PATCH 02/31] Add a SysRq option to lift kernel lockdown Make an option to provide a sysrq key that will lift the kernel lockdown, thereby allowing the running kernel image to be accessed and modified. -On x86_64 this is triggered with SysRq+x, but this key may not be available -on all arches, so it is set by setting LOCKDOWN_LIFT_KEY in asm/setup.h. +On x86 this is triggered with SysRq+x, but this key may not be available on +all arches, so it is set by setting LOCKDOWN_LIFT_KEY in asm/setup.h. +Since this macro must be defined in an arch to be able to use this facility +for that arch, the Kconfig option is restricted to arches that support it. Signed-off-by: Kyle McMartin Signed-off-by: David Howells @@ -187,15 +189,15 @@ cc: x86@kernel.org include/linux/input.h | 5 +++++ include/linux/sysrq.h | 8 +++++++- kernel/debug/kdb/kdb_main.c | 2 +- - security/Kconfig | 8 ++++++++ + security/Kconfig | 10 ++++++++++ security/lock_down.c | 47 ++++++++++++++++++++++++++++++++++++++++++++ - 8 files changed, 84 insertions(+), 8 deletions(-) + 8 files changed, 86 insertions(+), 8 deletions(-) diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h -index a65cf544686a..863f77582c09 100644 +index ae13bc974416..3108e297d87d 100644 --- a/arch/x86/include/asm/setup.h +++ b/arch/x86/include/asm/setup.h -@@ -8,6 +8,8 @@ +@@ -9,6 +9,8 @@ #include #include @@ -205,22 +207,22 @@ index a65cf544686a..863f77582c09 100644 #include diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c -index 39ddd9a73feb..0afeef1672bc 100644 +index 96a887f33698..027c730631cc 100644 --- a/drivers/input/misc/uinput.c +++ b/drivers/input/misc/uinput.c -@@ -362,6 +362,7 @@ static int uinput_create_device(struct uinput_device *udev) +@@ -365,6 +365,7 @@ static int uinput_create_device(struct uinput_device *udev) dev->flush = uinput_dev_flush; } - + + dev->flags |= INPUTDEV_FLAGS_SYNTHETIC; dev->event = uinput_dev_event; - + input_set_drvdata(udev->dev, udev); diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c -index 3ffc1ce29023..8b766dbad6dd 100644 +index b674793be478..7c06541b422e 100644 --- a/drivers/tty/sysrq.c +++ b/drivers/tty/sysrq.c -@@ -481,6 +481,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = { +@@ -487,6 +487,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 */ @@ -228,7 +230,7 @@ index 3ffc1ce29023..8b766dbad6dd 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) +@@ -530,7 +531,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p) sysrq_key_table[i] = op_p; } @@ -237,7 +239,7 @@ index 3ffc1ce29023..8b766dbad6dd 100644 { struct sysrq_key_op *op_p; int orig_log_level; -@@ -544,11 +545,15 @@ void __handle_sysrq(int key, bool check_mask) +@@ -550,11 +551,15 @@ void __handle_sysrq(int key, bool check_mask) op_p = __sysrq_get_key_op(key); if (op_p) { @@ -254,7 +256,7 @@ index 3ffc1ce29023..8b766dbad6dd 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) +@@ -586,7 +591,7 @@ void __handle_sysrq(int key, bool check_mask) void handle_sysrq(int key) { if (sysrq_on()) @@ -263,7 +265,7 @@ index 3ffc1ce29023..8b766dbad6dd 100644 } EXPORT_SYMBOL(handle_sysrq); -@@ -661,7 +666,7 @@ static void sysrq_do_reset(unsigned long _state) +@@ -667,7 +672,7 @@ static void sysrq_do_reset(struct timer_list *t) static void sysrq_handle_reset_request(struct sysrq_state *state) { if (state->reset_requested) @@ -272,7 +274,7 @@ index 3ffc1ce29023..8b766dbad6dd 100644 if (sysrq_reset_downtime_ms) mod_timer(&state->keyreset_timer, -@@ -812,8 +817,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq, +@@ -818,8 +823,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq, default: if (sysrq->active && value && value != 2) { @@ -284,7 +286,7 @@ index 3ffc1ce29023..8b766dbad6dd 100644 } break; } -@@ -1097,7 +1104,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf, +@@ -1102,7 +1109,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf, if (get_user(c, buf)) return -EFAULT; @@ -294,7 +296,7 @@ index 3ffc1ce29023..8b766dbad6dd 100644 return count; diff --git a/include/linux/input.h b/include/linux/input.h -index fb5e23c7ed98..9d2b45a21ade 100644 +index 7c7516eb7d76..38cd0ea72c37 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -42,6 +42,7 @@ struct input_value { @@ -324,10 +326,10 @@ index fb5e23c7ed98..9d2b45a21ade 100644 * Verify that we are in sync with input_device_id mod_devicetable.h #defines */ diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h -index 387fa7d05c98..f7c52a9ea394 100644 +index 8c71874e8485..7de1f08b60a9 100644 --- a/include/linux/sysrq.h +++ b/include/linux/sysrq.h -@@ -28,6 +28,8 @@ +@@ -29,6 +29,8 @@ #define SYSRQ_ENABLE_BOOT 0x0080 #define SYSRQ_ENABLE_RTNICE 0x0100 @@ -336,7 +338,7 @@ index 387fa7d05c98..f7c52a9ea394 100644 struct sysrq_key_op { void (*handler)(int); char *help_msg; -@@ -42,8 +44,12 @@ struct sysrq_key_op { +@@ -43,8 +45,12 @@ struct sysrq_key_op { * are available -- else NULL's). */ @@ -351,7 +353,7 @@ index 387fa7d05c98..f7c52a9ea394 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 c8146d53ca67..b480cadf9272 100644 +index dbb0781a0533..aae9a0f44058 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) @@ -364,16 +366,18 @@ index c8146d53ca67..b480cadf9272 100644 return 0; diff --git a/security/Kconfig b/security/Kconfig -index 8e01fd59ae7e..453cc89c198a 100644 +index a9e6207d287e..461d5acc3616 100644 --- a/security/Kconfig +++ b/security/Kconfig -@@ -213,6 +213,14 @@ config LOCK_DOWN_KERNEL +@@ -239,6 +239,16 @@ config LOCK_DOWN_KERNEL turns off various features that might otherwise allow access to the kernel image (eg. setting MSR registers). +config ALLOW_LOCKDOWN_LIFT_BY_SYSRQ + bool "Allow the kernel lockdown to be lifted by SysRq" -+ depends on LOCK_DOWN_KERNEL && MAGIC_SYSRQ ++ depends on LOCK_DOWN_KERNEL ++ depends on MAGIC_SYSRQ ++ depends on X86 + help + Allow the lockdown on a kernel to be lifted, by pressing a SysRq key + combination on a wired keyboard. @@ -447,44 +451,244 @@ index d8595c0e6673..2c6b00f0c229 100644 + +#endif /* CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ */ -- -2.13.6 +2.14.3 + +From 16376a9b88db8d79637fbda7576ced261050eb2a Mon Sep 17 00:00:00 2001 +From: Mimi Zohar +Date: Tue, 27 Feb 2018 10:04:50 +0000 +Subject: [PATCH 03/31] ima: require secure_boot rules in lockdown mode + +Require the "secure_boot" rules, whether or not it is specified +on the boot command line, for both the builtin and custom policies +in secure boot lockdown mode. + +Signed-off-by: Mimi Zohar +Signed-off-by: David Howells +--- + security/integrity/ima/ima_policy.c | 39 +++++++++++++++++++++++++++---------- + 1 file changed, 29 insertions(+), 10 deletions(-) + +diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c +index 915f5572c6ff..830ce0de5386 100644 +--- a/security/integrity/ima/ima_policy.c ++++ b/security/integrity/ima/ima_policy.c +@@ -431,14 +431,21 @@ void ima_update_policy_flag(void) + */ + void __init ima_init_policy(void) + { +- int i, measure_entries, appraise_entries, secure_boot_entries; ++ int i; ++ int measure_entries = 0; ++ int appraise_entries = 0; ++ int secure_boot_entries = 0; ++ bool kernel_locked_down = __kernel_is_locked_down(NULL, false); + + /* if !ima_policy set entries = 0 so we load NO default rules */ +- measure_entries = ima_policy ? ARRAY_SIZE(dont_measure_rules) : 0; +- appraise_entries = ima_use_appraise_tcb ? +- ARRAY_SIZE(default_appraise_rules) : 0; +- secure_boot_entries = ima_use_secure_boot ? +- ARRAY_SIZE(secure_boot_rules) : 0; ++ if (ima_policy) ++ measure_entries = ARRAY_SIZE(dont_measure_rules); ++ ++ if (ima_use_appraise_tcb) ++ appraise_entries = ARRAY_SIZE(default_appraise_rules); ++ ++ if (ima_use_secure_boot || kernel_locked_down) ++ secure_boot_entries = ARRAY_SIZE(secure_boot_rules); + + for (i = 0; i < measure_entries; i++) + list_add_tail(&dont_measure_rules[i].list, &ima_default_rules); +@@ -459,11 +466,23 @@ void __init ima_init_policy(void) + + /* + * Insert the appraise rules requiring file signatures, prior to +- * any other appraise rules. ++ * any other appraise rules. In secure boot lock-down mode, also ++ * require these appraise rules for custom policies. + */ +- for (i = 0; i < secure_boot_entries; i++) +- list_add_tail(&secure_boot_rules[i].list, +- &ima_default_rules); ++ for (i = 0; i < secure_boot_entries; i++) { ++ struct ima_rule_entry *entry; ++ ++ /* Include for builtin policies */ ++ list_add_tail(&secure_boot_rules[i].list, &ima_default_rules); ++ ++ /* Include for custom policies */ ++ if (kernel_locked_down) { ++ entry = kmemdup(&secure_boot_rules[i], sizeof(*entry), ++ GFP_KERNEL); ++ if (entry) ++ list_add_tail(&entry->list, &ima_policy_rules); ++ } ++ } -From 4c389db9daee3a3a444339a7d789de1d9366f736 Mon Sep 17 00:00:00 2001 + for (i = 0; i < appraise_entries; i++) { + list_add_tail(&default_appraise_rules[i].list, +-- +2.14.3 + +From 7c0d4949d8343a3b6ceca21f3d7710b20f283de0 Mon Sep 17 00:00:00 2001 From: David Howells -Date: Wed, 24 May 2017 14:56:01 +0100 -Subject: [PATCH 03/26] Enforce module signatures if the kernel is locked down +Date: Tue, 27 Feb 2018 10:04:50 +0000 +Subject: [PATCH 04/31] Enforce module signatures if the kernel is locked down If the kernel is locked down, require that all modules have valid -signatures that we can verify. +signatures that we can verify or that IMA can validate the file. + +I have adjusted the errors generated: + + (1) If there's no signature (ENODATA) or we can't check it (ENOPKG, + ENOKEY), then: + + (a) If signatures are enforced then EKEYREJECTED is returned. + + (b) If IMA will have validated the image, return 0 (okay). + + (c) If there's no signature or we can't check it, but the kernel is + locked down then EPERM is returned (this is then consistent with + other lockdown cases). + + (2) If the signature is unparseable (EBADMSG, EINVAL), the signature fails + the check (EKEYREJECTED) or a system error occurs (eg. ENOMEM), we + return the error we got. + +Note that the X.509 code doesn't check for key expiry as the RTC might not +be valid or might not have been transferred to the kernel's clock yet. Signed-off-by: David Howells -Reviewed-by: "Lee, Chun-Yi" -Reviewed-by: James Morris +Reviewed-by: Jiri Bohac +cc: "Lee, Chun-Yi" +cc: James Morris --- - kernel/module.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) + kernel/module.c | 56 +++++++++++++++++++++++++++++++++++++++++++------------- + 1 file changed, 43 insertions(+), 13 deletions(-) diff --git a/kernel/module.c b/kernel/module.c -index de66ec825992..3d9a3270c179 100644 +index ad2d420024f6..62419cf48ef6 100644 --- a/kernel/module.c +++ b/kernel/module.c -@@ -2781,7 +2781,8 @@ static int module_sig_check(struct load_info *info, int flags) +@@ -64,6 +64,7 @@ + #include + #include + #include ++#include + #include + #include "module-internal.h" + +@@ -2765,10 +2766,12 @@ static inline void kmemleak_load_module(const struct module *mod, + #endif + + #ifdef CONFIG_MODULE_SIG +-static int module_sig_check(struct load_info *info, int flags) ++static int module_sig_check(struct load_info *info, int flags, ++ bool can_do_ima_check) + { +- int err = -ENOKEY; ++ int err = -ENODATA; + const unsigned long markerlen = sizeof(MODULE_SIG_STRING) - 1; ++ const char *reason; + const void *mod = info->hdr; + + /* +@@ -2783,19 +2786,46 @@ static int module_sig_check(struct load_info *info, int flags) + err = mod_verify_sig(mod, &info->len); } - /* Not having a signature is only an error if we're strict. */ +- if (!err) { ++ switch (err) { ++ case 0: + info->sig_ok = true; + return 0; +- } + +- /* Not having a signature is only an error if we're strict. */ - if (err == -ENOKEY && !sig_enforce) -+ if (err == -ENOKEY && !sig_enforce && -+ !kernel_is_locked_down("Loading of unsigned modules")) - err = 0; +- err = 0; ++ /* We don't permit modules to be loaded into trusted kernels ++ * without a valid signature on them, but if we're not ++ * enforcing, certain errors are non-fatal. ++ */ ++ case -ENODATA: ++ reason = "Loading of unsigned module"; ++ goto decide; ++ case -ENOPKG: ++ reason = "Loading of module with unsupported crypto"; ++ goto decide; ++ case -ENOKEY: ++ reason = "Loading of module with unavailable key"; ++ decide: ++ if (sig_enforce) { ++ pr_notice("%s is rejected\n", reason); ++ return -EKEYREJECTED; ++ } + +- return err; ++ if (can_do_ima_check && is_ima_appraise_enabled()) ++ return 0; ++ if (kernel_is_locked_down(reason)) ++ return -EPERM; ++ return 0; ++ ++ /* All other errors are fatal, including nomem, unparseable ++ * signatures and signature check failures - even if signatures ++ * aren't required. ++ */ ++ default: ++ return err; ++ } + } + #else /* !CONFIG_MODULE_SIG */ +-static int module_sig_check(struct load_info *info, int flags) ++static int module_sig_check(struct load_info *info, int flags, ++ bool can_do_ima_check) + { + return 0; + } +@@ -3655,13 +3685,13 @@ static int unknown_module_param_cb(char *param, char *val, const char *modname, + /* Allocate and load the module: note that size of section 0 is always + zero, and we rely on this for optional sections. */ + static int load_module(struct load_info *info, const char __user *uargs, +- int flags) ++ int flags, bool can_do_ima_check) + { + struct module *mod; + long err; + char *after_dashes; + +- err = module_sig_check(info, flags); ++ err = module_sig_check(info, flags, can_do_ima_check); + if (err) + goto free_copy; + +@@ -3850,7 +3880,7 @@ SYSCALL_DEFINE3(init_module, void __user *, umod, + if (err) + return err; + +- return load_module(&info, uargs, 0); ++ return load_module(&info, uargs, 0, false); + } + + SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags) +@@ -3877,7 +3907,7 @@ SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags) + info.hdr = hdr; + info.len = size; + +- return load_module(&info, uargs, flags); ++ return load_module(&info, uargs, flags, true); + } - return err; + static inline int within(unsigned long addr, void *start, unsigned long size) -- -2.13.6 +2.14.3 -From 59312c44aa46939a14b3fbfeb510f94b4a73c8a1 Mon Sep 17 00:00:00 2001 -From: Matthew Garrett -Date: Wed, 24 May 2017 14:56:02 +0100 -Subject: [PATCH 04/26] Restrict /dev/{mem,kmem,port} when the kernel is locked +From 11b23b45b895133b0c4660622fe2cd8cea373324 Mon Sep 17 00:00:00 2001 +From: Matthew Garrett +Date: Tue, 27 Feb 2018 10:04:51 +0000 +Subject: [PATCH 05/31] Restrict /dev/{mem,kmem,port} when the kernel is locked down Allowing users to read and write to core kernel memory makes it possible @@ -497,7 +701,7 @@ been locked down to prevent this. Also disallow /dev/port from being opened to prevent raw ioport access and thus DMA from being used to accomplish the same thing. -Signed-off-by: Matthew Garrett +Signed-off-by: Matthew Garrett Signed-off-by: David Howells Reviewed-by: "Lee, Chun-Yi" --- @@ -505,10 +709,10 @@ Reviewed-by: "Lee, Chun-Yi" 1 file changed, 2 insertions(+) diff --git a/drivers/char/mem.c b/drivers/char/mem.c -index 593a8818aca9..0ce5ac0a5c6b 100644 +index 052011bcf100..c024e7b2bbcb 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c -@@ -762,6 +762,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig) +@@ -784,6 +784,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig) static int open_port(struct inode *inode, struct file *filp) { @@ -518,21 +722,22 @@ index 593a8818aca9..0ce5ac0a5c6b 100644 } -- -2.13.6 +2.14.3 -From 6304f16efd61e66701f4b331e95da3cafb5f5f76 Mon Sep 17 00:00:00 2001 -From: Matthew Garrett -Date: Wed, 24 May 2017 14:56:02 +0100 -Subject: [PATCH 05/26] kexec: Disable at runtime if the kernel is locked down +From ccaf57b0a1afb62c1278e3fee69634a710b60a44 Mon Sep 17 00:00:00 2001 +From: Matthew Garrett +Date: Tue, 27 Feb 2018 10:04:51 +0000 +Subject: [PATCH 06/31] kexec_load: Disable at runtime if the kernel is locked + down -kexec permits the loading and execution of arbitrary code in ring 0, which -is something that lock-down is meant to prevent. It makes sense to disable -kexec in this situation. +The kexec_load() syscall permits the loading and execution of arbitrary +code in ring 0, which is something that lock-down is meant to prevent. It +makes sense to disable kexec_load() in this situation. -This does not affect kexec_file_load() which can check for a signature on the -image to be booted. +This does not affect kexec_file_load() syscall which can check for a +signature on the image to be booted. -Signed-off-by: Matthew Garrett +Signed-off-by: Matthew Garrett Signed-off-by: David Howells Acked-by: Dave Young Reviewed-by: "Lee, Chun-Yi" @@ -546,27 +751,27 @@ diff --git a/kernel/kexec.c b/kernel/kexec.c index e62ec4dc6620..7dadfed9b676 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c -@@ -202,6 +202,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments, +@@ -201,6 +201,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments, + if (!capable(CAP_SYS_BOOT) || kexec_load_disabled) return -EPERM; - /* ++ /* + * kexec can be used to circumvent module loading restrictions, so + * prevent loading in that case + */ + if (kernel_is_locked_down("kexec of unsigned images")) + return -EPERM; + -+ /* + /* * Verify we have a legal set of flags * This leaves us room for future extensions. - */ -- -2.13.6 +2.14.3 -From cd00079900870855cea3573253a95c331ccab523 Mon Sep 17 00:00:00 2001 +From b96ff1fd9e94772fde7b58fd69969d1a1c87eb6d Mon Sep 17 00:00:00 2001 From: Dave Young -Date: Wed, 24 May 2017 14:56:02 +0100 -Subject: [PATCH 06/26] Copy secure_boot flag in boot params across kexec +Date: Tue, 27 Feb 2018 10:04:51 +0000 +Subject: [PATCH 07/31] Copy secure_boot flag in boot params across kexec reboot Kexec reboot in case secure boot being enabled does not keep the secure @@ -601,54 +806,286 @@ index fb095ba0c02f..7d0fac5bcbbe 100644 ei->efi_systab = current_ei->efi_systab; ei->efi_systab_hi = current_ei->efi_systab_hi; -- -2.13.6 +2.14.3 + +From 092494dea28896108dfb654cebf9f7e3666fc514 Mon Sep 17 00:00:00 2001 +From: Jiri Bohac +Date: Tue, 27 Feb 2018 10:04:51 +0000 +Subject: [PATCH 08/31] kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and + KEXEC_SIG_FORCE + +This is a preparatory patch for kexec_file_load() lockdown. A locked down +kernel needs to prevent unsigned kernel images from being loaded with +kexec_file_load(). Currently, the only way to force the signature +verification is compiling with KEXEC_VERIFY_SIG. This prevents loading +usigned images even when the kernel is not locked down at runtime. + +This patch splits KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE. +Analogous to the MODULE_SIG and MODULE_SIG_FORCE for modules, KEXEC_SIG +turns on the signature verification but allows unsigned images to be +loaded. KEXEC_SIG_FORCE disallows images without a valid signature. + +[Modified by David Howells such that: + + (1) verify_pefile_signature() differentiates between no-signature and + sig-didn't-match in its returned errors. + + (2) kexec fails with EKEYREJECTED and logs an appropriate message if + signature checking is enforced and an signature is not found, uses + unsupported crypto or has no matching key. -From de2ac5da82fc55156134820ba32095710b935ad5 Mon Sep 17 00:00:00 2001 -From: Chun-Yi Lee -Date: Wed, 24 May 2017 14:56:03 +0100 -Subject: [PATCH 07/26] kexec_file: Disable at runtime if the kernel is locked + (3) kexec fails with EKEYREJECTED if there is a signature for which we + have a key, but signature doesn't match - even if in non-forcing mode. + + (4) kexec fails with EBADMSG or some other error if there is a signature + which cannot be parsed - even if in non-forcing mode. + + (5) kexec fails with ELIBBAD if the PE file cannot be parsed to extract + the signature - even if in non-forcing mode. + +] + +Signed-off-by: Jiri Bohac +Signed-off-by: David Howells +Reviewed-by: Jiri Bohac +cc: Matthew Garrett +cc: Chun-Yi Lee +cc: kexec@lists.infradead.org +--- + arch/x86/Kconfig | 20 ++++++++++---- + arch/x86/kernel/machine_kexec_64.c | 2 +- + crypto/asymmetric_keys/verify_pefile.c | 4 ++- + include/linux/kexec.h | 4 +-- + kernel/kexec_file.c | 48 +++++++++++++++++++++++++++++----- + 5 files changed, 62 insertions(+), 16 deletions(-) + +diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig +index eb7f43f23521..b2c5eb5a8333 100644 +--- a/arch/x86/Kconfig ++++ b/arch/x86/Kconfig +@@ -2020,20 +2020,30 @@ config KEXEC_FILE + for kernel and initramfs as opposed to list of segments as + accepted by previous system call. + +-config KEXEC_VERIFY_SIG ++config KEXEC_SIG + bool "Verify kernel signature during kexec_file_load() syscall" + depends on KEXEC_FILE + ---help--- +- This option makes kernel signature verification mandatory for +- the kexec_file_load() syscall. + +- In addition to that option, you need to enable signature ++ This option makes the kexec_file_load() syscall check for a valid ++ signature of the kernel image. The image can still be loaded without ++ a valid signature unless you also enable KEXEC_SIG_FORCE, though if ++ there's a signature that we can check, then it must be valid. ++ ++ In addition to this option, you need to enable signature + verification for the corresponding kernel image type being + loaded in order for this to work. + ++config KEXEC_SIG_FORCE ++ bool "Require a valid signature in kexec_file_load() syscall" ++ depends on KEXEC_SIG ++ ---help--- ++ This option makes kernel signature verification mandatory for ++ the kexec_file_load() syscall. ++ + config KEXEC_BZIMAGE_VERIFY_SIG + bool "Enable bzImage signature verification support" +- depends on KEXEC_VERIFY_SIG ++ depends on KEXEC_SIG + depends on SIGNED_PE_FILE_VERIFICATION + select SYSTEM_TRUSTED_KEYRING + ---help--- +diff --git a/arch/x86/kernel/machine_kexec_64.c b/arch/x86/kernel/machine_kexec_64.c +index 3b7427aa7d85..b0870d47d520 100644 +--- a/arch/x86/kernel/machine_kexec_64.c ++++ b/arch/x86/kernel/machine_kexec_64.c +@@ -406,7 +406,7 @@ int arch_kimage_file_post_load_cleanup(struct kimage *image) + return image->fops->cleanup(image->image_loader_data); + } + +-#ifdef CONFIG_KEXEC_VERIFY_SIG ++#ifdef CONFIG_KEXEC_SIG + int arch_kexec_kernel_verify_sig(struct kimage *image, void *kernel, + unsigned long kernel_len) + { +diff --git a/crypto/asymmetric_keys/verify_pefile.c b/crypto/asymmetric_keys/verify_pefile.c +index d178650fd524..4473cea1e877 100644 +--- a/crypto/asymmetric_keys/verify_pefile.c ++++ b/crypto/asymmetric_keys/verify_pefile.c +@@ -100,7 +100,7 @@ static int pefile_parse_binary(const void *pebuf, unsigned int pelen, + + if (!ddir->certs.virtual_address || !ddir->certs.size) { + pr_debug("Unsigned PE binary\n"); +- return -EKEYREJECTED; ++ return -ENODATA; + } + + chkaddr(ctx->header_size, ddir->certs.virtual_address, +@@ -408,6 +408,8 @@ static int pefile_digest_pe(const void *pebuf, unsigned int pelen, + * (*) 0 if at least one signature chain intersects with the keys in the trust + * keyring, or: + * ++ * (*) -ENODATA if there is no signature present. ++ * + * (*) -ENOPKG if a suitable crypto module couldn't be found for a check on a + * chain. + * +diff --git a/include/linux/kexec.h b/include/linux/kexec.h +index f16f6ceb3875..19652372f3ee 100644 +--- a/include/linux/kexec.h ++++ b/include/linux/kexec.h +@@ -121,7 +121,7 @@ typedef void *(kexec_load_t)(struct kimage *image, char *kernel_buf, + unsigned long cmdline_len); + typedef int (kexec_cleanup_t)(void *loader_data); + +-#ifdef CONFIG_KEXEC_VERIFY_SIG ++#ifdef CONFIG_KEXEC_SIG + typedef int (kexec_verify_sig_t)(const char *kernel_buf, + unsigned long kernel_len); + #endif +@@ -130,7 +130,7 @@ struct kexec_file_ops { + kexec_probe_t *probe; + kexec_load_t *load; + kexec_cleanup_t *cleanup; +-#ifdef CONFIG_KEXEC_VERIFY_SIG ++#ifdef CONFIG_KEXEC_SIG + kexec_verify_sig_t *verify_sig; + #endif + }; +diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c +index e5bcd94c1efb..d5931e392050 100644 +--- a/kernel/kexec_file.c ++++ b/kernel/kexec_file.c +@@ -45,7 +45,7 @@ int __weak arch_kimage_file_post_load_cleanup(struct kimage *image) + return -EINVAL; + } + +-#ifdef CONFIG_KEXEC_VERIFY_SIG ++#ifdef CONFIG_KEXEC_SIG + int __weak arch_kexec_kernel_verify_sig(struct kimage *image, void *buf, + unsigned long buf_len) + { +@@ -116,7 +116,8 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd, + const char __user *cmdline_ptr, + unsigned long cmdline_len, unsigned flags) + { +- int ret = 0; ++ const char *reason; ++ int ret; + void *ldata; + loff_t size; + +@@ -135,15 +136,48 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd, + if (ret) + goto out; + +-#ifdef CONFIG_KEXEC_VERIFY_SIG ++#ifdef CONFIG_KEXEC_SIG + ret = arch_kexec_kernel_verify_sig(image, image->kernel_buf, + image->kernel_buf_len); +- if (ret) { +- pr_debug("kernel signature verification failed.\n"); ++#else ++ ret = -ENODATA; ++#endif ++ ++ switch (ret) { ++ case 0: ++ break; ++ ++ /* Certain verification errors are non-fatal if we're not ++ * checking errors, provided we aren't mandating that there ++ * must be a valid signature. ++ */ ++ case -ENODATA: ++ reason = "kexec of unsigned image"; ++ goto decide; ++ case -ENOPKG: ++ reason = "kexec of image with unsupported crypto"; ++ goto decide; ++ case -ENOKEY: ++ reason = "kexec of image with unavailable key"; ++ decide: ++ if (IS_ENABLED(CONFIG_KEXEC_SIG_FORCE)) { ++ pr_notice("%s rejected\n", reason); ++ ret = -EKEYREJECTED; ++ goto out; ++ } ++ ++ ret = 0; ++ break; ++ ++ /* All other errors are fatal, including nomem, unparseable ++ * signatures and signature check failures - even if signatures ++ * aren't required. ++ */ ++ default: ++ pr_notice("kernel signature verification failed (%d).\n", ret); + goto out; + } +- pr_debug("kernel signature verification successful.\n"); +-#endif ++ + /* It is possible that there no initramfs is being loaded */ + if (!(flags & KEXEC_FILE_NO_INITRAMFS)) { + ret = kernel_read_file_from_fd(initrd_fd, &image->initrd_buf, +-- +2.14.3 + +From 7124221c5cdb956365ed731b55e663db4075a131 Mon Sep 17 00:00:00 2001 +From: Jiri Bohac +Date: Tue, 27 Feb 2018 10:04:52 +0000 +Subject: [PATCH 09/31] kexec_file: Restrict at runtime if the kernel is locked down -When KEXEC_VERIFY_SIG is not enabled, kernel should not load images -through kexec_file systemcall if the kernel is locked down. +When KEXEC_SIG is not enabled, kernel should not load images through +kexec_file systemcall if the kernel is locked down unless IMA can be used +to validate the image. -This code was showed in Matthew's patch but not in git: -https://lkml.org/lkml/2015/3/13/778 +[Modified by David Howells to fit with modifications to the previous patch + and to return -EPERM if the kernel is locked down for consistency with + other lockdowns] -Cc: Matthew Garrett -Signed-off-by: Chun-Yi Lee +Signed-off-by: Jiri Bohac Signed-off-by: David Howells -Reviewed-by: James Morris +Reviewed-by: Jiri Bohac +Cc: Matthew Garrett +cc: Chun-Yi Lee cc: kexec@lists.infradead.org --- - kernel/kexec_file.c | 7 +++++++ - 1 file changed, 7 insertions(+) + kernel/kexec_file.c | 8 ++++++++ + 1 file changed, 8 insertions(+) diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c -index 9f48f4412297..ff6523f2dcc2 100644 +index d5931e392050..c47c4de604cd 100644 --- a/kernel/kexec_file.c +++ b/kernel/kexec_file.c -@@ -255,6 +255,13 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd, - if (!capable(CAP_SYS_BOOT) || kexec_load_disabled) - return -EPERM; +@@ -167,6 +167,14 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd, + } -+ /* Don't permit images to be loaded into trusted kernels if we're not -+ * going to verify the signature on them -+ */ -+ if (!IS_ENABLED(CONFIG_KEXEC_VERIFY_SIG) && -+ kernel_is_locked_down("kexec of unsigned images")) -+ return -EPERM; + ret = 0; ++ if (is_ima_appraise_enabled()) ++ break; + - /* Make sure we have a legal set of flags */ - if (flags != (flags & KEXEC_FILE_FLAGS)) - return -EINVAL; ++ if (kernel_is_locked_down(reason)) { ++ ret = -EPERM; ++ goto out; ++ } ++ + break; + + /* All other errors are fatal, including nomem, unparseable -- -2.13.6 +2.14.3 -From ba823f2b5125605fcbac150fe27e622fd224ea61 Mon Sep 17 00:00:00 2001 +From 70911b9a15ee62c6222e09099d23d94bdd132972 Mon Sep 17 00:00:00 2001 From: Josh Boyer -Date: Wed, 24 May 2017 14:56:03 +0100 -Subject: [PATCH 08/26] hibernate: Disable when the kernel is locked down +Date: Tue, 27 Feb 2018 10:04:52 +0000 +Subject: [PATCH 10/31] hibernate: Disable when the kernel is locked down There is currently no way to verify the resume image when returning from hibernate. This might compromise the signed modules trust model, @@ -677,12 +1114,12 @@ index a5c36e9c56a6..f2eafefeec50 100644 /** -- -2.13.6 +2.14.3 -From 9e78666a6153d72c3e50160a30ead699ba508d8f Mon Sep 17 00:00:00 2001 +From b85febc7ab5ceede3c53b438b899dfba7741f366 Mon Sep 17 00:00:00 2001 From: Matthew Garrett -Date: Wed, 24 May 2017 14:56:03 +0100 -Subject: [PATCH 09/26] uswsusp: Disable when the kernel is locked down +Date: Tue, 27 Feb 2018 10:04:52 +0000 +Subject: [PATCH 11/31] 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 @@ -712,12 +1149,12 @@ index 22df9f7ff672..678ade9decfe 100644 if (!atomic_add_unless(&snapshot_device_available, -1, 0)) { -- -2.13.6 +2.14.3 -From 334fa071b01ced7f48b2920208addfb1eab5d0fe Mon Sep 17 00:00:00 2001 -From: Matthew Garrett -Date: Wed, 24 May 2017 14:56:03 +0100 -Subject: [PATCH 10/26] PCI: Lock down BAR access when the kernel is locked +From 9e2700d1746e53da4de4d0fbee7ca4f8f06d6ff2 Mon Sep 17 00:00:00 2001 +From: Matthew Garrett +Date: Tue, 27 Feb 2018 10:04:52 +0000 +Subject: [PATCH 12/31] PCI: Lock down BAR access when the kernel is locked down Any hardware that can potentially generate DMA has to be locked down in @@ -726,7 +1163,7 @@ allowing them to circumvent disabled module loading or module signing. Default to paranoid - in future we can potentially relax this for sufficiently IOMMU-isolated devices. -Signed-off-by: Matthew Garrett +Signed-off-by: Matthew Garrett Signed-off-by: David Howells Acked-by: Bjorn Helgaas Reviewed-by: "Lee, Chun-Yi" @@ -738,10 +1175,10 @@ cc: linux-pci@vger.kernel.org 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c -index 1eecfa301f7f..e1a3b0e765c2 100644 +index eb6bee8724cc..6d2afc730ab7 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c -@@ -881,6 +881,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj, +@@ -930,6 +930,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj, loff_t init_off = off; u8 *data = (u8 *) buf; @@ -751,7 +1188,7 @@ index 1eecfa301f7f..e1a3b0e765c2 100644 if (off > dev->cfg_size) return 0; if (off + count > dev->cfg_size) { -@@ -1175,6 +1178,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr, +@@ -1224,6 +1227,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]; @@ -761,7 +1198,7 @@ index 1eecfa301f7f..e1a3b0e765c2 100644 if (res->flags & IORESOURCE_MEM && iomem_is_exclusive(res->start)) return -EINVAL; -@@ -1255,6 +1261,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj, +@@ -1299,6 +1305,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) { @@ -772,10 +1209,10 @@ index 1eecfa301f7f..e1a3b0e765c2 100644 } diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c -index 098360d7ff81..a6c53d855daa 100644 +index 58a662e3c4a6..b30e53eb41df 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, +@@ -117,6 +117,9 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf, int size = dev->cfg_size; int cnt; @@ -785,7 +1222,7 @@ index 098360d7ff81..a6c53d855daa 100644 if (pos >= size) return 0; if (nbytes >= size) -@@ -195,6 +198,9 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd, +@@ -196,6 +199,9 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd, #endif /* HAVE_PCI_MMAP */ int ret = 0; @@ -795,7 +1232,7 @@ index 098360d7ff81..a6c53d855daa 100644 switch (cmd) { case PCIIOC_CONTROLLER: ret = pci_domain_nr(dev->bus); -@@ -236,7 +242,8 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma) +@@ -237,7 +243,8 @@ 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 = IORESOURCE_MEM; @@ -806,10 +1243,10 @@ index 098360d7ff81..a6c53d855daa 100644 if (fpriv->mmap_state == pci_mmap_io) { diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c -index 9bf993e1f71e..afa01cc3ceec 100644 +index e725f99b5479..6cb3b22a3b94 100644 --- a/drivers/pci/syscall.c +++ b/drivers/pci/syscall.c -@@ -92,7 +92,8 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn, +@@ -93,7 +93,8 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn, u32 dword; int err = 0; @@ -818,14 +1255,14 @@ index 9bf993e1f71e..afa01cc3ceec 100644 + kernel_is_locked_down("Direct PCI access")) return -EPERM; - dev = pci_get_bus_and_slot(bus, dfn); + dev = pci_get_domain_bus_and_slot(0, bus, dfn); -- -2.13.6 +2.14.3 -From 7e608c45ac2ab6c8e125aaf3993b8257352ac631 Mon Sep 17 00:00:00 2001 -From: Matthew Garrett -Date: Wed, 24 May 2017 14:56:04 +0100 -Subject: [PATCH 11/26] x86: Lock down IO port access when the kernel is locked +From d7a876a8a1616730c0bc44c47823483ec3b99c12 Mon Sep 17 00:00:00 2001 +From: Matthew Garrett +Date: Tue, 27 Feb 2018 10:04:52 +0000 +Subject: [PATCH 13/31] x86: Lock down IO port access when the kernel is locked down IO port access would permit users to gain access to PCI configuration @@ -836,7 +1273,7 @@ DMA, so lock it down by default. This also implicitly locks down the KDADDIO, KDDELIO, KDENABIO and KDDISABIO console ioctls. -Signed-off-by: Matthew Garrett +Signed-off-by: Matthew Garrett Signed-off-by: David Howells Reviewed-by: Thomas Gleixner Reviewed-by: "Lee, Chun-Yi" @@ -846,10 +1283,10 @@ cc: x86@kernel.org 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c -index 9c3cf0944bce..2c0f058651c5 100644 +index 2f723301eb58..b3758cc23262 100644 --- a/arch/x86/kernel/ioport.c +++ b/arch/x86/kernel/ioport.c -@@ -30,7 +30,8 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on) +@@ -31,7 +31,8 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on) if ((from + num <= from) || (from + num > IO_BITMAP_BITS)) return -EINVAL; @@ -859,7 +1296,7 @@ index 9c3cf0944bce..2c0f058651c5 100644 return -EPERM; /* -@@ -120,7 +121,8 @@ SYSCALL_DEFINE1(iopl, unsigned int, level) +@@ -121,7 +122,8 @@ SYSCALL_DEFINE1(iopl, unsigned int, level) return -EINVAL; /* Trying to gain more privileges? */ if (level > old) { @@ -870,12 +1307,12 @@ index 9c3cf0944bce..2c0f058651c5 100644 } regs->flags = (regs->flags & ~X86_EFLAGS_IOPL) | -- -2.13.6 +2.14.3 -From 2644bf492568e3733bc841112c6e8628a6e01b8e Mon Sep 17 00:00:00 2001 -From: Matthew Garrett -Date: Wed, 24 May 2017 14:56:04 +0100 -Subject: [PATCH 12/26] x86/msr: Restrict MSR access when the kernel is locked +From 43e89781371daf295925ffa1f9074eb31b815491 Mon Sep 17 00:00:00 2001 +From: Matthew Garrett +Date: Tue, 27 Feb 2018 10:04:53 +0000 +Subject: [PATCH 14/31] x86/msr: Restrict MSR access when the kernel is locked down Writing to MSRs should not be allowed if the kernel is locked down, since @@ -885,7 +1322,7 @@ patch by Kees Cook. MSR accesses are logged for the purposes of building up a whitelist as per Alan Cox's suggestion. -Signed-off-by: Matthew Garrett +Signed-off-by: Matthew Garrett Signed-off-by: David Howells Acked-by: Kees Cook Reviewed-by: Thomas Gleixner @@ -924,77 +1361,19 @@ index ef688804f80d..dfb61d358196 100644 if (err) break; -- -2.13.6 - -From e6850fffe186e252cc94e8747e589076e215ca1a Mon Sep 17 00:00:00 2001 -From: Matthew Garrett -Date: Wed, 24 May 2017 14:56:04 +0100 -Subject: [PATCH 13/26] asus-wmi: Restrict debugfs interface when the kernel is - locked down - -We have no way of validating what all of the Asus WMI methods do on a given -machine - and there's a risk that some will allow hardware state to be -manipulated in such a way that arbitrary code can be executed in the -kernel, circumventing module loading restrictions. Prevent that if the -kernel is locked down. - -Signed-off-by: Matthew Garrett -Signed-off-by: David Howells -Reviewed-by: "Lee, Chun-Yi" -cc: acpi4asus-user@lists.sourceforge.net -cc: platform-driver-x86@vger.kernel.org ---- - drivers/platform/x86/asus-wmi.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c -index 48e1541dc8d4..ef5587469337 100644 ---- a/drivers/platform/x86/asus-wmi.c -+++ b/drivers/platform/x86/asus-wmi.c -@@ -1905,6 +1905,9 @@ static int show_dsts(struct seq_file *m, void *data) - int err; - u32 retval = -1; - -+ if (kernel_is_locked_down("Asus WMI")) -+ return -EPERM; -+ - err = asus_wmi_get_devstate(asus, asus->debug.dev_id, &retval); - - if (err < 0) -@@ -1921,6 +1924,9 @@ static int show_devs(struct seq_file *m, void *data) - int err; - u32 retval = -1; +2.14.3 -+ if (kernel_is_locked_down("Asus WMI")) -+ return -EPERM; -+ - err = asus_wmi_set_devstate(asus->debug.dev_id, asus->debug.ctrl_param, - &retval); - -@@ -1945,6 +1951,9 @@ static int show_call(struct seq_file *m, void *data) - union acpi_object *obj; - acpi_status status; - -+ if (kernel_is_locked_down("Asus WMI")) -+ return -EPERM; -+ - status = wmi_evaluate_method(ASUS_WMI_MGMT_GUID, - 0, asus->debug.method_id, - &input, &output); --- -2.13.6 - -From 6dda2a4dbc8bb80efaa55aba6d54382e986305c5 Mon Sep 17 00:00:00 2001 -From: Matthew Garrett -Date: Wed, 24 May 2017 14:56:04 +0100 -Subject: [PATCH 14/26] ACPI: Limit access to custom_method when the kernel is +From 13b28d5eb338531f53ac27bce86c663c88ac4aca Mon Sep 17 00:00:00 2001 +From: Matthew Garrett +Date: Tue, 27 Feb 2018 10:04:53 +0000 +Subject: [PATCH 15/31] 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. Disable it if the kernel is locked down. -Signed-off-by: Matthew Garrett +Signed-off-by: Matthew Garrett Signed-off-by: David Howells Reviewed-by: "Lee, Chun-Yi" cc: linux-acpi@vger.kernel.org @@ -1017,12 +1396,12 @@ index c68e72414a67..b33fba70ec51 100644 /* parse the table header to get the table length */ if (count <= sizeof(struct acpi_table_header)) -- -2.13.6 +2.14.3 -From 64caa33410f85663cf0a65e4c09b8b8d28a219ad Mon Sep 17 00:00:00 2001 +From dadc30f71155a6f2df81d791cf1314ecdb36cb84 Mon Sep 17 00:00:00 2001 From: Josh Boyer -Date: Wed, 24 May 2017 14:56:05 +0100 -Subject: [PATCH 15/26] acpi: Ignore acpi_rsdp kernel param when the kernel has +Date: Tue, 27 Feb 2018 10:04:53 +0000 +Subject: [PATCH 16/31] 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 @@ -1039,7 +1418,7 @@ cc: linux-acpi@vger.kernel.org 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c -index db78d353bab1..36c6527c1b0a 100644 +index 3bb46cb24a99..3d3b59b97f31 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c @@ -192,7 +192,7 @@ acpi_physical_address __init acpi_os_get_root_pointer(void) @@ -1052,12 +1431,12 @@ index db78d353bab1..36c6527c1b0a 100644 #endif -- -2.13.6 +2.14.3 -From d87ce06969f2d4da0c864e8a4cf6c820d950cd1f Mon Sep 17 00:00:00 2001 +From 9185a89b926a57d52ac9edf588ad533d53af4985 Mon Sep 17 00:00:00 2001 From: Linn Crosetto -Date: Wed, 24 May 2017 14:56:05 +0100 -Subject: [PATCH 16/26] acpi: Disable ACPI table override if the kernel is +Date: Tue, 27 Feb 2018 10:04:53 +0000 +Subject: [PATCH 17/31] acpi: Disable ACPI table override if the kernel is locked down From the kernel documentation (initrd_table_override.txt): @@ -1079,10 +1458,10 @@ cc: linux-acpi@vger.kernel.org 1 file changed, 5 insertions(+) diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c -index 80ce2a7d224b..5cc13c42daf9 100644 +index 7bcb66ccccf3..5ea02c9ca47f 100644 --- a/drivers/acpi/tables.c +++ b/drivers/acpi/tables.c -@@ -526,6 +526,11 @@ void __init acpi_table_upgrade(void) +@@ -527,6 +527,11 @@ void __init acpi_table_upgrade(void) if (table_nr == 0) return; @@ -1095,12 +1474,12 @@ index 80ce2a7d224b..5cc13c42daf9 100644 memblock_find_in_range(0, ACPI_TABLE_UPGRADE_MAX_PHYS, all_tables_size, PAGE_SIZE); -- -2.13.6 +2.14.3 -From 547e2ca9cbfd420a15dd70e1c1c24b7040f88058 Mon Sep 17 00:00:00 2001 +From aa434c790a2581df5dc7973f2dc3a6a3234bd6b7 Mon Sep 17 00:00:00 2001 From: Linn Crosetto -Date: Wed, 24 May 2017 14:56:05 +0100 -Subject: [PATCH 17/26] acpi: Disable APEI error injection if the kernel is +Date: Tue, 27 Feb 2018 10:04:53 +0000 +Subject: [PATCH 18/31] acpi: Disable APEI error injection if the kernel is locked down ACPI provides an error injection mechanism, EINJ, for debugging and testing @@ -1141,12 +1520,12 @@ index b38737c83a24..6d71e1e97b20 100644 if (flags && (flags & ~(SETWA_FLAGS_APICID|SETWA_FLAGS_MEM|SETWA_FLAGS_PCIE_SBDF))) -- -2.13.6 +2.14.3 -From abbf8de44feab5f50b316d6491926d8d9029cb49 Mon Sep 17 00:00:00 2001 +From 5b76b160badb6e53f68a65f0374df700894559bb Mon Sep 17 00:00:00 2001 From: David Howells -Date: Wed, 24 May 2017 14:56:06 +0100 -Subject: [PATCH 18/26] scsi: Lock down the eata driver +Date: Tue, 27 Feb 2018 10:04:53 +0000 +Subject: [PATCH 19/31] scsi: Lock down the eata driver When the kernel is running in secure boot mode, we lock down the kernel to prevent userspace from modifying the running kernel image. Whilst this @@ -1186,12 +1565,12 @@ index 6501c330d8c8..72fceaa8f3da 100644 #if defined(MODULE) /* io_port could have been modified when loading as a module */ -- -2.13.6 +2.14.3 -From 116b02dff661d497c10099862b8b86e6cd2262ae Mon Sep 17 00:00:00 2001 +From ebdc673699d9732a1cccfc2f80e84402aa7ec0c9 Mon Sep 17 00:00:00 2001 From: David Howells -Date: Wed, 24 May 2017 14:56:06 +0100 -Subject: [PATCH 19/26] Prohibit PCMCIA CIS storage when the kernel is locked +Date: Tue, 27 Feb 2018 10:04:54 +0000 +Subject: [PATCH 20/31] Prohibit PCMCIA CIS storage when the kernel is locked down Prohibit replacement of the PCMCIA Card Information Structure when the @@ -1205,7 +1584,7 @@ cc: linux-pcmcia@lists.infradead.org 1 file changed, 3 insertions(+) diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c -index 55ef7d1fd8da..b7a0e42eeb25 100644 +index 102646fedb56..e46c948d7246 100644 --- a/drivers/pcmcia/cistpl.c +++ b/drivers/pcmcia/cistpl.c @@ -1578,6 +1578,9 @@ static ssize_t pccard_store_cis(struct file *filp, struct kobject *kobj, @@ -1219,12 +1598,12 @@ index 55ef7d1fd8da..b7a0e42eeb25 100644 if (off) -- -2.13.6 +2.14.3 -From f3dc03aa368cfde123bc1b60bda287091c9d43b4 Mon Sep 17 00:00:00 2001 +From 0f058a0aecf0aea70fc42905250bb2a0f195157a Mon Sep 17 00:00:00 2001 From: David Howells -Date: Wed, 24 May 2017 14:56:06 +0100 -Subject: [PATCH 20/26] Lock down TIOCSSERIAL +Date: Tue, 27 Feb 2018 10:04:54 +0000 +Subject: [PATCH 21/31] Lock down TIOCSSERIAL Lock down TIOCSSERIAL as that can be used to change the ioport and irq settings on a serial port. This only appears to be an issue for the serial @@ -1239,10 +1618,10 @@ cc: Jiri Slaby 1 file changed, 6 insertions(+) diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c -index 3a14cccbd7ff..41f0922ad842 100644 +index c8dde56b532b..7370f3d169fe 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c -@@ -842,6 +842,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port, +@@ -829,6 +829,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port, new_flags = (__force upf_t)new_info->flags; old_custom_divisor = uport->custom_divisor; @@ -1256,12 +1635,12 @@ index 3a14cccbd7ff..41f0922ad842 100644 retval = -EPERM; if (change_irq || change_port || -- -2.13.6 +2.14.3 -From 9d266defc89a73c6dcca3b67ad70b95ac99b8e53 Mon Sep 17 00:00:00 2001 +From e5a9ff56a0c1762ba2b3d3ea46b03cf2ba9d2c60 Mon Sep 17 00:00:00 2001 From: David Howells -Date: Wed, 24 May 2017 14:56:06 +0100 -Subject: [PATCH 21/26] Lock down module params that specify hardware +Date: Tue, 27 Feb 2018 10:04:54 +0000 +Subject: [PATCH 22/31] Lock down module params that specify hardware parameters (eg. ioport) Provided an annotation for module parameters that specify hardware @@ -1275,7 +1654,7 @@ Signed-off-by: David Howells 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/kernel/params.c b/kernel/params.c -index 60b2d8101355..422979adb60a 100644 +index cc9108c2a1fd..2c08c4aa376b 100644 --- a/kernel/params.c +++ b/kernel/params.c @@ -108,13 +108,19 @@ bool parameq(const char *a, const char *b) @@ -1312,7 +1691,7 @@ index 60b2d8101355..422979adb60a 100644 kernel_param_unlock(params[i].mod); return err; } -@@ -556,6 +564,12 @@ static ssize_t param_attr_show(struct module_attribute *mattr, +@@ -553,6 +561,12 @@ static ssize_t param_attr_show(struct module_attribute *mattr, return count; } @@ -1325,7 +1704,7 @@ index 60b2d8101355..422979adb60a 100644 /* sysfs always hands a nul-terminated string in buf. We rely on that. */ static ssize_t param_attr_store(struct module_attribute *mattr, struct module_kobject *mk, -@@ -568,8 +582,10 @@ static ssize_t param_attr_store(struct module_attribute *mattr, +@@ -565,8 +579,10 @@ static ssize_t param_attr_store(struct module_attribute *mattr, return -EPERM; kernel_param_lock(mk->mod); @@ -1339,12 +1718,12 @@ index 60b2d8101355..422979adb60a 100644 if (!err) return len; -- -2.13.6 +2.14.3 -From 17a8caed6507846edd0a7016cdcd97fe46cca263 Mon Sep 17 00:00:00 2001 +From 6733115594290091a00d19060893f2396e51832c Mon Sep 17 00:00:00 2001 From: David Howells -Date: Wed, 24 May 2017 14:56:07 +0100 -Subject: [PATCH 22/26] x86/mmiotrace: Lock down the testmmiotrace module +Date: Tue, 27 Feb 2018 10:04:54 +0000 +Subject: [PATCH 23/31] x86/mmiotrace: Lock down the testmmiotrace module The testmmiotrace module shouldn't be permitted when the kernel is locked down as it can be used to arbitrarily read and write MMIO space. @@ -1375,98 +1754,310 @@ index f6ae6830b341..bbaad357f5d7 100644 pr_err("you have to use the module argument mmio_address.\n"); pr_err("DO NOT LOAD THIS MODULE UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!\n"); -- -2.13.6 +2.14.3 + +From 69a17e04714182d314a7a7425f584ed3a54e065e Mon Sep 17 00:00:00 2001 +From: David Howells +Date: Tue, 27 Feb 2018 10:04:54 +0000 +Subject: [PATCH 24/31] Lock down /proc/kcore + +Disallow access to /proc/kcore when the kernel is locked down to prevent +access to cryptographic data. + +Signed-off-by: David Howells +Reviewed-by: James Morris +--- + fs/proc/kcore.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c +index d1e82761de81..cdebdee81719 100644 +--- a/fs/proc/kcore.c ++++ b/fs/proc/kcore.c +@@ -546,6 +546,8 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos) + + static int open_kcore(struct inode *inode, struct file *filp) + { ++ if (kernel_is_locked_down("/proc/kcore")) ++ return -EPERM; + if (!capable(CAP_SYS_RAWIO)) + return -EPERM; + +-- +2.14.3 + +From aa4a17515ea163cf0020d4a8c41302fb159b56ce Mon Sep 17 00:00:00 2001 +From: David Howells +Date: Tue, 27 Feb 2018 10:04:54 +0000 +Subject: [PATCH 25/31] Lock down kprobes + +Disallow the creation of kprobes when the kernel is locked down by +preventing their registration. This prevents kprobes from being used to +access kernel memory, either to make modifications or to steal crypto data. + +Reported-by: Alexei Starovoitov +Signed-off-by: David Howells +--- + kernel/kprobes.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/kernel/kprobes.c b/kernel/kprobes.c +index 102160ff5c66..4f5757732553 100644 +--- a/kernel/kprobes.c ++++ b/kernel/kprobes.c +@@ -1561,6 +1561,9 @@ int register_kprobe(struct kprobe *p) + struct module *probed_mod; + kprobe_opcode_t *addr; + ++ if (kernel_is_locked_down("Use of kprobes")) ++ return -EPERM; ++ + /* Adjust probe address from symbol */ + addr = kprobe_addr(p); + if (IS_ERR(addr)) +-- +2.14.3 + +From 78bb0059c3b8304a8d124b55feebc780fb3e0500 Mon Sep 17 00:00:00 2001 +From: David Howells +Date: Tue, 27 Feb 2018 10:04:55 +0000 +Subject: [PATCH 26/31] 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 +private keys in kernel memory (e.g. the hibernation image signing key) to +be read by an eBPF program and kernel memory to be altered without +restriction. + +Completely prohibit the use of BPF when the kernel is locked down. + +Suggested-by: Alexei Starovoitov +Signed-off-by: David Howells +cc: netdev@vger.kernel.org +cc: Chun-Yi Lee +cc: Alexei Starovoitov +--- + kernel/bpf/syscall.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c +index e24aa3241387..3ea87a004771 100644 +--- a/kernel/bpf/syscall.c ++++ b/kernel/bpf/syscall.c +@@ -1848,6 +1848,9 @@ SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, siz + if (sysctl_unprivileged_bpf_disabled && !capable(CAP_SYS_ADMIN)) + return -EPERM; + ++ if (kernel_is_locked_down("BPF")) ++ return -EPERM; ++ + err = check_uarg_tail_zero(uattr, sizeof(attr), size); + if (err) + return err; +-- +2.14.3 + +From 9d6d6000dffb44cb2269b26eafeb371345bd2297 Mon Sep 17 00:00:00 2001 +From: David Howells +Date: Tue, 27 Feb 2018 10:04:55 +0000 +Subject: [PATCH 27/31] Lock down perf + +Disallow the use of certain perf facilities that might allow userspace to +access kernel data. + +Signed-off-by: David Howells +--- + kernel/events/core.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/kernel/events/core.c b/kernel/events/core.c +index 96db9ae5d5af..1fba021d61d4 100644 +--- a/kernel/events/core.c ++++ b/kernel/events/core.c +@@ -9924,6 +9924,11 @@ SYSCALL_DEFINE5(perf_event_open, + return -EINVAL; + } + ++ if ((attr.sample_type & PERF_SAMPLE_REGS_INTR) && ++ kernel_is_locked_down("PERF_SAMPLE_REGS_INTR")) ++ /* REGS_INTR can leak data, lockdown must prevent this */ ++ return -EPERM; ++ + /* Only privileged users can get physical addresses */ + if ((attr.sample_type & PERF_SAMPLE_PHYS_ADDR) && + perf_paranoid_kernel() && !capable(CAP_SYS_ADMIN)) +-- +2.14.3 -From 79ae67bf5f7eda526abaa80b01b19e08c1ed3558 Mon Sep 17 00:00:00 2001 +From 3fc32260515837f4c87cb923513973f1e77ccef9 Mon Sep 17 00:00:00 2001 From: David Howells -Date: Wed, 18 Oct 2017 17:28:02 +0100 -Subject: [PATCH 23/26] debugfs: Disallow use of debugfs files when the kernel - is locked down +Date: Tue, 27 Feb 2018 10:04:55 +0000 +Subject: [PATCH 28/31] debugfs: Restrict debugfs when the kernel is locked + down + +Disallow opening of debugfs files that might be used to muck around when +the kernel is locked down as various drivers give raw access to hardware +through debugfs. Given the effort of auditing all 2000 or so files and +manually fixing each one as necessary, I've chosen to apply a heuristic +instead. The following changes are made: + + (1) chmod and chown are disallowed on debugfs objects (though the root dir + can be modified by mount and remount, but I'm not worried about that). -Disallow opening of debugfs files when the kernel is locked down as various -drivers give raw access to hardware through debugfs. + (2) When the kernel is locked down, only files with the following criteria + are permitted to be opened: -Accesses to tracefs should use /sys/kernel/tracing/ rather than -/sys/kernel/debug/tracing/. Possibly a symlink should be emplaced. + - The file must have mode 00444 + - The file must not have ioctl methods + - The file must not have mmap -Normal device interaction should be done through configfs or a miscdev, not -debugfs. + (3) When the kernel is locked down, files may only be opened for reading. + +Normal device interaction should be done through configfs, sysfs or a +miscdev, not debugfs. Note that this makes it unnecessary to specifically lock down show_dsts(), show_devs() and show_call() in the asus-wmi driver. +I would actually prefer to lock down all files by default and have the +the files unlocked by the creator. This is tricky to manage correctly, +though, as there are 19 creation functions and ~1600 call sites (some of +them in loops scanning tables). + Signed-off-by: David Howells cc: Andy Shevchenko cc: acpi4asus-user@lists.sourceforge.net cc: platform-driver-x86@vger.kernel.org -cc: Matthew Garrett +cc: Matthew Garrett cc: Thomas Gleixner --- - fs/debugfs/file.c | 6 ++++++ + fs/debugfs/file.c | 28 ++++++++++++++++++++++++++++ + fs/debugfs/inode.c | 30 ++++++++++++++++++++++++++++-- + 2 files changed, 56 insertions(+), 2 deletions(-) - 1 file changed, 6 insertions(+) diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c -index cd12e6576b48..097be2a59c51 100644 +index 1f99678ff5d3..51cb894c21f2 100644 --- a/fs/debugfs/file.c +++ b/fs/debugfs/file.c -@@ -142,6 +142,10 @@ static int open_proxy_open(struct inode *inode, struct file *filp) - const struct file_operations *real_fops = NULL; - int r; - -+ if (kernel_is_locked_down("debugfs")) -+ return -EPERM; +@@ -136,6 +136,25 @@ void debugfs_file_put(struct dentry *dentry) + } + EXPORT_SYMBOL_GPL(debugfs_file_put); + ++/* ++ * Only permit access to world-readable files when the kernel is locked down. ++ * We also need to exclude any file that has ways to write or alter it as root ++ * can bypass the permissions check. ++ */ ++static bool debugfs_is_locked_down(struct inode *inode, ++ struct file *filp, ++ const struct file_operations *real_fops) ++{ ++ if ((inode->i_mode & 07777) == 0444 && ++ !(filp->f_mode & FMODE_WRITE) && ++ !real_fops->unlocked_ioctl && ++ !real_fops->compat_ioctl && ++ !real_fops->mmap) ++ return false; + ++ return kernel_is_locked_down("debugfs"); ++} + - r = debugfs_file_get(dentry); - if (r) + static int open_proxy_open(struct inode *inode, struct file *filp) + { + struct dentry *dentry = F_DENTRY(filp); +@@ -147,6 +166,11 @@ static int open_proxy_open(struct inode *inode, struct file *filp) return r == -EIO ? -ENOENT : r; -@@ -267,6 +271,9 @@ static int full_proxy_open(struct inode *inode, struct file *filp) - struct file_operations *proxy_fops = NULL; - int r; - -+ if (kernel_is_locked_down("debugfs")) -+ return -EPERM; + + real_fops = debugfs_real_fops(filp); ++ ++ r = -EPERM; ++ if (debugfs_is_locked_down(inode, filp, real_fops)) ++ goto out; + - r = debugfs_file_get(dentry); - if (r) + real_fops = fops_get(real_fops); + if (!real_fops) { + /* Huh? Module did not clean up after itself at exit? */ +@@ -272,6 +296,10 @@ static int full_proxy_open(struct inode *inode, struct file *filp) return r == -EIO ? -ENOENT : r; --- -2.13.6 - -From 87ed5c02f0946c855730420cbf1daa6a2dfc54d7 Mon Sep 17 00:00:00 2001 -From: David Howells -Date: Thu, 19 Oct 2017 13:58:19 +0100 -Subject: [PATCH 24/26] Lock down /proc/kcore - -Disallow access to /proc/kcore when the kernel is locked down to prevent -access to cryptographic data. - -Signed-off-by: David Howells -Reviewed-by: James Morris ---- - fs/proc/kcore.c | 2 ++ - 1 file changed, 2 insertions(+) -diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c -index 45629f4b5402..176cf749e650 100644 ---- a/fs/proc/kcore.c -+++ b/fs/proc/kcore.c -@@ -549,6 +549,8 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos) + real_fops = debugfs_real_fops(filp); ++ r = -EPERM; ++ if (debugfs_is_locked_down(inode, filp, real_fops)) ++ goto out; ++ + real_fops = fops_get(real_fops); + if (!real_fops) { + /* Huh? Module did not cleanup after itself at exit? */ +diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c +index 63a998c3f252..ce261e1765ff 100644 +--- a/fs/debugfs/inode.c ++++ b/fs/debugfs/inode.c +@@ -32,6 +32,31 @@ static struct vfsmount *debugfs_mount; + static int debugfs_mount_count; + static bool debugfs_registered; - static int open_kcore(struct inode *inode, struct file *filp) - { -+ if (kernel_is_locked_down("/proc/kcore")) ++/* ++ * Don't allow access attributes to be changed whilst the kernel is locked down ++ * so that we can use the file mode as part of a heuristic to determine whether ++ * to lock down individual files. ++ */ ++static int debugfs_setattr(struct dentry *dentry, struct iattr *ia) ++{ ++ if ((ia->ia_valid & (ATTR_MODE | ATTR_UID | ATTR_GID)) && ++ kernel_is_locked_down("debugfs")) + return -EPERM; - if (!capable(CAP_SYS_RAWIO)) - return -EPERM; - ++ return simple_setattr(dentry, ia); ++} ++ ++static const struct inode_operations debugfs_file_inode_operations = { ++ .setattr = debugfs_setattr, ++}; ++static const struct inode_operations debugfs_dir_inode_operations = { ++ .lookup = simple_lookup, ++ .setattr = debugfs_setattr, ++}; ++static const struct inode_operations debugfs_symlink_inode_operations = { ++ .get_link = simple_get_link, ++ .setattr = debugfs_setattr, ++}; ++ + static struct inode *debugfs_get_inode(struct super_block *sb) + { + struct inode *inode = new_inode(sb); +@@ -359,6 +384,7 @@ static struct dentry *__debugfs_create_file(const char *name, umode_t mode, + inode->i_mode = mode; + inode->i_private = data; + ++ inode->i_op = &debugfs_file_inode_operations; + inode->i_fop = proxy_fops; + dentry->d_fsdata = (void *)((unsigned long)real_fops | + DEBUGFS_FSDATA_IS_REAL_FOPS_BIT); +@@ -516,7 +542,7 @@ struct dentry *debugfs_create_dir(const char *name, struct dentry *parent) + return failed_creating(dentry); + + inode->i_mode = S_IFDIR | S_IRWXU | S_IRUGO | S_IXUGO; +- inode->i_op = &simple_dir_inode_operations; ++ inode->i_op = &debugfs_dir_inode_operations; + inode->i_fop = &simple_dir_operations; + + /* directory inodes start off with i_nlink == 2 (for "." entry) */ +@@ -611,7 +637,7 @@ struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent, + return failed_creating(dentry); + } + inode->i_mode = S_IFLNK | S_IRWXUGO; +- inode->i_op = &simple_symlink_inode_operations; ++ inode->i_op = &debugfs_symlink_inode_operations; + inode->i_link = link; + d_instantiate(dentry, inode); + return end_creating(dentry); -- -2.13.6 +2.14.3 -From 2bce9ca3a24e0b35dcf665e6ba082f0a796c6aad Mon Sep 17 00:00:00 2001 +From 42b2c81c12a8e8139fc7252cf91151c37b5a0966 Mon Sep 17 00:00:00 2001 From: David Howells -Date: Thu, 19 Oct 2017 14:18:53 +0100 -Subject: [PATCH 25/26] efi: Add an EFI_SECURE_BOOT flag to indicate secure +Date: Tue, 27 Feb 2018 10:04:55 +0000 +Subject: [PATCH 29/31] efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode UEFI machines can be booted in Secure Boot mode. Add an EFI_SECURE_BOOT @@ -1489,10 +2080,10 @@ cc: linux-efi@vger.kernel.org create mode 100644 drivers/firmware/efi/secureboot.c diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 0957dd73d127..7c2162f9e769 100644 +index 1ae67e982af7..a7c240f00d78 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c -@@ -1197,19 +1197,7 @@ void __init setup_arch(char **cmdline_p) +@@ -1150,19 +1150,7 @@ void __init setup_arch(char **cmdline_p) /* Allocate bigger log buffer */ setup_log_buf(1); @@ -1514,10 +2105,10 @@ index 0957dd73d127..7c2162f9e769 100644 reserve_initrd(); diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile -index 0329d319d89a..883f9f7eefc6 100644 +index cb805374f4bc..da2b3e37b9f0 100644 --- a/drivers/firmware/efi/Makefile +++ b/drivers/firmware/efi/Makefile -@@ -23,6 +23,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_mem.o +@@ -24,6 +24,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_mem.o obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o obj-$(CONFIG_EFI_TEST) += test/ obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o @@ -1570,10 +2161,10 @@ index 000000000000..9070055de0a1 + } +} diff --git a/include/linux/efi.h b/include/linux/efi.h -index 66f4a4e79f4b..7c7a7e33e4d1 100644 +index f5083aa72eae..79da76d14ca3 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h -@@ -1103,6 +1103,14 @@ extern int __init efi_setup_pcdp_console(char *); +@@ -1142,6 +1142,14 @@ extern int __init efi_setup_pcdp_console(char *); #define EFI_DBG 8 /* Print additional debug info at runtime */ #define EFI_NX_PE_DATA 9 /* Can runtime data regions be mapped non-executable? */ #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */ @@ -1588,7 +2179,7 @@ index 66f4a4e79f4b..7c7a7e33e4d1 100644 #ifdef CONFIG_EFI /* -@@ -1115,6 +1123,7 @@ static inline bool efi_enabled(int feature) +@@ -1154,6 +1162,7 @@ static inline bool efi_enabled(int feature) extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused); extern bool efi_is_table_address(unsigned long phys_addr); @@ -1596,7 +2187,7 @@ index 66f4a4e79f4b..7c7a7e33e4d1 100644 #else static inline bool efi_enabled(int feature) { -@@ -1133,6 +1142,7 @@ static inline bool efi_is_table_address(unsigned long phys_addr) +@@ -1172,6 +1181,7 @@ static inline bool efi_is_table_address(unsigned long phys_addr) { return false; } @@ -1604,7 +2195,7 @@ index 66f4a4e79f4b..7c7a7e33e4d1 100644 #endif extern int efi_status_to_err(efi_status_t status); -@@ -1518,12 +1528,6 @@ efi_status_t efi_setup_gop(efi_system_table_t *sys_table_arg, +@@ -1557,12 +1567,6 @@ efi_status_t efi_setup_gop(efi_system_table_t *sys_table_arg, bool efi_runtime_disabled(void); extern void efi_call_virt_check_flags(unsigned long flags, const char *call); @@ -1618,12 +2209,12 @@ index 66f4a4e79f4b..7c7a7e33e4d1 100644 #ifdef CONFIG_RESET_ATTACK_MITIGATION -- -2.13.6 +2.14.3 -From 163d6a313399a4d50c5c7e42e3dd642ca8d495d7 Mon Sep 17 00:00:00 2001 +From d78bf678059f83e22bec8ada1a448e22b9b90203 Mon Sep 17 00:00:00 2001 From: David Howells -Date: Thu, 19 Oct 2017 14:05:02 +0100 -Subject: [PATCH 26/26] efi: Lock down the kernel if booted in secure boot mode +Date: Tue, 27 Feb 2018 10:04:55 +0000 +Subject: [PATCH 30/31] efi: Lock down the kernel if booted in secure boot mode UEFI Secure Boot provides a mechanism for ensuring that the firmware will only load signed bootloaders and kernels. Certain use cases may also @@ -1636,12 +2227,13 @@ Acked-by: Ard Biesheuvel cc: linux-efi@vger.kernel.org --- arch/x86/kernel/setup.c | 6 ++++-- + fs/debugfs/inode.c | 2 +- security/Kconfig | 14 ++++++++++++++ security/lock_down.c | 1 + - 3 files changed, 19 insertions(+), 2 deletions(-) + 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 7c2162f9e769..4e38327efb2e 100644 +index a7c240f00d78..1277d1857c5c 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -64,6 +64,7 @@ @@ -1652,7 +2244,7 @@ index 7c2162f9e769..4e38327efb2e 100644 #include #include -@@ -1039,6 +1040,9 @@ void __init setup_arch(char **cmdline_p) +@@ -997,6 +998,9 @@ void __init setup_arch(char **cmdline_p) if (efi_enabled(EFI_BOOT)) efi_init(); @@ -1662,7 +2254,7 @@ index 7c2162f9e769..4e38327efb2e 100644 dmi_scan_machine(); dmi_memdev_walk(); dmi_set_dump_stack_arch_desc(); -@@ -1197,8 +1201,6 @@ void __init setup_arch(char **cmdline_p) +@@ -1150,8 +1154,6 @@ void __init setup_arch(char **cmdline_p) /* Allocate bigger log buffer */ setup_log_buf(1); @@ -1671,11 +2263,24 @@ index 7c2162f9e769..4e38327efb2e 100644 reserve_initrd(); acpi_table_upgrade(); +diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c +index ce261e1765ff..7aff55b309a6 100644 +--- a/fs/debugfs/inode.c ++++ b/fs/debugfs/inode.c +@@ -40,7 +40,7 @@ static bool debugfs_registered; + static int debugfs_setattr(struct dentry *dentry, struct iattr *ia) + { + if ((ia->ia_valid & (ATTR_MODE | ATTR_UID | ATTR_GID)) && +- kernel_is_locked_down("debugfs")) ++ kernel_is_locked_down("changing perms in debugfs")) + return -EPERM; + return simple_setattr(dentry, ia); + } diff --git a/security/Kconfig b/security/Kconfig -index 453cc89c198a..974731ac4f85 100644 +index 461d5acc3616..13fdada1ffc2 100644 --- a/security/Kconfig +++ b/security/Kconfig -@@ -220,6 +220,20 @@ config ALLOW_LOCKDOWN_LIFT_BY_SYSRQ +@@ -248,6 +248,20 @@ config ALLOW_LOCKDOWN_LIFT_BY_SYSRQ Allow the lockdown on a kernel to be lifted, by pressing a SysRq key combination on a wired keyboard. @@ -1709,5 +2314,41 @@ index 2c6b00f0c229..527f7e51dc8d 100644 #ifdef CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ -- -2.13.6 +2.14.3 + +From 89bcd5b02f125335f74289c5f4ae03e9b893ab7f Mon Sep 17 00:00:00 2001 +From: David Howells +Date: Wed, 28 Feb 2018 14:43:03 +0000 +Subject: [PATCH 31/31] lockdown: Print current->comm in restriction messages + +Print the content of current->comm in messages generated by lockdown to +indicate a restriction that was hit. This makes it a bit easier to find +out what caused the message. + +The message now patterned something like: + + Lockdown: : is restricted; see man kernel_lockdown.7 + +Signed-off-by: David Howells +--- + security/lock_down.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/security/lock_down.c b/security/lock_down.c +index 527f7e51dc8d..4745278e0f3b 100644 +--- a/security/lock_down.c ++++ b/security/lock_down.c +@@ -60,8 +60,8 @@ void __init init_lockdown(void) + bool __kernel_is_locked_down(const char *what, bool first) + { + if (what && first && kernel_locked_down) +- pr_notice("Lockdown: %s is restricted; see man kernel_lockdown.7\n", +- what); ++ pr_notice("Lockdown: %s: %s is restricted; see man kernel_lockdown.7\n", ++ current->comm, what); + return kernel_locked_down; + } + EXPORT_SYMBOL(__kernel_is_locked_down); +-- +2.14.3 diff --git a/filter-aarch64.sh b/filter-aarch64.sh index d45da67..0bc7561 100644 --- a/filter-aarch64.sh +++ b/filter-aarch64.sh @@ -9,10 +9,10 @@ # modifications to the overrides below. If something should be removed across # all arches, remove it in the default instead of per-arch. -driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1" +driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia power ssb staging tty uio uwb w1" 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" -drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel radeon rockchip tegra sun4i tinydrm vc4" +drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel radeon rockchip tegra sun4i sun4i-drm-hdmi 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 2548933..f021c06 100644 --- a/filter-armv7hl.sh +++ b/filter-armv7hl.sh @@ -9,10 +9,10 @@ # modifications to the overrides below. If something should be removed across # all arches, remove it in the default instead of per-arch. -driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn media memstick message mwave nfc ntb pcmcia platform ssb staging tty uio uwb w1" +driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn media memstick message mwave nfc ntb pcmcia ssb staging tty uio uwb w1" 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 etnaviv hisilicon i2c imx meson mgag200 msm omapdrm panel nouveau radeon rockchip sti sun4i tegra tilcdc tinydrm via vc4" +drmdrvs="amd armada bridge ast exynos etnaviv hisilicon i2c imx meson mgag200 msm omapdrm panel nouveau radeon rockchip sti sun4i sun4i-drm-hdmi 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 bq27xxx_battery_hdq" diff --git a/iwlwifi-mvn.patch b/iwlwifi-mvn.patch deleted file mode 100644 index 28ca088..0000000 --- a/iwlwifi-mvn.patch +++ /dev/null @@ -1,115 +0,0 @@ -From f35978844e2eea1b2a6d4a2a6445d66528fc7a06 Mon Sep 17 00:00:00 2001 -From: Sara Sharon -Date: Tue, 29 Mar 2016 10:56:57 +0300 -Subject: [PATCH] iwlwifi: mvm: fix security bug in PN checking - -A previous patch allowed the same PN for packets originating from the -same AMSDU by copying PN only for the last packet in the series. - -This however is bogus since we cannot assume the last frame will be -received on the same queue, and if it is received on a different ueue -we will end up not incrementing the PN and possibly let the next -packet to have the same PN and pass through. - -Change the logic instead to driver explicitly indicate for the second -sub frame and on to be allowed to have the same PN as the first -subframe. Indicate it to mac80211 as well for the fallback queue. - -Fixes: f1ae02b186d9 ("iwlwifi: mvm: allow same PN for de-aggregated AMSDU") -Signed-off-by: Sara Sharon -Signed-off-by: Luca Coelho ---- - drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 39 ++++++++++++++------------- - 1 file changed, 20 insertions(+), 19 deletions(-) - -diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c -index 71d6660c48e1..4a4ccfd11e5b 100644 ---- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c -+++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c -@@ -71,6 +71,7 @@ static inline int iwl_mvm_check_pn(struct iwl_mvm *mvm, struct sk_buff *skb, - struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; - struct ieee80211_rx_status *stats = IEEE80211_SKB_RXCB(skb); - struct iwl_mvm_key_pn *ptk_pn; -+ int res; - u8 tid, keyidx; - u8 pn[IEEE80211_CCMP_PN_LEN]; - u8 *extiv; -@@ -127,12 +128,13 @@ static inline int iwl_mvm_check_pn(struct iwl_mvm *mvm, struct sk_buff *skb, - pn[4] = extiv[1]; - pn[5] = extiv[0]; - -- if (memcmp(pn, ptk_pn->q[queue].pn[tid], -- IEEE80211_CCMP_PN_LEN) <= 0) -+ res = memcmp(pn, ptk_pn->q[queue].pn[tid], IEEE80211_CCMP_PN_LEN); -+ if (res < 0) -+ return -1; -+ if (!res && !(stats->flag & RX_FLAG_ALLOW_SAME_PN)) - return -1; - -- if (!(stats->flag & RX_FLAG_AMSDU_MORE)) -- memcpy(ptk_pn->q[queue].pn[tid], pn, IEEE80211_CCMP_PN_LEN); -+ memcpy(ptk_pn->q[queue].pn[tid], pn, IEEE80211_CCMP_PN_LEN); - stats->flag |= RX_FLAG_PN_VALIDATED; - - return 0; -@@ -314,28 +316,21 @@ static void iwl_mvm_rx_csum(struct ieee80211_sta *sta, - } - - /* -- * returns true if a packet outside BA session is a duplicate and -- * should be dropped -+ * returns true if a packet is a duplicate and should be dropped. -+ * Updates AMSDU PN tracking info - */ --static bool iwl_mvm_is_nonagg_dup(struct ieee80211_sta *sta, int queue, -- struct ieee80211_rx_status *rx_status, -- struct ieee80211_hdr *hdr, -- struct iwl_rx_mpdu_desc *desc) -+static bool iwl_mvm_is_dup(struct ieee80211_sta *sta, int queue, -+ struct ieee80211_rx_status *rx_status, -+ struct ieee80211_hdr *hdr, -+ struct iwl_rx_mpdu_desc *desc) - { - struct iwl_mvm_sta *mvm_sta; - struct iwl_mvm_rxq_dup_data *dup_data; -- u8 baid, tid, sub_frame_idx; -+ u8 tid, sub_frame_idx; - - if (WARN_ON(IS_ERR_OR_NULL(sta))) - return false; - -- baid = (le32_to_cpu(desc->reorder_data) & -- IWL_RX_MPDU_REORDER_BAID_MASK) >> -- IWL_RX_MPDU_REORDER_BAID_SHIFT; -- -- if (baid != IWL_RX_REORDER_DATA_INVALID_BAID) -- return false; -- - mvm_sta = iwl_mvm_sta_from_mac80211(sta); - dup_data = &mvm_sta->dup_data[queue]; - -@@ -365,6 +360,12 @@ static bool iwl_mvm_is_nonagg_dup(struct ieee80211_sta *sta, int queue, - dup_data->last_sub_frame[tid] >= sub_frame_idx)) - return true; - -+ /* Allow same PN as the first subframe for following sub frames */ -+ if (dup_data->last_seq[tid] == hdr->seq_ctrl && -+ sub_frame_idx > dup_data->last_sub_frame[tid] && -+ desc->mac_flags2 & IWL_RX_MPDU_MFLG2_AMSDU) -+ rx_status->flag |= RX_FLAG_ALLOW_SAME_PN; -+ - dup_data->last_seq[tid] = hdr->seq_ctrl; - dup_data->last_sub_frame[tid] = sub_frame_idx; - -@@ -981,7 +982,7 @@ void iwl_mvm_rx_mpdu_mq(struct iwl_mvm *mvm, struct napi_struct *napi, - if (ieee80211_is_data(hdr->frame_control)) - iwl_mvm_rx_csum(sta, skb, desc); - -- if (iwl_mvm_is_nonagg_dup(sta, queue, rx_status, hdr, desc)) { -+ if (iwl_mvm_is_dup(sta, queue, rx_status, hdr, desc)) { - kfree_skb(skb); - goto out; - } --- -2.15.1 - diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config index aeec3eb..6b55f3b 100644 --- a/kernel-aarch64-debug.config +++ b/kernel-aarch64-debug.config @@ -67,6 +67,7 @@ CONFIG_ACPI_NUMA=y CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_PROCFS_POWER=y +CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_THERMAL=y CONFIG_ACPI_WATCHDOG=y @@ -242,7 +243,7 @@ CONFIG_ARCH_THUNDER=y CONFIG_ARCH_VEXPRESS=y CONFIG_ARCH_XGENE=y # CONFIG_ARCH_ZX is not set -# CONFIG_ARCH_ZYNQMP is not set +CONFIG_ARCH_ZYNQMP=y # CONFIG_ARCNET is not set CONFIG_ARM64_4K_PAGES=y CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y @@ -258,10 +259,11 @@ CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_HW_AFDBM=y CONFIG_ARM64_LSE_ATOMICS=y CONFIG_ARM64_PAN=y -# CONFIG_ARM64_PMEM is not set +CONFIG_ARM64_PMEM=y CONFIG_ARM64_PTDUMP_DEBUGFS=y CONFIG_ARM64_PTDUMP=y # CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set +CONFIG_ARM64_RAS_EXTN=y # CONFIG_ARM64_RELOC_TEST is not set CONFIG_ARM64_SVE=y CONFIG_ARM64_SW_TTBR0_PAN=y @@ -275,7 +277,8 @@ CONFIG_ARMADA_THERMAL=m CONFIG_ARM_AMBA=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER=y -# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +CONFIG_ARM_ARMADA_37XX_CPUFREQ=m +CONFIG_ARM_BIG_LITTLE_CPUFREQ=m # CONFIG_ARM_BIG_LITTLE_CPUIDLE is not set CONFIG_ARM_CCI400_PMU=y CONFIG_ARM_CCI5xx_PMU=y @@ -286,6 +289,7 @@ CONFIG_ARM_CPUIDLE=y CONFIG_ARM_CRYPTO=y CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8 CONFIG_ARM_DMA_USE_IOMMU=y +CONFIG_ARM_DSU_PMU=m # CONFIG_ARM_DT_BL_CPUFREQ is not set CONFIG_ARM_GIC_V2M=y CONFIG_ARM_GIC_V3_ITS=y @@ -297,11 +301,14 @@ CONFIG_ARM_PL172_MPMC=m CONFIG_ARM_PMU=y # CONFIG_ARM_PSCI_CHECKER is not set CONFIG_ARM_PSCI=y +# CONFIG_ARM_PTDUMP_DEBUGFS is not set # CONFIG_ARM_PTDUMP is not set CONFIG_ARM_RK3399_DMC_DEVFREQ=m CONFIG_ARM_SBSA_WATCHDOG=m +CONFIG_ARM_SCPI_CPUFREQ=m CONFIG_ARM_SCPI_POWER_DOMAIN=m CONFIG_ARM_SCPI_PROTOCOL=m +CONFIG_ARM_SDE_INTERFACE=y CONFIG_ARM_SMMU_V3=y CONFIG_ARM_SMMU=y CONFIG_ARM_SP805_WATCHDOG=m @@ -333,6 +340,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -346,6 +354,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -542,6 +551,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -597,6 +607,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -766,6 +777,7 @@ CONFIG_CAVIUM_ERRATUM_23144=y CONFIG_CAVIUM_ERRATUM_23154=y CONFIG_CAVIUM_ERRATUM_27456=y CONFIG_CAVIUM_ERRATUM_30115=y +CONFIG_CAVIUM_PTP=m CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set @@ -828,6 +840,7 @@ CONFIG_CHARGER_SMB347=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -853,6 +866,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -1071,11 +1085,14 @@ CONFIG_CRYPTO_SHA256_ARM64=y CONFIG_CRYPTO_SHA256_ARM=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA2_ARM64_CE=y +CONFIG_CRYPTO_SHA3_ARM64=m CONFIG_CRYPTO_SHA3=m +CONFIG_CRYPTO_SHA512_ARM64_CE=m CONFIG_CRYPTO_SHA512_ARM64=m CONFIG_CRYPTO_SHA512_ARM=y CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_SIMD=y +CONFIG_CRYPTO_SM3_ARM64_CE=m CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TEST=m @@ -1162,7 +1179,6 @@ CONFIG_DEBUG_SECTION_MISMATCH=y CONFIG_DEBUG_SET_MODULE_RONX=y CONFIG_DEBUG_SG=y CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_STACK_USAGE=y @@ -1245,6 +1261,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1284,7 +1301,6 @@ CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_CEC=m CONFIG_DRM_DW_HDMI_I2S_AUDIO=m CONFIG_DRM_DW_HDMI=m -CONFIG_DRM_ETNAVIV_THERMAL=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_HDLCD=m @@ -1321,6 +1337,7 @@ CONFIG_DRM_MSM=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m CONFIG_DRM_NXP_PTN3460=m +CONFIG_DRM_PANEL_ILITEK_IL9322=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_LG_LG4573=m @@ -1405,6 +1422,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1418,6 +1436,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1562,6 +1581,7 @@ CONFIG_F2FS_FS_SECURITY=y CONFIG_F2FS_FS_XATTR=y # CONFIG_F2FS_IO_TRACE is not set CONFIG_F2FS_STAT_FS=y +CONFIG_FAIL_FUNCTION=y # CONFIG_FAIL_FUTEX is not set CONFIG_FAIL_IO_TIMEOUT=y CONFIG_FAIL_MAKE_REQUEST=y @@ -1648,12 +1668,14 @@ CONFIG_FB_VIRTUAL=m # CONFIG_FB_VOODOO1 is not set # CONFIG_FB_VT8623 is not set # CONFIG_FB_XGI is not set +CONFIG_FB_XILINX=m CONFIG_FB=y CONFIG_FCOE_FNIC=m CONFIG_FCOE=m # CONFIG_FDDI is not set CONFIG_FEALNX=m CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set # CONFIG_FIREWIRE is not set CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1703,6 +1725,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set CONFIG_FTRACE_SYSCALLS=y CONFIG_FTRACE=y +# CONFIG_FTWDT010_WATCHDOG is not set # CONFIG_FUJITSU_ES is not set # CONFIG_FUNCTION_GRAPH_TRACER is not set CONFIG_FUNCTION_PROFILER=y @@ -1785,9 +1808,11 @@ CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set CONFIG_GPIO_PL061=y +CONFIG_GPIO_RASPBERRYPI_EXP=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SCH311X is not set # CONFIG_GPIO_SX150X is not set @@ -1808,6 +1833,7 @@ CONFIG_GPIO_XGENE=y # CONFIG_GPIO_XILINX is not set CONFIG_GPIO_XLP=m # CONFIG_GPIO_XRA1403 is not set +CONFIG_GPIO_ZYNQ=m CONFIG_GREENASIA_FF=y # CONFIG_GREYBUS is not set # CONFIG_GS_FPGABOOT is not set @@ -1817,6 +1843,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y @@ -1864,6 +1891,7 @@ CONFIG_HID_GYRATION=m CONFIG_HID_HOLTEK=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -2016,7 +2044,7 @@ CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_MSM=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM_XGENE=m CONFIG_HW_RANDOM=y @@ -2058,6 +2086,7 @@ CONFIG_I2C_DESIGNWARE_SLAVE=y CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set # CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set CONFIG_I2C_GPIO=m CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_HID=m @@ -2144,6 +2173,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2331,6 +2361,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2463,7 +2494,6 @@ CONFIG_IPVTAP=m # CONFIG_IPW2200_DEBUG is not set # CONFIG_IPW2200 is not set CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2730,6 +2760,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2762,6 +2793,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2795,11 +2827,11 @@ CONFIG_LIBNVDIMM=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2952,6 +2984,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -3000,6 +3033,7 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set +CONFIG_MFD_CROS_EC_CHARDEV=m CONFIG_MFD_CROS_EC_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_SPI=m @@ -3042,8 +3076,6 @@ CONFIG_MFD_QCOM_RPM=m CONFIG_MFD_RK808=m # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -3095,6 +3127,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -3124,6 +3158,7 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -3147,6 +3182,7 @@ CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CAVIUM_THUNDERX=m CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_DW_EXYNOS is not set CONFIG_MMC_DW_K3=m @@ -3250,6 +3286,7 @@ CONFIG_MSM_MMCC_8974=m CONFIG_MSM_MMCC_8996=m CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AFS_PARTS is not set # CONFIG_MTD_AR7_PARTS is not set @@ -3289,6 +3326,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_NAND_ECC_BCH is not set # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND is not set +CONFIG_MTD_NAND_MARVELL=m # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_OXNAS is not set CONFIG_MTD_NAND_PXA3xx=m @@ -3408,9 +3446,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3595,6 +3635,7 @@ CONFIG_NET_VENDOR_BROADCOM=y CONFIG_NET_VENDOR_CAVIUM=y CONFIG_NET_VENDOR_CHELSIO=y # CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_NET_VENDOR_CORTINA is not set # CONFIG_NET_VENDOR_DEC is not set CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3628,6 +3669,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y CONFIG_NET_VENDOR_SNI=y +CONFIG_NET_VENDOR_SOCIONEXT=y # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y # CONFIG_NET_VENDOR_SUN is not set @@ -3706,6 +3748,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3767,6 +3813,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -4008,6 +4055,7 @@ CONFIG_PCIEAER=y CONFIG_PCIE_ARMADA_8K=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y CONFIG_PCIE_DW_HOST_ECAM=y CONFIG_PCIE_DW_HOST=y @@ -4022,6 +4070,7 @@ CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCIE_QCOM=y CONFIG_PCIE_ROCKCHIP=y +CONFIG_PCIE_XILINX_NWL=y # CONFIG_PCI_FTPCI100 is not set CONFIG_PCI_HERMES=m CONFIG_PCI_HISI=y @@ -4108,6 +4157,7 @@ CONFIG_PINCONF=y CONFIG_PINCTRL_AMD=y # CONFIG_PINCTRL_APQ8064 is not set # CONFIG_PINCTRL_APQ8084 is not set +CONFIG_PINCTRL_AXP209=m # CONFIG_PINCTRL_BAYTRAIL is not set # CONFIG_PINCTRL_BROXTON is not set # CONFIG_PINCTRL_CANNONLAKE is not set @@ -4122,6 +4172,7 @@ CONFIG_PINCTRL_MAX77620=m # CONFIG_PINCTRL_MDM9615 is not set # CONFIG_PINCTRL_MESON8B is not set # CONFIG_PINCTRL_MESON8 is not set +CONFIG_PINCTRL_MESON_AXG=y # CONFIG_PINCTRL_MESON_GXBB is not set # CONFIG_PINCTRL_MESON_GXL is not set # CONFIG_PINCTRL_MSM8660 is not set @@ -4129,6 +4180,7 @@ CONFIG_PINCTRL_MSM8916=y # CONFIG_PINCTRL_MSM8960 is not set # CONFIG_PINCTRL_MSM8994 is not set CONFIG_PINCTRL_MSM8996=y +CONFIG_PINCTRL_MSM8998=m # CONFIG_PINCTRL_MSM8X74 is not set CONFIG_PINCTRL_MSM=y CONFIG_PINCTRL_MVEBU=y @@ -4255,9 +4307,11 @@ CONFIG_PWRSEQ_SIMPLE=y # CONFIG_QCA7000 is not set # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +CONFIG_QCOM_A53PLL=m CONFIG_QCOM_ADSP_PIL=m CONFIG_QCOM_APCS_IPC=m CONFIG_QCOM_BAM_DMA=y +CONFIG_QCOM_CLK_APCS_MSM8916=m CONFIG_QCOM_CLK_RPM=m CONFIG_QCOM_CLK_SMD_RPM=m CONFIG_QCOM_COINCELL=m @@ -4350,6 +4404,7 @@ CONFIG_RANDOMIZE_MODULE_REGION_FULL=y CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4540,6 +4595,7 @@ CONFIG_RTC_DRV_ARMADA38X=m CONFIG_RTC_DRV_BQ32K=m CONFIG_RTC_DRV_BQ4802=m CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_CROS_EC=m CONFIG_RTC_DRV_DS1286=m # CONFIG_RTC_DRV_DS1302 is not set CONFIG_RTC_DRV_DS1305=m @@ -4621,7 +4677,7 @@ CONFIG_RTC_DRV_WM831X=m CONFIG_RTC_DRV_WM8350=m CONFIG_RTC_DRV_X1205=m CONFIG_RTC_DRV_XGENE=m -# CONFIG_RTC_DRV_ZYNQMP is not set +CONFIG_RTC_DRV_ZYNQMP=m # CONFIG_RTC_DS1685_PROC_REGS is not set CONFIG_RTC_DS1685_SYSFS_REGS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" @@ -4658,6 +4714,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m # CONFIG_SAMPLES is not set # CONFIG_SAMSUNG_USBPHY is not set @@ -4806,6 +4863,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4984,6 +5042,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -5082,6 +5141,7 @@ CONFIG_SH_ETH=m # CONFIG_SIGMA is not set CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SIMPLE_PM_BUS=y +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -5094,6 +5154,8 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +CONFIG_SLIMBUS=m +CONFIG_SLIM_QCOM_CTRL=m CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -5318,6 +5380,7 @@ 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_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -5330,6 +5393,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set CONFIG_SND_SOC_PCM512x_I2C=m @@ -5360,6 +5425,7 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m CONFIG_SND_SOC_TEGRA20_AC97=m CONFIG_SND_SOC_TEGRA20_DAS=m CONFIG_SND_SOC_TEGRA20_I2S=m @@ -5380,9 +5446,12 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5452,6 +5521,9 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPARSE_RCU_POINTER=y @@ -5499,8 +5571,9 @@ CONFIG_SPI_THUNDERX=m # CONFIG_SPI_XILINX is not set CONFIG_SPI_XLP=m CONFIG_SPI=y -# CONFIG_SPI_ZYNQMP_GQSPI is not set +CONFIG_SPI_ZYNQMP_GQSPI=m CONFIG_SPMI_MSM_PMIC_ARB=y +CONFIG_SPMI_PMIC_CLKDIV=m CONFIG_SPMI=y # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set @@ -5547,7 +5620,11 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_STUB_CLK_HI3660=y CONFIG_STUB_CLK_HI6220=y +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m # CONFIG_SUN4I_EMAC is not set CONFIG_SUN4I_GPADC=m CONFIG_SUN50I_A64_CCU=y @@ -5667,6 +5744,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y CONFIG_TEGRA_IVC=y CONFIG_TEGRA_MC=y CONFIG_TEGRA_SOCTHERM=m +CONFIG_TEGRA_VDE=m CONFIG_TEGRA_WATCHDOG=m CONFIG_TEHUTI=m CONFIG_TELCLOCK=m @@ -5730,11 +5808,12 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set +CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_MI0283QT=m CONFIG_TINYDRM_MIPI_DBI=m # CONFIG_TINYDRM_REPAPER is not set # CONFIG_TINYDRM_ST7586 is not set +CONFIG_TINYDRM_ST7735R=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5893,6 +5972,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -6119,7 +6199,7 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m # CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set +CONFIG_USB_OTG_FSM=m # CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_OTG=y # CONFIG_USB_OXU210HP_HCD is not set @@ -6257,6 +6337,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_MVEBU=m CONFIG_USB_XHCI_PLATFORM=m @@ -6417,6 +6498,7 @@ CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -6557,8 +6639,9 @@ CONFIG_XGENE_PMU=y CONFIG_XGENE_SLIMPRO_MBOX=m # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set -# CONFIG_XILINX_ZYNQMP_DMA is not set +CONFIG_XILINX_ZYNQMP_DMA=m CONFIG_XILLYBUS=m # CONFIG_XILLYBUS_OF is not set CONFIG_XILLYBUS_PCIE=m @@ -6582,6 +6665,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-aarch64.config b/kernel-aarch64.config index 332e106..8bde68a 100644 --- a/kernel-aarch64.config +++ b/kernel-aarch64.config @@ -67,6 +67,7 @@ CONFIG_ACPI_NUMA=y CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_PROCFS_POWER=y +CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_THERMAL=y CONFIG_ACPI_WATCHDOG=y @@ -242,7 +243,7 @@ CONFIG_ARCH_THUNDER=y CONFIG_ARCH_VEXPRESS=y CONFIG_ARCH_XGENE=y # CONFIG_ARCH_ZX is not set -# CONFIG_ARCH_ZYNQMP is not set +CONFIG_ARCH_ZYNQMP=y # CONFIG_ARCNET is not set CONFIG_ARM64_4K_PAGES=y CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y @@ -258,10 +259,11 @@ CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_HW_AFDBM=y CONFIG_ARM64_LSE_ATOMICS=y CONFIG_ARM64_PAN=y -# CONFIG_ARM64_PMEM is not set +CONFIG_ARM64_PMEM=y CONFIG_ARM64_PTDUMP_DEBUGFS=y # CONFIG_ARM64_PTDUMP is not set # CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set +CONFIG_ARM64_RAS_EXTN=y # CONFIG_ARM64_RELOC_TEST is not set CONFIG_ARM64_SVE=y CONFIG_ARM64_SW_TTBR0_PAN=y @@ -275,7 +277,8 @@ CONFIG_ARMADA_THERMAL=m CONFIG_ARM_AMBA=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER=y -# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +CONFIG_ARM_ARMADA_37XX_CPUFREQ=m +CONFIG_ARM_BIG_LITTLE_CPUFREQ=m # CONFIG_ARM_BIG_LITTLE_CPUIDLE is not set CONFIG_ARM_CCI400_PMU=y CONFIG_ARM_CCI5xx_PMU=y @@ -286,6 +289,7 @@ CONFIG_ARM_CPUIDLE=y CONFIG_ARM_CRYPTO=y CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8 CONFIG_ARM_DMA_USE_IOMMU=y +CONFIG_ARM_DSU_PMU=m # CONFIG_ARM_DT_BL_CPUFREQ is not set CONFIG_ARM_GIC_V2M=y CONFIG_ARM_GIC_V3_ITS=y @@ -297,11 +301,14 @@ CONFIG_ARM_PL172_MPMC=m CONFIG_ARM_PMU=y # CONFIG_ARM_PSCI_CHECKER is not set CONFIG_ARM_PSCI=y +# CONFIG_ARM_PTDUMP_DEBUGFS is not set # CONFIG_ARM_PTDUMP is not set CONFIG_ARM_RK3399_DMC_DEVFREQ=m CONFIG_ARM_SBSA_WATCHDOG=m +CONFIG_ARM_SCPI_CPUFREQ=m CONFIG_ARM_SCPI_POWER_DOMAIN=m CONFIG_ARM_SCPI_PROTOCOL=m +CONFIG_ARM_SDE_INTERFACE=y CONFIG_ARM_SMMU_V3=y CONFIG_ARM_SMMU=y CONFIG_ARM_SP805_WATCHDOG=m @@ -333,6 +340,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -346,6 +354,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -542,6 +551,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -597,6 +607,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +# CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -766,6 +777,7 @@ CONFIG_CAVIUM_ERRATUM_23144=y CONFIG_CAVIUM_ERRATUM_23154=y CONFIG_CAVIUM_ERRATUM_27456=y CONFIG_CAVIUM_ERRATUM_30115=y +CONFIG_CAVIUM_PTP=m CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set @@ -828,6 +840,7 @@ CONFIG_CHARGER_SMB347=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -853,6 +866,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -1070,11 +1084,14 @@ CONFIG_CRYPTO_SHA256_ARM64=y CONFIG_CRYPTO_SHA256_ARM=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA2_ARM64_CE=y +CONFIG_CRYPTO_SHA3_ARM64=m CONFIG_CRYPTO_SHA3=m +CONFIG_CRYPTO_SHA512_ARM64_CE=m CONFIG_CRYPTO_SHA512_ARM64=m CONFIG_CRYPTO_SHA512_ARM=y CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_SIMD=y +CONFIG_CRYPTO_SM3_ARM64_CE=m CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TEST=m @@ -1154,7 +1171,6 @@ CONFIG_DEBUG_SECTION_MISMATCH=y CONFIG_DEBUG_SET_MODULE_RONX=y # CONFIG_DEBUG_SG is not set CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set @@ -1235,6 +1251,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1274,7 +1291,6 @@ CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_CEC=m CONFIG_DRM_DW_HDMI_I2S_AUDIO=m CONFIG_DRM_DW_HDMI=m -CONFIG_DRM_ETNAVIV_THERMAL=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_HDLCD=m @@ -1311,6 +1327,7 @@ CONFIG_DRM_MSM=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m CONFIG_DRM_NXP_PTN3460=m +CONFIG_DRM_PANEL_ILITEK_IL9322=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_LG_LG4573=m @@ -1395,6 +1412,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1408,6 +1426,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1631,12 +1650,14 @@ CONFIG_FB_VIRTUAL=m # CONFIG_FB_VOODOO1 is not set # CONFIG_FB_VT8623 is not set # CONFIG_FB_XGI is not set +CONFIG_FB_XILINX=m CONFIG_FB=y CONFIG_FCOE_FNIC=m CONFIG_FCOE=m # CONFIG_FDDI is not set CONFIG_FEALNX=m CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set # CONFIG_FIREWIRE is not set CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1686,6 +1707,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set CONFIG_FTRACE_SYSCALLS=y CONFIG_FTRACE=y +# CONFIG_FTWDT010_WATCHDOG is not set # CONFIG_FUJITSU_ES is not set # CONFIG_FUNCTION_GRAPH_TRACER is not set CONFIG_FUNCTION_PROFILER=y @@ -1768,9 +1790,11 @@ CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set CONFIG_GPIO_PL061=y +CONFIG_GPIO_RASPBERRYPI_EXP=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SCH311X is not set # CONFIG_GPIO_SX150X is not set @@ -1791,6 +1815,7 @@ CONFIG_GPIO_XGENE=y # CONFIG_GPIO_XILINX is not set CONFIG_GPIO_XLP=m # CONFIG_GPIO_XRA1403 is not set +CONFIG_GPIO_ZYNQ=m CONFIG_GREENASIA_FF=y # CONFIG_GREYBUS is not set # CONFIG_GS_FPGABOOT is not set @@ -1800,6 +1825,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y @@ -1847,6 +1873,7 @@ CONFIG_HID_GYRATION=m CONFIG_HID_HOLTEK=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1999,7 +2026,7 @@ CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_MSM=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM_XGENE=m CONFIG_HW_RANDOM=y @@ -2041,6 +2068,7 @@ CONFIG_I2C_DESIGNWARE_SLAVE=y CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set # CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set CONFIG_I2C_GPIO=m CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_HID=m @@ -2127,6 +2155,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2314,6 +2343,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2446,7 +2476,6 @@ CONFIG_IPVTAP=m # CONFIG_IPW2200_DEBUG is not set # CONFIG_IPW2200 is not set CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2711,6 +2740,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2743,6 +2773,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2776,11 +2807,11 @@ CONFIG_LIBNVDIMM=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2932,6 +2963,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2980,6 +3012,7 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set +CONFIG_MFD_CROS_EC_CHARDEV=m CONFIG_MFD_CROS_EC_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_SPI=m @@ -3022,8 +3055,6 @@ CONFIG_MFD_QCOM_RPM=m CONFIG_MFD_RK808=m # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -3075,6 +3106,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -3104,6 +3137,7 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -3127,6 +3161,7 @@ CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CAVIUM_THUNDERX=m CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_DW_EXYNOS is not set CONFIG_MMC_DW_K3=m @@ -3229,6 +3264,7 @@ CONFIG_MSM_MMCC_8974=m CONFIG_MSM_MMCC_8996=m CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AFS_PARTS is not set # CONFIG_MTD_AR7_PARTS is not set @@ -3268,6 +3304,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_NAND_ECC_BCH is not set # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND is not set +CONFIG_MTD_NAND_MARVELL=m # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_OXNAS is not set CONFIG_MTD_NAND_PXA3xx=m @@ -3387,9 +3424,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3574,6 +3613,7 @@ CONFIG_NET_VENDOR_BROADCOM=y CONFIG_NET_VENDOR_CAVIUM=y CONFIG_NET_VENDOR_CHELSIO=y # CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_NET_VENDOR_CORTINA is not set # CONFIG_NET_VENDOR_DEC is not set CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3607,6 +3647,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y CONFIG_NET_VENDOR_SNI=y +CONFIG_NET_VENDOR_SOCIONEXT=y # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y # CONFIG_NET_VENDOR_SUN is not set @@ -3685,6 +3726,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3746,6 +3791,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3987,6 +4033,7 @@ CONFIG_PCIEAER=y CONFIG_PCIE_ARMADA_8K=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y CONFIG_PCIE_DW_HOST_ECAM=y CONFIG_PCIE_DW_HOST=y @@ -4001,6 +4048,7 @@ CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCIE_QCOM=y CONFIG_PCIE_ROCKCHIP=y +CONFIG_PCIE_XILINX_NWL=y # CONFIG_PCI_FTPCI100 is not set CONFIG_PCI_HERMES=m CONFIG_PCI_HISI=y @@ -4087,6 +4135,7 @@ CONFIG_PINCONF=y CONFIG_PINCTRL_AMD=y # CONFIG_PINCTRL_APQ8064 is not set # CONFIG_PINCTRL_APQ8084 is not set +CONFIG_PINCTRL_AXP209=m # CONFIG_PINCTRL_BAYTRAIL is not set # CONFIG_PINCTRL_BROXTON is not set # CONFIG_PINCTRL_CANNONLAKE is not set @@ -4101,6 +4150,7 @@ CONFIG_PINCTRL_MAX77620=m # CONFIG_PINCTRL_MDM9615 is not set # CONFIG_PINCTRL_MESON8B is not set # CONFIG_PINCTRL_MESON8 is not set +CONFIG_PINCTRL_MESON_AXG=y # CONFIG_PINCTRL_MESON_GXBB is not set # CONFIG_PINCTRL_MESON_GXL is not set # CONFIG_PINCTRL_MSM8660 is not set @@ -4108,6 +4158,7 @@ CONFIG_PINCTRL_MSM8916=y # CONFIG_PINCTRL_MSM8960 is not set # CONFIG_PINCTRL_MSM8994 is not set CONFIG_PINCTRL_MSM8996=y +CONFIG_PINCTRL_MSM8998=m # CONFIG_PINCTRL_MSM8X74 is not set CONFIG_PINCTRL_MSM=y CONFIG_PINCTRL_MVEBU=y @@ -4233,9 +4284,11 @@ CONFIG_PWRSEQ_SIMPLE=y # CONFIG_QCA7000 is not set # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +CONFIG_QCOM_A53PLL=m CONFIG_QCOM_ADSP_PIL=m CONFIG_QCOM_APCS_IPC=m CONFIG_QCOM_BAM_DMA=y +CONFIG_QCOM_CLK_APCS_MSM8916=m CONFIG_QCOM_CLK_RPM=m CONFIG_QCOM_CLK_SMD_RPM=m CONFIG_QCOM_COINCELL=m @@ -4328,6 +4381,7 @@ CONFIG_RANDOMIZE_MODULE_REGION_FULL=y CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4518,6 +4572,7 @@ CONFIG_RTC_DRV_ARMADA38X=m CONFIG_RTC_DRV_BQ32K=m CONFIG_RTC_DRV_BQ4802=m CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_CROS_EC=m CONFIG_RTC_DRV_DS1286=m # CONFIG_RTC_DRV_DS1302 is not set CONFIG_RTC_DRV_DS1305=m @@ -4599,7 +4654,7 @@ CONFIG_RTC_DRV_WM831X=m CONFIG_RTC_DRV_WM8350=m CONFIG_RTC_DRV_X1205=m CONFIG_RTC_DRV_XGENE=m -# CONFIG_RTC_DRV_ZYNQMP is not set +CONFIG_RTC_DRV_ZYNQMP=m # CONFIG_RTC_DS1685_PROC_REGS is not set CONFIG_RTC_DS1685_SYSFS_REGS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" @@ -4636,6 +4691,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m # CONFIG_SAMPLES is not set # CONFIG_SAMSUNG_USBPHY is not set @@ -4784,6 +4840,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4962,6 +5019,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -5060,6 +5118,7 @@ CONFIG_SH_ETH=m # CONFIG_SIGMA is not set CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SIMPLE_PM_BUS=y +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -5072,6 +5131,8 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +CONFIG_SLIMBUS=m +CONFIG_SLIM_QCOM_CTRL=m CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -5295,6 +5356,7 @@ 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_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -5307,6 +5369,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set CONFIG_SND_SOC_PCM512x_I2C=m @@ -5337,6 +5401,7 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m CONFIG_SND_SOC_TEGRA20_AC97=m CONFIG_SND_SOC_TEGRA20_DAS=m CONFIG_SND_SOC_TEGRA20_I2S=m @@ -5357,9 +5422,12 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5429,6 +5497,9 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPARSE_RCU_POINTER=y @@ -5476,8 +5547,9 @@ CONFIG_SPI_THUNDERX=m # CONFIG_SPI_XILINX is not set CONFIG_SPI_XLP=m CONFIG_SPI=y -# CONFIG_SPI_ZYNQMP_GQSPI is not set +CONFIG_SPI_ZYNQMP_GQSPI=m CONFIG_SPMI_MSM_PMIC_ARB=y +CONFIG_SPMI_PMIC_CLKDIV=m CONFIG_SPMI=y # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set @@ -5524,7 +5596,11 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_STUB_CLK_HI3660=y CONFIG_STUB_CLK_HI6220=y +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m # CONFIG_SUN4I_EMAC is not set CONFIG_SUN4I_GPADC=m CONFIG_SUN50I_A64_CCU=y @@ -5644,6 +5720,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y CONFIG_TEGRA_IVC=y CONFIG_TEGRA_MC=y CONFIG_TEGRA_SOCTHERM=m +CONFIG_TEGRA_VDE=m CONFIG_TEGRA_WATCHDOG=m CONFIG_TEHUTI=m CONFIG_TELCLOCK=m @@ -5707,11 +5784,12 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set +CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_MI0283QT=m CONFIG_TINYDRM_MIPI_DBI=m # CONFIG_TINYDRM_REPAPER is not set # CONFIG_TINYDRM_ST7586 is not set +CONFIG_TINYDRM_ST7735R=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5870,6 +5948,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -6096,7 +6175,7 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m # CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set +CONFIG_USB_OTG_FSM=m # CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_OTG=y # CONFIG_USB_OXU210HP_HCD is not set @@ -6234,6 +6313,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_MVEBU=m CONFIG_USB_XHCI_PLATFORM=m @@ -6394,6 +6474,7 @@ CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -6534,8 +6615,9 @@ CONFIG_XGENE_PMU=y CONFIG_XGENE_SLIMPRO_MBOX=m # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set -# CONFIG_XILINX_ZYNQMP_DMA is not set +CONFIG_XILINX_ZYNQMP_DMA=m CONFIG_XILLYBUS=m # CONFIG_XILLYBUS_OF is not set CONFIG_XILLYBUS_PCIE=m @@ -6559,6 +6641,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config index e41f820..244d32f 100644 --- a/kernel-armv7hl-debug.config +++ b/kernel-armv7hl-debug.config @@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m CONFIG_ACPI_DEBUG=y # CONFIG_ACPI_NFIT is not set CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_SPCR_TABLE=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set @@ -257,6 +258,7 @@ CONFIG_ARM_AMBA=y CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARMADA_37XX_CPUFREQ=m CONFIG_ARM_ASM_UNIFIED=y CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_ARM_BIG_LITTLE_CPUFREQ=m @@ -317,6 +319,7 @@ CONFIG_ARM_PL172_MPMC=m CONFIG_ARM_PMU=y # CONFIG_ARM_PSCI_CHECKER is not set CONFIG_ARM_PSCI=y +# CONFIG_ARM_PTDUMP_DEBUGFS is not set # CONFIG_ARM_PTDUMP is not set CONFIG_ARM_RK3399_DMC_DEVFREQ=m CONFIG_ARM_SCPI_CPUFREQ=m @@ -361,6 +364,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -374,6 +378,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -581,6 +586,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -637,6 +643,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -866,11 +873,12 @@ CONFIG_CHARGER_QCOM_SMBB=m # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m CONFIG_CHARGER_TPS65090=m -CONFIG_CHARGER_TPS65217=m +# CONFIG_CHARGER_TPS65217 is not set CONFIG_CHARGER_TWL4030=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -896,6 +904,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -1216,7 +1225,6 @@ CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SET_MODULE_RONX=y CONFIG_DEBUG_SG=y CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_STACK_USAGE=y @@ -1230,6 +1238,7 @@ CONFIG_DEBUG_VM_PGFLAGS=y CONFIG_DEBUG_VM=y # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +CONFIG_DEBUG_WX=y # CONFIG_DECNET is not set CONFIG_DEFAULT_CFQ=y CONFIG_DEFAULT_HOSTNAME="(none)" @@ -1306,6 +1315,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1354,17 +1364,13 @@ CONFIG_DRM_EXYNOS7_DECON=y CONFIG_DRM_EXYNOS_DPI=y CONFIG_DRM_EXYNOS_DP=y CONFIG_DRM_EXYNOS_DSI=y -CONFIG_DRM_EXYNOS_FIMC=y CONFIG_DRM_EXYNOS_FIMD=y CONFIG_DRM_EXYNOS_G2D=y -CONFIG_DRM_EXYNOS_GSC=y CONFIG_DRM_EXYNOS_HDMI=y -# CONFIG_DRM_EXYNOS_IOMMU is not set -CONFIG_DRM_EXYNOS_IPP=y +CONFIG_DRM_EXYNOS_IOMMU=y CONFIG_DRM_EXYNOS=m CONFIG_DRM_EXYNOS_MIC=y 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 @@ -1424,6 +1430,7 @@ 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_ILITEK_IL9322=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_LG_LG4573=m @@ -1514,6 +1521,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1527,6 +1535,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1668,7 +1677,7 @@ CONFIG_EXYNOS5420_MCPM=y CONFIG_EXYNOS_ADC=m CONFIG_EXYNOS_AUDSS_CLK_CON=m # CONFIG_EXYNOS_IOMMU_DEBUG is not set -# CONFIG_EXYNOS_IOMMU is not set +CONFIG_EXYNOS_IOMMU=y CONFIG_EXYNOS_THERMAL=y # CONFIG_EZNPS_GIC is not set # CONFIG_EZX_PCAP is not set @@ -1681,6 +1690,7 @@ CONFIG_F2FS_FS_SECURITY=y CONFIG_F2FS_FS_XATTR=y # CONFIG_F2FS_IO_TRACE is not set CONFIG_F2FS_STAT_FS=y +CONFIG_FAIL_FUNCTION=y # CONFIG_FAIL_FUTEX is not set CONFIG_FAIL_IO_TIMEOUT=y CONFIG_FAIL_MAKE_REQUEST=y @@ -1779,6 +1789,7 @@ CONFIG_FCOE=m CONFIG_FEALNX=m CONFIG_FEC=m CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set # CONFIG_FIREWIRE is not set CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1826,6 +1837,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set CONFIG_FTRACE_SYSCALLS=y CONFIG_FTRACE=y +# CONFIG_FTWDT010_WATCHDOG is not set # CONFIG_FUNCTION_GRAPH_TRACER is not set CONFIG_FUNCTION_PROFILER=y CONFIG_FUNCTION_TRACER=y @@ -1911,9 +1923,11 @@ CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set CONFIG_GPIO_PL061=y +CONFIG_GPIO_RASPBERRYPI_EXP=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SCH311X is not set CONFIG_GPIO_STMPE=y @@ -1950,6 +1964,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_ARM_ARCH_TIMER=y CONFIG_HAVE_ARM_TWD=y @@ -1999,6 +2014,7 @@ CONFIG_HID_GYRATION=m CONFIG_HID_HOLTEK=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -2141,6 +2157,7 @@ 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_IMX_RNGC=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_MSM=m @@ -2149,7 +2166,7 @@ CONFIG_HW_RANDOM_OMAP3_ROM=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_ST=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK_OMAP=m @@ -2190,6 +2207,7 @@ CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set # CONFIG_I2C_EMEV2 is not set CONFIG_I2C_EXYNOS5=m +# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set CONFIG_I2C_GPIO=m CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_HID=m @@ -2277,6 +2295,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2483,6 +2502,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2615,7 +2635,6 @@ CONFIG_IPVTAP=m # CONFIG_IPW2200_DEBUG is not set # CONFIG_IPW2200 is not set CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2904,6 +2923,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2940,6 +2960,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2972,11 +2993,11 @@ CONFIG_LIBFCOE=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -3149,6 +3170,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -3197,6 +3219,7 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set +CONFIG_MFD_CROS_EC_CHARDEV=m CONFIG_MFD_CROS_EC_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_SPI=m @@ -3240,8 +3263,6 @@ CONFIG_MFD_QCOM_RPM=m CONFIG_MFD_RK808=m # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m CONFIG_MFD_SEC_CORE=y # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -3257,7 +3278,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_LMU=m # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TI_LP87565 is not set # CONFIG_MFD_TIMBERDALE is not set @@ -3295,6 +3316,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -3324,6 +3347,7 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -3346,6 +3370,7 @@ CONFIG_MMC_BCM2835=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC_DW_EXYNOS=m CONFIG_MMC_DW_K3=m @@ -3462,6 +3487,7 @@ CONFIG_MSM_MMCC_8974=m CONFIG_MSM_MMCC_8996=m CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AFS_PARTS is not set # CONFIG_MTD_AR7_PARTS is not set @@ -3513,6 +3539,7 @@ CONFIG_MTD_NAND_GPIO=m CONFIG_MTD_NAND_GPMI_NAND=m # CONFIG_MTD_NAND_HISI504 is not set CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_MARVELL=m # CONFIG_MTD_NAND_MTK is not set CONFIG_MTD_NAND_MXC=m CONFIG_MTD_NAND_NANDSIM=m @@ -3650,9 +3677,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3837,6 +3866,7 @@ CONFIG_NET_VENDOR_BROADCOM=y CONFIG_NET_VENDOR_CHELSIO=y # CONFIG_NET_VENDOR_CIRRUS is not set # CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_NET_VENDOR_CORTINA is not set # CONFIG_NET_VENDOR_DEC is not set CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3871,6 +3901,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y # CONFIG_NET_VENDOR_SUN is not set @@ -3949,6 +3980,10 @@ CONFIG_NFC_WILINK=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -4010,6 +4045,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -4295,6 +4331,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIE_ARMADA_8K is not set # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set CONFIG_PCIE_DW_HOST=y @@ -4405,6 +4442,7 @@ CONFIG_PINCTRL_APQ8084=m CONFIG_PINCTRL_ARMADA_370=y CONFIG_PINCTRL_ARMADA_XP=y CONFIG_PINCTRL_AS3722=y +CONFIG_PINCTRL_AXP209=m # CONFIG_PINCTRL_BAYTRAIL is not set # CONFIG_PINCTRL_BROXTON is not set # CONFIG_PINCTRL_CANNONLAKE is not set @@ -4427,6 +4465,7 @@ CONFIG_PINCTRL_MSM8916=m CONFIG_PINCTRL_MSM8960=m # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_MSM8996 is not set +CONFIG_PINCTRL_MSM8998=m CONFIG_PINCTRL_MSM8X74=m CONFIG_PINCTRL_MVEBU=y CONFIG_PINCTRL_PALMAS=y @@ -4484,7 +4523,6 @@ CONFIG_POWER_RESET_AS3722=y # CONFIG_POWER_RESET_BRCMSTB is not set CONFIG_POWER_RESET_GPIO_RESTART=y CONFIG_POWER_RESET_GPIO=y -CONFIG_POWER_RESET_IMX=y # CONFIG_POWER_RESET_LTC2952 is not set CONFIG_POWER_RESET_MSM=y # CONFIG_POWER_RESET_QNAP is not set @@ -4573,9 +4611,11 @@ CONFIG_PXA_DMA=y # CONFIG_QCA7000 is not set # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +CONFIG_QCOM_A53PLL=m CONFIG_QCOM_ADSP_PIL=m CONFIG_QCOM_APCS_IPC=m CONFIG_QCOM_BAM_DMA=m +CONFIG_QCOM_CLK_APCS_MSM8916=m CONFIG_QCOM_CLK_RPM=m CONFIG_QCOM_CLK_SMD_RPM=m CONFIG_QCOM_COINCELL=m @@ -4661,6 +4701,7 @@ CONFIG_RAID_ATTRS=m CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4724,6 +4765,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_GPIO=m CONFIG_REGULATOR_ISL6271A=m CONFIG_REGULATOR_ISL9305=m +CONFIG_REGULATOR_LM363X=m CONFIG_REGULATOR_LP3971=m CONFIG_REGULATOR_LP3972=m CONFIG_REGULATOR_LP872X=y @@ -4876,6 +4918,7 @@ CONFIG_RTC_DRV_AS3722=y CONFIG_RTC_DRV_BQ32K=m CONFIG_RTC_DRV_BQ4802=m CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_CROS_EC=m CONFIG_RTC_DRV_DA9052=m CONFIG_RTC_DRV_DA9055=m CONFIG_RTC_DRV_DS1286=m @@ -4927,6 +4970,7 @@ CONFIG_RTC_DRV_MC13XXX=m CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_MV=m CONFIG_RTC_DRV_MXC=m +CONFIG_RTC_DRV_MXC_V2=m CONFIG_RTC_DRV_OMAP=m CONFIG_RTC_DRV_PALMAS=m CONFIG_RTC_DRV_PCF2123=m @@ -5011,6 +5055,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m CONFIG_S3C2410_WATCHDOG=m # CONFIG_SAMPLES is not set @@ -5161,6 +5206,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -5342,6 +5388,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -5370,7 +5417,8 @@ CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_MID is not set CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 -CONFIG_SERIAL_8250_OMAP=m +CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y +CONFIG_SERIAL_8250_OMAP=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_RT288X=y @@ -5409,8 +5457,7 @@ CONFIG_SERIAL_MVEBU_CONSOLE=y CONFIG_SERIAL_MVEBU_UART=y # CONFIG_SERIAL_NONSTANDARD is not set CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_SERIAL_OMAP_CONSOLE=y -CONFIG_SERIAL_OMAP=y +# CONFIG_SERIAL_OMAP is not set # CONFIG_SERIAL_PCH_UART is not set CONFIG_SERIAL_PXA_CONSOLE=y CONFIG_SERIAL_PXA=y @@ -5459,6 +5506,7 @@ CONFIG_SI7020=m # CONFIG_SIGMA is not set CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SIMPLE_PM_BUS=y +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -5471,6 +5519,8 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +CONFIG_SLIMBUS=m +CONFIG_SLIM_QCOM_CTRL=m CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -5737,6 +5787,7 @@ CONFIG_SND_SOC_LPASS_CPU=m CONFIG_SND_SOC_LPASS_PLATFORM=m CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX98090=m +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -5751,6 +5802,8 @@ CONFIG_SND_SOC_ODROID=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set CONFIG_SND_SOC_PCM512x_I2C=m @@ -5787,6 +5840,7 @@ CONFIG_SND_SOC_STORM=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m CONFIG_SND_SOC_TEGRA20_AC97=m CONFIG_SND_SOC_TEGRA20_DAS=m CONFIG_SND_SOC_TEGRA20_I2S=m @@ -5808,9 +5862,12 @@ CONFIG_SND_SOC_TLV320AIC23_I2C=m CONFIG_SND_SOC_TLV320AIC23=m CONFIG_SND_SOC_TLV320AIC23_SPI=m CONFIG_SND_SOC_TLV320AIC31XX=m +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m CONFIG_SND_SOC_TLV320AIC3X=m CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m CONFIG_SND_SOC_TWL4030=m CONFIG_SND_SOC_TWL6040=m # CONFIG_SND_SOC_WM8510 is not set @@ -5911,6 +5968,9 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE=y CONFIG_SPARSE_RCU_POINTER=y # CONFIG_SPEAKUP is not set # CONFIG_SPI_ALTERA is not set @@ -5966,6 +6026,7 @@ CONFIG_SPI=y # CONFIG_SPI_ZYNQMP_GQSPI is not set CONFIG_SPMI=m CONFIG_SPMI_MSM_PMIC_ARB=m +CONFIG_SPMI_PMIC_CLKDIV=m # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_LZ4=y @@ -6022,6 +6083,9 @@ CONFIG_STRIP_ASM_SYMS=y CONFIG_ST_THERMAL=m CONFIG_ST_THERMAL_MEMMAP=m # CONFIG_ST_THERMAL_SYSCFG is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUN4I_A10_CCU=y CONFIG_SUN4I_EMAC=m CONFIG_SUN4I_GPADC=m @@ -6147,6 +6211,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y CONFIG_TEGRA_IVC=y CONFIG_TEGRA_MC=y CONFIG_TEGRA_SOCTHERM=m +CONFIG_TEGRA_VDE=m CONFIG_TEGRA_WATCHDOG=m CONFIG_TEHUTI=m CONFIG_TELCLOCK=m @@ -6213,16 +6278,18 @@ CONFIG_TI_DAVINCI_EMAC=m CONFIG_TI_DAVINCI_MDIO=m CONFIG_TI_EDMA=y CONFIG_TI_EMIF=m +CONFIG_TI_EMIF_SRAM=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 +CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_MI0283QT=m CONFIG_TINYDRM_MIPI_DBI=m # CONFIG_TINYDRM_REPAPER is not set # CONFIG_TINYDRM_ST7586 is not set +CONFIG_TINYDRM_ST7735R=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -6394,6 +6461,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -6637,7 +6705,7 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m CONFIG_USB_OHCI_HCD_STI=m CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set +CONFIG_USB_OTG_FSM=m # CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_OTG=y # CONFIG_USB_OXU210HP_HCD is not set @@ -6776,6 +6844,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_MVEBU=m CONFIG_USB_XHCI_PLATFORM=m @@ -6970,6 +7039,7 @@ CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -7110,6 +7180,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XILINX_DMA is not set CONFIG_XILINX_EMACLITE=m CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m CONFIG_XILINX_WATCHDOG=m CONFIG_XILINX_XADC=m # CONFIG_XILINX_ZYNQMP_DMA is not set @@ -7139,6 +7210,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config index 4992370..9ff2af9 100644 --- a/kernel-armv7hl-lpae-debug.config +++ b/kernel-armv7hl-lpae-debug.config @@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m CONFIG_ACPI_DEBUG=y # CONFIG_ACPI_NFIT is not set CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_SPCR_TABLE=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set @@ -248,6 +249,7 @@ CONFIG_ARM_AMBA=y CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARMADA_37XX_CPUFREQ=m CONFIG_ARM_ASM_UNIFIED=y CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_ARM_BIG_LITTLE_CPUFREQ=m @@ -306,6 +308,7 @@ CONFIG_ARM_PL172_MPMC=m CONFIG_ARM_PMU=y # CONFIG_ARM_PSCI_CHECKER is not set CONFIG_ARM_PSCI=y +# CONFIG_ARM_PTDUMP_DEBUGFS is not set # CONFIG_ARM_PTDUMP is not set CONFIG_ARM_RK3399_DMC_DEVFREQ=m CONFIG_ARM_SCPI_CPUFREQ=m @@ -347,6 +350,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -360,6 +364,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -557,6 +562,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -613,6 +619,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -843,6 +850,7 @@ CONFIG_CHARGER_TPS65090=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -868,6 +876,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -1162,7 +1171,6 @@ CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SET_MODULE_RONX=y CONFIG_DEBUG_SG=y CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_STACK_USAGE=y @@ -1176,6 +1184,7 @@ CONFIG_DEBUG_VM_PGFLAGS=y CONFIG_DEBUG_VM=y # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +CONFIG_DEBUG_WX=y # CONFIG_DECNET is not set CONFIG_DEFAULT_CFQ=y CONFIG_DEFAULT_HOSTNAME="(none)" @@ -1251,6 +1260,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1291,23 +1301,18 @@ CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_CEC=m CONFIG_DRM_DW_HDMI_I2S_AUDIO=m CONFIG_DRM_DW_HDMI=m -CONFIG_DRM_ETNAVIV_THERMAL=y CONFIG_DRM_EXYNOS5433_DECON=y CONFIG_DRM_EXYNOS7_DECON=y CONFIG_DRM_EXYNOS_DPI=y CONFIG_DRM_EXYNOS_DP=y CONFIG_DRM_EXYNOS_DSI=y -CONFIG_DRM_EXYNOS_FIMC=y CONFIG_DRM_EXYNOS_FIMD=y CONFIG_DRM_EXYNOS_G2D=y -CONFIG_DRM_EXYNOS_GSC=y CONFIG_DRM_EXYNOS_HDMI=y -# CONFIG_DRM_EXYNOS_IOMMU is not set -CONFIG_DRM_EXYNOS_IPP=y +CONFIG_DRM_EXYNOS_IOMMU=y CONFIG_DRM_EXYNOS=m CONFIG_DRM_EXYNOS_MIC=y 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 @@ -1338,6 +1343,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m CONFIG_DRM_NXP_PTN3460=m # CONFIG_DRM_OMAP is not set +CONFIG_DRM_PANEL_ILITEK_IL9322=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_LG_LG4573=m @@ -1427,6 +1433,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1440,6 +1447,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1510,6 +1518,7 @@ CONFIG_EDAC_HIGHBANK_L2=m CONFIG_EDAC_HIGHBANK_MC=m CONFIG_EDAC_LEGACY_SYSFS=y CONFIG_EDAC_MV64X60=m +CONFIG_EDAC_TI=m CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m CONFIG_EEPROM_93XX46=m @@ -1577,7 +1586,7 @@ CONFIG_EXYNOS5420_MCPM=y CONFIG_EXYNOS_ADC=m CONFIG_EXYNOS_AUDSS_CLK_CON=m # CONFIG_EXYNOS_IOMMU_DEBUG is not set -# CONFIG_EXYNOS_IOMMU is not set +CONFIG_EXYNOS_IOMMU=y CONFIG_EXYNOS_THERMAL=y # CONFIG_EZNPS_GIC is not set # CONFIG_EZX_PCAP is not set @@ -1590,6 +1599,7 @@ CONFIG_F2FS_FS_SECURITY=y CONFIG_F2FS_FS_XATTR=y # CONFIG_F2FS_IO_TRACE is not set CONFIG_F2FS_STAT_FS=y +CONFIG_FAIL_FUNCTION=y # CONFIG_FAIL_FUTEX is not set CONFIG_FAIL_IO_TIMEOUT=y CONFIG_FAIL_MAKE_REQUEST=y @@ -1684,6 +1694,7 @@ CONFIG_FCOE=m # CONFIG_FDDI is not set CONFIG_FEALNX=m CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set # CONFIG_FIREWIRE is not set CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1731,6 +1742,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set CONFIG_FTRACE_SYSCALLS=y CONFIG_FTRACE=y +# CONFIG_FTWDT010_WATCHDOG is not set # CONFIG_FUNCTION_GRAPH_TRACER is not set CONFIG_FUNCTION_PROFILER=y CONFIG_FUNCTION_TRACER=y @@ -1812,9 +1824,11 @@ CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set CONFIG_GPIO_PL061=y +CONFIG_GPIO_RASPBERRYPI_EXP=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SCH311X is not set # CONFIG_GPIO_SX150X is not set @@ -1844,6 +1858,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARM_ARCH_TIMER=y @@ -1893,6 +1908,7 @@ CONFIG_HID_GYRATION=m CONFIG_HID_HOLTEK=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -2037,11 +2053,12 @@ 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_IMX_RNGC=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y @@ -2081,6 +2098,7 @@ CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set # CONFIG_I2C_EMEV2 is not set CONFIG_I2C_EXYNOS5=m +# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set CONFIG_I2C_GPIO=m CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_HID=m @@ -2163,6 +2181,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2352,6 +2371,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2484,7 +2504,6 @@ CONFIG_IPVTAP=m # CONFIG_IPW2200_DEBUG is not set # CONFIG_IPW2200 is not set CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2768,6 +2787,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2802,6 +2822,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2834,11 +2855,11 @@ CONFIG_LIBFCOE=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -3002,6 +3023,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -3050,6 +3072,7 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set +CONFIG_MFD_CROS_EC_CHARDEV=m CONFIG_MFD_CROS_EC_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_SPI=m @@ -3091,8 +3114,6 @@ CONFIG_MFD_MAX8997=y CONFIG_MFD_RK808=m # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m CONFIG_MFD_SEC_CORE=y # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -3145,6 +3166,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -3174,6 +3197,7 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -3196,6 +3220,7 @@ CONFIG_MMC_BCM2835=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC_DW_EXYNOS=m CONFIG_MMC_DW_K3=m @@ -3293,6 +3318,7 @@ CONFIG_MSDOS_PARTITION=y # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AFS_PARTS is not set # CONFIG_MTD_AR7_PARTS is not set @@ -3344,6 +3370,7 @@ CONFIG_MTD_NAND_FSMC=m CONFIG_MTD_NAND_GPIO=m # CONFIG_MTD_NAND_HISI504 is not set CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_MARVELL=m # CONFIG_MTD_NAND_MTK is not set CONFIG_MTD_NAND_MXC=m CONFIG_MTD_NAND_NANDSIM=m @@ -3474,9 +3501,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3661,6 +3690,7 @@ CONFIG_NET_VENDOR_BROADCOM=y CONFIG_NET_VENDOR_CHELSIO=y # CONFIG_NET_VENDOR_CIRRUS is not set # CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_NET_VENDOR_CORTINA is not set # CONFIG_NET_VENDOR_DEC is not set CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3694,6 +3724,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y # CONFIG_NET_VENDOR_SUN is not set @@ -3770,6 +3801,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3831,6 +3866,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -4076,6 +4112,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIE_ARMADA_8K is not set # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set CONFIG_PCIE_DW_HOST=y @@ -4173,6 +4210,7 @@ CONFIG_PINCONF=y CONFIG_PINCTRL_ARMADA_370=y CONFIG_PINCTRL_ARMADA_XP=y CONFIG_PINCTRL_AS3722=y +CONFIG_PINCTRL_AXP209=m # CONFIG_PINCTRL_BAYTRAIL is not set # CONFIG_PINCTRL_BROXTON is not set # CONFIG_PINCTRL_CANNONLAKE is not set @@ -4191,6 +4229,7 @@ CONFIG_PINCTRL_DOVE=y # CONFIG_PINCTRL_MESON_GXL is not set # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_MSM8996 is not set +CONFIG_PINCTRL_MSM8998=m CONFIG_PINCTRL_MVEBU=y CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SAMSUNG=y @@ -4319,6 +4358,8 @@ CONFIG_PWRSEQ_SIMPLE=y # CONFIG_QCA7000 is not set # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +CONFIG_QCOM_A53PLL=m +CONFIG_QCOM_CLK_APCS_MSM8916=m # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_EMAC is not set # CONFIG_QCOM_GLINK_SSR is not set @@ -4385,6 +4426,7 @@ CONFIG_RAID_ATTRS=m CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4581,6 +4623,7 @@ CONFIG_RTC_DRV_AS3722=y CONFIG_RTC_DRV_BQ32K=m CONFIG_RTC_DRV_BQ4802=m CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_CROS_EC=m CONFIG_RTC_DRV_DS1286=m # CONFIG_RTC_DRV_DS1302 is not set CONFIG_RTC_DRV_DS1305=m @@ -4704,6 +4747,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m CONFIG_S3C2410_WATCHDOG=m # CONFIG_SAMPLES is not set @@ -4854,6 +4898,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -5031,6 +5076,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -5135,6 +5181,7 @@ CONFIG_SI7020=m # CONFIG_SIGMA is not set CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SIMPLE_PM_BUS=y +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -5147,6 +5194,8 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +CONFIG_SLIMBUS=m +CONFIG_SLIM_QCOM_CTRL=m CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -5379,6 +5428,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC_INNO_RK3036 is not set CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX98090=m +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -5392,6 +5442,8 @@ CONFIG_SND_SOC_ODROID=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set CONFIG_SND_SOC_PCM512x_I2C=m @@ -5425,6 +5477,7 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TEGRA20_AC97 is not set CONFIG_SND_SOC_TEGRA20_DAS=m CONFIG_SND_SOC_TEGRA20_I2S=m @@ -5445,9 +5498,12 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5526,6 +5582,9 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE=y CONFIG_SPARSE_RCU_POINTER=y # CONFIG_SPEAKUP is not set # CONFIG_SPI_ALTERA is not set @@ -5573,6 +5632,7 @@ CONFIG_SPI_TEGRA114=m CONFIG_SPI=y # CONFIG_SPI_ZYNQMP_GQSPI is not set # CONFIG_SPMI is not set +CONFIG_SPMI_PMIC_CLKDIV=m # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_LZ4=y @@ -5620,6 +5680,9 @@ CONFIG_STRICT_MODULE_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUN4I_A10_CCU=y CONFIG_SUN4I_EMAC=m CONFIG_SUN4I_GPADC=m @@ -5746,6 +5809,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y CONFIG_TEGRA_IVC=y CONFIG_TEGRA_MC=y CONFIG_TEGRA_SOCTHERM=m +CONFIG_TEGRA_VDE=m CONFIG_TEGRA_WATCHDOG=m CONFIG_TEHUTI=m CONFIG_TELCLOCK=m @@ -5809,12 +5873,13 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TI_MESSAGE_MANAGER=m +CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_MI0283QT=m CONFIG_TINYDRM_MIPI_DBI=m # CONFIG_TINYDRM_REPAPER is not set # CONFIG_TINYDRM_ST7586 is not set +CONFIG_TINYDRM_ST7735R=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5977,6 +6042,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -6207,7 +6273,7 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m # CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set +CONFIG_USB_OTG_FSM=m # CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_OTG=y # CONFIG_USB_OXU210HP_HCD is not set @@ -6345,6 +6411,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_MVEBU=m CONFIG_USB_XHCI_PLATFORM=m @@ -6520,6 +6587,7 @@ CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -6670,6 +6738,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XFS_WARN is not set # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set # CONFIG_XILINX_ZYNQMP_DMA is not set CONFIG_XILLYBUS=m @@ -6698,6 +6767,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config index 9a8f308..bd7d194 100644 --- a/kernel-armv7hl-lpae.config +++ b/kernel-armv7hl-lpae.config @@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m # CONFIG_ACPI_DEBUG is not set # CONFIG_ACPI_NFIT is not set CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_SPCR_TABLE=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set @@ -247,6 +248,7 @@ CONFIG_ARM_AMBA=y CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARMADA_37XX_CPUFREQ=m CONFIG_ARM_ASM_UNIFIED=y CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_ARM_BIG_LITTLE_CPUFREQ=m @@ -305,6 +307,7 @@ CONFIG_ARM_PL172_MPMC=m CONFIG_ARM_PMU=y # CONFIG_ARM_PSCI_CHECKER is not set CONFIG_ARM_PSCI=y +# CONFIG_ARM_PTDUMP_DEBUGFS is not set # CONFIG_ARM_PTDUMP is not set CONFIG_ARM_RK3399_DMC_DEVFREQ=m CONFIG_ARM_SCPI_CPUFREQ=m @@ -346,6 +349,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -359,6 +363,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -556,6 +561,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -612,6 +618,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +# CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -842,6 +849,7 @@ CONFIG_CHARGER_TPS65090=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -867,6 +875,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -1153,7 +1162,6 @@ CONFIG_DEBUG_RODATA_TEST=y CONFIG_DEBUG_SET_MODULE_RONX=y # CONFIG_DEBUG_SG is not set CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set @@ -1166,6 +1174,7 @@ CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y CONFIG_DEBUG_VM=y # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +CONFIG_DEBUG_WX=y # CONFIG_DECNET is not set CONFIG_DEFAULT_CFQ=y CONFIG_DEFAULT_HOSTNAME="(none)" @@ -1241,6 +1250,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1281,23 +1291,18 @@ CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_CEC=m CONFIG_DRM_DW_HDMI_I2S_AUDIO=m CONFIG_DRM_DW_HDMI=m -CONFIG_DRM_ETNAVIV_THERMAL=y CONFIG_DRM_EXYNOS5433_DECON=y CONFIG_DRM_EXYNOS7_DECON=y CONFIG_DRM_EXYNOS_DPI=y CONFIG_DRM_EXYNOS_DP=y CONFIG_DRM_EXYNOS_DSI=y -CONFIG_DRM_EXYNOS_FIMC=y CONFIG_DRM_EXYNOS_FIMD=y CONFIG_DRM_EXYNOS_G2D=y -CONFIG_DRM_EXYNOS_GSC=y CONFIG_DRM_EXYNOS_HDMI=y -# CONFIG_DRM_EXYNOS_IOMMU is not set -CONFIG_DRM_EXYNOS_IPP=y +CONFIG_DRM_EXYNOS_IOMMU=y CONFIG_DRM_EXYNOS=m CONFIG_DRM_EXYNOS_MIC=y 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 @@ -1328,6 +1333,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m CONFIG_DRM_NXP_PTN3460=m # CONFIG_DRM_OMAP is not set +CONFIG_DRM_PANEL_ILITEK_IL9322=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_LG_LG4573=m @@ -1417,6 +1423,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1430,6 +1437,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1500,6 +1508,7 @@ CONFIG_EDAC_HIGHBANK_L2=m CONFIG_EDAC_HIGHBANK_MC=m CONFIG_EDAC_LEGACY_SYSFS=y CONFIG_EDAC_MV64X60=m +CONFIG_EDAC_TI=m CONFIG_EDAC=y CONFIG_EEPROM_93CX6=m CONFIG_EEPROM_93XX46=m @@ -1567,7 +1576,7 @@ CONFIG_EXYNOS5420_MCPM=y CONFIG_EXYNOS_ADC=m CONFIG_EXYNOS_AUDSS_CLK_CON=m # CONFIG_EXYNOS_IOMMU_DEBUG is not set -# CONFIG_EXYNOS_IOMMU is not set +CONFIG_EXYNOS_IOMMU=y CONFIG_EXYNOS_THERMAL=y # CONFIG_EZNPS_GIC is not set # CONFIG_EZX_PCAP is not set @@ -1667,6 +1676,7 @@ CONFIG_FCOE=m # CONFIG_FDDI is not set CONFIG_FEALNX=m CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set # CONFIG_FIREWIRE is not set CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1714,6 +1724,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set CONFIG_FTRACE_SYSCALLS=y CONFIG_FTRACE=y +# CONFIG_FTWDT010_WATCHDOG is not set # CONFIG_FUNCTION_GRAPH_TRACER is not set CONFIG_FUNCTION_PROFILER=y CONFIG_FUNCTION_TRACER=y @@ -1795,9 +1806,11 @@ CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set CONFIG_GPIO_PL061=y +CONFIG_GPIO_RASPBERRYPI_EXP=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SCH311X is not set # CONFIG_GPIO_SX150X is not set @@ -1827,6 +1840,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARM_ARCH_TIMER=y @@ -1876,6 +1890,7 @@ CONFIG_HID_GYRATION=m CONFIG_HID_HOLTEK=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -2020,11 +2035,12 @@ 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_IMX_RNGC=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y @@ -2064,6 +2080,7 @@ CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set # CONFIG_I2C_EMEV2 is not set CONFIG_I2C_EXYNOS5=m +# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set CONFIG_I2C_GPIO=m CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_HID=m @@ -2146,6 +2163,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2335,6 +2353,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2467,7 +2486,6 @@ CONFIG_IPVTAP=m # CONFIG_IPW2200_DEBUG is not set # CONFIG_IPW2200 is not set CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2749,6 +2767,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2783,6 +2802,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2815,11 +2835,11 @@ CONFIG_LIBFCOE=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2982,6 +3002,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -3030,6 +3051,7 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set +CONFIG_MFD_CROS_EC_CHARDEV=m CONFIG_MFD_CROS_EC_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_SPI=m @@ -3071,8 +3093,6 @@ CONFIG_MFD_MAX8997=y CONFIG_MFD_RK808=m # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m CONFIG_MFD_SEC_CORE=y # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -3125,6 +3145,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -3154,6 +3176,7 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -3176,6 +3199,7 @@ CONFIG_MMC_BCM2835=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC_DW_EXYNOS=m CONFIG_MMC_DW_K3=m @@ -3272,6 +3296,7 @@ CONFIG_MSDOS_PARTITION=y # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AFS_PARTS is not set # CONFIG_MTD_AR7_PARTS is not set @@ -3323,6 +3348,7 @@ CONFIG_MTD_NAND_FSMC=m CONFIG_MTD_NAND_GPIO=m # CONFIG_MTD_NAND_HISI504 is not set CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_MARVELL=m # CONFIG_MTD_NAND_MTK is not set CONFIG_MTD_NAND_MXC=m CONFIG_MTD_NAND_NANDSIM=m @@ -3453,9 +3479,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3640,6 +3668,7 @@ CONFIG_NET_VENDOR_BROADCOM=y CONFIG_NET_VENDOR_CHELSIO=y # CONFIG_NET_VENDOR_CIRRUS is not set # CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_NET_VENDOR_CORTINA is not set # CONFIG_NET_VENDOR_DEC is not set CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3673,6 +3702,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y # CONFIG_NET_VENDOR_SUN is not set @@ -3749,6 +3779,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3810,6 +3844,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -4055,6 +4090,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIE_ARMADA_8K is not set # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set CONFIG_PCIE_DW_HOST=y @@ -4152,6 +4188,7 @@ CONFIG_PINCONF=y CONFIG_PINCTRL_ARMADA_370=y CONFIG_PINCTRL_ARMADA_XP=y CONFIG_PINCTRL_AS3722=y +CONFIG_PINCTRL_AXP209=m # CONFIG_PINCTRL_BAYTRAIL is not set # CONFIG_PINCTRL_BROXTON is not set # CONFIG_PINCTRL_CANNONLAKE is not set @@ -4170,6 +4207,7 @@ CONFIG_PINCTRL_DOVE=y # CONFIG_PINCTRL_MESON_GXL is not set # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_MSM8996 is not set +CONFIG_PINCTRL_MSM8998=m CONFIG_PINCTRL_MVEBU=y CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SAMSUNG=y @@ -4297,6 +4335,8 @@ CONFIG_PWRSEQ_SIMPLE=y # CONFIG_QCA7000 is not set # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +CONFIG_QCOM_A53PLL=m +CONFIG_QCOM_CLK_APCS_MSM8916=m # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_EMAC is not set # CONFIG_QCOM_GLINK_SSR is not set @@ -4363,6 +4403,7 @@ CONFIG_RAID_ATTRS=m CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4401,7 +4442,7 @@ CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m -# CONFIG_REFCOUNT_FULL is not set +CONFIG_REFCOUNT_FULL=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_IRQ=y CONFIG_REGMAP_MMIO=y @@ -4559,6 +4600,7 @@ CONFIG_RTC_DRV_AS3722=y CONFIG_RTC_DRV_BQ32K=m CONFIG_RTC_DRV_BQ4802=m CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_CROS_EC=m CONFIG_RTC_DRV_DS1286=m # CONFIG_RTC_DRV_DS1302 is not set CONFIG_RTC_DRV_DS1305=m @@ -4682,6 +4724,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m CONFIG_S3C2410_WATCHDOG=m # CONFIG_SAMPLES is not set @@ -4832,6 +4875,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -5009,6 +5053,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -5113,6 +5158,7 @@ CONFIG_SI7020=m # CONFIG_SIGMA is not set CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SIMPLE_PM_BUS=y +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -5125,6 +5171,8 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +CONFIG_SLIMBUS=m +CONFIG_SLIM_QCOM_CTRL=m CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -5356,6 +5404,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC_INNO_RK3036 is not set CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX98090=m +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -5369,6 +5418,8 @@ CONFIG_SND_SOC_ODROID=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set CONFIG_SND_SOC_PCM512x_I2C=m @@ -5402,6 +5453,7 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TEGRA20_AC97 is not set CONFIG_SND_SOC_TEGRA20_DAS=m CONFIG_SND_SOC_TEGRA20_I2S=m @@ -5422,9 +5474,12 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5503,6 +5558,9 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE=y CONFIG_SPARSE_RCU_POINTER=y # CONFIG_SPEAKUP is not set # CONFIG_SPI_ALTERA is not set @@ -5550,6 +5608,7 @@ CONFIG_SPI_TEGRA114=m CONFIG_SPI=y # CONFIG_SPI_ZYNQMP_GQSPI is not set # CONFIG_SPMI is not set +CONFIG_SPMI_PMIC_CLKDIV=m # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_LZ4=y @@ -5597,6 +5656,9 @@ CONFIG_STRICT_MODULE_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUN4I_A10_CCU=y CONFIG_SUN4I_EMAC=m CONFIG_SUN4I_GPADC=m @@ -5723,6 +5785,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y CONFIG_TEGRA_IVC=y CONFIG_TEGRA_MC=y CONFIG_TEGRA_SOCTHERM=m +CONFIG_TEGRA_VDE=m CONFIG_TEGRA_WATCHDOG=m CONFIG_TEHUTI=m CONFIG_TELCLOCK=m @@ -5786,12 +5849,13 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TI_MESSAGE_MANAGER=m +CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_MI0283QT=m CONFIG_TINYDRM_MIPI_DBI=m # CONFIG_TINYDRM_REPAPER is not set # CONFIG_TINYDRM_ST7586 is not set +CONFIG_TINYDRM_ST7735R=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5954,6 +6018,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -6184,7 +6249,7 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m # CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set +CONFIG_USB_OTG_FSM=m # CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_OTG=y # CONFIG_USB_OXU210HP_HCD is not set @@ -6322,6 +6387,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_MVEBU=m CONFIG_USB_XHCI_PLATFORM=m @@ -6497,6 +6563,7 @@ CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -6647,6 +6714,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XFS_WARN is not set # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set # CONFIG_XILINX_ZYNQMP_DMA is not set CONFIG_XILLYBUS=m @@ -6675,6 +6743,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config index ca2ad5b..c6c1484 100644 --- a/kernel-armv7hl.config +++ b/kernel-armv7hl.config @@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m # CONFIG_ACPI_DEBUG is not set # CONFIG_ACPI_NFIT is not set CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_SPCR_TABLE=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set @@ -256,6 +257,7 @@ CONFIG_ARM_AMBA=y CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARMADA_37XX_CPUFREQ=m CONFIG_ARM_ASM_UNIFIED=y CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_ARM_BIG_LITTLE_CPUFREQ=m @@ -316,6 +318,7 @@ CONFIG_ARM_PL172_MPMC=m CONFIG_ARM_PMU=y # CONFIG_ARM_PSCI_CHECKER is not set CONFIG_ARM_PSCI=y +# CONFIG_ARM_PTDUMP_DEBUGFS is not set # CONFIG_ARM_PTDUMP is not set CONFIG_ARM_RK3399_DMC_DEVFREQ=m CONFIG_ARM_SCPI_CPUFREQ=m @@ -360,6 +363,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -373,6 +377,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -580,6 +585,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -636,6 +642,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +# CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -865,11 +872,12 @@ CONFIG_CHARGER_QCOM_SMBB=m # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m CONFIG_CHARGER_TPS65090=m -CONFIG_CHARGER_TPS65217=m +# CONFIG_CHARGER_TPS65217 is not set CONFIG_CHARGER_TWL4030=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -895,6 +903,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -1207,7 +1216,6 @@ CONFIG_DEBUG_RODATA_TEST=y CONFIG_DEBUG_SET_MODULE_RONX=y # CONFIG_DEBUG_SG is not set CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set @@ -1220,6 +1228,7 @@ CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y CONFIG_DEBUG_VM=y # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +CONFIG_DEBUG_WX=y # CONFIG_DECNET is not set CONFIG_DEFAULT_CFQ=y CONFIG_DEFAULT_HOSTNAME="(none)" @@ -1296,6 +1305,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1344,17 +1354,13 @@ CONFIG_DRM_EXYNOS7_DECON=y CONFIG_DRM_EXYNOS_DPI=y CONFIG_DRM_EXYNOS_DP=y CONFIG_DRM_EXYNOS_DSI=y -CONFIG_DRM_EXYNOS_FIMC=y CONFIG_DRM_EXYNOS_FIMD=y CONFIG_DRM_EXYNOS_G2D=y -CONFIG_DRM_EXYNOS_GSC=y CONFIG_DRM_EXYNOS_HDMI=y -# CONFIG_DRM_EXYNOS_IOMMU is not set -CONFIG_DRM_EXYNOS_IPP=y +CONFIG_DRM_EXYNOS_IOMMU=y CONFIG_DRM_EXYNOS=m CONFIG_DRM_EXYNOS_MIC=y 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 @@ -1414,6 +1420,7 @@ 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_ILITEK_IL9322=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_LG_LG4573=m @@ -1504,6 +1511,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1517,6 +1525,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1658,7 +1667,7 @@ CONFIG_EXYNOS5420_MCPM=y CONFIG_EXYNOS_ADC=m CONFIG_EXYNOS_AUDSS_CLK_CON=m # CONFIG_EXYNOS_IOMMU_DEBUG is not set -# CONFIG_EXYNOS_IOMMU is not set +CONFIG_EXYNOS_IOMMU=y CONFIG_EXYNOS_THERMAL=y # CONFIG_EZNPS_GIC is not set # CONFIG_EZX_PCAP is not set @@ -1762,6 +1771,7 @@ CONFIG_FCOE=m CONFIG_FEALNX=m CONFIG_FEC=m CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set # CONFIG_FIREWIRE is not set CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1809,6 +1819,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set CONFIG_FTRACE_SYSCALLS=y CONFIG_FTRACE=y +# CONFIG_FTWDT010_WATCHDOG is not set # CONFIG_FUNCTION_GRAPH_TRACER is not set CONFIG_FUNCTION_PROFILER=y CONFIG_FUNCTION_TRACER=y @@ -1894,9 +1905,11 @@ CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set CONFIG_GPIO_PL061=y +CONFIG_GPIO_RASPBERRYPI_EXP=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SCH311X is not set CONFIG_GPIO_STMPE=y @@ -1933,6 +1946,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_ARM_ARCH_TIMER=y CONFIG_HAVE_ARM_TWD=y @@ -1982,6 +1996,7 @@ CONFIG_HID_GYRATION=m CONFIG_HID_HOLTEK=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -2124,6 +2139,7 @@ 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_IMX_RNGC=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_MSM=m @@ -2132,7 +2148,7 @@ CONFIG_HW_RANDOM_OMAP3_ROM=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_ST=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK_OMAP=m @@ -2173,6 +2189,7 @@ CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set # CONFIG_I2C_EMEV2 is not set CONFIG_I2C_EXYNOS5=m +# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set CONFIG_I2C_GPIO=m CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_HID=m @@ -2260,6 +2277,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2466,6 +2484,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2598,7 +2617,6 @@ CONFIG_IPVTAP=m # CONFIG_IPW2200_DEBUG is not set # CONFIG_IPW2200 is not set CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2885,6 +2903,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2921,6 +2940,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2953,11 +2973,11 @@ CONFIG_LIBFCOE=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -3129,6 +3149,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -3177,6 +3198,7 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set +CONFIG_MFD_CROS_EC_CHARDEV=m CONFIG_MFD_CROS_EC_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_SPI=m @@ -3220,8 +3242,6 @@ CONFIG_MFD_QCOM_RPM=m CONFIG_MFD_RK808=m # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m CONFIG_MFD_SEC_CORE=y # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -3237,7 +3257,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_LMU=m # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TI_LP87565 is not set # CONFIG_MFD_TIMBERDALE is not set @@ -3275,6 +3295,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -3304,6 +3326,7 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -3326,6 +3349,7 @@ CONFIG_MMC_BCM2835=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC_DW_EXYNOS=m CONFIG_MMC_DW_K3=m @@ -3441,6 +3465,7 @@ CONFIG_MSM_MMCC_8974=m CONFIG_MSM_MMCC_8996=m CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AFS_PARTS is not set # CONFIG_MTD_AR7_PARTS is not set @@ -3492,6 +3517,7 @@ CONFIG_MTD_NAND_GPIO=m CONFIG_MTD_NAND_GPMI_NAND=m # CONFIG_MTD_NAND_HISI504 is not set CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_MARVELL=m # CONFIG_MTD_NAND_MTK is not set CONFIG_MTD_NAND_MXC=m CONFIG_MTD_NAND_NANDSIM=m @@ -3629,9 +3655,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3816,6 +3844,7 @@ CONFIG_NET_VENDOR_BROADCOM=y CONFIG_NET_VENDOR_CHELSIO=y # CONFIG_NET_VENDOR_CIRRUS is not set # CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_NET_VENDOR_CORTINA is not set # CONFIG_NET_VENDOR_DEC is not set CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3850,6 +3879,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y # CONFIG_NET_VENDOR_SUN is not set @@ -3928,6 +3958,10 @@ CONFIG_NFC_WILINK=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3989,6 +4023,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -4274,6 +4309,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIE_ARMADA_8K is not set # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set CONFIG_PCIE_DW_HOST=y @@ -4384,6 +4420,7 @@ CONFIG_PINCTRL_APQ8084=m CONFIG_PINCTRL_ARMADA_370=y CONFIG_PINCTRL_ARMADA_XP=y CONFIG_PINCTRL_AS3722=y +CONFIG_PINCTRL_AXP209=m # CONFIG_PINCTRL_BAYTRAIL is not set # CONFIG_PINCTRL_BROXTON is not set # CONFIG_PINCTRL_CANNONLAKE is not set @@ -4406,6 +4443,7 @@ CONFIG_PINCTRL_MSM8916=m CONFIG_PINCTRL_MSM8960=m # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_MSM8996 is not set +CONFIG_PINCTRL_MSM8998=m CONFIG_PINCTRL_MSM8X74=m CONFIG_PINCTRL_MVEBU=y CONFIG_PINCTRL_PALMAS=y @@ -4463,7 +4501,6 @@ CONFIG_POWER_RESET_AS3722=y # CONFIG_POWER_RESET_BRCMSTB is not set CONFIG_POWER_RESET_GPIO_RESTART=y CONFIG_POWER_RESET_GPIO=y -CONFIG_POWER_RESET_IMX=y # CONFIG_POWER_RESET_LTC2952 is not set CONFIG_POWER_RESET_MSM=y # CONFIG_POWER_RESET_QNAP is not set @@ -4551,9 +4588,11 @@ CONFIG_PXA_DMA=y # CONFIG_QCA7000 is not set # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +CONFIG_QCOM_A53PLL=m CONFIG_QCOM_ADSP_PIL=m CONFIG_QCOM_APCS_IPC=m CONFIG_QCOM_BAM_DMA=m +CONFIG_QCOM_CLK_APCS_MSM8916=m CONFIG_QCOM_CLK_RPM=m CONFIG_QCOM_CLK_SMD_RPM=m CONFIG_QCOM_COINCELL=m @@ -4639,6 +4678,7 @@ CONFIG_RAID_ATTRS=m CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4678,7 +4718,7 @@ CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=m -# CONFIG_REFCOUNT_FULL is not set +CONFIG_REFCOUNT_FULL=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_IRQ=y CONFIG_REGMAP_MMIO=y @@ -4702,6 +4742,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_GPIO=m CONFIG_REGULATOR_ISL6271A=m CONFIG_REGULATOR_ISL9305=m +CONFIG_REGULATOR_LM363X=m CONFIG_REGULATOR_LP3971=m CONFIG_REGULATOR_LP3972=m CONFIG_REGULATOR_LP872X=y @@ -4854,6 +4895,7 @@ CONFIG_RTC_DRV_AS3722=y CONFIG_RTC_DRV_BQ32K=m CONFIG_RTC_DRV_BQ4802=m CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_CROS_EC=m CONFIG_RTC_DRV_DA9052=m CONFIG_RTC_DRV_DA9055=m CONFIG_RTC_DRV_DS1286=m @@ -4905,6 +4947,7 @@ CONFIG_RTC_DRV_MC13XXX=m CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_MV=m CONFIG_RTC_DRV_MXC=m +CONFIG_RTC_DRV_MXC_V2=m CONFIG_RTC_DRV_OMAP=m CONFIG_RTC_DRV_PALMAS=m CONFIG_RTC_DRV_PCF2123=m @@ -4989,6 +5032,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m CONFIG_S3C2410_WATCHDOG=m # CONFIG_SAMPLES is not set @@ -5139,6 +5183,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -5320,6 +5365,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -5348,7 +5394,8 @@ CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_MID is not set CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 -CONFIG_SERIAL_8250_OMAP=m +CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y +CONFIG_SERIAL_8250_OMAP=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_RT288X=y @@ -5387,8 +5434,7 @@ CONFIG_SERIAL_MVEBU_CONSOLE=y CONFIG_SERIAL_MVEBU_UART=y # CONFIG_SERIAL_NONSTANDARD is not set CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_SERIAL_OMAP_CONSOLE=y -CONFIG_SERIAL_OMAP=y +# CONFIG_SERIAL_OMAP is not set # CONFIG_SERIAL_PCH_UART is not set CONFIG_SERIAL_PXA_CONSOLE=y CONFIG_SERIAL_PXA=y @@ -5437,6 +5483,7 @@ CONFIG_SI7020=m # CONFIG_SIGMA is not set CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SIMPLE_PM_BUS=y +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -5449,6 +5496,8 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +CONFIG_SLIMBUS=m +CONFIG_SLIM_QCOM_CTRL=m CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -5714,6 +5763,7 @@ CONFIG_SND_SOC_LPASS_CPU=m CONFIG_SND_SOC_LPASS_PLATFORM=m CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX98090=m +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -5728,6 +5778,8 @@ CONFIG_SND_SOC_ODROID=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set CONFIG_SND_SOC_PCM512x_I2C=m @@ -5764,6 +5816,7 @@ CONFIG_SND_SOC_STORM=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m CONFIG_SND_SOC_TEGRA20_AC97=m CONFIG_SND_SOC_TEGRA20_DAS=m CONFIG_SND_SOC_TEGRA20_I2S=m @@ -5785,9 +5838,12 @@ CONFIG_SND_SOC_TLV320AIC23_I2C=m CONFIG_SND_SOC_TLV320AIC23=m CONFIG_SND_SOC_TLV320AIC23_SPI=m CONFIG_SND_SOC_TLV320AIC31XX=m +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m CONFIG_SND_SOC_TLV320AIC3X=m CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m CONFIG_SND_SOC_TWL4030=m CONFIG_SND_SOC_TWL6040=m # CONFIG_SND_SOC_WM8510 is not set @@ -5888,6 +5944,9 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE=y CONFIG_SPARSE_RCU_POINTER=y # CONFIG_SPEAKUP is not set # CONFIG_SPI_ALTERA is not set @@ -5943,6 +6002,7 @@ CONFIG_SPI=y # CONFIG_SPI_ZYNQMP_GQSPI is not set CONFIG_SPMI=m CONFIG_SPMI_MSM_PMIC_ARB=m +CONFIG_SPMI_PMIC_CLKDIV=m # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_LZ4=y @@ -5999,6 +6059,9 @@ CONFIG_STRIP_ASM_SYMS=y CONFIG_ST_THERMAL=m CONFIG_ST_THERMAL_MEMMAP=m # CONFIG_ST_THERMAL_SYSCFG is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUN4I_A10_CCU=y CONFIG_SUN4I_EMAC=m CONFIG_SUN4I_GPADC=m @@ -6124,6 +6187,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y CONFIG_TEGRA_IVC=y CONFIG_TEGRA_MC=y CONFIG_TEGRA_SOCTHERM=m +CONFIG_TEGRA_VDE=m CONFIG_TEGRA_WATCHDOG=m CONFIG_TEHUTI=m CONFIG_TELCLOCK=m @@ -6190,16 +6254,18 @@ CONFIG_TI_DAVINCI_EMAC=m CONFIG_TI_DAVINCI_MDIO=m CONFIG_TI_EDMA=y CONFIG_TI_EMIF=m +CONFIG_TI_EMIF_SRAM=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 +CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_MI0283QT=m CONFIG_TINYDRM_MIPI_DBI=m # CONFIG_TINYDRM_REPAPER is not set # CONFIG_TINYDRM_ST7586 is not set +CONFIG_TINYDRM_ST7735R=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -6371,6 +6437,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -6614,7 +6681,7 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m CONFIG_USB_OHCI_HCD_STI=m CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set +CONFIG_USB_OTG_FSM=m # CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_OTG=y # CONFIG_USB_OXU210HP_HCD is not set @@ -6753,6 +6820,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_MVEBU=m CONFIG_USB_XHCI_PLATFORM=m @@ -6947,6 +7015,7 @@ CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -7087,6 +7156,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XILINX_DMA is not set CONFIG_XILINX_EMACLITE=m CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m CONFIG_XILINX_WATCHDOG=m CONFIG_XILINX_XADC=m # CONFIG_XILINX_ZYNQMP_DMA is not set @@ -7116,6 +7186,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config index 0c8341c..ce63002 100644 --- a/kernel-i686-PAE.config +++ b/kernel-i686-PAE.config @@ -40,6 +40,7 @@ CONFIG_ACCESSIBILITY=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set CONFIG_ACERHDF=m +CONFIG_ACER_WIRELESS=m CONFIG_ACER_WMI=m # CONFIG_ACORN_PARTITION is not set CONFIG_ACPI_AC=y @@ -75,6 +76,7 @@ CONFIG_ACPI_PROCFS=y CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y CONFIG_ACPI_SBS=m CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_THERMAL=y CONFIG_ACPI_TOSHIBA=m @@ -250,6 +252,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -263,6 +266,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -448,6 +452,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -502,6 +507,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +# CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -719,6 +725,7 @@ CONFIG_CHARGER_SMB347=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set # CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -746,6 +753,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -1005,7 +1013,6 @@ CONFIG_DEBUG_RODATA_TEST=y CONFIG_DEBUG_SET_MODULE_RONX=y # CONFIG_DEBUG_SG is not set CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y # CONFIG_DEBUG_SPINLOCK is not set CONFIG_DEBUG_STACKOVERFLOW=y # CONFIG_DEBUG_STACK_USAGE is not set @@ -1031,8 +1038,8 @@ CONFIG_DELL_LAPTOP=m CONFIG_DELL_RBTN=m # CONFIG_DELL_RBU is not set CONFIG_DELL_SMBIOS=m -CONFIG_DELL_SMBIOS_SMM=m -CONFIG_DELL_SMBIOS_WMI=m +CONFIG_DELL_SMBIOS_SMM=y +CONFIG_DELL_SMBIOS_WMI=y CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI_AIO=m CONFIG_DELL_WMI_LED=m @@ -1092,6 +1099,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1162,6 +1170,7 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set @@ -1236,6 +1245,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1249,6 +1259,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1513,6 +1524,7 @@ CONFIG_FCOE=m # CONFIG_FDDI is not set CONFIG_FEALNX=m CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set CONFIG_FIREWIRE=m CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1610,6 +1622,7 @@ CONFIG_GIGASET_M105=m # CONFIG_GOLDFISH is not set # CONFIG_GOOGLE_FIRMWARE is not set # CONFIG_GP2AP020A00F is not set +CONFIG_GPD_POCKET_FAN=m # CONFIG_GPIO_104_DIO_48E is not set # CONFIG_GPIO_104_IDI_48 is not set # CONFIG_GPIO_104_IDIO_16 is not set @@ -1648,6 +1661,7 @@ CONFIG_GPIOLIB=y # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_RDC321X is not set @@ -1678,6 +1692,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_HD44780=m @@ -1725,6 +1740,7 @@ CONFIG_HID_HOLTEK=m CONFIG_HID_HYPERV_MOUSE=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1881,7 +1897,7 @@ CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_GEODE=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIA=m CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y @@ -2010,6 +2026,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2160,6 +2177,7 @@ CONFIG_INT340X_THERMAL=m # CONFIG_INTEGRITY is not set # CONFIG_INTEL_ATOMISP is not set CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHTDC_TI_PWRBTN=m CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y @@ -2222,6 +2240,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2355,7 +2374,6 @@ CONFIG_IPW2200_PROMISCUOUS=y CONFIG_IPW2200_QOS=y CONFIG_IPW2200_RADIOTAP=y CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2514,7 +2532,7 @@ CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_LZO is not set # CONFIG_KEXEC_FILE is not set # CONFIG_KEXEC_JUMP is not set -# CONFIG_KEXEC_VERIFY_SIG is not set +# CONFIG_KEXEC_SIG is not set CONFIG_KEXEC=y # CONFIG_KEYBOARD_ADC is not set # CONFIG_KEYBOARD_ADP5588 is not set @@ -2621,6 +2639,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2653,6 +2672,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2687,11 +2707,11 @@ CONFIG_LIBNVDIMM=y CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2847,6 +2867,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2924,8 +2945,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -2976,6 +2995,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -3008,6 +3029,8 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLX_PLATFORM=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -3028,6 +3051,7 @@ CONFIG_MMA7660=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC=m # CONFIG_MMC_MTK is not set @@ -3117,6 +3141,7 @@ CONFIG_MSI_WMI=m # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AR7_PARTS is not set # CONFIG_MTD_BLKDEVS is not set @@ -3263,9 +3288,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3449,6 +3476,7 @@ CONFIG_NET_VENDOR_BROCADE=y # CONFIG_NET_VENDOR_CAVIUM is not set CONFIG_NET_VENDOR_CHELSIO=y CONFIG_NET_VENDOR_CISCO=y +# CONFIG_NET_VENDOR_CORTINA is not set CONFIG_NET_VENDOR_DEC=y CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3481,6 +3509,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3560,6 +3589,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3621,6 +3654,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3865,6 +3899,7 @@ CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set @@ -3940,6 +3975,7 @@ CONFIG_PHYSICAL_START=0x400000 CONFIG_PID_NS=y CONFIG_PINCONF=y # CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_AXP209 is not set CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_BROXTON=m # CONFIG_PINCTRL_CANNONLAKE is not set @@ -4126,6 +4162,7 @@ CONFIG_RAID_ATTRS=m CONFIG_RANDOMIZE_BASE=y # CONFIG_RAPIDIO is not set CONFIG_RAS_CEC=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4359,6 +4396,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m # CONFIG_SAMPLES is not set CONFIG_SAMSUNG_LAPTOP=m @@ -4511,6 +4549,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y # CONFIG_SCx200_ACB is not set # CONFIG_SCx200 is not set +CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4700,6 +4739,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -4788,6 +4828,7 @@ CONFIG_SH_ETH=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y # CONFIG_SILEAD_DMI is not set # CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4800,6 +4841,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +# CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -5042,8 +5084,9 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m -CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m +CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y CONFIG_SND_SOC=m +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -5056,6 +5099,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set @@ -5075,13 +5120,17 @@ CONFIG_SND_SOC_SSM4567=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TPA6130A2 is not set CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5109,6 +5158,7 @@ CONFIG_SND_SOC_WM8524=m CONFIG_SND_SONICVIBES=m # CONFIG_SND_SPI is not set CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m # CONFIG_SND_SUPPORT_OLD_API is not set CONFIG_SND_TRIDENT=m CONFIG_SND_USB_6FIRE=m @@ -5146,6 +5196,10 @@ CONFIG_SONYPI_COMPAT=y CONFIG_SONYPI=m CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE_INTEL=m +CONFIG_SOUNDWIRE=y CONFIG_SP5100_TCO=m CONFIG_SPARSE_IRQ=y CONFIG_SPARSE_RCU_POINTER=y @@ -5222,6 +5276,9 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -5381,7 +5438,6 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5544,6 +5600,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -5852,6 +5909,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_PLATFORM is not set CONFIG_USB_XUSBATM=m @@ -5873,6 +5931,7 @@ CONFIG_UWB_WHCI=m CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_V4L_PLATFORM_DRIVERS is not set # CONFIG_V4L_TEST_DRIVERS is not set +# CONFIG_VBOXGUEST is not set # CONFIG_VCNL4000 is not set # CONFIG_VEML6070 is not set CONFIG_VETH=m @@ -5939,6 +5998,7 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m CONFIG_VIDEO_HDPVR=m CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_IPU3_CIO2=m # CONFIG_VIDEO_IVTV_ALSA is not set # CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set CONFIG_VIDEO_IVTV=m @@ -5994,12 +6054,13 @@ CONFIG_VIDEO_ZORAN_LML33R10=m CONFIG_VIDEO_ZORAN=m CONFIG_VIDEO_ZORAN_ZR36060=m # CONFIG_VIPERBOARD_ADC is not set -# CONFIG_VIRT_DRIVERS is not set +CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -6162,12 +6223,11 @@ CONFIG_X86_PAT=y CONFIG_X86_PCC_CPUFREQ=m CONFIG_X86_PKG_TEMP_THERMAL=m CONFIG_X86_PLATFORM_DEVICES=y -CONFIG_X86_PMEM_LEGACY=y +CONFIG_X86_PMEM_LEGACY=m CONFIG_X86_PM_TIMER=y # CONFIG_X86_POWERNOW_K6 is not set CONFIG_X86_POWERNOW_K7=y CONFIG_X86_POWERNOW_K8=m -# CONFIG_X86_PPRO_FENCE is not set # CONFIG_X86_PTDUMP is not set # CONFIG_X86_RDC321X is not set # CONFIG_X86_REBOOTFIXUPS is not set @@ -6226,6 +6286,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XFS_WARN is not set # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set CONFIG_XILLYBUS=m # CONFIG_XILLYBUS_OF is not set @@ -6252,6 +6313,7 @@ CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-i686-PAEdebug.config b/kernel-i686-PAEdebug.config index 8e00ac3..a95ad41 100644 --- a/kernel-i686-PAEdebug.config +++ b/kernel-i686-PAEdebug.config @@ -40,6 +40,7 @@ CONFIG_ACCESSIBILITY=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set CONFIG_ACERHDF=m +CONFIG_ACER_WIRELESS=m CONFIG_ACER_WMI=m # CONFIG_ACORN_PARTITION is not set CONFIG_ACPI_AC=y @@ -75,6 +76,7 @@ CONFIG_ACPI_PROCFS=y CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y CONFIG_ACPI_SBS=m CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_THERMAL=y CONFIG_ACPI_TOSHIBA=m @@ -251,6 +253,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -264,6 +267,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -449,6 +453,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -503,6 +508,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -720,6 +726,7 @@ CONFIG_CHARGER_SMB347=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set # CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -747,6 +754,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -1014,7 +1022,6 @@ CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SET_MODULE_RONX=y CONFIG_DEBUG_SG=y CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_STACKOVERFLOW=y @@ -1041,8 +1048,8 @@ CONFIG_DELL_LAPTOP=m CONFIG_DELL_RBTN=m # CONFIG_DELL_RBU is not set CONFIG_DELL_SMBIOS=m -CONFIG_DELL_SMBIOS_SMM=m -CONFIG_DELL_SMBIOS_WMI=m +CONFIG_DELL_SMBIOS_SMM=y +CONFIG_DELL_SMBIOS_WMI=y CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI_AIO=m CONFIG_DELL_WMI_LED=m @@ -1103,6 +1110,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1173,6 +1181,7 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set @@ -1247,6 +1256,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1260,6 +1270,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1425,6 +1436,7 @@ CONFIG_F2FS_FS_XATTR=y # CONFIG_F2FS_IO_TRACE is not set CONFIG_F2FS_STAT_FS=y CONFIG_F71808E_WDT=m +CONFIG_FAIL_FUNCTION=y # CONFIG_FAIL_FUTEX is not set CONFIG_FAIL_IO_TIMEOUT=y CONFIG_FAIL_MAKE_REQUEST=y @@ -1531,6 +1543,7 @@ CONFIG_FCOE=m # CONFIG_FDDI is not set CONFIG_FEALNX=m CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set CONFIG_FIREWIRE=m CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1628,6 +1641,7 @@ CONFIG_GIGASET_M105=m # CONFIG_GOLDFISH is not set # CONFIG_GOOGLE_FIRMWARE is not set # CONFIG_GP2AP020A00F is not set +CONFIG_GPD_POCKET_FAN=m # CONFIG_GPIO_104_DIO_48E is not set # CONFIG_GPIO_104_IDI_48 is not set # CONFIG_GPIO_104_IDIO_16 is not set @@ -1666,6 +1680,7 @@ CONFIG_GPIOLIB=y # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_RDC321X is not set @@ -1696,6 +1711,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_HD44780=m @@ -1743,6 +1759,7 @@ CONFIG_HID_HOLTEK=m CONFIG_HID_HYPERV_MOUSE=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1899,7 +1916,7 @@ CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_GEODE=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIA=m CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y @@ -2028,6 +2045,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2178,6 +2196,7 @@ CONFIG_INT340X_THERMAL=m # CONFIG_INTEGRITY is not set # CONFIG_INTEL_ATOMISP is not set CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHTDC_TI_PWRBTN=m CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y @@ -2240,6 +2259,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2373,7 +2393,6 @@ CONFIG_IPW2200_PROMISCUOUS=y CONFIG_IPW2200_QOS=y CONFIG_IPW2200_RADIOTAP=y CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2534,7 +2553,7 @@ CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_LZO is not set # CONFIG_KEXEC_FILE is not set # CONFIG_KEXEC_JUMP is not set -# CONFIG_KEXEC_VERIFY_SIG is not set +# CONFIG_KEXEC_SIG is not set CONFIG_KEXEC=y # CONFIG_KEYBOARD_ADC is not set # CONFIG_KEYBOARD_ADP5588 is not set @@ -2641,6 +2660,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2673,6 +2693,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2707,11 +2728,11 @@ CONFIG_LIBNVDIMM=y CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2867,6 +2888,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2944,8 +2966,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -2996,6 +3016,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -3028,6 +3050,8 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLX_PLATFORM=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -3048,6 +3072,7 @@ CONFIG_MMA7660=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC=m # CONFIG_MMC_MTK is not set @@ -3137,6 +3162,7 @@ CONFIG_MSI_WMI=m # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AR7_PARTS is not set # CONFIG_MTD_BLKDEVS is not set @@ -3283,9 +3309,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3469,6 +3497,7 @@ CONFIG_NET_VENDOR_BROCADE=y # CONFIG_NET_VENDOR_CAVIUM is not set CONFIG_NET_VENDOR_CHELSIO=y CONFIG_NET_VENDOR_CISCO=y +# CONFIG_NET_VENDOR_CORTINA is not set CONFIG_NET_VENDOR_DEC=y CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3501,6 +3530,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3580,6 +3610,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3641,6 +3675,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3885,6 +3920,7 @@ CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set @@ -3960,6 +3996,7 @@ CONFIG_PHYSICAL_START=0x400000 CONFIG_PID_NS=y CONFIG_PINCONF=y # CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_AXP209 is not set CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_BROXTON=m # CONFIG_PINCTRL_CANNONLAKE is not set @@ -4147,6 +4184,7 @@ CONFIG_RAID_ATTRS=m CONFIG_RANDOMIZE_BASE=y # CONFIG_RAPIDIO is not set CONFIG_RAS_CEC=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4380,6 +4418,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m # CONFIG_SAMPLES is not set CONFIG_SAMSUNG_LAPTOP=m @@ -4532,6 +4571,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y # CONFIG_SCx200_ACB is not set # CONFIG_SCx200 is not set +CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4721,6 +4761,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -4809,6 +4850,7 @@ CONFIG_SH_ETH=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y # CONFIG_SILEAD_DMI is not set # CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4821,6 +4863,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +# CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -5064,8 +5107,9 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m -CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m +CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y CONFIG_SND_SOC=m +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -5078,6 +5122,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set @@ -5097,13 +5143,17 @@ CONFIG_SND_SOC_SSM4567=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TPA6130A2 is not set CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5131,6 +5181,7 @@ CONFIG_SND_SOC_WM8524=m CONFIG_SND_SONICVIBES=m # CONFIG_SND_SPI is not set CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m # CONFIG_SND_SUPPORT_OLD_API is not set CONFIG_SND_TRIDENT=m CONFIG_SND_USB_6FIRE=m @@ -5168,6 +5219,10 @@ CONFIG_SONYPI_COMPAT=y CONFIG_SONYPI=m CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE_INTEL=m +CONFIG_SOUNDWIRE=y CONFIG_SP5100_TCO=m CONFIG_SPARSE_IRQ=y CONFIG_SPARSE_RCU_POINTER=y @@ -5244,6 +5299,9 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -5403,7 +5461,6 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5566,6 +5623,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -5874,6 +5932,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_PLATFORM is not set CONFIG_USB_XUSBATM=m @@ -5895,6 +5954,7 @@ CONFIG_UWB_WHCI=m CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_V4L_PLATFORM_DRIVERS is not set # CONFIG_V4L_TEST_DRIVERS is not set +# CONFIG_VBOXGUEST is not set # CONFIG_VCNL4000 is not set # CONFIG_VEML6070 is not set CONFIG_VETH=m @@ -5961,6 +6021,7 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m CONFIG_VIDEO_HDPVR=m CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_IPU3_CIO2=m # CONFIG_VIDEO_IVTV_ALSA is not set # CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set CONFIG_VIDEO_IVTV=m @@ -6016,12 +6077,13 @@ CONFIG_VIDEO_ZORAN_LML33R10=m CONFIG_VIDEO_ZORAN=m CONFIG_VIDEO_ZORAN_ZR36060=m # CONFIG_VIPERBOARD_ADC is not set -# CONFIG_VIRT_DRIVERS is not set +CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -6184,12 +6246,11 @@ CONFIG_X86_PAT=y CONFIG_X86_PCC_CPUFREQ=m CONFIG_X86_PKG_TEMP_THERMAL=m CONFIG_X86_PLATFORM_DEVICES=y -CONFIG_X86_PMEM_LEGACY=y +CONFIG_X86_PMEM_LEGACY=m CONFIG_X86_PM_TIMER=y # CONFIG_X86_POWERNOW_K6 is not set CONFIG_X86_POWERNOW_K7=y CONFIG_X86_POWERNOW_K8=m -# CONFIG_X86_PPRO_FENCE is not set CONFIG_X86_PTDUMP=y # CONFIG_X86_RDC321X is not set # CONFIG_X86_REBOOTFIXUPS is not set @@ -6248,6 +6309,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XFS_WARN is not set # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set CONFIG_XILLYBUS=m # CONFIG_XILLYBUS_OF is not set @@ -6274,6 +6336,7 @@ CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config index 7606d1f..3d4eaa2 100644 --- a/kernel-i686-debug.config +++ b/kernel-i686-debug.config @@ -40,6 +40,7 @@ CONFIG_ACCESSIBILITY=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set CONFIG_ACERHDF=m +CONFIG_ACER_WIRELESS=m CONFIG_ACER_WMI=m # CONFIG_ACORN_PARTITION is not set CONFIG_ACPI_AC=y @@ -75,6 +76,7 @@ CONFIG_ACPI_PROCFS=y CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y CONFIG_ACPI_SBS=m CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_THERMAL=y CONFIG_ACPI_TOSHIBA=m @@ -251,6 +253,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -264,6 +267,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -449,6 +453,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -503,6 +508,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -720,6 +726,7 @@ CONFIG_CHARGER_SMB347=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set # CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -747,6 +754,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -1014,7 +1022,6 @@ CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SET_MODULE_RONX=y CONFIG_DEBUG_SG=y CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_STACKOVERFLOW=y @@ -1041,8 +1048,8 @@ CONFIG_DELL_LAPTOP=m CONFIG_DELL_RBTN=m # CONFIG_DELL_RBU is not set CONFIG_DELL_SMBIOS=m -CONFIG_DELL_SMBIOS_SMM=m -CONFIG_DELL_SMBIOS_WMI=m +CONFIG_DELL_SMBIOS_SMM=y +CONFIG_DELL_SMBIOS_WMI=y CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI_AIO=m CONFIG_DELL_WMI_LED=m @@ -1103,6 +1110,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1173,6 +1181,7 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set @@ -1247,6 +1256,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1260,6 +1270,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1425,6 +1436,7 @@ CONFIG_F2FS_FS_XATTR=y # CONFIG_F2FS_IO_TRACE is not set CONFIG_F2FS_STAT_FS=y CONFIG_F71808E_WDT=m +CONFIG_FAIL_FUNCTION=y # CONFIG_FAIL_FUTEX is not set CONFIG_FAIL_IO_TIMEOUT=y CONFIG_FAIL_MAKE_REQUEST=y @@ -1531,6 +1543,7 @@ CONFIG_FCOE=m # CONFIG_FDDI is not set CONFIG_FEALNX=m CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set CONFIG_FIREWIRE=m CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1628,6 +1641,7 @@ CONFIG_GIGASET_M105=m # CONFIG_GOLDFISH is not set # CONFIG_GOOGLE_FIRMWARE is not set # CONFIG_GP2AP020A00F is not set +CONFIG_GPD_POCKET_FAN=m # CONFIG_GPIO_104_DIO_48E is not set # CONFIG_GPIO_104_IDI_48 is not set # CONFIG_GPIO_104_IDIO_16 is not set @@ -1666,6 +1680,7 @@ CONFIG_GPIOLIB=y # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_RDC321X is not set @@ -1696,6 +1711,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_HD44780=m @@ -1743,6 +1759,7 @@ CONFIG_HID_HOLTEK=m CONFIG_HID_HYPERV_MOUSE=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1899,7 +1916,7 @@ CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_GEODE=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIA=m CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y @@ -2028,6 +2045,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2178,6 +2196,7 @@ CONFIG_INT340X_THERMAL=m # CONFIG_INTEGRITY is not set # CONFIG_INTEL_ATOMISP is not set CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHTDC_TI_PWRBTN=m CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y @@ -2240,6 +2259,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2373,7 +2393,6 @@ CONFIG_IPW2200_PROMISCUOUS=y CONFIG_IPW2200_QOS=y CONFIG_IPW2200_RADIOTAP=y CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2534,7 +2553,7 @@ CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_LZO is not set # CONFIG_KEXEC_FILE is not set # CONFIG_KEXEC_JUMP is not set -# CONFIG_KEXEC_VERIFY_SIG is not set +# CONFIG_KEXEC_SIG is not set CONFIG_KEXEC=y # CONFIG_KEYBOARD_ADC is not set # CONFIG_KEYBOARD_ADP5588 is not set @@ -2641,6 +2660,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2673,6 +2693,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2707,11 +2728,11 @@ CONFIG_LIBFCOE=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2867,6 +2888,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2944,8 +2966,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -2996,6 +3016,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -3028,6 +3050,8 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLX_PLATFORM=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -3048,6 +3072,7 @@ CONFIG_MMA7660=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC=m # CONFIG_MMC_MTK is not set @@ -3137,6 +3162,7 @@ CONFIG_MSI_WMI=m # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AR7_PARTS is not set # CONFIG_MTD_BLKDEVS is not set @@ -3283,9 +3309,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3469,6 +3497,7 @@ CONFIG_NET_VENDOR_BROCADE=y # CONFIG_NET_VENDOR_CAVIUM is not set CONFIG_NET_VENDOR_CHELSIO=y CONFIG_NET_VENDOR_CISCO=y +# CONFIG_NET_VENDOR_CORTINA is not set CONFIG_NET_VENDOR_DEC=y CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3501,6 +3530,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3580,6 +3610,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3641,6 +3675,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3885,6 +3920,7 @@ CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set @@ -3960,6 +3996,7 @@ CONFIG_PHYSICAL_START=0x400000 CONFIG_PID_NS=y CONFIG_PINCONF=y # CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_AXP209 is not set CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_BROXTON=m # CONFIG_PINCTRL_CANNONLAKE is not set @@ -4147,6 +4184,7 @@ CONFIG_RAID_ATTRS=m CONFIG_RANDOMIZE_BASE=y # CONFIG_RAPIDIO is not set CONFIG_RAS_CEC=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4380,6 +4418,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m # CONFIG_SAMPLES is not set CONFIG_SAMSUNG_LAPTOP=m @@ -4532,6 +4571,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y # CONFIG_SCx200_ACB is not set # CONFIG_SCx200 is not set +CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4721,6 +4761,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -4809,6 +4850,7 @@ CONFIG_SH_ETH=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y # CONFIG_SILEAD_DMI is not set # CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4821,6 +4863,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +# CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -5064,8 +5107,9 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m -CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m +CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y CONFIG_SND_SOC=m +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -5078,6 +5122,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set @@ -5097,13 +5143,17 @@ CONFIG_SND_SOC_SSM4567=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TPA6130A2 is not set CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5131,6 +5181,7 @@ CONFIG_SND_SOC_WM8524=m CONFIG_SND_SONICVIBES=m # CONFIG_SND_SPI is not set CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m # CONFIG_SND_SUPPORT_OLD_API is not set CONFIG_SND_TRIDENT=m CONFIG_SND_USB_6FIRE=m @@ -5168,6 +5219,10 @@ CONFIG_SONYPI_COMPAT=y CONFIG_SONYPI=m CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE_INTEL=m +CONFIG_SOUNDWIRE=y CONFIG_SP5100_TCO=m CONFIG_SPARSE_IRQ=y CONFIG_SPARSE_RCU_POINTER=y @@ -5244,6 +5299,9 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -5403,7 +5461,6 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5566,6 +5623,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -5874,6 +5932,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_PLATFORM is not set CONFIG_USB_XUSBATM=m @@ -5895,6 +5954,7 @@ CONFIG_UWB_WHCI=m CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_V4L_PLATFORM_DRIVERS is not set # CONFIG_V4L_TEST_DRIVERS is not set +# CONFIG_VBOXGUEST is not set # CONFIG_VCNL4000 is not set # CONFIG_VEML6070 is not set CONFIG_VETH=m @@ -5961,6 +6021,7 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m CONFIG_VIDEO_HDPVR=m CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_IPU3_CIO2=m # CONFIG_VIDEO_IVTV_ALSA is not set # CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set CONFIG_VIDEO_IVTV=m @@ -6016,12 +6077,13 @@ CONFIG_VIDEO_ZORAN_LML33R10=m CONFIG_VIDEO_ZORAN=m CONFIG_VIDEO_ZORAN_ZR36060=m # CONFIG_VIPERBOARD_ADC is not set -# CONFIG_VIRT_DRIVERS is not set +CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -6184,12 +6246,11 @@ CONFIG_X86_PAT=y CONFIG_X86_PCC_CPUFREQ=m CONFIG_X86_PKG_TEMP_THERMAL=m CONFIG_X86_PLATFORM_DEVICES=y -CONFIG_X86_PMEM_LEGACY=y +CONFIG_X86_PMEM_LEGACY=m CONFIG_X86_PM_TIMER=y # CONFIG_X86_POWERNOW_K6 is not set CONFIG_X86_POWERNOW_K7=y CONFIG_X86_POWERNOW_K8=m -# CONFIG_X86_PPRO_FENCE is not set CONFIG_X86_PTDUMP=y # CONFIG_X86_RDC321X is not set # CONFIG_X86_REBOOTFIXUPS is not set @@ -6246,6 +6307,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XFS_WARN is not set # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set CONFIG_XILLYBUS=m # CONFIG_XILLYBUS_OF is not set @@ -6272,6 +6334,7 @@ CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-i686.config b/kernel-i686.config index e159f45..1f56ec5 100644 --- a/kernel-i686.config +++ b/kernel-i686.config @@ -40,6 +40,7 @@ CONFIG_ACCESSIBILITY=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set CONFIG_ACERHDF=m +CONFIG_ACER_WIRELESS=m CONFIG_ACER_WMI=m # CONFIG_ACORN_PARTITION is not set CONFIG_ACPI_AC=y @@ -75,6 +76,7 @@ CONFIG_ACPI_PROCFS=y CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y CONFIG_ACPI_SBS=m CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_THERMAL=y CONFIG_ACPI_TOSHIBA=m @@ -250,6 +252,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -263,6 +266,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -448,6 +452,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -502,6 +507,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +# CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -719,6 +725,7 @@ CONFIG_CHARGER_SMB347=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set # CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -746,6 +753,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -1005,7 +1013,6 @@ CONFIG_DEBUG_RODATA_TEST=y CONFIG_DEBUG_SET_MODULE_RONX=y # CONFIG_DEBUG_SG is not set CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y # CONFIG_DEBUG_SPINLOCK is not set CONFIG_DEBUG_STACKOVERFLOW=y # CONFIG_DEBUG_STACK_USAGE is not set @@ -1031,8 +1038,8 @@ CONFIG_DELL_LAPTOP=m CONFIG_DELL_RBTN=m # CONFIG_DELL_RBU is not set CONFIG_DELL_SMBIOS=m -CONFIG_DELL_SMBIOS_SMM=m -CONFIG_DELL_SMBIOS_WMI=m +CONFIG_DELL_SMBIOS_SMM=y +CONFIG_DELL_SMBIOS_WMI=y CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI_AIO=m CONFIG_DELL_WMI_LED=m @@ -1092,6 +1099,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1162,6 +1170,7 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set @@ -1236,6 +1245,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1249,6 +1259,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1513,6 +1524,7 @@ CONFIG_FCOE=m # CONFIG_FDDI is not set CONFIG_FEALNX=m CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set CONFIG_FIREWIRE=m CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1610,6 +1622,7 @@ CONFIG_GIGASET_M105=m # CONFIG_GOLDFISH is not set # CONFIG_GOOGLE_FIRMWARE is not set # CONFIG_GP2AP020A00F is not set +CONFIG_GPD_POCKET_FAN=m # CONFIG_GPIO_104_DIO_48E is not set # CONFIG_GPIO_104_IDI_48 is not set # CONFIG_GPIO_104_IDIO_16 is not set @@ -1648,6 +1661,7 @@ CONFIG_GPIOLIB=y # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_RDC321X is not set @@ -1678,6 +1692,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_HD44780=m @@ -1725,6 +1740,7 @@ CONFIG_HID_HOLTEK=m CONFIG_HID_HYPERV_MOUSE=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1881,7 +1897,7 @@ CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_GEODE=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIA=m CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y @@ -2010,6 +2026,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2160,6 +2177,7 @@ CONFIG_INT340X_THERMAL=m # CONFIG_INTEGRITY is not set # CONFIG_INTEL_ATOMISP is not set CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHTDC_TI_PWRBTN=m CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y @@ -2222,6 +2240,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2355,7 +2374,6 @@ CONFIG_IPW2200_PROMISCUOUS=y CONFIG_IPW2200_QOS=y CONFIG_IPW2200_RADIOTAP=y CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2514,7 +2532,7 @@ CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_LZO is not set # CONFIG_KEXEC_FILE is not set # CONFIG_KEXEC_JUMP is not set -# CONFIG_KEXEC_VERIFY_SIG is not set +# CONFIG_KEXEC_SIG is not set CONFIG_KEXEC=y # CONFIG_KEYBOARD_ADC is not set # CONFIG_KEYBOARD_ADP5588 is not set @@ -2621,6 +2639,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2653,6 +2672,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2687,11 +2707,11 @@ CONFIG_LIBFCOE=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2847,6 +2867,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2924,8 +2945,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -2976,6 +2995,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -3008,6 +3029,8 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLX_PLATFORM=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -3028,6 +3051,7 @@ CONFIG_MMA7660=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC=m # CONFIG_MMC_MTK is not set @@ -3117,6 +3141,7 @@ CONFIG_MSI_WMI=m # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AR7_PARTS is not set # CONFIG_MTD_BLKDEVS is not set @@ -3263,9 +3288,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3449,6 +3476,7 @@ CONFIG_NET_VENDOR_BROCADE=y # CONFIG_NET_VENDOR_CAVIUM is not set CONFIG_NET_VENDOR_CHELSIO=y CONFIG_NET_VENDOR_CISCO=y +# CONFIG_NET_VENDOR_CORTINA is not set CONFIG_NET_VENDOR_DEC=y CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3481,6 +3509,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3560,6 +3589,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3621,6 +3654,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3865,6 +3899,7 @@ CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set @@ -3940,6 +3975,7 @@ CONFIG_PHYSICAL_START=0x400000 CONFIG_PID_NS=y CONFIG_PINCONF=y # CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_AXP209 is not set CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_BROXTON=m # CONFIG_PINCTRL_CANNONLAKE is not set @@ -4126,6 +4162,7 @@ CONFIG_RAID_ATTRS=m CONFIG_RANDOMIZE_BASE=y # CONFIG_RAPIDIO is not set CONFIG_RAS_CEC=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4359,6 +4396,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m # CONFIG_SAMPLES is not set CONFIG_SAMSUNG_LAPTOP=m @@ -4511,6 +4549,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y # CONFIG_SCx200_ACB is not set # CONFIG_SCx200 is not set +CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4700,6 +4739,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -4788,6 +4828,7 @@ CONFIG_SH_ETH=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y # CONFIG_SILEAD_DMI is not set # CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4800,6 +4841,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +# CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -5042,8 +5084,9 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m -CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m +CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y CONFIG_SND_SOC=m +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -5056,6 +5099,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set @@ -5075,13 +5120,17 @@ CONFIG_SND_SOC_SSM4567=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TPA6130A2 is not set CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5109,6 +5158,7 @@ CONFIG_SND_SOC_WM8524=m CONFIG_SND_SONICVIBES=m # CONFIG_SND_SPI is not set CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m # CONFIG_SND_SUPPORT_OLD_API is not set CONFIG_SND_TRIDENT=m CONFIG_SND_USB_6FIRE=m @@ -5146,6 +5196,10 @@ CONFIG_SONYPI_COMPAT=y CONFIG_SONYPI=m CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE_INTEL=m +CONFIG_SOUNDWIRE=y CONFIG_SP5100_TCO=m CONFIG_SPARSE_IRQ=y CONFIG_SPARSE_RCU_POINTER=y @@ -5222,6 +5276,9 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -5381,7 +5438,6 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5544,6 +5600,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -5852,6 +5909,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_PLATFORM is not set CONFIG_USB_XUSBATM=m @@ -5873,6 +5931,7 @@ CONFIG_UWB_WHCI=m CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_V4L_PLATFORM_DRIVERS is not set # CONFIG_V4L_TEST_DRIVERS is not set +# CONFIG_VBOXGUEST is not set # CONFIG_VCNL4000 is not set # CONFIG_VEML6070 is not set CONFIG_VETH=m @@ -5939,6 +5998,7 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m CONFIG_VIDEO_HDPVR=m CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_IPU3_CIO2=m # CONFIG_VIDEO_IVTV_ALSA is not set # CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set CONFIG_VIDEO_IVTV=m @@ -5994,12 +6054,13 @@ CONFIG_VIDEO_ZORAN_LML33R10=m CONFIG_VIDEO_ZORAN=m CONFIG_VIDEO_ZORAN_ZR36060=m # CONFIG_VIPERBOARD_ADC is not set -# CONFIG_VIRT_DRIVERS is not set +CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -6162,12 +6223,11 @@ CONFIG_X86_PAT=y CONFIG_X86_PCC_CPUFREQ=m CONFIG_X86_PKG_TEMP_THERMAL=m CONFIG_X86_PLATFORM_DEVICES=y -CONFIG_X86_PMEM_LEGACY=y +CONFIG_X86_PMEM_LEGACY=m CONFIG_X86_PM_TIMER=y # CONFIG_X86_POWERNOW_K6 is not set CONFIG_X86_POWERNOW_K7=y CONFIG_X86_POWERNOW_K8=m -# CONFIG_X86_PPRO_FENCE is not set # CONFIG_X86_PTDUMP is not set # CONFIG_X86_RDC321X is not set # CONFIG_X86_REBOOTFIXUPS is not set @@ -6224,6 +6284,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XFS_WARN is not set # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set CONFIG_XILLYBUS=m # CONFIG_XILLYBUS_OF is not set @@ -6250,6 +6311,7 @@ CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-ppc64-debug.config b/kernel-ppc64-debug.config index 73a93ec..c60de39 100644 --- a/kernel-ppc64-debug.config +++ b/kernel-ppc64-debug.config @@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m CONFIG_ACPI_DEBUG=y # CONFIG_ACPI_NFIT is not set CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_SPCR_TABLE=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set @@ -199,6 +200,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -212,6 +214,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -418,6 +421,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m # CONFIG_BLK_DEV_NS87415 is not set +CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -488,6 +492,7 @@ CONFIG_BOOTX_TEXT=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -705,6 +710,7 @@ CONFIG_CHARGER_SMB347=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set # CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -730,6 +736,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -993,7 +1000,6 @@ CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SET_MODULE_RONX=y CONFIG_DEBUG_SG=y CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_STACKOVERFLOW=y @@ -1070,6 +1076,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1126,6 +1133,7 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set @@ -1199,6 +1207,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1212,6 +1221,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1342,6 +1352,7 @@ CONFIG_F2FS_FS_XATTR=y # CONFIG_F2FS_IO_TRACE is not set CONFIG_F2FS_STAT_FS=y CONFIG_FA_DUMP=y +CONFIG_FAIL_FUNCTION=y # CONFIG_FAIL_FUTEX is not set # CONFIG_FAIL_IOMMU is not set CONFIG_FAIL_IO_TIMEOUT=y @@ -1443,6 +1454,7 @@ CONFIG_FCOE=m CONFIG_FEALNX=m CONFIG_FHANDLE=y # CONFIG_FHCI_DEBUG is not set +# CONFIG_FIND_BIT_BENCHMARK is not set CONFIG_FIREWIRE=m CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1571,6 +1583,7 @@ CONFIG_GPIOLIB=y CONFIG_GPIO_PCA953X=m CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_RDC321X is not set @@ -1599,6 +1612,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y @@ -1646,6 +1660,7 @@ CONFIG_HID_GYRATION=m CONFIG_HID_HOLTEK=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1795,7 +1810,7 @@ CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_POWERNV=m CONFIG_HW_RANDOM_PSERIES=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y @@ -1919,6 +1934,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2091,6 +2107,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2220,7 +2237,6 @@ CONFIG_IPVTAP=m # CONFIG_IPW2200_DEBUG is not set # CONFIG_IPW2200 is not set CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2485,6 +2501,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2518,6 +2535,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2550,11 +2568,11 @@ CONFIG_LIBFCOE=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2705,6 +2723,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2783,8 +2802,6 @@ CONFIG_MFD_CORE=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -2833,6 +2850,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -2862,6 +2881,7 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -2882,6 +2902,7 @@ CONFIG_MMA7660=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC=m # CONFIG_MMC_MTK is not set @@ -2966,6 +2987,7 @@ CONFIG_MSI_BITMAP_SELFTEST=y # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AR7_PARTS is not set # CONFIG_MTD_BLKDEVS is not set @@ -3102,9 +3124,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3287,6 +3311,7 @@ CONFIG_NET_VENDOR_BROCADE=y # CONFIG_NET_VENDOR_CAVIUM is not set CONFIG_NET_VENDOR_CHELSIO=y CONFIG_NET_VENDOR_CISCO=y +# CONFIG_NET_VENDOR_CORTINA is not set CONFIG_NET_VENDOR_DEC=y CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3321,6 +3346,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3399,6 +3425,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3460,6 +3490,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3582,6 +3613,7 @@ CONFIG_OCFS2_FS=m CONFIG_OCFS2_FS_O2CB=m # CONFIG_OCFS2_FS_STATS is not set CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OCXL=m # CONFIG_OF_OVERLAY is not set # CONFIG_OF_UNITTEST is not set # CONFIG_OMFS_FS is not set @@ -3681,6 +3713,7 @@ CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set @@ -3742,6 +3775,7 @@ CONFIG_PHYLINK=m # CONFIG_PI433 is not set CONFIG_PID_NS=y # CONFIG_PINCONF is not set +# CONFIG_PINCTRL_AXP209 is not set # CONFIG_PINCTRL_CANNONLAKE is not set CONFIG_PINCTRL_CEDARFORK=m # CONFIG_PINCTRL_IPQ8074 is not set @@ -3816,7 +3850,9 @@ CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_ICSWX_PID is not set # CONFIG_PPC_ICSWX_USE_SIGILL is not set CONFIG_PPC_ICSWX=y +# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set CONFIG_PPC_MAPLE=y +CONFIG_PPC_MEM_KEYS=y # CONFIG_PPC_MEMTRACE is not set # CONFIG_PPC_MPC5200_LPBFIFO is not set CONFIG_PPC_OF_BOOT_TRAMPOLINE=y @@ -3955,6 +3991,7 @@ CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_RAPIDIO is not set CONFIG_RAS_CEC=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4191,6 +4228,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m # CONFIG_SAMPLES is not set # CONFIG_SAMSUNG_USBPHY is not set @@ -4345,6 +4383,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SD_ADC_MODULATOR is not set CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4520,6 +4559,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -4611,6 +4651,7 @@ CONFIG_SH_ETH=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SIMPLE_GPIO=y # CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4623,6 +4664,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +# CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -4848,6 +4890,7 @@ 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 is not set +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -4860,6 +4903,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set @@ -4879,13 +4924,17 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TPA6130A2 is not set # CONFIG_SND_SOC_TS3A227E is not set +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -4946,6 +4995,9 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE=y CONFIG_SPAPR_TCE_IOMMU=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_VMEMMAP=y @@ -5019,6 +5071,9 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -5170,7 +5225,6 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5329,6 +5383,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -5641,6 +5696,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_PLATFORM is not set CONFIG_USB_XUSBATM=m @@ -5785,6 +5841,7 @@ CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -5931,6 +5988,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XILINX_EMACLITE is not set CONFIG_XILINX_GMII2RGMII=m # CONFIG_XILINX_LL_TEMAC is not set +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set CONFIG_XILLYBUS=m # CONFIG_XILLYBUS_OF is not set @@ -5958,6 +6016,7 @@ CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y # CONFIG_ZONE_DEVICE is not set +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-ppc64.config b/kernel-ppc64.config index fdcc1a8..c055349 100644 --- a/kernel-ppc64.config +++ b/kernel-ppc64.config @@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m # CONFIG_ACPI_DEBUG is not set # CONFIG_ACPI_NFIT is not set CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_SPCR_TABLE=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set @@ -198,6 +199,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -211,6 +213,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -417,6 +420,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m # CONFIG_BLK_DEV_NS87415 is not set +# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -487,6 +491,7 @@ CONFIG_BOOTX_TEXT=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +# CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -704,6 +709,7 @@ CONFIG_CHARGER_SMB347=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set # CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -729,6 +735,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -984,7 +991,6 @@ CONFIG_DEBUG_RODATA_TEST=y CONFIG_DEBUG_SET_MODULE_RONX=y # CONFIG_DEBUG_SG is not set CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y # CONFIG_DEBUG_SPINLOCK is not set CONFIG_DEBUG_STACKOVERFLOW=y # CONFIG_DEBUG_STACK_USAGE is not set @@ -1059,6 +1065,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1115,6 +1122,7 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set @@ -1188,6 +1196,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1201,6 +1210,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1425,6 +1435,7 @@ CONFIG_FCOE=m CONFIG_FEALNX=m CONFIG_FHANDLE=y # CONFIG_FHCI_DEBUG is not set +# CONFIG_FIND_BIT_BENCHMARK is not set CONFIG_FIREWIRE=m CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1553,6 +1564,7 @@ CONFIG_GPIOLIB=y CONFIG_GPIO_PCA953X=m CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_RDC321X is not set @@ -1581,6 +1593,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y @@ -1628,6 +1641,7 @@ CONFIG_HID_GYRATION=m CONFIG_HID_HOLTEK=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1777,7 +1791,7 @@ CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_POWERNV=m CONFIG_HW_RANDOM_PSERIES=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y @@ -1901,6 +1915,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2073,6 +2088,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2202,7 +2218,6 @@ CONFIG_IPVTAP=m # CONFIG_IPW2200_DEBUG is not set # CONFIG_IPW2200 is not set CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2465,6 +2480,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2498,6 +2514,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2530,11 +2547,11 @@ CONFIG_LIBFCOE=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2684,6 +2701,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2762,8 +2780,6 @@ CONFIG_MFD_CORE=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -2812,6 +2828,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -2841,6 +2859,7 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -2861,6 +2880,7 @@ CONFIG_MMA7660=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC=m # CONFIG_MMC_MTK is not set @@ -2944,6 +2964,7 @@ CONFIG_MSI_BITMAP_SELFTEST=y # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AR7_PARTS is not set # CONFIG_MTD_BLKDEVS is not set @@ -3080,9 +3101,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3265,6 +3288,7 @@ CONFIG_NET_VENDOR_BROCADE=y # CONFIG_NET_VENDOR_CAVIUM is not set CONFIG_NET_VENDOR_CHELSIO=y CONFIG_NET_VENDOR_CISCO=y +# CONFIG_NET_VENDOR_CORTINA is not set CONFIG_NET_VENDOR_DEC=y CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3299,6 +3323,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3377,6 +3402,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3438,6 +3467,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3560,6 +3590,7 @@ CONFIG_OCFS2_FS=m CONFIG_OCFS2_FS_O2CB=m # CONFIG_OCFS2_FS_STATS is not set CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OCXL=m # CONFIG_OF_OVERLAY is not set # CONFIG_OF_UNITTEST is not set # CONFIG_OMFS_FS is not set @@ -3659,6 +3690,7 @@ CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set @@ -3720,6 +3752,7 @@ CONFIG_PHYLINK=m # CONFIG_PI433 is not set CONFIG_PID_NS=y # CONFIG_PINCONF is not set +# CONFIG_PINCTRL_AXP209 is not set # CONFIG_PINCTRL_CANNONLAKE is not set CONFIG_PINCTRL_CEDARFORK=m # CONFIG_PINCTRL_IPQ8074 is not set @@ -3794,7 +3827,9 @@ CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_ICSWX_PID is not set # CONFIG_PPC_ICSWX_USE_SIGILL is not set CONFIG_PPC_ICSWX=y +# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set CONFIG_PPC_MAPLE=y +CONFIG_PPC_MEM_KEYS=y # CONFIG_PPC_MEMTRACE is not set # CONFIG_PPC_MPC5200_LPBFIFO is not set CONFIG_PPC_OF_BOOT_TRAMPOLINE=y @@ -3932,6 +3967,7 @@ CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_RAPIDIO is not set CONFIG_RAS_CEC=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4168,6 +4204,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m # CONFIG_SAMPLES is not set # CONFIG_SAMSUNG_USBPHY is not set @@ -4322,6 +4359,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SD_ADC_MODULATOR is not set CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4497,6 +4535,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -4588,6 +4627,7 @@ CONFIG_SH_ETH=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SIMPLE_GPIO=y # CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4600,6 +4640,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +# CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -4824,6 +4865,7 @@ 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 is not set +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -4836,6 +4878,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set @@ -4855,13 +4899,17 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TPA6130A2 is not set # CONFIG_SND_SOC_TS3A227E is not set +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -4922,6 +4970,9 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE=y CONFIG_SPAPR_TCE_IOMMU=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_VMEMMAP=y @@ -4995,6 +5046,9 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -5146,7 +5200,6 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5305,6 +5358,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -5617,6 +5671,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_PLATFORM is not set CONFIG_USB_XUSBATM=m @@ -5761,6 +5816,7 @@ CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -5907,6 +5963,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XILINX_EMACLITE is not set CONFIG_XILINX_GMII2RGMII=m # CONFIG_XILINX_LL_TEMAC is not set +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set CONFIG_XILLYBUS=m # CONFIG_XILLYBUS_OF is not set @@ -5934,6 +5991,7 @@ CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y # CONFIG_ZONE_DEVICE is not set +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config index 24576b2..e7246aa 100644 --- a/kernel-ppc64le-debug.config +++ b/kernel-ppc64le-debug.config @@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m CONFIG_ACPI_DEBUG=y # CONFIG_ACPI_NFIT is not set CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_SPCR_TABLE=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set @@ -192,6 +193,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -205,6 +207,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -388,6 +391,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -444,6 +448,7 @@ CONFIG_BOOTX_TEXT=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -661,6 +666,7 @@ CONFIG_CHARGER_SMB347=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -686,6 +692,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -947,7 +954,6 @@ CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SET_MODULE_RONX=y CONFIG_DEBUG_SG=y CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_STACKOVERFLOW=y @@ -1025,6 +1031,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1081,6 +1088,7 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set @@ -1154,6 +1162,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1167,6 +1176,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1295,6 +1305,7 @@ CONFIG_F2FS_FS_XATTR=y # CONFIG_F2FS_IO_TRACE is not set CONFIG_F2FS_STAT_FS=y CONFIG_FA_DUMP=y +CONFIG_FAIL_FUNCTION=y # CONFIG_FAIL_FUTEX is not set # CONFIG_FAIL_IOMMU is not set CONFIG_FAIL_IO_TIMEOUT=y @@ -1396,6 +1407,7 @@ CONFIG_FCOE=m CONFIG_FEALNX=m CONFIG_FHANDLE=y # CONFIG_FHCI_DEBUG is not set +# CONFIG_FIND_BIT_BENCHMARK is not set CONFIG_FIREWIRE=m CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1524,6 +1536,7 @@ CONFIG_GPIOLIB=y CONFIG_GPIO_PCA953X=m CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_RDC321X is not set @@ -1552,6 +1565,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y @@ -1599,6 +1613,7 @@ CONFIG_HID_GYRATION=m CONFIG_HID_HOLTEK=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1747,7 +1762,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_POWERNV=m CONFIG_HW_RANDOM_PSERIES=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y @@ -1864,6 +1879,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2036,6 +2052,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2165,7 +2182,6 @@ CONFIG_IPVTAP=m # CONFIG_IPW2200_DEBUG is not set # CONFIG_IPW2200 is not set CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2430,6 +2446,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2463,6 +2480,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2495,11 +2513,11 @@ CONFIG_LIBFCOE=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2650,6 +2668,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2728,8 +2747,6 @@ CONFIG_MFD_CORE=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -2778,6 +2795,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -2807,6 +2826,7 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -2827,6 +2847,7 @@ CONFIG_MMA7660=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC=m # CONFIG_MMC_MTK is not set @@ -2910,6 +2931,7 @@ CONFIG_MSI_BITMAP_SELFTEST=y # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AR7_PARTS is not set # CONFIG_MTD_BLKDEVS is not set @@ -3046,9 +3068,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3231,6 +3255,7 @@ CONFIG_NET_VENDOR_BROCADE=y # CONFIG_NET_VENDOR_CAVIUM is not set CONFIG_NET_VENDOR_CHELSIO=y CONFIG_NET_VENDOR_CISCO=y +# CONFIG_NET_VENDOR_CORTINA is not set CONFIG_NET_VENDOR_DEC=y CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3265,6 +3290,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3343,6 +3369,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3404,6 +3434,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3526,6 +3557,7 @@ CONFIG_OCFS2_FS=m CONFIG_OCFS2_FS_O2CB=m # CONFIG_OCFS2_FS_STATS is not set CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OCXL=m # CONFIG_OF_OVERLAY is not set # CONFIG_OF_UNITTEST is not set # CONFIG_OMFS_FS is not set @@ -3623,6 +3655,7 @@ CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set @@ -3684,6 +3717,7 @@ CONFIG_PHYLINK=m # CONFIG_PI433 is not set CONFIG_PID_NS=y # CONFIG_PINCONF is not set +# CONFIG_PINCTRL_AXP209 is not set # CONFIG_PINCTRL_CANNONLAKE is not set CONFIG_PINCTRL_CEDARFORK=m # CONFIG_PINCTRL_IPQ8074 is not set @@ -3755,7 +3789,9 @@ CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_ICSWX_PID is not set # CONFIG_PPC_ICSWX_USE_SIGILL is not set CONFIG_PPC_ICSWX=y +# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set # CONFIG_PPC_MAPLE is not set +CONFIG_PPC_MEM_KEYS=y # CONFIG_PPC_MEMTRACE is not set # CONFIG_PPC_MPC5200_LPBFIFO is not set CONFIG_PPC_OF_BOOT_TRAMPOLINE=y @@ -3894,6 +3930,7 @@ CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_RAPIDIO is not set CONFIG_RAS_CEC=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4130,6 +4167,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m # CONFIG_SAMPLES is not set # CONFIG_SAMSUNG_USBPHY is not set @@ -4284,6 +4322,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SD_ADC_MODULATOR is not set CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4459,6 +4498,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -4548,6 +4588,7 @@ CONFIG_SH_ETH=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SIMPLE_GPIO=y # CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4560,6 +4601,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +# CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -4776,6 +4818,7 @@ 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 is not set +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -4788,6 +4831,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set @@ -4807,13 +4852,17 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TPA6130A2 is not set # CONFIG_SND_SOC_TS3A227E is not set +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -4874,6 +4923,9 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE=y CONFIG_SPAPR_TCE_IOMMU=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_VMEMMAP=y @@ -4947,6 +4999,9 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -5098,7 +5153,6 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5257,6 +5311,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -5569,6 +5624,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_PLATFORM is not set CONFIG_USB_XUSBATM=m @@ -5713,6 +5769,7 @@ CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -5853,6 +5910,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XILINX_EMACLITE is not set CONFIG_XILINX_GMII2RGMII=m # CONFIG_XILINX_LL_TEMAC is not set +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set CONFIG_XILLYBUS=m # CONFIG_XILLYBUS_OF is not set @@ -5880,6 +5938,7 @@ CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y # CONFIG_ZONE_DEVICE is not set +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-ppc64le.config b/kernel-ppc64le.config index 4229e0d..9cde8be 100644 --- a/kernel-ppc64le.config +++ b/kernel-ppc64le.config @@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m # CONFIG_ACPI_DEBUG is not set # CONFIG_ACPI_NFIT is not set CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_SPCR_TABLE=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set @@ -191,6 +192,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -204,6 +206,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -387,6 +390,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -443,6 +447,7 @@ CONFIG_BOOTX_TEXT=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +# CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -660,6 +665,7 @@ CONFIG_CHARGER_SMB347=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -685,6 +691,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -938,7 +945,6 @@ CONFIG_DEBUG_RODATA_TEST=y CONFIG_DEBUG_SET_MODULE_RONX=y # CONFIG_DEBUG_SG is not set CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y # CONFIG_DEBUG_SPINLOCK is not set CONFIG_DEBUG_STACKOVERFLOW=y # CONFIG_DEBUG_STACK_USAGE is not set @@ -1014,6 +1020,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1070,6 +1077,7 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set @@ -1143,6 +1151,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1156,6 +1165,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1378,6 +1388,7 @@ CONFIG_FCOE=m CONFIG_FEALNX=m CONFIG_FHANDLE=y # CONFIG_FHCI_DEBUG is not set +# CONFIG_FIND_BIT_BENCHMARK is not set CONFIG_FIREWIRE=m CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1506,6 +1517,7 @@ CONFIG_GPIOLIB=y CONFIG_GPIO_PCA953X=m CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_RDC321X is not set @@ -1534,6 +1546,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y @@ -1581,6 +1594,7 @@ CONFIG_HID_GYRATION=m CONFIG_HID_HOLTEK=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1729,7 +1743,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_POWERNV=m CONFIG_HW_RANDOM_PSERIES=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y @@ -1846,6 +1860,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2018,6 +2033,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2147,7 +2163,6 @@ CONFIG_IPVTAP=m # CONFIG_IPW2200_DEBUG is not set # CONFIG_IPW2200 is not set CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2410,6 +2425,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2443,6 +2459,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2475,11 +2492,11 @@ CONFIG_LIBFCOE=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2629,6 +2646,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2707,8 +2725,6 @@ CONFIG_MFD_CORE=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -2757,6 +2773,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -2786,6 +2804,7 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -2806,6 +2825,7 @@ CONFIG_MMA7660=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC=m # CONFIG_MMC_MTK is not set @@ -2888,6 +2908,7 @@ CONFIG_MSI_BITMAP_SELFTEST=y # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AR7_PARTS is not set # CONFIG_MTD_BLKDEVS is not set @@ -3024,9 +3045,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3209,6 +3232,7 @@ CONFIG_NET_VENDOR_BROCADE=y # CONFIG_NET_VENDOR_CAVIUM is not set CONFIG_NET_VENDOR_CHELSIO=y CONFIG_NET_VENDOR_CISCO=y +# CONFIG_NET_VENDOR_CORTINA is not set CONFIG_NET_VENDOR_DEC=y CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3243,6 +3267,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3321,6 +3346,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3382,6 +3411,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3504,6 +3534,7 @@ CONFIG_OCFS2_FS=m CONFIG_OCFS2_FS_O2CB=m # CONFIG_OCFS2_FS_STATS is not set CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OCXL=m # CONFIG_OF_OVERLAY is not set # CONFIG_OF_UNITTEST is not set # CONFIG_OMFS_FS is not set @@ -3601,6 +3632,7 @@ CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set @@ -3662,6 +3694,7 @@ CONFIG_PHYLINK=m # CONFIG_PI433 is not set CONFIG_PID_NS=y # CONFIG_PINCONF is not set +# CONFIG_PINCTRL_AXP209 is not set # CONFIG_PINCTRL_CANNONLAKE is not set CONFIG_PINCTRL_CEDARFORK=m # CONFIG_PINCTRL_IPQ8074 is not set @@ -3733,7 +3766,9 @@ CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_ICSWX_PID is not set # CONFIG_PPC_ICSWX_USE_SIGILL is not set CONFIG_PPC_ICSWX=y +# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set # CONFIG_PPC_MAPLE is not set +CONFIG_PPC_MEM_KEYS=y # CONFIG_PPC_MEMTRACE is not set # CONFIG_PPC_MPC5200_LPBFIFO is not set CONFIG_PPC_OF_BOOT_TRAMPOLINE=y @@ -3871,6 +3906,7 @@ CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_RAPIDIO is not set CONFIG_RAS_CEC=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4107,6 +4143,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m # CONFIG_SAMPLES is not set # CONFIG_SAMSUNG_USBPHY is not set @@ -4261,6 +4298,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SD_ADC_MODULATOR is not set CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4436,6 +4474,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -4525,6 +4564,7 @@ CONFIG_SH_ETH=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SIMPLE_GPIO=y # CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4537,6 +4577,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +# CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -4752,6 +4793,7 @@ 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 is not set +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -4764,6 +4806,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set @@ -4783,13 +4827,17 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TPA6130A2 is not set # CONFIG_SND_SOC_TS3A227E is not set +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -4850,6 +4898,9 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE=y CONFIG_SPAPR_TCE_IOMMU=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_VMEMMAP=y @@ -4923,6 +4974,9 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -5074,7 +5128,6 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5233,6 +5286,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -5545,6 +5599,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_PLATFORM is not set CONFIG_USB_XUSBATM=m @@ -5689,6 +5744,7 @@ CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -5829,6 +5885,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XILINX_EMACLITE is not set CONFIG_XILINX_GMII2RGMII=m # CONFIG_XILINX_LL_TEMAC is not set +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set CONFIG_XILLYBUS=m # CONFIG_XILLYBUS_OF is not set @@ -5856,6 +5913,7 @@ CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y # CONFIG_ZONE_DEVICE is not set +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config index 302c909..d7a2712 100644 --- a/kernel-s390x-debug.config +++ b/kernel-s390x-debug.config @@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m CONFIG_ACPI_DEBUG=y # CONFIG_ACPI_NFIT is not set CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_SPCR_TABLE=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set @@ -196,6 +197,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -209,6 +211,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -390,6 +393,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -445,6 +449,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -663,6 +668,7 @@ CONFIG_CGROUPS=y # CONFIG_CHASH_STATS is not set CONFIG_CHECKPOINT_RESTORE=y CONFIG_CHECK_STACK=y +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -689,6 +695,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -950,7 +957,6 @@ CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SET_MODULE_RONX=y CONFIG_DEBUG_SG=y CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_STACK_USAGE=y @@ -1025,6 +1031,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1081,6 +1088,7 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set @@ -1153,6 +1161,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1166,6 +1175,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1262,6 +1272,8 @@ CONFIG_ETHERNET=y # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set # CONFIG_EXPERT is not set +CONFIG_EXPOLINE_MEDIUM=y +CONFIG_EXPOLINE=y CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set # CONFIG_EXT3_FS is not set @@ -1291,6 +1303,7 @@ CONFIG_F2FS_FS_SECURITY=y CONFIG_F2FS_FS_XATTR=y # CONFIG_F2FS_IO_TRACE is not set CONFIG_F2FS_STAT_FS=y +CONFIG_FAIL_FUNCTION=y # CONFIG_FAIL_FUTEX is not set CONFIG_FAIL_IO_TIMEOUT=y CONFIG_FAIL_MAKE_REQUEST=y @@ -1380,6 +1393,7 @@ CONFIG_FCOE_FNIC=m # CONFIG_FDDI is not set # CONFIG_FEALNX is not set CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set # CONFIG_FIREWIRE is not set CONFIG_FIREWIRE_NET=m # CONFIG_FIREWIRE_NOSY is not set @@ -1499,6 +1513,7 @@ CONFIG_GPIO_EXAR=m # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_RDC321X is not set @@ -1525,6 +1540,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HD44780=m # CONFIG_HDC100X is not set @@ -1570,6 +1586,7 @@ CONFIG_HID_HOLTEK=m CONFIG_HID_ICADE=m # CONFIG_HID is not set CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1708,7 +1725,7 @@ CONFIG_HWLAT_TRACER=y CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_S390=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y @@ -1817,6 +1834,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -1989,6 +2007,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2118,7 +2137,6 @@ CONFIG_IPVTAP=m # CONFIG_IPW2200_DEBUG is not set # CONFIG_IPW2200 is not set CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2276,6 +2294,7 @@ CONFIG_KDB_KEYBOARD=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set +CONFIG_KERNEL_NOBP=y # CONFIG_KEXEC_FILE is not set CONFIG_KEXEC=y # CONFIG_KEYBOARD_ADC is not set @@ -2375,6 +2394,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2407,6 +2427,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2439,11 +2460,11 @@ CONFIG_LIBFCOE=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2593,6 +2614,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m # CONFIG_MEGARAID_NEWGEN is not set # CONFIG_MEGARAID_SAS is not set +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2671,8 +2693,6 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -# CONFIG_MFD_RTSX_PCI is not set -# CONFIG_MFD_RTSX_USB is not set # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -2720,6 +2740,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +# CONFIG_MISC_RTSX_PCI is not set +# CONFIG_MISC_RTSX_USB is not set CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m # CONFIG_MISDN_HFCMULTI is not set @@ -2749,6 +2771,7 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y # CONFIG_MLXSW_CORE is not set CONFIG_MLXSW_CORE_THERMAL=y @@ -2769,6 +2792,7 @@ CONFIG_MMA7660=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set # CONFIG_MMC is not set # CONFIG_MMC_MTK is not set @@ -2850,6 +2874,7 @@ CONFIG_MSDOS_PARTITION=y # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AR7_PARTS is not set # CONFIG_MTD_BLKDEVS is not set @@ -2983,9 +3008,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3169,6 +3196,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_NET_VENDOR_CAVIUM is not set # CONFIG_NET_VENDOR_CHELSIO is not set # CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_NET_VENDOR_CORTINA is not set # CONFIG_NET_VENDOR_DEC is not set # CONFIG_NET_VENDOR_DLINK is not set # CONFIG_NET_VENDOR_EMULEX is not set @@ -3201,6 +3229,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_NET_VENDOR_SIS is not set # CONFIG_NET_VENDOR_SMSC is not set # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set # CONFIG_NET_VENDOR_STMICRO is not set # CONFIG_NET_VENDOR_SUN is not set @@ -3277,6 +3306,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3338,6 +3371,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3555,6 +3589,7 @@ CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set @@ -3618,6 +3653,7 @@ CONFIG_PHYLINK=m # CONFIG_PI433 is not set CONFIG_PID_NS=y # CONFIG_PINCONF is not set +# CONFIG_PINCTRL_AXP209 is not set # CONFIG_PINCTRL_CANNONLAKE is not set CONFIG_PINCTRL_CEDARFORK=m # CONFIG_PINCTRL_IPQ8074 is not set @@ -3787,6 +3823,7 @@ CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RAS_CEC=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4019,6 +4056,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m CONFIG_S390_CCW_IOMMU=y CONFIG_S390_GUEST_OLD_TRANSPORT=y @@ -4187,6 +4225,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SD_ADC_MODULATOR is not set CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4361,6 +4400,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -4445,6 +4485,7 @@ CONFIG_SHARED_KERNEL=y # CONFIG_SIGMA is not set CONFIG_SIGNED_PE_FILE_VERIFICATION=y # CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4457,6 +4498,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +# CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y # CONFIG_SLIP is not set # CONFIG_SLIP_MODE_SLIP6 is not set @@ -4674,6 +4716,7 @@ 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_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -4686,6 +4729,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set @@ -4705,13 +4750,17 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TPA6130A2 is not set # CONFIG_SND_SOC_TS3A227E is not set +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -4772,6 +4821,9 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set # CONFIG_SOUND is not set CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE=y CONFIG_SPARSE_RCU_POINTER=y # CONFIG_SPEAKUP is not set # CONFIG_SPI_ALTERA is not set @@ -4843,6 +4895,9 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -4992,7 +5047,6 @@ CONFIG_TIFM_7XX1=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5154,6 +5208,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -5461,6 +5516,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_PLATFORM is not set CONFIG_USB_XUSBATM=m @@ -5606,6 +5662,7 @@ CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=y CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -5745,6 +5802,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XFS_WARN is not set # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set # CONFIG_XILLYBUS is not set # CONFIG_XILLYBUS_OF is not set @@ -5769,6 +5827,7 @@ CONFIG_ZFCP=m CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-s390x.config b/kernel-s390x.config index a84f7d2..d9d1d61 100644 --- a/kernel-s390x.config +++ b/kernel-s390x.config @@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m # CONFIG_ACPI_DEBUG is not set # CONFIG_ACPI_NFIT is not set CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_SPCR_TABLE=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set @@ -195,6 +196,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -208,6 +210,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -389,6 +392,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -444,6 +448,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +# CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -662,6 +667,7 @@ CONFIG_CGROUPS=y # CONFIG_CHASH_STATS is not set CONFIG_CHECKPOINT_RESTORE=y CONFIG_CHECK_STACK=y +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -688,6 +694,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -941,7 +948,6 @@ CONFIG_DEBUG_RODATA_TEST=y CONFIG_DEBUG_SET_MODULE_RONX=y # CONFIG_DEBUG_SG is not set CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set @@ -1014,6 +1020,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1070,6 +1077,7 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set @@ -1142,6 +1150,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1155,6 +1164,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1251,6 +1261,8 @@ CONFIG_ETHERNET=y # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set # CONFIG_EXPERT is not set +CONFIG_EXPOLINE_MEDIUM=y +CONFIG_EXPOLINE=y CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set # CONFIG_EXT3_FS is not set @@ -1362,6 +1374,7 @@ CONFIG_FCOE_FNIC=m # CONFIG_FDDI is not set # CONFIG_FEALNX is not set CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set # CONFIG_FIREWIRE is not set CONFIG_FIREWIRE_NET=m # CONFIG_FIREWIRE_NOSY is not set @@ -1481,6 +1494,7 @@ CONFIG_GPIO_EXAR=m # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_RDC321X is not set @@ -1507,6 +1521,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HD44780=m # CONFIG_HDC100X is not set @@ -1552,6 +1567,7 @@ CONFIG_HID_HOLTEK=m CONFIG_HID_ICADE=m # CONFIG_HID is not set CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1690,7 +1706,7 @@ CONFIG_HWLAT_TRACER=y CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_S390=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y @@ -1799,6 +1815,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -1971,6 +1988,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2100,7 +2118,6 @@ CONFIG_IPVTAP=m # CONFIG_IPW2200_DEBUG is not set # CONFIG_IPW2200 is not set CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2256,6 +2273,7 @@ CONFIG_KDB_CONTINUE_CATASTROPHIC=0 CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set +CONFIG_KERNEL_NOBP=y # CONFIG_KEXEC_FILE is not set CONFIG_KEXEC=y # CONFIG_KEYBOARD_ADC is not set @@ -2355,6 +2373,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2387,6 +2406,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2419,11 +2439,11 @@ CONFIG_LIBFCOE=m CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2572,6 +2592,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m # CONFIG_MEGARAID_NEWGEN is not set # CONFIG_MEGARAID_SAS is not set +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2650,8 +2671,6 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -# CONFIG_MFD_RTSX_PCI is not set -# CONFIG_MFD_RTSX_USB is not set # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -2699,6 +2718,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +# CONFIG_MISC_RTSX_PCI is not set +# CONFIG_MISC_RTSX_USB is not set CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m # CONFIG_MISDN_HFCMULTI is not set @@ -2728,6 +2749,7 @@ CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y # CONFIG_MLXSW_CORE is not set CONFIG_MLXSW_CORE_THERMAL=y @@ -2748,6 +2770,7 @@ CONFIG_MMA7660=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set # CONFIG_MMC is not set # CONFIG_MMC_MTK is not set @@ -2828,6 +2851,7 @@ CONFIG_MSDOS_PARTITION=y # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AR7_PARTS is not set # CONFIG_MTD_BLKDEVS is not set @@ -2961,9 +2985,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3147,6 +3173,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_NET_VENDOR_CAVIUM is not set # CONFIG_NET_VENDOR_CHELSIO is not set # CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_NET_VENDOR_CORTINA is not set # CONFIG_NET_VENDOR_DEC is not set # CONFIG_NET_VENDOR_DLINK is not set # CONFIG_NET_VENDOR_EMULEX is not set @@ -3179,6 +3206,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_NET_VENDOR_SIS is not set # CONFIG_NET_VENDOR_SMSC is not set # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set # CONFIG_NET_VENDOR_STMICRO is not set # CONFIG_NET_VENDOR_SUN is not set @@ -3255,6 +3283,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3316,6 +3348,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3533,6 +3566,7 @@ CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set @@ -3596,6 +3630,7 @@ CONFIG_PHYLINK=m # CONFIG_PI433 is not set CONFIG_PID_NS=y # CONFIG_PINCONF is not set +# CONFIG_PINCTRL_AXP209 is not set # CONFIG_PINCTRL_CANNONLAKE is not set CONFIG_PINCTRL_CEDARFORK=m # CONFIG_PINCTRL_IPQ8074 is not set @@ -3764,6 +3799,7 @@ CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RAS_CEC=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -3996,6 +4032,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m CONFIG_S390_CCW_IOMMU=y CONFIG_S390_GUEST_OLD_TRANSPORT=y @@ -4164,6 +4201,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SD_ADC_MODULATOR is not set CONFIG_SDIO_UART=m CONFIG_SECCOMP=y CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4338,6 +4376,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -4422,6 +4461,7 @@ CONFIG_SHARED_KERNEL=y # CONFIG_SIGMA is not set CONFIG_SIGNED_PE_FILE_VERIFICATION=y # CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4434,6 +4474,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +# CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y # CONFIG_SLIP is not set # CONFIG_SLIP_MODE_SLIP6 is not set @@ -4650,6 +4691,7 @@ 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_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -4662,6 +4704,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set @@ -4681,13 +4725,17 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TPA6130A2 is not set # CONFIG_SND_SOC_TS3A227E is not set +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -4748,6 +4796,9 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set # CONFIG_SOUND is not set CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE=y CONFIG_SPARSE_RCU_POINTER=y # CONFIG_SPEAKUP is not set # CONFIG_SPI_ALTERA is not set @@ -4819,6 +4870,9 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -4968,7 +5022,6 @@ CONFIG_TIFM_7XX1=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5130,6 +5183,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -5437,6 +5491,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_PLATFORM is not set CONFIG_USB_XUSBATM=m @@ -5582,6 +5637,7 @@ CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=y CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -5721,6 +5777,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XFS_WARN is not set # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set # CONFIG_XILLYBUS is not set # CONFIG_XILLYBUS_OF is not set @@ -5745,6 +5802,7 @@ CONFIG_ZFCP=m CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config index 28c8771..5201167 100644 --- a/kernel-x86_64-debug.config +++ b/kernel-x86_64-debug.config @@ -40,6 +40,7 @@ CONFIG_ACCESSIBILITY=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set CONFIG_ACERHDF=m +CONFIG_ACER_WIRELESS=m CONFIG_ACER_WMI=m # CONFIG_ACORN_PARTITION is not set CONFIG_ACPI_AC=y @@ -78,6 +79,7 @@ CONFIG_ACPI_PROCFS=y CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y CONFIG_ACPI_SBS=m CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_THERMAL=y CONFIG_ACPI_TOSHIBA=m @@ -254,6 +256,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -267,6 +270,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -459,6 +463,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -515,6 +520,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -734,6 +740,7 @@ CONFIG_CHARGER_SMB347=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -762,6 +769,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -904,6 +912,7 @@ CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m # CONFIG_CRYPTO_DEV_SP_CCP is not set +CONFIG_CRYPTO_DEV_SP_PSP=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1054,7 +1063,6 @@ CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SET_MODULE_RONX=y CONFIG_DEBUG_SG=y CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_STACKOVERFLOW=y @@ -1081,8 +1089,8 @@ CONFIG_DELL_LAPTOP=m CONFIG_DELL_RBTN=m # CONFIG_DELL_RBU is not set CONFIG_DELL_SMBIOS=m -CONFIG_DELL_SMBIOS_SMM=m -CONFIG_DELL_SMBIOS_WMI=m +CONFIG_DELL_SMBIOS_SMM=y +CONFIG_DELL_SMBIOS_WMI=y CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI_AIO=m CONFIG_DELL_WMI_LED=m @@ -1149,6 +1157,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1219,6 +1228,7 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set @@ -1293,6 +1303,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1306,6 +1317,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1473,6 +1485,7 @@ CONFIG_F2FS_FS_XATTR=y # CONFIG_F2FS_IO_TRACE is not set CONFIG_F2FS_STAT_FS=y CONFIG_F71808E_WDT=m +CONFIG_FAIL_FUNCTION=y # CONFIG_FAIL_FUTEX is not set CONFIG_FAIL_IO_TIMEOUT=y CONFIG_FAIL_MAKE_REQUEST=y @@ -1574,6 +1587,7 @@ CONFIG_FCOE=m # CONFIG_FDDI is not set CONFIG_FEALNX=m CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set CONFIG_FIREWIRE=m CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1671,6 +1685,7 @@ CONFIG_GIGASET_M105=m # CONFIG_GOLDFISH is not set # CONFIG_GOOGLE_FIRMWARE is not set # CONFIG_GP2AP020A00F is not set +CONFIG_GPD_POCKET_FAN=m # CONFIG_GPIO_104_DIO_48E is not set # CONFIG_GPIO_104_IDI_48 is not set # CONFIG_GPIO_104_IDIO_16 is not set @@ -1709,6 +1724,7 @@ CONFIG_GPIOLIB=y # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_RDC321X is not set @@ -1738,6 +1754,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_HAVE_MEMORY_PRESENT=y @@ -1788,6 +1805,7 @@ CONFIG_HID_HOLTEK=m CONFIG_HID_HYPERV_MOUSE=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1941,7 +1959,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIA=m CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y @@ -2074,6 +2092,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2228,6 +2247,7 @@ CONFIG_INT340X_THERMAL=m # CONFIG_INTEGRITY is not set # CONFIG_INTEL_ATOMISP is not set CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHTDC_TI_PWRBTN=m CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y @@ -2297,6 +2317,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2430,7 +2451,6 @@ CONFIG_IPW2200_PROMISCUOUS=y CONFIG_IPW2200_QOS=y CONFIG_IPW2200_RADIOTAP=y CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2534,6 +2554,7 @@ CONFIG_IXGBE_HWMON=y CONFIG_IXGBE=m CONFIG_IXGBEVF=m CONFIG_IXGB=m +# CONFIG_JAILHOUSE_GUEST is not set CONFIG_JBD2_DEBUG=y CONFIG_JBD2=y # CONFIG_JFFS2_FS is not set @@ -2593,7 +2614,8 @@ CONFIG_KERNEL_GZIP=y CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y CONFIG_KEXEC_FILE=y CONFIG_KEXEC_JUMP=y -CONFIG_KEXEC_VERIFY_SIG=y +CONFIG_KEXEC_SIG_FORCE=y +CONFIG_KEXEC_SIG=y CONFIG_KEXEC=y # CONFIG_KEYBOARD_ADC is not set # CONFIG_KEYBOARD_ADP5588 is not set @@ -2646,6 +2668,7 @@ CONFIG_KS0108_PORT=0x378 CONFIG_KSM=y CONFIG_KSZ884X_PCI=m CONFIG_KVM_AMD=m +CONFIG_KVM_AMD_SEV=y # CONFIG_KVM_DEBUG_FS is not set CONFIG_KVM_DEVICE_ASSIGNMENT=y CONFIG_KVM_GUEST=y @@ -2698,6 +2721,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2730,6 +2754,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2764,11 +2789,11 @@ CONFIG_LIBNVDIMM=y CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2916,6 +2941,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2997,8 +3023,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -3050,6 +3074,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -3081,6 +3107,7 @@ CONFIG_MLX5_MPFS=y CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m CONFIG_MLX_PLATFORM=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -3101,6 +3128,7 @@ CONFIG_MMA7660=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC=m # CONFIG_MMC_MTK is not set @@ -3186,6 +3214,7 @@ CONFIG_MSI_WMI=m # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AR7_PARTS is not set CONFIG_MTD_BLKDEVS=m @@ -3327,9 +3356,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3513,6 +3544,7 @@ CONFIG_NET_VENDOR_BROCADE=y # CONFIG_NET_VENDOR_CAVIUM is not set CONFIG_NET_VENDOR_CHELSIO=y CONFIG_NET_VENDOR_CISCO=y +# CONFIG_NET_VENDOR_CORTINA is not set CONFIG_NET_VENDOR_DEC=y CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3545,6 +3577,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3624,6 +3657,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3685,6 +3722,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3936,6 +3974,7 @@ CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set @@ -4007,6 +4046,7 @@ CONFIG_PHYSICAL_START=0x1000000 CONFIG_PID_NS=y CONFIG_PINCONF=y # CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_AXP209 is not set CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_BROXTON=m # CONFIG_PINCTRL_CANNONLAKE is not set @@ -4192,6 +4232,7 @@ CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MEMORY=y # CONFIG_RAPIDIO is not set CONFIG_RAS_CEC=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4458,6 +4499,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m # CONFIG_SAMPLES is not set CONFIG_SAMSUNG_LAPTOP=m @@ -4610,6 +4652,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m # CONFIG_SDMA_VERBOSITY is not set CONFIG_SECCOMP=y @@ -4801,6 +4844,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -4894,6 +4938,7 @@ CONFIG_SH_ETH=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SILEAD_DMI=y # CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4906,6 +4951,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +# CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -5149,8 +5195,9 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m -CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m +CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y CONFIG_SND_SOC=m +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -5163,6 +5210,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set @@ -5182,13 +5231,17 @@ CONFIG_SND_SOC_SSM4567=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TPA6130A2 is not set CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5216,6 +5269,7 @@ CONFIG_SND_SOC_WM8524=m CONFIG_SND_SONICVIBES=m # CONFIG_SND_SPI is not set CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m # CONFIG_SND_SUPPORT_OLD_API is not set CONFIG_SND_TRIDENT=m CONFIG_SND_USB_6FIRE=m @@ -5253,6 +5307,10 @@ CONFIG_SONYPI_COMPAT=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE_INTEL=m +CONFIG_SOUNDWIRE=y CONFIG_SP5100_TCO=m CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_EXTREME=y @@ -5332,6 +5390,9 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -5491,7 +5552,6 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5654,6 +5714,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -5962,6 +6023,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_PLATFORM=m CONFIG_USB_XUSBATM=m @@ -5984,6 +6046,7 @@ CONFIG_UWB_WHCI=m CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_V4L_PLATFORM_DRIVERS is not set # CONFIG_V4L_TEST_DRIVERS is not set +# CONFIG_VBOXGUEST is not set # CONFIG_VCNL4000 is not set # CONFIG_VEML6070 is not set CONFIG_VETH=m @@ -6050,6 +6113,7 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m CONFIG_VIDEO_HDPVR=m CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_IPU3_CIO2=m # CONFIG_VIDEO_IVTV_ALSA is not set # CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set CONFIG_VIDEO_IVTV=m @@ -6105,12 +6169,13 @@ CONFIG_VIDEO_ZORAN_LML33R10=m CONFIG_VIDEO_ZORAN=m CONFIG_VIDEO_ZORAN_ZR36060=m # CONFIG_VIPERBOARD_ADC is not set -# CONFIG_VIRT_DRIVERS is not set +CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -6270,7 +6335,7 @@ CONFIG_X86_PAT=y CONFIG_X86_PCC_CPUFREQ=m CONFIG_X86_PKG_TEMP_THERMAL=m CONFIG_X86_PLATFORM_DEVICES=y -CONFIG_X86_PMEM_LEGACY=y +CONFIG_X86_PMEM_LEGACY=m CONFIG_X86_PM_TIMER=y CONFIG_X86_POWERNOW_K8=m CONFIG_X86_PTDUMP=y @@ -6333,6 +6398,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XFS_WARN is not set # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set CONFIG_XILLYBUS=m # CONFIG_XILLYBUS_OF is not set @@ -6359,6 +6425,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DEVICE=y CONFIG_ZONE_DMA=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel-x86_64.config b/kernel-x86_64.config index f5509af..53ff691 100644 --- a/kernel-x86_64.config +++ b/kernel-x86_64.config @@ -40,6 +40,7 @@ CONFIG_ACCESSIBILITY=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set CONFIG_ACERHDF=m +CONFIG_ACER_WIRELESS=m CONFIG_ACER_WMI=m # CONFIG_ACORN_PARTITION is not set CONFIG_ACPI_AC=y @@ -78,6 +79,7 @@ CONFIG_ACPI_PROCFS=y CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y CONFIG_ACPI_SBS=m CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_THERMAL=y CONFIG_ACPI_TOSHIBA=m @@ -253,6 +255,7 @@ CONFIG_ATH10K_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m +# CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y @@ -266,6 +269,7 @@ CONFIG_ATH6KL_USB=m CONFIG_ATH9K_AHB=y CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_COMMON_SPECTRAL is not set CONFIG_ATH9K_DEBUGFS=y # CONFIG_ATH9K_DEBUG is not set # CONFIG_ATH9K_DYNACK is not set @@ -458,6 +462,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NVME=m # CONFIG_BLK_DEV_NVME_SCSI is not set @@ -514,6 +519,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT=y +# CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m @@ -733,6 +739,7 @@ CONFIG_CHARGER_SMB347=m # CONFIG_CHASH_SELFTEST is not set # CONFIG_CHASH_STATS is not set CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHELSIO_IPSEC_INLINE=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T3=m @@ -761,6 +768,7 @@ CONFIG_CIFS_NFSD_EXPORT=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_SMB2=y # CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_SMB_DIRECT is not set # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y @@ -902,6 +910,7 @@ CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m # CONFIG_CRYPTO_DEV_SP_CCP is not set +CONFIG_CRYPTO_DEV_SP_PSP=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1045,7 +1054,6 @@ CONFIG_DEBUG_RODATA_TEST=y CONFIG_DEBUG_SET_MODULE_RONX=y # CONFIG_DEBUG_SG is not set CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SHOW_MEMALLOC_LINE=y # CONFIG_DEBUG_SPINLOCK is not set CONFIG_DEBUG_STACKOVERFLOW=y # CONFIG_DEBUG_STACK_USAGE is not set @@ -1071,8 +1079,8 @@ CONFIG_DELL_LAPTOP=m CONFIG_DELL_RBTN=m # CONFIG_DELL_RBU is not set CONFIG_DELL_SMBIOS=m -CONFIG_DELL_SMBIOS_SMM=m -CONFIG_DELL_SMBIOS_WMI=m +CONFIG_DELL_SMBIOS_SMM=y +CONFIG_DELL_SMBIOS_WMI=y CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI_AIO=m CONFIG_DELL_WMI_LED=m @@ -1138,6 +1146,7 @@ CONFIG_DM_SNAPSHOT=y CONFIG_DM_SWITCH=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m CONFIG_DM_ZERO=y @@ -1208,6 +1217,7 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set @@ -1282,6 +1292,7 @@ CONFIG_DVB_FIREDTV=m CONFIG_DVB_HOPPER=m CONFIG_DVB_MANTIS=m CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_MMAP is not set CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m CONFIG_DVB_NETUP_UNIDVB=m @@ -1295,6 +1306,7 @@ CONFIG_DVB_PT1=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +# CONFIG_DVB_ULE_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m @@ -1556,6 +1568,7 @@ CONFIG_FCOE=m # CONFIG_FDDI is not set CONFIG_FEALNX=m CONFIG_FHANDLE=y +# CONFIG_FIND_BIT_BENCHMARK is not set CONFIG_FIREWIRE=m CONFIG_FIREWIRE_NET=m CONFIG_FIREWIRE_NOSY=m @@ -1653,6 +1666,7 @@ CONFIG_GIGASET_M105=m # CONFIG_GOLDFISH is not set # CONFIG_GOOGLE_FIRMWARE is not set # CONFIG_GP2AP020A00F is not set +CONFIG_GPD_POCKET_FAN=m # CONFIG_GPIO_104_DIO_48E is not set # CONFIG_GPIO_104_IDI_48 is not set # CONFIG_GPIO_104_IDIO_16 is not set @@ -1691,6 +1705,7 @@ CONFIG_GPIOLIB=y # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_RDC321X is not set @@ -1720,6 +1735,7 @@ CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY_FALLBACK=y CONFIG_HARDENED_USERCOPY=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_HAVE_MEMORY_PRESENT=y @@ -1770,6 +1786,7 @@ CONFIG_HID_HOLTEK=m CONFIG_HID_HYPERV_MOUSE=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m CONFIG_HID_KENSINGTON=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -1923,7 +1940,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIA=m CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM=y @@ -2056,6 +2073,7 @@ CONFIG_IGB_HWMON=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m CONFIG_IIO_BUFFER=y CONFIG_IIO_CONFIGFS=m CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -2210,6 +2228,7 @@ CONFIG_INT340X_THERMAL=m # CONFIG_INTEGRITY is not set # CONFIG_INTEL_ATOMISP is not set CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHTDC_TI_PWRBTN=m CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y @@ -2279,6 +2298,7 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m @@ -2412,7 +2432,6 @@ CONFIG_IPW2200_PROMISCUOUS=y CONFIG_IPW2200_QOS=y CONFIG_IPW2200_RADIOTAP=y CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set # CONFIG_IPX is not set # CONFIG_IRDA is not set CONFIG_IR_ENE=m @@ -2516,6 +2535,7 @@ CONFIG_IXGBE_HWMON=y CONFIG_IXGBE=m CONFIG_IXGBEVF=m CONFIG_IXGB=m +# CONFIG_JAILHOUSE_GUEST is not set # CONFIG_JBD2_DEBUG is not set CONFIG_JBD2=y # CONFIG_JFFS2_FS is not set @@ -2573,7 +2593,8 @@ CONFIG_KERNEL_GZIP=y CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y CONFIG_KEXEC_FILE=y CONFIG_KEXEC_JUMP=y -CONFIG_KEXEC_VERIFY_SIG=y +CONFIG_KEXEC_SIG_FORCE=y +CONFIG_KEXEC_SIG=y CONFIG_KEXEC=y # CONFIG_KEYBOARD_ADC is not set # CONFIG_KEYBOARD_ADP5588 is not set @@ -2626,6 +2647,7 @@ CONFIG_KS0108_PORT=0x378 CONFIG_KSM=y CONFIG_KSZ884X_PCI=m CONFIG_KVM_AMD=m +CONFIG_KVM_AMD_SEV=y # CONFIG_KVM_DEBUG_FS is not set CONFIG_KVM_DEVICE_ASSIGNMENT=y CONFIG_KVM_GUEST=y @@ -2678,6 +2700,7 @@ CONFIG_LEDS_IS31FL32XX=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=m # CONFIG_LEDS_LOCOMO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m @@ -2710,6 +2733,7 @@ CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_ONESHOT=m CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGERS=y @@ -2744,11 +2768,11 @@ CONFIG_LIBNVDIMM=y CONFIG_LIQUIDIO_VF=m CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m -CONFIG_LIRC=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_STAGING=y +CONFIG_LIRC=y CONFIG_LIRC_ZILOG=m # CONFIG_LIVEPATCH is not set # CONFIG_LKDTM is not set @@ -2896,6 +2920,7 @@ CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y @@ -2977,8 +3002,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -3030,6 +3053,8 @@ CONFIG_MII=m CONFIG_MINIX_FS=m CONFIG_MINIX_SUBPARTITION=y CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCMULTI=m @@ -3061,6 +3086,7 @@ CONFIG_MLX5_MPFS=y CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m CONFIG_MLX_PLATFORM=m +CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y @@ -3081,6 +3107,7 @@ CONFIG_MMA7660=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC=m # CONFIG_MMC_MTK is not set @@ -3166,6 +3193,7 @@ CONFIG_MSI_WMI=m # CONFIG_MSM_GCC_8994 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m +CONFIG_MT76x2E=m # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AR7_PARTS is not set CONFIG_MTD_BLKDEVS=m @@ -3307,9 +3335,11 @@ CONFIG_NET_CORE=y # CONFIG_NET_DCCPPROBE is not set CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=m +# CONFIG_NETDEVSIM is not set CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_HWMON=y +# CONFIG_NET_DSA_LEGACY is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m CONFIG_NET_DSA_MT7530=m @@ -3493,6 +3523,7 @@ CONFIG_NET_VENDOR_BROCADE=y # CONFIG_NET_VENDOR_CAVIUM is not set CONFIG_NET_VENDOR_CHELSIO=y CONFIG_NET_VENDOR_CISCO=y +# CONFIG_NET_VENDOR_CORTINA is not set CONFIG_NET_VENDOR_DEC=y CONFIG_NET_VENDOR_DLINK=y CONFIG_NET_VENDOR_EMULEX=y @@ -3525,6 +3556,7 @@ CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y # CONFIG_NET_VENDOR_SNI is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3604,6 +3636,10 @@ CONFIG_NFC_TRF7970A=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_FLOW_TABLE=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_LOG_IPV4=m @@ -3665,6 +3701,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3916,6 +3953,7 @@ CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y +CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set @@ -3987,6 +4025,7 @@ CONFIG_PHYSICAL_START=0x1000000 CONFIG_PID_NS=y CONFIG_PINCONF=y # CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_AXP209 is not set CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_BROXTON=m # CONFIG_PINCTRL_CANNONLAKE is not set @@ -4171,6 +4210,7 @@ CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MEMORY=y # CONFIG_RAPIDIO is not set CONFIG_RAS_CEC=y +# CONFIG_RAVE_SP_CORE is not set CONFIG_RAW_DRIVER=y # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m @@ -4437,6 +4477,7 @@ CONFIG_RTLLIB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m # CONFIG_RTS5208 is not set +CONFIG_RUNTIME_TESTING_MENU=y CONFIG_S2IO=m # CONFIG_SAMPLES is not set CONFIG_SAMSUNG_LAPTOP=m @@ -4589,6 +4630,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m # CONFIG_SDMA_VERBOSITY is not set CONFIG_SECCOMP=y @@ -4780,6 +4822,7 @@ CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m @@ -4873,6 +4916,7 @@ CONFIG_SH_ETH=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SILEAD_DMI=y # CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -4885,6 +4929,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set +# CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP=m # CONFIG_SLIP_MODE_SLIP6 is not set @@ -5127,8 +5172,9 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m -CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m +CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y CONFIG_SND_SOC=m +CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set CONFIG_SND_SOC_MAX98927=m @@ -5141,6 +5187,8 @@ CONFIG_SND_SOC_NAU8824=m # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set @@ -5160,13 +5208,17 @@ CONFIG_SND_SOC_SSM4567=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TAS6424=m # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TPA6130A2 is not set CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5194,6 +5246,7 @@ CONFIG_SND_SOC_WM8524=m CONFIG_SND_SONICVIBES=m # CONFIG_SND_SPI is not set CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m # CONFIG_SND_SUPPORT_OLD_API is not set CONFIG_SND_TRIDENT=m CONFIG_SND_USB_6FIRE=m @@ -5231,6 +5284,10 @@ CONFIG_SONYPI_COMPAT=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUNDWIRE_BUS=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE_INTEL=m +CONFIG_SOUNDWIRE=y CONFIG_SP5100_TCO=m CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_EXTREME=y @@ -5310,6 +5367,9 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_SPI=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_SUNGEM=m @@ -5469,7 +5529,6 @@ CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m # CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -5632,6 +5691,7 @@ CONFIG_UIO_SERCOS3=m CONFIG_ULI526X=m # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNISYSSPAR is not set +# CONFIG_UNISYS_VISORBUS is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=m CONFIG_UNIXWARE_DISKLABEL=y @@ -5940,6 +6000,7 @@ CONFIG_USB_WDM=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_PLATFORM=m CONFIG_USB_XUSBATM=m @@ -5962,6 +6023,7 @@ CONFIG_UWB_WHCI=m CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_V4L_PLATFORM_DRIVERS is not set # CONFIG_V4L_TEST_DRIVERS is not set +# CONFIG_VBOXGUEST is not set # CONFIG_VCNL4000 is not set # CONFIG_VEML6070 is not set CONFIG_VETH=m @@ -6028,6 +6090,7 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m CONFIG_VIDEO_HDPVR=m CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_IPU3_CIO2=m # CONFIG_VIDEO_IVTV_ALSA is not set # CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set CONFIG_VIDEO_IVTV=m @@ -6083,12 +6146,13 @@ CONFIG_VIDEO_ZORAN_LML33R10=m CONFIG_VIDEO_ZORAN=m CONFIG_VIDEO_ZORAN_ZR36060=m # CONFIG_VIPERBOARD_ADC is not set -# CONFIG_VIRT_DRIVERS is not set +CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m @@ -6248,7 +6312,7 @@ CONFIG_X86_PAT=y CONFIG_X86_PCC_CPUFREQ=m CONFIG_X86_PKG_TEMP_THERMAL=m CONFIG_X86_PLATFORM_DEVICES=y -CONFIG_X86_PMEM_LEGACY=y +CONFIG_X86_PMEM_LEGACY=m CONFIG_X86_PM_TIMER=y CONFIG_X86_POWERNOW_K8=m # CONFIG_X86_PTDUMP is not set @@ -6311,6 +6375,7 @@ CONFIG_XFS_QUOTA=y # CONFIG_XFS_WARN is not set # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_VCU=m # CONFIG_XILINX_WATCHDOG is not set CONFIG_XILLYBUS=m # CONFIG_XILLYBUS_OF is not set @@ -6337,6 +6402,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DEVICE=y CONFIG_ZONE_DMA=y +CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set diff --git a/kernel.spec b/kernel.spec index 35bd58a..283c99c 100644 --- a/kernel.spec +++ b/kernel.spec @@ -42,19 +42,19 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be appended after the rcX and # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # -%global baserelease 300 +%global baserelease 200 %global fedora_build %{baserelease} # 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 15 +%define base_sublevel 16 ## If this is a released kernel ## %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 17 +%define stable_update 2 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -368,9 +368,8 @@ Summary: The Linux kernel Name: kernel%{?variant} -Group: System Environment/Kernel License: GPLv2 and Redistributable, no modification permitted -URL: http://www.kernel.org/ +URL: https://www.kernel.org/ Version: %{rpmversion} Release: %{pkg_release} # DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD. @@ -388,7 +387,7 @@ Requires: kernel-modules-uname-r = %{KVERREL}%{?variant} # BuildRequires: kmod, patch, bash, tar, git BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk -BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc +BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex BuildRequires: net-tools, hostname, bc, elfutils-devel %if %{with_sparse} BuildRequires: sparse @@ -506,6 +505,9 @@ Source5000: patch-4.%{base_sublevel}-git%{gitrev}.xz # ongoing complaint, full discussion delayed until ksummit/plumbers Patch002: 0001-iio-Use-event-header-from-kernel-tree.patch +# gcc -Werror=aliasing workaround +Patch003: 0001-Temporarily-work-around-gcc-aliasing-warning-error.patch + %if !%{nopatches} # Git trees. @@ -571,110 +573,84 @@ Patch300: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch # http://www.spinics.net/lists/linux-tegra/msg26029.html Patch301: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch -# Fix OMAP4 (pandaboard) -Patch302: arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch - # http://patchwork.ozlabs.org/patch/587554/ -Patch303: ARM-tegra-usb-no-reset.patch - -# https://www.spinics.net/lists/arm-kernel/msg554183.html -Patch304: arm-imx6-hummingboard2.patch - -Patch305: arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch +Patch302: ARM-tegra-usb-no-reset.patch # https://patchwork.kernel.org/patch/9820417/ -Patch306: qcom-msm89xx-fixes.patch +Patch303: qcom-msm89xx-fixes.patch # https://patchwork.kernel.org/patch/10173115/ -Patch307: arm-dts-imx6qdl-udoo-Disable-usbh1-to-avoid-kernel-hang.patch - -# Fix USB on the RPi https://patchwork.kernel.org/patch/9879371/ -Patch308: bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch +Patch304: arm-dts-imx6qdl-udoo-Disable-usbh1-to-avoid-kernel-hang.patch -# In 4.16 -Patch309: arm-exynos-fix-dwc3-neg.patch +# http://patches.linaro.org/patch/131764/ +Patch305: wcn36xx-Fix-firmware-crash-due-to-corrupted-buffer-address.patch -# In 4.16 -Patch310: arm-imx6-cpufreq-fix-loading.patch - -# https://www.spinics.net/lists/stable/msg214527.html -Patch311: arm-clk-bcm2835-hdmi-fixes.patch +# https://patchwork.kernel.org/patch/10245303/ +Patch306: wcn36xx-reduce-verbosity-of-drivers-messages.patch # https://www.spinics.net/lists/arm-kernel/msg632925.html -Patch313: arm-crypto-sunxi-ss-Add-MODULE_ALIAS-to-sun4i-ss.patch - -# https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=synquacer-netsec -Patch330: arm64-socionext-96b-enablement.patch +Patch307: arm-crypto-sunxi-ss-Add-MODULE_ALIAS-to-sun4i-ss.patch -# https://patchwork.kernel.org/patch/10149775/ MMC support for Synquacer -Patch331: arm64-mmc-sdhci_f_sdh30-add-ACPI-support.patch - -# 400 - IBM (ppc/s390x) patches +# Fix USB on the RPi https://patchwork.kernel.org/patch/9879371/ +Patch308: bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch -# 500 - Temp fixes/CVEs etc +# https://www.spinics.net/lists/arm-kernel/msg621982.html +Patch309: bcm283x-Fix-probing-of-bcm2835-i2s.patch -# 550-600 Meltdown and Spectre Fixes +# https://www.spinics.net/lists/arm-kernel/msg633942.html +Patch310: mmc-sdhci-iproc-Disable-preset-values-for-BCM2835.patch -# 600 - Patches for improved Bay and Cherry Trail device support -# Below patches are submitted upstream, awaiting review / merging -Patch610: 0010-Input-silead-Add-support-for-capactive-home-button-f.patch +# https://www.spinics.net/lists/arm-kernel/msg633945.html +Patch311: bcm2835-hwrng-Handle-deferred-clock-properly.patch -# rhbz 1476467 -Patch617: Fix-for-module-sig-verification.patch +Patch312: bcm283x-clk-audio-fixes.patch -# rhbz 1431375 -Patch619: input-rmi4-remove-the-need-for-artifical-IRQ.patch +# https://marc.info/?l=linux-kernel&m=152328880417846&w=2 +Patch313: arm64-thunderx-crypto-zip-fixes.patch -# rhbz 1509461 -Patch625: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch +# https://www.spinics.net/lists/linux-crypto/msg32725.html +Patch314: crypto-testmgr-Allow-different-compression-results.patch -# For https://fedoraproject.org/wiki/Changes/ImprovedLaptopBatteryLife -# Queued in bluetooth-next for merging into 4.16 -Patch628: 0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch +Patch315: arm-tegra-fix-nouveau-crash.patch -# Fix left-button not working with some hid-multitouch touchpads -# Adding these suggested by Benjamin Tissoires -# Queued in hid.git/for-4.16/hid-quirks-cleanup/multitouch for merging into 4.16 -Patch630: 0001-HID-multitouch-Properly-deal-with-Win8-PTP-reports-w.patch -Patch632: 0003-HID-multitouch-Combine-all-left-button-events-in-a-f.patch +# https://www.spinics.net/lists/arm-kernel/msg630629.html +Patch316: arm-sunxi-nvmem-fixH3.patch -# Make SATA link powermanagement policy configurable for: -# https://fedoraproject.org/wiki/Changes/ImprovedLaptopBatteryLife -# Queued upstream for merging into 4.16 -Patch638: 0003-ahci-Allow-setting-a-default-LPM-policy-for-mobile-c.patch +# Upstream 4.17 back port +Patch317: of-i2c-fix-module-aliases.patch -# rhbz1514969, submitted upstream -Patch640: 0001-platform-x86-dell-laptop-Filter-out-spurious-keyboar.patch +# https://patchwork.kernel.org/patch/10311335/ +Patch318: clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch -# https://bugzilla.kernel.org/show_bug.cgi?id=198351 -Patch652: iwlwifi-mvn.patch +# Enabling Patches for the RPi3+ +Patch320: bcm2837-rpi-initial-support-for-the-3.patch +Patch321: bcm2837-gpio-expander.patch +Patch322: bcm2837-enable-pmu.patch +Patch323: bcm2837-lan78xx-fixes.patch -# CVE-2018-1000026 rhbz 1541846 1546744 -Patch653: CVE-2018-1000026.patch +# 400 - IBM (ppc/s390x) patches -# rhbz 1549316 -Patch657: ipmi-fixes.patch +# 500 - Temp fixes/CVEs etc -# CVE-2018-8043 rhbz 1554199 1554200 -Patch660: 0001-net-phy-mdio-bcm-unimac-fix-potential-NULL-dereferen.patch +# rhbz 1476467 +Patch501: Fix-for-module-sig-verification.patch -# CVE-2017-18232 rhbz 1558066 1558067 -Patch663: 0001-scsi-libsas-direct-call-probe-and-destruct.patch +# rhbz 1431375 +Patch502: input-rmi4-remove-the-need-for-artifical-IRQ.patch -# rhbz 1511786 -Patch664: drm-nouveau-bl-fix-backlight-regression.patch +# rhbz 1509461 +Patch503: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch # rhbz 1558977 -Patch665: sunrpc-remove-incorrect-HMAC-request-initialization.patch +Patch504: sunrpc-remove-incorrect-HMAC-request-initialization.patch -# CVE-2018-10021 rhbz 1566407 1566409 -Patch666: 0001-scsi-libsas-defer-ata-device-eh-commands-to-libata.patch +# rhbz 1549316 +Patch505: ipmi-fixes.patch # END OF PATCH DEFINITIONS %endif -BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root %description The kernel meta package @@ -708,7 +684,6 @@ AutoProv: yes\ %package headers Summary: Header files for the Linux kernel for use by glibc -Group: Development/System Obsoletes: glibc-kernheaders < 3.0-46 Provides: glibc-kernheaders = 3.0-46 %if "0%{?variant}" @@ -724,7 +699,6 @@ glibc package. %package cross-headers Summary: Header files for the Linux kernel for use by cross-glibc -Group: Development/System %description cross-headers Kernel-cross-headers includes the C header files that specify the interface between the Linux kernel and userspace libraries and programs. The @@ -735,7 +709,6 @@ cross-glibc package. %package bootwrapper Summary: Boot wrapper files for generating combined kernel + initrd images -Group: Development/System Requires: gzip binutils %description bootwrapper Kernel-bootwrapper contains the wrapper code which makes bootable "zImage" @@ -743,7 +716,6 @@ files combining both kernel and initial ramdisk. %package debuginfo-common-%{_target_cpu} Summary: Kernel source files used by %{name}-debuginfo packages -Group: Development/Debug Provides: installonlypkg(kernel) %description debuginfo-common-%{_target_cpu} This package is required by %{name}-debuginfo subpackages. @@ -756,7 +728,6 @@ It provides the kernel source files common to all builds. %define kernel_debuginfo_package() \ %package %{?1:%{1}-}debuginfo\ Summary: Debug information for package %{name}%{?1:-%{1}}\ -Group: Development/Debug\ Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}\ Provides: %{name}%{?1:-%{1}}-debuginfo-%{_target_cpu} = %{version}-%{release}\ Provides: installonlypkg(kernel)\ @@ -774,7 +745,6 @@ This is required to use SystemTap with %{name}%{?1:-%{1}}-%{KVERREL}.\ %define kernel_devel_package() \ %package %{?1:%{1}-}devel\ Summary: Development package for building kernel modules to match the %{?2:%{2} }kernel\ -Group: System Environment/Kernel\ Provides: kernel%{?1:-%{1}}-devel-%{_target_cpu} = %{version}-%{release}\ Provides: kernel-devel-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\ Provides: kernel-devel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ @@ -795,7 +765,6 @@ against the %{?2:%{2} }kernel package.\ %define kernel_modules_extra_package() \ %package %{?1:%{1}-}modules-extra\ Summary: Extra kernel modules to match the %{?2:%{2} }kernel\ -Group: System Environment/Kernel\ Provides: kernel%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release}\ Provides: kernel%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\ Provides: kernel%{?1:-%{1}}-modules-extra = %{version}-%{release}%{?1:+%{1}}\ @@ -816,7 +785,6 @@ This package provides less commonly used kernel modules for the %{?2:%{2} }kerne %define kernel_modules_package() \ %package %{?1:%{1}-}modules\ Summary: kernel modules to match the %{?2:%{2}-}core kernel\ -Group: System Environment/Kernel\ Provides: kernel%{?1:-%{1}}-modules-%{_target_cpu} = %{version}-%{release}\ Provides: kernel-modules-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\ Provides: kernel-modules = %{version}-%{release}%{?1:+%{1}}\ @@ -836,7 +804,6 @@ This package provides commonly used kernel modules for the %{?2:%{2}-}core kerne %define kernel_meta_package() \ %package %{1}\ summary: kernel meta-package for the %{1} kernel\ -group: system environment/kernel\ Requires: kernel-%{1}-core-uname-r = %{KVERREL}%{?variant}+%{1}\ Requires: kernel-%{1}-modules-uname-r = %{KVERREL}%{?variant}+%{1}\ Provides: installonlypkg(kernel)\ @@ -852,7 +819,6 @@ The meta-package for the %{1} kernel\ %define kernel_variant_package(n:) \ %package %{?1:%{1}-}core\ Summary: %{variant_summary}\ -Group: System Environment/Kernel\ Provides: kernel-%{?1:%{1}-}core-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ Provides: installonlypkg(kernel)\ %{expand:%%kernel_reqprovconf}\ @@ -1670,7 +1636,6 @@ BuildKernel %make_target %kernel_image %{_use_vdso} %ifnarch noarch %global __debug_package 1 %files -f debugfiles.list debuginfo-common-%{_target_cpu} -%defattr(-,root,root) %endif %endif @@ -1743,9 +1708,6 @@ make DESTDIR=$RPM_BUILD_ROOT bootwrapper_install WRAPPER_OBJDIR=%{_libdir}/kerne ### clean ### -%clean -rm -rf $RPM_BUILD_ROOT - ### ### scripts ### @@ -1856,27 +1818,22 @@ fi %if %{with_headers} %files headers -%defattr(-,root,root) /usr/include/* %endif %if %{with_cross_headers} %files cross-headers -%defattr(-,root,root) /usr/*-linux-gnu/include/* %endif %if %{with_bootwrapper} %files bootwrapper -%defattr(-,root,root) /usr/sbin/* %{_libdir}/kernel-wrapper %endif # empty meta-package %files -%defattr(-,root,root) - # This is %%{image_install_path} on an arch where that includes ELF files, # or empty otherwise. %define elf_image_install_path %{?kernel_image_elf:%{image_install_path}} @@ -1889,7 +1846,6 @@ fi %define kernel_variant_files(k:) \ %if %{2}\ %{expand:%%files -f kernel-%{?3:%{3}-}core.list %{?3:%{3}-}core}\ -%defattr(-,root,root)\ %{!?_licensedir:%global license %%doc}\ %license linux-%{KVERREL}/COPYING\ /lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}\ @@ -1917,29 +1873,24 @@ fi %endif\ /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.*\ %{expand:%%files -f kernel-%{?3:%{3}-}modules.list %{?3:%{3}-}modules}\ -%defattr(-,root,root)\ %{expand:%%files %{?3:%{3}-}devel}\ -%defattr(-,root,root)\ %defverify(not mtime)\ /usr/src/kernels/%{KVERREL}%{?3:+%{3}}\ %{expand:%%files %{?3:%{3}-}modules-extra}\ -%defattr(-,root,root)\ /lib/modules/%{KVERREL}%{?3:+%{3}}/extra\ %if %{with_debuginfo}\ %ifnarch noarch\ %{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\ -%defattr(-,root,root)\ %endif\ %endif\ %if %{?3:1} %{!?3:0}\ %{expand:%%files %{3}}\ -%defattr(-,root,root)\ %endif\ %endif\ %{nil} -%kernel_variant_files %{_use_vdso} %{with_up} -%kernel_variant_files %{_use_vdso} %{with_debug} debug +%kernel_variant_files %{_use_vdso} %{with_up} +%kernel_variant_files %{_use_vdso} %{with_debug} debug %kernel_variant_files %{use_vdso} %{with_pae} %{pae} %kernel_variant_files %{use_vdso} %{with_pae_debug} %{pae}debug @@ -1948,6 +1899,9 @@ fi # # %changelog +* Thu Apr 12 2018 Jeremy Cline - 4.16.2-200 +- Linux v4.16.2 + * Thu Apr 12 2018 Laura Abbott - 4.15.17-300 - Linux v4.15.17 diff --git a/mmc-sdhci-iproc-Disable-preset-values-for-BCM2835.patch b/mmc-sdhci-iproc-Disable-preset-values-for-BCM2835.patch new file mode 100644 index 0000000..7b3b2c0 --- /dev/null +++ b/mmc-sdhci-iproc-Disable-preset-values-for-BCM2835.patch @@ -0,0 +1,37 @@ +From patchwork Mon Feb 12 20:02:44 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: mmc: sdhci-iproc: Disable preset values for BCM2835 +From: Stefan Wahren +X-Patchwork-Id: 10214367 +Message-Id: <1518465764-30051-1-git-send-email-stefan.wahren@i2se.com> +To: Adrian Hunter , + Ulf Hansson +Cc: Eric Anholt , Ray Jui , + Scott Branden , Jon Mason , + linux-arm-kernel@lists.infradead.org, + bcm-kernel-feedback-list@broadcom.com, linux-mmc@vger.kernel.org, + Stefan Wahren +Date: Mon, 12 Feb 2018 21:02:44 +0100 + +According to the BCM2835 datasheet there are no preset value registers. +This wasn't an issue before, because we didn't propagate 1.8V support. + +Signed-off-by: Stefan Wahren +--- + drivers/mmc/host/sdhci-iproc.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c +index 61666d2..0ef741b 100644 +--- a/drivers/mmc/host/sdhci-iproc.c ++++ b/drivers/mmc/host/sdhci-iproc.c +@@ -214,6 +214,7 @@ static const struct sdhci_pltfm_data sdhci_bcm2835_pltfm_data = { + SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK | + SDHCI_QUIRK_MISSING_CAPS | + SDHCI_QUIRK_NO_HISPD_BIT, ++ .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN, + .ops = &sdhci_iproc_32only_ops, + }; + diff --git a/of-i2c-fix-module-aliases.patch b/of-i2c-fix-module-aliases.patch new file mode 100644 index 0000000..3c737f6 --- /dev/null +++ b/of-i2c-fix-module-aliases.patch @@ -0,0 +1,69 @@ +From af503716ac1444db61d80cb6d17cfe62929c21df Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Sun, 3 Dec 2017 22:40:50 +0100 +Subject: i2c: core: report OF style module alias for devices registered via OF + +The buses should honor the firmware interface used to register the device, +but the I2C core reports a MODALIAS of the form i2c: even for I2C +devices registered via OF. + +This means that user-space will never get an OF stype uevent MODALIAS even +when the drivers modules contain aliases exported from both the I2C and OF +device ID tables. For example, an Atmel maXTouch Touchscreen registered by +a DT node with compatible "atmel,maxtouch" has the following module alias: + +$ cat /sys/class/i2c-adapter/i2c-8/8-004b/modalias +i2c:maxtouch + +So udev won't be able to auto-load a module for an OF-only device driver. +Many OF-only drivers duplicate the OF device ID table entries in an I2C ID +table only has a workaround for how the I2C core reports the module alias. + +This patch changes the I2C core to report an OF related MODALIAS uevent if +the device was registered via OF. So for the previous example, after this +patch, the reported MODALIAS for the Atmel maXTouch will be the following: + +$ cat /sys/class/i2c-adapter/i2c-8/8-004b/modalias +of:NtrackpadTCatmel,maxtouch + +NOTE: This patch may break out-of-tree drivers that were relying on this + behavior, and only had an I2C device ID table even when the device + was registered via OF. There are no remaining drivers in mainline + that do this, but out-of-tree drivers have to be fixed and define + a proper OF device ID table to have module auto-loading working. + +Signed-off-by: Javier Martinez Canillas +Tested-by: Dmitry Mastykin +Signed-off-by: Wolfram Sang +--- + drivers/i2c/i2c-core-base.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c +index 5a00bf4..edfc23e4 100644 +--- a/drivers/i2c/i2c-core-base.c ++++ b/drivers/i2c/i2c-core-base.c +@@ -124,6 +124,10 @@ static int i2c_device_uevent(struct device *dev, struct kobj_uevent_env *env) + struct i2c_client *client = to_i2c_client(dev); + int rc; + ++ rc = of_device_uevent_modalias(dev, env); ++ if (rc != -ENODEV) ++ return rc; ++ + rc = acpi_device_uevent_modalias(dev, env); + if (rc != -ENODEV) + return rc; +@@ -439,6 +443,10 @@ show_modalias(struct device *dev, struct device_attribute *attr, char *buf) + struct i2c_client *client = to_i2c_client(dev); + int len; + ++ len = of_device_modalias(dev, buf, PAGE_SIZE); ++ if (len != -ENODEV) ++ return len; ++ + len = acpi_device_modalias(dev, buf, PAGE_SIZE -1); + if (len != -ENODEV) + return len; +-- +cgit v1.1 diff --git a/sources b/sources index bd67cf5..e4e969e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (linux-4.15.tar.xz) = c00d92659df815a53dcac7dde145b742b1f20867d380c07cb09ddb3295d6ff10f8931b21ef0b09d7156923a3957b39d74d87c883300173b2e20690d2b4ec35ea -SHA512 (patch-4.15.17.xz) = fa1d0c0f9c55bb32ffc01b080ddf24fb69584e3c29d6d6b27ba24fd5bd7ad44d0fb0c18a269e33ef3f0fb4f10ed64e1f429cf621f61f49e5de33acba788e7ba8 +SHA512 (linux-4.16.tar.xz) = ab47849314b177d0eec9dbf261f33972b0d89fb92fb0650130ffa7abc2f36c0fab2d06317dc1683c51a472a9a631573a9b1e7258d6281a2ee189897827f14662 +SHA512 (patch-4.16.2.xz) = 3b9e2b8019f002443c7cd6510a878ab537351842e522848bdccd185dad6ea2b78a19b5c9179cd10aacccf20941632fd42340a5a3cef48ac875e57bd6cb3d57eb diff --git a/wcn36xx-Fix-firmware-crash-due-to-corrupted-buffer-address.patch b/wcn36xx-Fix-firmware-crash-due-to-corrupted-buffer-address.patch new file mode 100644 index 0000000..dd8db06 --- /dev/null +++ b/wcn36xx-Fix-firmware-crash-due-to-corrupted-buffer-address.patch @@ -0,0 +1,164 @@ +From patchwork Thu Mar 15 11:31:33 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: wcn36xx: Fix firmware crash due to corrupted buffer address +X-Patchwork-Submitter: Ramon Fried +X-Patchwork-Id: 131764 +Message-Id: <20180315113133.28791-1-rfried@codeaurora.org> +To: k.eugene.e@gmail.com, kvalo@codeaurora.org, + wcn36xx@lists.infradead.org, linux-wireless@vger.kernel.org +Cc: Loic Poulain , Ramon Fried +Date: Thu, 15 Mar 2018 13:31:33 +0200 +From: Ramon Fried +List-Id: + +From: Loic Poulain + +wcn36xx_start_tx function retrieves the buffer descriptor from the +channel control queue to start filling tx buffer information. However, +nothing prevents this same buffer to be concurrently accessed in a +concurent tx call, leading to potential buffer coruption and firmware +crash (observed during iperf test). The channel control queue should +only be accessed and updated with the channel lock. + +Fix this issue by using a local buffer descriptor which will be copied +in the thread-safe wcn36xx_dxe_tx_frame. + +Note that buffer descriptor size is few bytes so the introduced copy +overhead is insignificant. Moreover, this allows to keep the locked +section minimal. + +Signed-off-by: Loic Poulain +Signed-off-by: Ramon Fried +--- + drivers/net/wireless/ath/wcn36xx/dxe.c | 13 ++++--------- + drivers/net/wireless/ath/wcn36xx/dxe.h | 3 ++- + drivers/net/wireless/ath/wcn36xx/txrx.c | 32 ++++++++++---------------------- + 3 files changed, 16 insertions(+), 32 deletions(-) + +-- +The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, +a Linux Foundation Collaborative Project + +diff --git a/drivers/net/wireless/ath/wcn36xx/dxe.c b/drivers/net/wireless/ath/wcn36xx/dxe.c +index 7d5ecaf02288..2c3b899a88fa 100644 +--- a/drivers/net/wireless/ath/wcn36xx/dxe.c ++++ b/drivers/net/wireless/ath/wcn36xx/dxe.c +@@ -27,15 +27,6 @@ + #include "wcn36xx.h" + #include "txrx.h" + +-void *wcn36xx_dxe_get_next_bd(struct wcn36xx *wcn, bool is_low) +-{ +- struct wcn36xx_dxe_ch *ch = is_low ? +- &wcn->dxe_tx_l_ch : +- &wcn->dxe_tx_h_ch; +- +- return ch->head_blk_ctl->bd_cpu_addr; +-} +- + static void wcn36xx_ccu_write_register(struct wcn36xx *wcn, int addr, int data) + { + wcn36xx_dbg(WCN36XX_DBG_DXE, +@@ -648,6 +639,7 @@ void wcn36xx_dxe_free_mem_pools(struct wcn36xx *wcn) + + int wcn36xx_dxe_tx_frame(struct wcn36xx *wcn, + struct wcn36xx_vif *vif_priv, ++ struct wcn36xx_tx_bd *bd, + struct sk_buff *skb, + bool is_low) + { +@@ -681,6 +673,9 @@ int wcn36xx_dxe_tx_frame(struct wcn36xx *wcn, + ctl->skb = NULL; + desc = ctl->desc; + ++ /* write buffer descriptor */ ++ memcpy(ctl->bd_cpu_addr, bd, sizeof(*bd)); ++ + /* Set source address of the BD we send */ + desc->src_addr_l = ctl->bd_phy_addr; + +diff --git a/drivers/net/wireless/ath/wcn36xx/dxe.h b/drivers/net/wireless/ath/wcn36xx/dxe.h +index 2bc376c5391b..ce580960d109 100644 +--- a/drivers/net/wireless/ath/wcn36xx/dxe.h ++++ b/drivers/net/wireless/ath/wcn36xx/dxe.h +@@ -452,6 +452,7 @@ struct wcn36xx_dxe_mem_pool { + dma_addr_t phy_addr; + }; + ++struct wcn36xx_tx_bd; + struct wcn36xx_vif; + int wcn36xx_dxe_allocate_mem_pools(struct wcn36xx *wcn); + void wcn36xx_dxe_free_mem_pools(struct wcn36xx *wcn); +@@ -463,8 +464,8 @@ void wcn36xx_dxe_deinit(struct wcn36xx *wcn); + int wcn36xx_dxe_init_channels(struct wcn36xx *wcn); + int wcn36xx_dxe_tx_frame(struct wcn36xx *wcn, + struct wcn36xx_vif *vif_priv, ++ struct wcn36xx_tx_bd *bd, + struct sk_buff *skb, + bool is_low); + void wcn36xx_dxe_tx_ack_ind(struct wcn36xx *wcn, u32 status); +-void *wcn36xx_dxe_get_next_bd(struct wcn36xx *wcn, bool is_low); + #endif /* _DXE_H_ */ +diff --git a/drivers/net/wireless/ath/wcn36xx/txrx.c b/drivers/net/wireless/ath/wcn36xx/txrx.c +index 22304edc5948..b1768ed6b0be 100644 +--- a/drivers/net/wireless/ath/wcn36xx/txrx.c ++++ b/drivers/net/wireless/ath/wcn36xx/txrx.c +@@ -272,21 +272,9 @@ int wcn36xx_start_tx(struct wcn36xx *wcn, + bool is_low = ieee80211_is_data(hdr->frame_control); + bool bcast = is_broadcast_ether_addr(hdr->addr1) || + is_multicast_ether_addr(hdr->addr1); +- struct wcn36xx_tx_bd *bd = wcn36xx_dxe_get_next_bd(wcn, is_low); +- +- if (!bd) { +- /* +- * TX DXE are used in pairs. One for the BD and one for the +- * actual frame. The BD DXE's has a preallocated buffer while +- * the skb ones does not. If this isn't true something is really +- * wierd. TODO: Recover from this situation +- */ +- +- wcn36xx_err("bd address may not be NULL for BD DXE\n"); +- return -EINVAL; +- } ++ struct wcn36xx_tx_bd bd; + +- memset(bd, 0, sizeof(*bd)); ++ memset(&bd, 0, sizeof(bd)); + + wcn36xx_dbg(WCN36XX_DBG_TX, + "tx skb %p len %d fc %04x sn %d %s %s\n", +@@ -296,10 +284,10 @@ int wcn36xx_start_tx(struct wcn36xx *wcn, + + wcn36xx_dbg_dump(WCN36XX_DBG_TX_DUMP, "", skb->data, skb->len); + +- bd->dpu_rf = WCN36XX_BMU_WQ_TX; ++ bd.dpu_rf = WCN36XX_BMU_WQ_TX; + +- bd->tx_comp = !!(info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS); +- if (bd->tx_comp) { ++ bd.tx_comp = !!(info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS); ++ if (bd.tx_comp) { + wcn36xx_dbg(WCN36XX_DBG_DXE, "TX_ACK status requested\n"); + spin_lock_irqsave(&wcn->dxe_lock, flags); + if (wcn->tx_ack_skb) { +@@ -321,13 +309,13 @@ int wcn36xx_start_tx(struct wcn36xx *wcn, + + /* Data frames served first*/ + if (is_low) +- wcn36xx_set_tx_data(bd, wcn, &vif_priv, sta_priv, skb, bcast); ++ wcn36xx_set_tx_data(&bd, wcn, &vif_priv, sta_priv, skb, bcast); + else + /* MGMT and CTRL frames are handeld here*/ +- wcn36xx_set_tx_mgmt(bd, wcn, &vif_priv, skb, bcast); ++ wcn36xx_set_tx_mgmt(&bd, wcn, &vif_priv, skb, bcast); + +- buff_to_be((u32 *)bd, sizeof(*bd)/sizeof(u32)); +- bd->tx_bd_sign = 0xbdbdbdbd; ++ buff_to_be((u32 *)&bd, sizeof(bd)/sizeof(u32)); ++ bd.tx_bd_sign = 0xbdbdbdbd; + +- return wcn36xx_dxe_tx_frame(wcn, vif_priv, skb, is_low); ++ return wcn36xx_dxe_tx_frame(wcn, vif_priv, &bd, skb, is_low); + } diff --git a/wcn36xx-reduce-verbosity-of-drivers-messages.patch b/wcn36xx-reduce-verbosity-of-drivers-messages.patch new file mode 100644 index 0000000..7f9e39b --- /dev/null +++ b/wcn36xx-reduce-verbosity-of-drivers-messages.patch @@ -0,0 +1,95 @@ +From patchwork Tue Feb 27 14:05:35 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v3] wcn36xx: reduce verbosity of drivers messages +From: Ramon Fried +X-Patchwork-Id: 10245303 +Message-Id: <20180227140535.4794-1-rfried@codeaurora.org> +To: k.eugene.e@gmail.com, kvalo@codeaurora.org, + wcn36xx@lists.infradead.org, linux-wireless@vger.kernel.org +Cc: Ramon Fried +Date: Tue, 27 Feb 2018 16:05:35 +0200 + +Whenever the WLAN interface is started the FW +version and caps are printed. +The caps now will be displayed only in debug mode. +Firmware version will be displayed only once on first +startup of the interface. + +Change-Id: I4db6ea7f384fe15eebe4c3ddb1d1ccab00094332 +Signed-off-by: Ramon Fried +--- +v2: print the firwmare version as info but only + onetime. +v3: change the static variable to a struct variable. + + drivers/net/wireless/ath/wcn36xx/main.c | 3 ++- + drivers/net/wireless/ath/wcn36xx/smd.c | 18 ++++++++++-------- + drivers/net/wireless/ath/wcn36xx/wcn36xx.h | 2 ++ + 3 files changed, 14 insertions(+), 9 deletions(-) + +diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c +index ab5be6d2c691..bfe9062bfa52 100644 +--- a/drivers/net/wireless/ath/wcn36xx/main.c ++++ b/drivers/net/wireless/ath/wcn36xx/main.c +@@ -261,7 +261,7 @@ static void wcn36xx_feat_caps_info(struct wcn36xx *wcn) + + for (i = 0; i < MAX_FEATURE_SUPPORTED; i++) { + if (get_feat_caps(wcn->fw_feat_caps, i)) +- wcn36xx_info("FW Cap %s\n", wcn36xx_get_cap_name(i)); ++ wcn36xx_dbg(WCN36XX_DBG_MAC, "FW Cap %s\n", wcn36xx_get_cap_name(i)); + } + } + +@@ -1283,6 +1283,7 @@ static int wcn36xx_probe(struct platform_device *pdev) + wcn = hw->priv; + wcn->hw = hw; + wcn->dev = &pdev->dev; ++ wcn->first_boot = true; + mutex_init(&wcn->conf_mutex); + mutex_init(&wcn->hal_mutex); + mutex_init(&wcn->scan_lock); +diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c +index 2a4871ca9c72..1a5b4d57c0ac 100644 +--- a/drivers/net/wireless/ath/wcn36xx/smd.c ++++ b/drivers/net/wireless/ath/wcn36xx/smd.c +@@ -409,15 +409,17 @@ static int wcn36xx_smd_start_rsp(struct wcn36xx *wcn, void *buf, size_t len) + wcn->fw_minor = rsp->start_rsp_params.version.minor; + wcn->fw_major = rsp->start_rsp_params.version.major; + +- wcn36xx_info("firmware WLAN version '%s' and CRM version '%s'\n", +- wcn->wlan_version, wcn->crm_version); +- +- wcn36xx_info("firmware API %u.%u.%u.%u, %u stations, %u bssids\n", +- wcn->fw_major, wcn->fw_minor, +- wcn->fw_version, wcn->fw_revision, +- rsp->start_rsp_params.stations, +- rsp->start_rsp_params.bssids); ++ if (wcn->first_boot) { ++ wcn->first_boot = false; ++ wcn36xx_info("firmware WLAN version '%s' and CRM version '%s'\n", ++ wcn->wlan_version, wcn->crm_version); + ++ wcn36xx_info("firmware API %u.%u.%u.%u, %u stations, %u bssids\n", ++ wcn->fw_major, wcn->fw_minor, ++ wcn->fw_version, wcn->fw_revision, ++ rsp->start_rsp_params.stations, ++ rsp->start_rsp_params.bssids); ++ } + return 0; + } + +diff --git a/drivers/net/wireless/ath/wcn36xx/wcn36xx.h b/drivers/net/wireless/ath/wcn36xx/wcn36xx.h +index 81017e6703b4..5854adf43f3a 100644 +--- a/drivers/net/wireless/ath/wcn36xx/wcn36xx.h ++++ b/drivers/net/wireless/ath/wcn36xx/wcn36xx.h +@@ -192,6 +192,8 @@ struct wcn36xx { + u8 crm_version[WCN36XX_HAL_VERSION_LENGTH + 1]; + u8 wlan_version[WCN36XX_HAL_VERSION_LENGTH + 1]; + ++ bool first_boot; ++ + /* IRQs */ + int tx_irq; + int rx_irq;