diff options
author | shadoukun | 2017-11-24 18:35:14 -0500 |
---|---|---|
committer | shadoukun | 2017-11-24 18:35:14 -0500 |
commit | a0eb6bf18d3c2e387d2096c0e4216e39fe6678a3 (patch) | |
tree | 070bc8d93f7e579934a6f993650c39ca08cad6b7 | |
parent | a1888e9546f9f56419fd797cfacd8d5d8d5aaa44 (diff) | |
download | aur-a0eb6bf18d3c2e387d2096c0e4216e39fe6678a3.tar.gz |
update to 4.14.2. Multitouch/pen fixed.
-rw-r--r-- | .SRCINFO | 53 | ||||
-rw-r--r-- | 0001-ipts.patch (renamed from 0002-ipts.patch) | 517 | ||||
-rw-r--r-- | 0002-hid.patch | 315 | ||||
-rw-r--r-- | 0003-wifi.patch | 288 | ||||
-rw-r--r-- | 0004-usb.patch (renamed from 0004-sd.patch) | 12 | ||||
-rw-r--r-- | 0005-camera.patch | 145 | ||||
-rw-r--r-- | 0005-hid.patch | 156 | ||||
-rw-r--r-- | 60-linux.hook | 12 | ||||
-rw-r--r-- | 90-linux.hook | 2 | ||||
-rw-r--r-- | 99-ipts.rules | 20 | ||||
-rw-r--r-- | PKGBUILD | 340 | ||||
-rw-r--r-- | bonding-ratelimit-failed-speed-duplex-update-warning.patch | 47 | ||||
-rw-r--r-- | bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch | 68 | ||||
-rw-r--r-- | config (renamed from config.x86_64) | 854 | ||||
-rw-r--r-- | ipts_fw_config.bin | bin | 708 -> 0 bytes | |||
-rw-r--r-- | mm-Revert-x86_64-and-arm64-ELF_ET_DYN_BASE-base.patch | 35 |
16 files changed, 1623 insertions, 1241 deletions
@@ -1,50 +1,41 @@ pkgbase = linux-surface4 - pkgver = 4.12.8 - pkgrel = 2 + pkgver = 4.14.2 + pkgrel = 1 url = https://www.kernel.org/ arch = x86_64 license = GPL2 makedepends = xmlto - makedepends = docbook-xsl makedepends = kmod makedepends = inetutils makedepends = bc makedepends = libelf options = !strip - source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.12.tar.xz - source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.12.tar.sign - source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.12.8.xz - source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.12.8.sign - source = bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch - source = bonding-ratelimit-failed-speed-duplex-update-warning.patch - source = mm-Revert-x86_64-and-arm64-ELF_ET_DYN_BASE-base.patch - source = 0002-ipts.patch - source = 0003-wifi.patch - source = 0004-sd.patch - source = 0005-hid.patch - source = 99-ipts.rules - source = ipts_fw_config.bin - source = config.x86_64 + source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.2.tar.xz + source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.2.tar.sign + source = config + source = 60-linux.hook source = 90-linux.hook source = linux.preset + source = 0001-ipts.patch + source = 0002-hid.patch + source = 0003-wifi.patch + source = 0004-usb.patch + source = 0005-camera.patch + source = 99-ipts.rules validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886 validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E - sha256sums = a45c3becd4d08ce411c14628a949d08e2433d8cdeca92036c7013980e93858ab - sha256sums = SKIP - sha256sums = 32b860911a3bafd5cd5bc813a427c90fad6eafdf607fa64e1b763b16ab605636 + sha256sums = e92690620a4e4811c6b37b2f1b6c9b32a1dde40aa12be6527c8dc215fb27464c sha256sums = SKIP - sha256sums = 48e0505438bb4ccc7a0e050a896122b490e8f1b1446aa3833841a9d4d7853d68 - sha256sums = fc606711a922638d5cc4358f47f69f554d9e6eab1cec91f0b49f00911f399722 - sha256sums = b830ce777543c0edd20a77d70f204c095f2429bb37151cd4a8c9dfae2af8d51a - sha256sums = cbd508d55e446ad5e00a7534490a8b6faa8987dc22dab139fa8ac42b90735cf3 - sha256sums = d748010776aa4016e920b46f6ef6847e52d4214e9b6afe752c340c5a9644870f - sha256sums = 311857771c63ed5145effedae55830b3c7fdc8865e145e94d54b9aa2e094779e - sha256sums = 065fa8cb24062afee3c0aa8140e65560c2ebfb08f714222a3e0b3b12e764097b - sha256sums = 59c8bb30e749a1e05cbb3a5ca7bf995afe8a957961d635356c85875136812922 - sha256sums = eed5c04a5f8841d52292fbb321990c79316ce98cd21324c71226cdc95cc20d09 - sha256sums = 90fffe84ea442756fb168d22d9b6b9f2d8d7bc631b81188836caaa33a9f92554 - sha256sums = 834bd254b56ab71d73f59b3221f056c72f559553c04718e350ab2a3e2991afe0 + sha256sums = efd4cd1ec319e9eed73f67b66de5a761a8365b9b227479f073f9115550cb157c + sha256sums = ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21 + sha256sums = 75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919 sha256sums = ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65 + sha256sums = 260859d91e9c77c8231d9ba9f86ab1c970be21da2134efd6b4df139321b80b1d + sha256sums = c57e13c8a15d06e4e04cda4ae95c7920cbd8b8b40a17252f2413c8b57da952f3 + sha256sums = 8d724a67ebb52b5130c855907c17a050a3224ec2fdc11f1544723b5025a36c17 + sha256sums = 835ff847328db11f31d2eb954f45a6067527626dbf984793c44982ef5f60863e + sha256sums = 985141fe1d694b95bc78a4b0f3dafcc2cbddabcf2c44eda8feb92847bf9f9c68 + sha256sums = 82d0fa48947aff93cbbc9a0f0f3020bf95e860d604549b20f7ef8e1634798bd8 pkgname = linux-surface4 pkgdesc = The Linux-surface4 kernel and modules diff --git a/0002-ipts.patch b/0001-ipts.patch index aabaeb8a9a3b..661249ccf8b3 100644 --- a/0002-ipts.patch +++ b/0001-ipts.patch @@ -1,11 +1,11 @@ diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile -index 2cf04504..3359204d 100644 +index 2e034ef..635b8c6 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile -@@ -116,6 +116,9 @@ i915-y += dvo_ch7017.o \ +@@ -120,6 +120,9 @@ i915-y += dvo_ch7017.o \ intel_sdvo.o \ intel_tv.o - + +# intel precise touch & stylus +i915-y += intel_ipts.o + @@ -13,7 +13,7 @@ index 2cf04504..3359204d 100644 i915-$(CONFIG_DRM_I915_CAPTURE_ERROR) += i915_gpu_error.o i915-$(CONFIG_DRM_I915_SELFTEST) += \ diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c -index 6ac8d37e..d867a1b8 100644 +index 9f45cfe..34ec3cc 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -51,6 +51,7 @@ @@ -21,52 +21,64 @@ index 6ac8d37e..d867a1b8 100644 #include "intel_drv.h" #include "intel_uc.h" +#include "intel_ipts.h" - + static struct drm_driver driver; - -@@ -626,6 +627,10 @@ static int i915_load_modeset_init(struct drm_device *dev) - + +@@ -679,6 +680,9 @@ static int i915_load_modeset_init(struct drm_device *dev) + drm_kms_helper_poll_init(dev); - -+pr_info(">> let init ipts\n"); + + if (INTEL_GEN(dev_priv) >= 9 && i915.enable_guc_submission) -+ intel_ipts_init(dev); ++ intel_ipts_init(dev); + return 0; - + cleanup_gem: -@@ -1316,6 +1321,9 @@ void i915_driver_unload(struct drm_device *dev) +@@ -1373,6 +1377,9 @@ void i915_driver_unload(struct drm_device *dev) struct drm_i915_private *dev_priv = to_i915(dev); struct pci_dev *pdev = dev_priv->drm.pdev; - + + if (INTEL_GEN(dev_priv) >= 9 && i915.enable_guc_submission) + intel_ipts_cleanup(dev); + - intel_fbdev_fini(dev); - + i915_driver_unregister(dev_priv); + if (i915_gem_suspend(dev_priv)) diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 2c453a4e..a7f70e00 100644 +index 18d9da5..12d86d1 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h -@@ -3500,6 +3500,9 @@ void i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj, +@@ -3658,6 +3658,9 @@ void i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj, void i915_gem_object_save_bit_17_swizzle(struct drm_i915_gem_object *obj, struct sg_table *pages); - + +struct i915_gem_context * +i915_gem_context_create_ipts(struct drm_device *dev); + static inline struct i915_gem_context * - i915_gem_context_lookup(struct drm_i915_file_private *file_priv, u32 id) + __i915_gem_context_lookup_rcu(struct drm_i915_file_private *file_priv, u32 id) { +diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c +index dc1faa4..a558aab 100644 +--- a/drivers/gpu/drm/i915/i915_gem.c ++++ b/drivers/gpu/drm/i915/i915_gem.c +@@ -179,7 +179,7 @@ i915_gem_object_get_pages_phys(struct drm_i915_gem_object *obj) + * the alignment of the buddy allocation will naturally match. + */ + phys = drm_pci_alloc(obj->base.dev, +- obj->base.size, ++ roundup_pow_of_two(obj->base.size), + roundup_pow_of_two(obj->base.size)); + if (!phys) + return ERR_PTR(-ENOMEM); diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c -index 8bd0c496..e12b8de5 100644 +index 8afd2ce..00871aa 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -422,6 +422,18 @@ out: +@@ -418,6 +418,18 @@ out: return ctx; } - + +struct i915_gem_context *i915_gem_context_create_ipts(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; @@ -79,17 +91,17 @@ index 8bd0c496..e12b8de5 100644 + return ctx; +} + - int i915_gem_context_init(struct drm_i915_private *dev_priv) + int i915_gem_contexts_init(struct drm_i915_private *dev_priv) { struct i915_gem_context *ctx; diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c b/drivers/gpu/drm/i915/i915_guc_submission.c -index ab5140ba..55748795 100644 +index 48a1e93..505fdd8 100644 --- a/drivers/gpu/drm/i915/i915_guc_submission.c +++ b/drivers/gpu/drm/i915/i915_guc_submission.c @@ -331,7 +331,14 @@ static void guc_stage_desc_init(struct intel_guc *guc, desc = __get_stage_desc(client); memset(desc, 0, sizeof(*desc)); - + - desc->attribute = GUC_STAGE_DESC_ATTR_ACTIVE | GUC_STAGE_DESC_ATTR_KERNEL; + desc->attribute = GUC_STAGE_DESC_ATTR_ACTIVE; + if ((client->priority == GUC_CLIENT_PRIORITY_KMD_NORMAL) || @@ -102,9 +114,9 @@ index ab5140ba..55748795 100644 desc->stage_id = client->stage_id; desc->priority = client->priority; desc->db_id = client->doorbell_id; -@@ -1143,7 +1150,8 @@ static void guc_interrupts_capture(struct drm_i915_private *dev_priv) +@@ -1159,7 +1166,8 @@ static void guc_interrupts_capture(struct drm_i915_private *dev_priv) I915_WRITE(RING_MODE_GEN7(engine), irqs); - + /* route USER_INTERRUPT to Host, all others are sent to GuC. */ - irqs = GT_RENDER_USER_INTERRUPT << GEN8_RCS_IRQ_SHIFT | + irqs = (GT_RENDER_USER_INTERRUPT | GT_RENDER_PIPECTL_NOTIFY_INTERRUPT) @@ -112,8 +124,8 @@ index ab5140ba..55748795 100644 GT_RENDER_USER_INTERRUPT << GEN8_BCS_IRQ_SHIFT; /* These three registers have the same bit definitions */ I915_WRITE(GUC_BCS_RCS_IER, ~irqs); -@@ -1324,3 +1332,47 @@ int intel_guc_resume(struct drm_i915_private *dev_priv) - +@@ -1340,3 +1348,47 @@ int intel_guc_resume(struct drm_i915_private *dev_priv) + return intel_guc_send(guc, data, ARRAY_SIZE(data)); } + @@ -126,7 +138,7 @@ index ab5140ba..55748795 100644 + /* client for execbuf submission */ + client = guc_client_alloc(dev_priv, + INTEL_INFO(dev_priv)->ring_mask, -+ GUC_CLIENT_PRIORITY_KMD_NORMAL, ++ GUC_CLIENT_PRIORITY_NORMAL, + ctx); + if (!client) { + DRM_ERROR("Failed to create normal GuC client!\n"); @@ -155,13 +167,13 @@ index ab5140ba..55748795 100644 +{ + struct intel_guc *guc = &dev_priv->guc; + -+ int err = __guc_allocate_doorbell(guc, guc->ipts_client); ++ int err = __guc_allocate_doorbell(guc, guc->ipts_client->stage_id); + + if (err) + DRM_ERROR("Not able to reacquire IPTS doorbell\n"); +} diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c -index 190f6aa5..b3834524 100644 +index b63893e..5a0313b 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -36,6 +36,7 @@ @@ -169,20 +181,20 @@ index 190f6aa5..b3834524 100644 #include "i915_trace.h" #include "intel_drv.h" +#include "intel_ipts.h" - + /** * DOC: interrupt handling -@@ -1368,6 +1369,9 @@ gen8_cs_irq_handler(struct intel_engine_cs *engine, u32 iir, int test_shift) +@@ -1319,6 +1320,9 @@ gen8_cs_irq_handler(struct intel_engine_cs *engine, u32 iir, int test_shift) tasklet |= i915.enable_guc_submission; } - + + if (iir & (GT_RENDER_PIPECTL_NOTIFY_INTERRUPT << test_shift)) + intel_ipts_notify_complete(); + if (tasklet) tasklet_hi_schedule(&engine->irq_tasklet); } -@@ -3423,7 +3427,8 @@ static void gen8_gt_irq_postinstall(struct drm_i915_private *dev_priv) +@@ -3391,7 +3395,8 @@ static void gen8_gt_irq_postinstall(struct drm_i915_private *dev_priv) { /* These are interrupts we'll toggle with the ring mask register */ uint32_t gt_interrupts[] = { @@ -192,12 +204,42 @@ index 190f6aa5..b3834524 100644 GT_CONTEXT_SWITCH_INTERRUPT << GEN8_RCS_IRQ_SHIFT | GT_RENDER_USER_INTERRUPT << GEN8_BCS_IRQ_SHIFT | GT_CONTEXT_SWITCH_INTERRUPT << GEN8_BCS_IRQ_SHIFT, -diff --git a/drivers/gpu/drm/i915/intel_ipts.c b/drivers/gpu/drm/i915/intel_ipts.c +diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c +index 8ab003d..db55910 100644 +--- a/drivers/gpu/drm/i915/i915_params.c ++++ b/drivers/gpu/drm/i915/i915_params.c +@@ -56,8 +56,8 @@ struct i915_params i915 __read_mostly = { + .verbose_state_checks = 1, + .nuclear_pageflip = 0, + .edp_vswing = 0, +- .enable_guc_loading = 0, +- .enable_guc_submission = 0, ++ .enable_guc_loading = 1, ++ .enable_guc_submission = 1, + .guc_log_level = -1, + .guc_firmware_path = NULL, + .huc_firmware_path = NULL, +@@ -225,12 +225,12 @@ MODULE_PARM_DESC(edp_vswing, + module_param_named_unsafe(enable_guc_loading, i915.enable_guc_loading, int, 0400); + MODULE_PARM_DESC(enable_guc_loading, + "Enable GuC firmware loading " +- "(-1=auto, 0=never [default], 1=if available, 2=required)"); ++ "(-1=auto, 0=never, 1=if available [default], 2=required)"); + + module_param_named_unsafe(enable_guc_submission, i915.enable_guc_submission, int, 0400); + MODULE_PARM_DESC(enable_guc_submission, + "Enable GuC submission " +- "(-1=auto, 0=never [default], 1=if available, 2=required)"); ++ "(-1=auto, 0=never, 1=if available [default], 2=required)"); + + module_param_named(guc_log_level, i915.guc_log_level, int, 0400); + MODULE_PARM_DESC(guc_log_level, +diff --git b/drivers/gpu/drm/i915/intel_ipts.c b/drivers/gpu/drm/i915/intel_ipts.c new file mode 100644 -index 00000000..3ab9b502 +index 0000000..f5fa111 --- /dev/null +++ b/drivers/gpu/drm/i915/intel_ipts.c -@@ -0,0 +1,623 @@ +@@ -0,0 +1,626 @@ +/* + * Copyright 2016 Intel Corporation + * @@ -269,7 +311,7 @@ index 00000000..3ab9b502 + +static intel_ipts_object_t *ipts_object_create(size_t size, u32 flags) +{ -+ struct drm_i915_private *dev_priv = intel_ipts.dev->dev_private; ++ struct drm_i915_private *dev_priv = to_i915(intel_ipts.dev); + intel_ipts_object_t *obj = NULL; + struct drm_i915_gem_object *gem_obj = NULL; + int ret = 0; @@ -332,7 +374,7 @@ index 00000000..3ab9b502 +{ + struct i915_address_space *vm = NULL; + struct i915_vma *vma = NULL; -+ struct drm_i915_private *dev_priv = intel_ipts.dev->dev_private; ++ struct drm_i915_private *dev_priv = to_i915(intel_ipts.dev); + int ret = 0; + + if (ipts_ctx->ppgtt) { @@ -372,7 +414,8 @@ index 00000000..3ab9b502 +static int create_ipts_context(void) +{ + struct i915_gem_context *ipts_ctx = NULL; -+ struct drm_i915_private *dev_priv = intel_ipts.dev->dev_private; ++ struct drm_i915_private *dev_priv = to_i915(intel_ipts.dev); ++ struct intel_ring *pin_ret; + int ret = 0; + + /* Initialize the context right away.*/ @@ -396,9 +439,9 @@ index 00000000..3ab9b502 + goto err_ctx; + } + -+ ret = execlists_context_pin(dev_priv->engine[RCS], ipts_ctx); -+ if (ret) { -+ DRM_DEBUG("lr context pinning failed : %d\n", ret); ++ pin_ret = execlists_context_pin(dev_priv->engine[RCS], ipts_ctx); ++ if (IS_ERR(pin_ret)) { ++ DRM_DEBUG("lr context pinning failed : %ld\n", PTR_ERR(pin_ret)); + goto err_ctx; + } + @@ -425,7 +468,7 @@ index 00000000..3ab9b502 +static void destroy_ipts_context(void) +{ + struct i915_gem_context *ipts_ctx = NULL; -+ struct drm_i915_private *dev_priv = intel_ipts.dev->dev_private; ++ struct drm_i915_private *dev_priv = to_i915(intel_ipts.dev); + int ret = 0; + + ipts_ctx = intel_ipts.ipts_context; @@ -508,7 +551,7 @@ index 00000000..3ab9b502 + +static int set_wq_info(void) +{ -+ struct drm_i915_private *dev_priv = intel_ipts.dev->dev_private; ++ struct drm_i915_private *dev_priv = to_i915(intel_ipts.dev); + struct intel_guc *guc = &dev_priv->guc; + struct i915_guc_client *client; + struct guc_process_desc *desc; @@ -602,7 +645,7 @@ index 00000000..3ab9b502 +{ + intel_ipts_object_t* obj; + struct i915_gem_context *ipts_ctx = NULL; -+ struct drm_i915_private *dev_priv = intel_ipts.dev->dev_private; ++ struct drm_i915_private *dev_priv = to_i915(intel_ipts.dev); + struct i915_address_space *vm = NULL; + struct i915_vma *vma = NULL; + int ret = 0; @@ -682,7 +725,7 @@ index 00000000..3ab9b502 + +int intel_ipts_connect(intel_ipts_connect_t *ipts_connect) +{ -+ struct drm_i915_private *dev_priv = intel_ipts.dev->dev_private; ++ struct drm_i915_private *dev_priv = to_i915(intel_ipts.dev); + int ret = 0; + + if (!intel_ipts.initialized) @@ -784,6 +827,8 @@ index 00000000..3ab9b502 +{ + int ret = 0; + ++ pr_info("ipts: initializing ipts\n"); ++ + intel_ipts.dev = dev; + INIT_DELAYED_WORK(&intel_ipts.reacquire_db_work, reacquire_db_work_func); + @@ -821,9 +866,9 @@ index 00000000..3ab9b502 + cancel_delayed_work(&intel_ipts.reacquire_db_work); + } +} -diff --git a/drivers/gpu/drm/i915/intel_ipts.h b/drivers/gpu/drm/i915/intel_ipts.h +diff --git b/drivers/gpu/drm/i915/intel_ipts.h b/drivers/gpu/drm/i915/intel_ipts.h new file mode 100644 -index 00000000..a6965d10 +index 0000000..a6965d1 --- /dev/null +++ b/drivers/gpu/drm/i915/intel_ipts.h @@ -0,0 +1,34 @@ @@ -862,76 +907,74 @@ index 00000000..a6965d10 + +#endif //_INTEL_IPTS_H_ diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c -index 62f44d3e..2204b793 100644 +index 6f972e6..f25a439 100644 --- a/drivers/gpu/drm/i915/intel_lrc.c +++ b/drivers/gpu/drm/i915/intel_lrc.c -@@ -214,7 +214,7 @@ - +@@ -211,8 +211,6 @@ + #define WA_TAIL_DWORDS 2 - + -static int execlists_context_deferred_alloc(struct i915_gem_context *ctx, -+int execlists_context_deferred_alloc(struct i915_gem_context *ctx, - struct intel_engine_cs *engine); +- struct intel_engine_cs *engine); static void execlists_init_reg_state(u32 *reg_state, struct i915_gem_context *ctx, -@@ -735,7 +735,7 @@ static void execlists_schedule(struct drm_i915_gem_request *request, int prio) + struct intel_engine_cs *engine, +@@ -819,7 +817,7 @@ static void execlists_schedule(struct drm_i915_gem_request *request, int prio) /* XXX Do we need to preempt to make room for us and our deps? */ } - --static int execlists_context_pin(struct intel_engine_cs *engine, -+int execlists_context_pin(struct intel_engine_cs *engine, - struct i915_gem_context *ctx) + +-static struct intel_ring * ++struct intel_ring * + execlists_context_pin(struct intel_engine_cs *engine, + struct i915_gem_context *ctx) { - struct intel_context *ce = &ctx->engine[engine->id]; -@@ -794,7 +794,7 @@ err: - return ret; +@@ -880,7 +878,7 @@ err: + return ERR_PTR(ret); } - + -static void execlists_context_unpin(struct intel_engine_cs *engine, +void execlists_context_unpin(struct intel_engine_cs *engine, struct i915_gem_context *ctx) { struct intel_context *ce = &ctx->engine[engine->id]; -@@ -1683,7 +1683,8 @@ int logical_render_ring_init(struct intel_engine_cs *engine) - int ret; - +@@ -1810,6 +1808,9 @@ int logical_render_ring_init(struct intel_engine_cs *engine) + logical_ring_setup(engine); -- + + engine->irq_keep_mask |= GT_RENDER_PIPECTL_NOTIFY_INTERRUPT + << GEN8_RCS_IRQ_SHIFT; ++ if (HAS_L3_DPF(dev_priv)) engine->irq_keep_mask |= GT_RENDER_L3_PARITY_ERROR_INTERRUPT; - -@@ -1944,7 +1945,7 @@ uint32_t intel_lr_context_size(struct intel_engine_cs *engine) - return ret; + +@@ -2038,7 +2039,7 @@ populate_lr_context(struct i915_gem_context *ctx, + return 0; } - + -static int execlists_context_deferred_alloc(struct i915_gem_context *ctx, +int execlists_context_deferred_alloc(struct i915_gem_context *ctx, struct intel_engine_cs *engine) { struct drm_i915_gem_object *ctx_obj; diff --git a/drivers/gpu/drm/i915/intel_lrc.h b/drivers/gpu/drm/i915/intel_lrc.h -index e8015e7b..92e113c1 100644 +index 57ef583..aec97c3 100644 --- a/drivers/gpu/drm/i915/intel_lrc.h +++ b/drivers/gpu/drm/i915/intel_lrc.h -@@ -78,8 +78,13 @@ int logical_xcs_ring_init(struct intel_engine_cs *engine); - struct drm_i915_private; - struct i915_gem_context; - -+int execlists_context_deferred_alloc(struct i915_gem_context *ctx, -+ struct intel_engine_cs *engine); -+int execlists_context_pin(struct intel_engine_cs *engine, -+ struct i915_gem_context *ctx); +@@ -85,4 +85,12 @@ uint64_t intel_lr_context_descriptor(struct i915_gem_context *ctx, + int intel_sanitize_enable_execlists(struct drm_i915_private *dev_priv, + int enable_execlists); + ++struct intel_ring * ++execlists_context_pin(struct intel_engine_cs *engine, ++ struct i915_gem_context *ctx); +void execlists_context_unpin(struct intel_engine_cs *engine, + struct i915_gem_context *ctx); - uint32_t intel_lr_context_size(struct intel_engine_cs *engine); -- - void intel_lr_context_resume(struct drm_i915_private *dev_priv); - uint64_t intel_lr_context_descriptor(struct i915_gem_context *ctx, - struct intel_engine_cs *engine); ++int execlists_context_deferred_alloc(struct i915_gem_context *ctx, ++ struct intel_engine_cs *engine); ++ + #endif /* _INTEL_LRC_H_ */ diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c -index cb50c527..48a0300d 100644 +index 3b1c5d7..98b64e3 100644 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c @@ -34,6 +34,7 @@ @@ -939,98 +982,56 @@ index cb50c527..48a0300d 100644 #include <linux/pwm.h> #include "intel_drv.h" +#include "intel_ipts.h" - + #define CRC_PMIC_PWM_PERIOD_NS 21333 - -@@ -712,6 +713,9 @@ static void lpt_disable_backlight(struct intel_connector *connector) + +@@ -719,6 +720,9 @@ static void lpt_disable_backlight(const struct drm_connector_state *old_conn_sta struct drm_i915_private *dev_priv = to_i915(connector->base.dev); u32 tmp; - + + if (INTEL_GEN(dev_priv) >= 9 && i915.enable_guc_submission) + intel_ipts_notify_backlight_status(false); + - intel_panel_actually_set_backlight(connector, 0); - + intel_panel_actually_set_backlight(old_conn_state, 0); + /* -@@ -881,6 +885,9 @@ static void lpt_enable_backlight(struct intel_connector *connector) - +@@ -906,6 +910,9 @@ static void lpt_enable_backlight(const struct intel_crtc_state *crtc_state, + /* This won't stick until the above enable. */ - intel_panel_actually_set_backlight(connector, panel->backlight.level); + intel_panel_actually_set_backlight(conn_state, panel->backlight.level); + + if (INTEL_GEN(dev_priv) >= 9 && i915.enable_guc_submission) + intel_ipts_notify_backlight_status(true); } - - static void pch_enable_backlight(struct intel_connector *connector) + + static void pch_enable_backlight(const struct intel_crtc_state *crtc_state, diff --git a/drivers/gpu/drm/i915/intel_uc.h b/drivers/gpu/drm/i915/intel_uc.h -index f8411526..7108714a 100644 +index 22ae52b..c7765f9 100644 --- a/drivers/gpu/drm/i915/intel_uc.h +++ b/drivers/gpu/drm/i915/intel_uc.h -@@ -189,6 +189,7 @@ struct intel_guc { +@@ -191,6 +191,7 @@ struct intel_guc { struct ida stage_ids; - + struct i915_guc_client *execbuf_client; + struct i915_guc_client *ipts_client; - + DECLARE_BITMAP(doorbell_bitmap, GUC_NUM_DOORBELLS); uint32_t db_cacheline; /* Cyclic counter mod pagesize */ -@@ -267,4 +268,9 @@ void intel_huc_select_fw(struct intel_huc *huc); - int intel_huc_init_hw(struct intel_huc *huc); +@@ -276,4 +277,9 @@ void intel_huc_select_fw(struct intel_huc *huc); + void intel_huc_init_hw(struct intel_huc *huc); void intel_guc_auth_huc(struct drm_i915_private *dev_priv); - + +int i915_guc_ipts_submission_enable(struct drm_i915_private *dev_priv, + struct i915_gem_context *ctx); +void i915_guc_ipts_submission_disable(struct drm_i915_private *dev_priv); +void i915_guc_ipts_reacquire_doorbell(struct drm_i915_private *dev_priv); + #endif -diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c -index be5bea15..937a7084 100644 ---- a/drivers/hid/hid-multitouch.c -+++ b/drivers/hid/hid-multitouch.c -@@ -558,8 +558,12 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, - if (field->index >= field->report->maxfield || - usage->usage_index >= field->report_count) - return 1; -- td->cc_index = field->index; -- td->cc_value_index = usage->usage_index; -+ -+ if (td->cc_index < 0) { -+ td->cc_index = field->index; -+ td->cc_value_index = usage->usage_index; -+ } -+ - return 1; - case HID_DG_CONTACTMAX: - /* we don't set td->last_slot_field as contactcount and -@@ -857,8 +861,10 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi, - field->application != HID_DG_TOUCHSCREEN && - field->application != HID_DG_PEN && - field->application != HID_DG_TOUCHPAD && -+ field->application != HID_GD_MOUSE && - field->application != HID_GD_KEYBOARD && -- field->application != HID_CP_CONSUMER_CONTROL) -+ field->application != HID_CP_CONSUMER_CONTROL && -+ field->logical != HID_DG_TOUCHSCREEN) - return -1; - - /* -@@ -1041,6 +1047,10 @@ static int mt_input_configured(struct hid_device *hdev, struct hid_input *hi) - suffix = "Pen"; - /* force BTN_STYLUS to allow tablet matching in udev */ - __set_bit(BTN_STYLUS, hi->input->keybit); -+ } else if (hi->report->field[0]->logical == HID_DG_TOUCHSCREEN) { -+ suffix = "SingleTouch"; -+ /* force BTN_STYLUS to allow tablet matching in udev */ -+ __set_bit(BTN_STYLUS, hi->input->keybit); - } else { - switch (field->application) { - case HID_GD_KEYBOARD: diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 07bbd4cc..3029917a 100644 +index 8136dc7..3cff7be 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig -@@ -505,6 +505,7 @@ source "drivers/misc/ti-st/Kconfig" +@@ -513,6 +513,7 @@ source "drivers/misc/ti-st/Kconfig" source "drivers/misc/lis3lv02d/Kconfig" source "drivers/misc/altera-stapl/Kconfig" source "drivers/misc/mei/Kconfig" @@ -1039,10 +1040,10 @@ index 07bbd4cc..3029917a 100644 source "drivers/misc/mic/Kconfig" source "drivers/misc/genwqe/Kconfig" diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index 81ef3e67..da6710df 100644 +index ad0e64f..a574554 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile -@@ -43,6 +43,7 @@ obj-y += lis3lv02d/ +@@ -44,6 +44,7 @@ obj-y += lis3lv02d/ obj-$(CONFIG_USB_SWITCH_FSA9480) += fsa9480.o obj-$(CONFIG_ALTERA_STAPL) +=altera-stapl/ obj-$(CONFIG_INTEL_MEI) += mei/ @@ -1050,9 +1051,9 @@ index 81ef3e67..da6710df 100644 obj-$(CONFIG_VMWARE_VMCI) += vmw_vmci/ obj-$(CONFIG_LATTICE_ECP3_CONFIG) += lattice-ecp3-config.o obj-$(CONFIG_SRAM) += sram.o -diff --git a/drivers/misc/ipts/Kconfig b/drivers/misc/ipts/Kconfig +diff --git b/drivers/misc/ipts/Kconfig b/drivers/misc/ipts/Kconfig new file mode 100644 -index 00000000..360ed386 +index 0000000..360ed38 --- /dev/null +++ b/drivers/misc/ipts/Kconfig @@ -0,0 +1,9 @@ @@ -1065,9 +1066,9 @@ index 00000000..360ed386 + Supported SoCs: + Intel Skylake + Intel Kabylake -diff --git a/drivers/misc/ipts/Makefile b/drivers/misc/ipts/Makefile +diff --git b/drivers/misc/ipts/Makefile b/drivers/misc/ipts/Makefile new file mode 100644 -index 00000000..1783e9cf +index 0000000..1783e9c --- /dev/null +++ b/drivers/misc/ipts/Makefile @@ -0,0 +1,13 @@ @@ -1084,9 +1085,9 @@ index 00000000..1783e9cf +intel-ipts-objs += ipts-resource.o +intel-ipts-objs += ipts-gfx.o +intel-ipts-$(CONFIG_DEBUG_FS) += ipts-dbgfs.o -diff --git a/drivers/misc/ipts/ipts-binary-spec.h b/drivers/misc/ipts/ipts-binary-spec.h +diff --git b/drivers/misc/ipts/ipts-binary-spec.h b/drivers/misc/ipts/ipts-binary-spec.h new file mode 100644 -index 00000000..87d4bc41 +index 0000000..87d4bc4 --- /dev/null +++ b/drivers/misc/ipts/ipts-binary-spec.h @@ -0,0 +1,118 @@ @@ -1208,9 +1209,9 @@ index 00000000..87d4bc41 +#pragma pack() + +#endif /* _IPTS_BINARY_SPEC_H */ -diff --git a/drivers/misc/ipts/ipts-dbgfs.c b/drivers/misc/ipts/ipts-dbgfs.c +diff --git b/drivers/misc/ipts/ipts-dbgfs.c b/drivers/misc/ipts/ipts-dbgfs.c new file mode 100644 -index 00000000..1c5c92f7 +index 0000000..1c5c92f --- /dev/null +++ b/drivers/misc/ipts/ipts-dbgfs.c @@ -0,0 +1,152 @@ @@ -1366,12 +1367,12 @@ index 00000000..1c5c92f7 + ipts_dbgfs_deregister(ipts); + return -ENODEV; +} -diff --git a/drivers/misc/ipts/ipts-gfx.c b/drivers/misc/ipts/ipts-gfx.c +diff --git b/drivers/misc/ipts/ipts-gfx.c b/drivers/misc/ipts/ipts-gfx.c new file mode 100644 -index 00000000..ff435650 +index 0000000..5172777 --- /dev/null +++ b/drivers/misc/ipts/ipts-gfx.c -@@ -0,0 +1,186 @@ +@@ -0,0 +1,184 @@ +/* + * + * Intel Integrated Touch Gfx Interface Layer @@ -1441,8 +1442,6 @@ index 00000000..ff435650 + intel_ipts_disconnect(ipts->gfx_info.gfx_handle); +} + -+#define RUN_DBG_THREAD -+ +#ifdef RUN_DBG_THREAD +#include "../mei/mei_dev.h" + @@ -1558,9 +1557,9 @@ index 00000000..ff435650 + + devm_kfree(&ipts->cldev->dev, buf); +} -diff --git a/drivers/misc/ipts/ipts-gfx.h b/drivers/misc/ipts/ipts-gfx.h +diff --git b/drivers/misc/ipts/ipts-gfx.h b/drivers/misc/ipts/ipts-gfx.h new file mode 100644 -index 00000000..03a5f355 +index 0000000..03a5f35 --- /dev/null +++ b/drivers/misc/ipts/ipts-gfx.h @@ -0,0 +1,24 @@ @@ -1588,9 +1587,9 @@ index 00000000..03a5f355 +void ipts_unmap_buffer(ipts_info_t *ipts, intel_ipts_mapbuffer_t *buf); + +#endif // _IPTS_GFX_H_ -diff --git a/drivers/misc/ipts/ipts-hid.c b/drivers/misc/ipts/ipts-hid.c +diff --git b/drivers/misc/ipts/ipts-hid.c b/drivers/misc/ipts/ipts-hid.c new file mode 100644 -index 00000000..3b3be617 +index 0000000..3b3be61 --- /dev/null +++ b/drivers/misc/ipts/ipts-hid.c @@ -0,0 +1,456 @@ @@ -2002,7 +2001,7 @@ index 00000000..3b3be617 + err_payload->code[2], + err_payload->code[3], + err_payload->string); -+ ++ + break; + } + default: @@ -2050,9 +2049,9 @@ index 00000000..3b3be617 + + return ret; +} -diff --git a/drivers/misc/ipts/ipts-hid.h b/drivers/misc/ipts/ipts-hid.h +diff --git b/drivers/misc/ipts/ipts-hid.h b/drivers/misc/ipts/ipts-hid.h new file mode 100644 -index 00000000..f1b22c91 +index 0000000..f1b22c9 --- /dev/null +++ b/drivers/misc/ipts/ipts-hid.h @@ -0,0 +1,34 @@ @@ -2090,9 +2089,9 @@ index 00000000..f1b22c91 + touch_sensor_hid_ready_for_data_rsp_data_t *hid_rsp); + +#endif /* _IPTS_HID_H_ */ -diff --git a/drivers/misc/ipts/ipts-kernel.c b/drivers/misc/ipts/ipts-kernel.c +diff --git b/drivers/misc/ipts/ipts-kernel.c b/drivers/misc/ipts/ipts-kernel.c new file mode 100644 -index 00000000..ca5e24ce +index 0000000..ca5e24c --- /dev/null +++ b/drivers/misc/ipts/ipts-kernel.c @@ -0,0 +1,1050 @@ @@ -2370,7 +2369,7 @@ index 00000000..ca5e24ce + return -EINVAL; + + ipts_dbg(ipts, "cmd buf size = %d\n", cmd->size); -+ ++ + num_of_parallels = ipts_get_num_of_parallel_buffers(ipts); + /* command buffers are located after the other allocations */ + cmdbuf_idx = num_of_parallels * alloc_info->num_of_allocations; @@ -2442,7 +2441,7 @@ index 00000000..ca5e24ce + int buf_idx, num_of_alloc; + u32 buf_size, flags, io_buf_type; + bool initialize; -+ ++ + parsed = parse_info->parsed; + size = parse_info->size; + bin_data = parse_info->data; @@ -2455,7 +2454,7 @@ index 00000000..ca5e24ce + + ipts_dbg(ipts, "number of resources %u\n", res_list->num); + for (i = 0; i < res_list->num; i++) { -+ initialize = false; ++ initialize = false; + io_buf_type = 0; + flags = 0; + @@ -2636,7 +2635,7 @@ index 00000000..ca5e24ce + if(alloc_info->buffs[buf_idx].buf != NULL) { + gtt_offset = (u32)(u64) + alloc_info->buffs[buf_idx].buf->gfx_addr; -+ } ++ } + gtt_offset += patch[i].alloc_offset; + + batch += patch[i].patch_offset; @@ -2660,7 +2659,7 @@ index 00000000..ca5e24ce + u8 *wi_data; + int size, parsed, hdr_size, wi_size; + int i, batch_offset; -+ ++ + parsed = parse_info->parsed; + size = parse_info->size; + bin_guc_wq = (ipts_bin_guc_wq_info_t *)&parse_info->data[parsed]; @@ -2705,7 +2704,7 @@ index 00000000..ca5e24ce + bin_buffer_t *bin_buf; + int wq_size, wi_size, parallel_idx, cmd_idx, k_idx, iter_size; + int i, num_of_parallels, batch_offset, k_num, total_workload; -+ ++ + wq_addr = (u8*)ipts->resource.wq_info.wq_addr; + wq_size = ipts->resource.wq_info.wq_size; + num_of_parallels = ipts_get_num_of_parallel_buffers(ipts); @@ -2729,7 +2728,7 @@ index 00000000..ca5e24ce + batch_offset = kernel->guc_wq_item->batch_offset; + wi_size = kernel->guc_wq_item->size; + wi_data = &kernel->guc_wq_item->data[0]; -+ ++ + cmd_idx = wl[parallel_idx].cmdbuf_index; + bin_buf = &alloc_info->buffs[cmd_idx]; + @@ -3042,7 +3041,7 @@ index 00000000..ca5e24ce + } + + ipts_set_wq_item_size(ipts, total_workload); -+ ++ + ret = bin_setup_guc_workqueue(ipts, kernel_list); + if (ret) { + ipts_dbg(ipts, "error setup_guc_workqueue\n"); @@ -3094,7 +3093,7 @@ index 00000000..ca5e24ce + for (k_idx = 0; k_idx < k_num; k_idx++) { + unload_kernel(ipts, kernel); + kernel++; -+ } ++ } + + ipts_unmap_buffer(ipts, kernel_list->bufid_buf); + @@ -3146,9 +3145,9 @@ index 00000000..ca5e24ce + release_kernel(ipts); + ipts_close_gpu(ipts); +} -diff --git a/drivers/misc/ipts/ipts-kernel.h b/drivers/misc/ipts/ipts-kernel.h +diff --git b/drivers/misc/ipts/ipts-kernel.h b/drivers/misc/ipts/ipts-kernel.h new file mode 100644 -index 00000000..0e7f1393 +index 0000000..0e7f139 --- /dev/null +++ b/drivers/misc/ipts/ipts-kernel.h @@ -0,0 +1,23 @@ @@ -3175,9 +3174,9 @@ index 00000000..0e7f1393 +void ipts_release_kernels(ipts_info_t *ipts); + +#endif -diff --git a/drivers/misc/ipts/ipts-mei-msgs.h b/drivers/misc/ipts/ipts-mei-msgs.h +diff --git b/drivers/misc/ipts/ipts-mei-msgs.h b/drivers/misc/ipts/ipts-mei-msgs.h new file mode 100644 -index 00000000..8ca14680 +index 0000000..8ca1468 --- /dev/null +++ b/drivers/misc/ipts/ipts-mei-msgs.h @@ -0,0 +1,585 @@ @@ -3766,9 +3765,9 @@ index 00000000..8ca14680 +#pragma pack() + +#endif // _IPTS_MEI_MSGS_H_ -diff --git a/drivers/misc/ipts/ipts-mei.c b/drivers/misc/ipts/ipts-mei.c +diff --git b/drivers/misc/ipts/ipts-mei.c b/drivers/misc/ipts/ipts-mei.c new file mode 100644 -index 00000000..39667e75 +index 0000000..39667e7 --- /dev/null +++ b/drivers/misc/ipts/ipts-mei.c @@ -0,0 +1,282 @@ @@ -3996,7 +3995,7 @@ index 00000000..39667e75 + +disable_mei : + mei_cldev_disable(cldev); -+ ++ + return ret; +} + @@ -4054,12 +4053,12 @@ index 00000000..39667e75 + ("Intel(R) Management Engine Interface Client Driver for "\ + "Intel Precision Touch and Sylus"); +MODULE_LICENSE("GPL"); -diff --git a/drivers/misc/ipts/ipts-msg-handler.c b/drivers/misc/ipts/ipts-msg-handler.c +diff --git b/drivers/misc/ipts/ipts-msg-handler.c b/drivers/misc/ipts/ipts-msg-handler.c new file mode 100644 -index 00000000..b53f668d +index 0000000..ef2d71f --- /dev/null +++ b/drivers/misc/ipts/ipts-msg-handler.c -@@ -0,0 +1,433 @@ +@@ -0,0 +1,431 @@ +#include <linux/mei_cl_bus.h> + +#include "ipts.h" @@ -4199,9 +4198,7 @@ index 00000000..b53f668d + ipts_set_state(ipts, IPTS_STA_INIT); + ipts->num_of_parallel_data_buffers = TOUCH_SENSOR_MAX_DATA_BUFFERS; + -+#ifdef ENABLE_IPTS_DEBUG -+ ipts->sensor_mode = TOUCH_SENSOR_MODE_HID; /* start with HID */ -+#endif ++ ipts->sensor_mode = TOUCH_SENSOR_MODE_RAW_DATA; /* start with RAW_DATA */ + + ret = ipts_handle_cmd(ipts, TOUCH_SENSOR_NOTIFY_DEV_READY_CMD, NULL, 0); + @@ -4236,7 +4233,7 @@ index 00000000..b53f668d + ipts_stop(ipts); + + ipts->retry++; -+ if (ipts->retry == IPTS_MAX_RETRY && ++ if (ipts->retry == IPTS_MAX_RETRY && + ipts->sensor_mode == TOUCH_SENSOR_MODE_RAW_DATA) { + /* try with HID mode */ + ipts->sensor_mode = TOUCH_SENSOR_MODE_HID; @@ -4493,9 +4490,9 @@ index 00000000..b53f668d + + return ret; +} -diff --git a/drivers/misc/ipts/ipts-msg-handler.h b/drivers/misc/ipts/ipts-msg-handler.h +diff --git b/drivers/misc/ipts/ipts-msg-handler.h b/drivers/misc/ipts/ipts-msg-handler.h new file mode 100644 -index 00000000..b8e27d30 +index 0000000..b8e27d3 --- /dev/null +++ b/drivers/misc/ipts/ipts-msg-handler.h @@ -0,0 +1,32 @@ @@ -4531,9 +4528,9 @@ index 00000000..b8e27d30 +int ipts_send_sensor_clear_mem_window_cmd(ipts_info_t *ipts); + +#endif /* _IPTS_MSG_HANDLER_H */ -diff --git a/drivers/misc/ipts/ipts-resource.c b/drivers/misc/ipts/ipts-resource.c +diff --git b/drivers/misc/ipts/ipts-resource.c b/drivers/misc/ipts/ipts-resource.c new file mode 100644 -index 00000000..c353b815 +index 0000000..47607ef --- /dev/null +++ b/drivers/misc/ipts/ipts-resource.c @@ -0,0 +1,277 @@ @@ -4594,7 +4591,7 @@ index 00000000..c353b815 + addr = dmam_alloc_coherent(&ipts->cldev->dev, + buffer_size, + &dma_addr, -+ GFP_ATOMIC|GFP_DMA32); ++ GFP_ATOMIC|__GFP_ZERO); + if (addr == NULL) + return -ENOMEM; + @@ -4615,7 +4612,7 @@ index 00000000..c353b815 + feedback_buffer[i].addr = dmam_alloc_coherent(&ipts->cldev->dev, + ipts->device_info.feedback_size, + &feedback_buffer[i].dma_addr, -+ GFP_ATOMIC|GFP_DMA32); ++ GFP_ATOMIC|__GFP_ZERO); + + if (feedback_buffer[i].addr == NULL) { + ret = -ENOMEM; @@ -4649,7 +4646,7 @@ index 00000000..c353b815 + buffer_hid->addr = dmam_alloc_coherent(&ipts->cldev->dev, + ipts->device_info.frame_size, + &buffer_hid->dma_addr, -+ GFP_ATOMIC|GFP_DMA32); ++ GFP_ATOMIC|__GFP_ZERO); + if (buffer_hid->addr == NULL) { + return -ENOMEM; + } @@ -4814,9 +4811,9 @@ index 00000000..c353b815 + output_buf->dma_addr = dma_addr; + output_buf->addr = cpu_addr; +} -diff --git a/drivers/misc/ipts/ipts-resource.h b/drivers/misc/ipts/ipts-resource.h +diff --git b/drivers/misc/ipts/ipts-resource.h b/drivers/misc/ipts/ipts-resource.h new file mode 100644 -index 00000000..7d66ac72 +index 0000000..7d66ac7 --- /dev/null +++ b/drivers/misc/ipts/ipts-resource.h @@ -0,0 +1,30 @@ @@ -4850,9 +4847,9 @@ index 00000000..7d66ac72 + u8* cpu_addr, u64 dma_addr); + +#endif // _IPTS_RESOURCE_H_ -diff --git a/drivers/misc/ipts/ipts-sensor-regs.h b/drivers/misc/ipts/ipts-sensor-regs.h +diff --git b/drivers/misc/ipts/ipts-sensor-regs.h b/drivers/misc/ipts/ipts-sensor-regs.h new file mode 100644 -index 00000000..96812b0e +index 0000000..96812b0 --- /dev/null +++ b/drivers/misc/ipts/ipts-sensor-regs.h @@ -0,0 +1,700 @@ @@ -5556,9 +5553,9 @@ index 00000000..96812b0e +#pragma pack() + +#endif // _TOUCH_SENSOR_REGS_H -diff --git a/drivers/misc/ipts/ipts-state.h b/drivers/misc/ipts/ipts-state.h +diff --git b/drivers/misc/ipts/ipts-state.h b/drivers/misc/ipts/ipts-state.h new file mode 100644 -index 00000000..39a2eaf5 +index 0000000..39a2eaf --- /dev/null +++ b/drivers/misc/ipts/ipts-state.h @@ -0,0 +1,29 @@ @@ -5591,9 +5588,9 @@ index 00000000..39a2eaf5 +} ipts_state_t; + +#endif // _IPTS_STATE_H_ -diff --git a/drivers/misc/ipts/ipts.h b/drivers/misc/ipts/ipts.h +diff --git b/drivers/misc/ipts/ipts.h b/drivers/misc/ipts/ipts.h new file mode 100644 -index 00000000..397b70ae +index 0000000..9c34b55 --- /dev/null +++ b/drivers/misc/ipts/ipts.h @@ -0,0 +1,200 @@ @@ -5625,7 +5622,7 @@ index 00000000..397b70ae +#include "ipts-state.h" +#include "ipts-binary-spec.h" + -+#define ENABLE_IPTS_DEBUG /* enable IPTS debug */ ++//#define ENABLE_IPTS_DEBUG /* enable IPTS debug */ + +#ifdef ENABLE_IPTS_DEBUG + @@ -5637,7 +5634,7 @@ index 00000000..397b70ae + dev_info(&ipts->cldev->dev, format, ##arg);\ +} while (0) + -+#define RUN_DBG_THREAD ++//#define RUN_DBG_THREAD + +#else + @@ -5798,44 +5795,32 @@ index 00000000..397b70ae + +#endif // _IPTS_H_ diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h -index c8307e8b..cde23f9a 100644 +index 0ccccba..c29f128 100644 --- a/drivers/misc/mei/hw-me-regs.h +++ b/drivers/misc/mei/hw-me-regs.h @@ -119,6 +119,7 @@ - + #define MEI_DEV_ID_SPT 0x9D3A /* Sunrise Point */ #define MEI_DEV_ID_SPT_2 0x9D3B /* Sunrise Point 2 */ +#define MEI_DEV_ID_SPT_4 0x9D3E /* Sunrise Point 4 */ #define MEI_DEV_ID_SPT_H 0xA13A /* Sunrise Point H */ #define MEI_DEV_ID_SPT_H_2 0xA13B /* Sunrise Point H 2 */ - + diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c -index 8621a198..79485fd7 100644 +index 78b3172..e5b6b3b 100644 --- a/drivers/misc/mei/pci-me.c +++ b/drivers/misc/mei/pci-me.c -@@ -85,6 +85,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = { - - {MEI_PCI_DEVICE(MEI_DEV_ID_SPT, mei_me_pch8_cfg)}, - {MEI_PCI_DEVICE(MEI_DEV_ID_SPT_2, mei_me_pch8_cfg)}, -+ {MEI_PCI_DEVICE(MEI_DEV_ID_SPT_4, mei_me_pch8_cfg)}, - {MEI_PCI_DEVICE(MEI_DEV_ID_SPT_H, mei_me_pch8_sps_cfg)}, - {MEI_PCI_DEVICE(MEI_DEV_ID_SPT_H_2, mei_me_pch8_sps_cfg)}, - {MEI_PCI_DEVICE(MEI_DEV_ID_LBG, mei_me_pch8_cfg)}, -diff --git a/firmware/Makefile b/firmware/Makefile -index fa3e81c2..dc98092f 100644 ---- a/firmware/Makefile -+++ b/firmware/Makefile -@@ -135,6 +135,7 @@ fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw - fw-shipped-$(CONFIG_USB_VICAM) += vicam/firmware.fw - fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin - fw-shipped-$(CONFIG_YAM) += yam/1200.bin yam/9600.bin -+fw-shipped-$(CONFIG_INTEL_IPTS) += intel/ipts/ipts_fw_config.bin - - fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) - -diff --git a/include/linux/intel_ipts_if.h b/include/linux/intel_ipts_if.h +@@ -86,6 +86,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = { + + {MEI_PCI_DEVICE(MEI_DEV_ID_SPT, MEI_ME_PCH8_CFG)}, + {MEI_PCI_DEVICE(MEI_DEV_ID_SPT_2, MEI_ME_PCH8_CFG)}, ++ {MEI_PCI_DEVICE(MEI_DEV_ID_SPT_4, MEI_ME_PCH8_CFG)}, + {MEI_PCI_DEVICE(MEI_DEV_ID_SPT_H, MEI_ME_PCH8_SPS_CFG)}, + {MEI_PCI_DEVICE(MEI_DEV_ID_SPT_H_2, MEI_ME_PCH8_SPS_CFG)}, + {MEI_PCI_DEVICE(MEI_DEV_ID_LBG, MEI_ME_PCH8_CFG)}, +diff --git b/include/linux/intel_ipts_if.h b/include/linux/intel_ipts_if.h new file mode 100644 -index 00000000..f329bbfb +index 0000000..f329bbf --- /dev/null +++ b/include/linux/intel_ipts_if.h @@ -0,0 +1,75 @@ @@ -5914,51 +5899,3 @@ index 00000000..f329bbfb +void intel_ipts_disconnect(uint64_t gfx_handle); + +#endif // INTEL_IPTS_IF_H -diff --git a/drivers//hid/hid-multitouch.c b/drivers//hid/hid-multitouch.c -index 09f1cd60..3edf5685 100644 ---- a/drivers//hid/hid-multitouch.c -+++ b/drivers//hid/hid-multitouch.c -@@ -131,6 +131,7 @@ struct mt_device { - - static void mt_post_parse_default_settings(struct mt_device *td); - static void mt_post_parse(struct mt_device *td); -+static int contact_count_seen; - - /* classes of device behavior */ - #define MT_CLS_DEFAULT 0x0001 -@@ -559,9 +560,10 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, - usage->usage_index >= field->report_count) - return 1; - -- if (td->cc_index < 0) { -+ if (contact_count_seen != 1) { - td->cc_index = field->index; - td->cc_value_index = usage->usage_index; -+ contact_count_seen++; - } - - return 1; -@@ -1047,10 +1049,6 @@ static int mt_input_configured(struct hid_device *hdev, struct hid_input *hi) - suffix = "Pen"; - /* force BTN_STYLUS to allow tablet matching in udev */ - __set_bit(BTN_STYLUS, hi->input->keybit); -- } else if (hi->report->field[0]->logical == HID_DG_TOUCHSCREEN) { -- suffix = "SingleTouch"; -- /* force BTN_STYLUS to allow tablet matching in udev */ -- __set_bit(BTN_STYLUS, hi->input->keybit); - } else { - switch (field->application) { - case HID_GD_KEYBOARD: -diff --git a/drivers//misc/ipts/ipts-gfx.c b/drivers//misc/ipts/ipts-gfx.c -index ff435650..51727770 100644 ---- a/drivers//misc/ipts/ipts-gfx.c -+++ b/drivers//misc/ipts/ipts-gfx.c -@@ -67,8 +67,6 @@ static void disconnect_gfx(ipts_info_t *ipts) - intel_ipts_disconnect(ipts->gfx_info.gfx_handle); - } - --#define RUN_DBG_THREAD -- - #ifdef RUN_DBG_THREAD - #include "../mei/mei_dev.h" - diff --git a/0002-hid.patch b/0002-hid.patch new file mode 100644 index 000000000000..467e920b324a --- /dev/null +++ b/0002-hid.patch @@ -0,0 +1,315 @@ +diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c +index 330ca98..fd75182 100644 +--- a/drivers/hid/hid-core.c ++++ b/drivers/hid/hid-core.c +@@ -723,7 +723,8 @@ static void hid_scan_collection(struct hid_parser *parser, unsigned type) + hid->group = HID_GROUP_SENSOR_HUB; + + if (hid->vendor == USB_VENDOR_ID_MICROSOFT && +- hid->product == USB_DEVICE_ID_MS_POWER_COVER && ++ (hid->product == USB_DEVICE_ID_MS_SURFACE_LAPTOP || ++ hid->product == USB_DEVICE_ID_MS_POWER_COVER) && + hid->group == HID_GROUP_MULTITOUCH) + hid->group = HID_GROUP_GENERIC; + +@@ -2179,6 +2180,7 @@ static const struct hid_device_id hid_have_special_driver[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_7K) }, + { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_600) }, + { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1) }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_LAPTOP) }, + { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER) }, + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_BT) }, + #endif +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h +index be2e005..e011419 100644 +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -757,11 +757,20 @@ + #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1 0x0732 + #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_600 0x0750 + #define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500 0x076c +-#define USB_DEVICE_ID_MS_COMFORT_KEYBOARD 0x00e3 +-#define USB_DEVICE_ID_MS_SURFACE_PRO_2 0x0799 +-#define USB_DEVICE_ID_MS_TOUCH_COVER_2 0x07a7 +-#define USB_DEVICE_ID_MS_TYPE_COVER_2 0x07a9 +-#define USB_DEVICE_ID_MS_POWER_COVER 0x07da ++#define USB_DEVICE_ID_MS_COMFORT_KEYBOARD 0x00e3 ++#define USB_DEVICE_ID_MS_SURFACE_PRO_2 0x0799 ++#define USB_DEVICE_ID_MS_TOUCH_COVER_2 0x07a7 ++#define USB_DEVICE_ID_MS_TYPE_COVER_2 0x07a9 ++#define USB_DEVICE_ID_MS_TYPE_COVER_3 0x07de ++#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3 0x07dc ++#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_1 0x07de ++#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2 0x07e2 ++#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP 0x07dd ++#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4 0x07e8 ++#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1 0x07e4 ++#define USB_DEVICE_ID_MS_SURFACE_BOOK 0x07cd ++#define USB_DEVICE_ID_MS_SURFACE_LAPTOP 0xf001 ++#define USB_DEVICE_ID_MS_POWER_COVER 0x07da + + #define USB_VENDOR_ID_MOJO 0x8282 + #define USB_DEVICE_ID_RETRO_ADAPTER 0x3201 +diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c +index 96e7d32..9127164 100644 +--- a/drivers/hid/hid-microsoft.c ++++ b/drivers/hid/hid-microsoft.c +@@ -274,6 +274,8 @@ static const struct hid_device_id ms_devices[] = { + .driver_data = MS_NOGET }, + { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_MOUSE_4500), + .driver_data = MS_DUPLICATE_USAGES }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_LAPTOP), ++ .driver_data = MS_HIDINPUT }, + { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER), + .driver_data = MS_HIDINPUT }, + { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_KEYBOARD), +diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c +index 9e8c4d2..53cf903 100644 +--- a/drivers/hid/hid-multitouch.c ++++ b/drivers/hid/hid-multitouch.c +@@ -140,6 +140,7 @@ struct mt_device { + + static void mt_post_parse_default_settings(struct mt_device *td); + static void mt_post_parse(struct mt_device *td); ++static int cc_seen = 0; + + /* classes of device behavior */ + #define MT_CLS_DEFAULT 0x0001 +@@ -588,8 +589,12 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, + if (field->index >= field->report->maxfield || + usage->usage_index >= field->report_count) + return 1; +- td->cc_index = field->index; +- td->cc_value_index = usage->usage_index; ++ ++ if(cc_seen != 1) { ++ td->cc_index = field->index; ++ td->cc_value_index = usage->usage_index; ++ cc_seen++; ++ } + return 1; + case HID_DG_CONTACTMAX: + /* we don't set td->last_slot_field as contactcount and +@@ -626,6 +631,16 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, + return 0; + } + ++static int mt_touch_input_mapped(struct hid_device *hdev, struct hid_input *hi, ++ struct hid_field *field, struct hid_usage *usage, ++ unsigned long **bit, int *max) ++{ ++ if (usage->type == EV_KEY || usage->type == EV_ABS) ++ set_bit(usage->type, hi->input->evbit); ++ ++ return -1; ++} ++ + static int mt_compute_slot(struct mt_device *td, struct input_dev *input) + { + __s32 quirks = td->mtclass.quirks; +@@ -929,9 +944,11 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi, + field->application != HID_DG_TOUCHSCREEN && + field->application != HID_DG_PEN && + field->application != HID_DG_TOUCHPAD && ++ field->application != HID_GD_MOUSE && + field->application != HID_GD_KEYBOARD && + field->application != HID_GD_SYSTEM_CONTROL && + field->application != HID_CP_CONSUMER_CONTROL && ++ field->logical != HID_DG_TOUCHSCREEN && + field->application != HID_GD_WIRELESS_RADIO_CTLS && + !(field->application == HID_VD_ASUS_CUSTOM_MEDIA_KEYS && + td->mtclass.quirks & MT_QUIRK_ASUS_CUSTOM_UP)) +@@ -994,10 +1011,8 @@ static int mt_input_mapped(struct hid_device *hdev, struct hid_input *hi, + return 0; + + if (field->application == HID_DG_TOUCHSCREEN || +- field->application == HID_DG_TOUCHPAD) { +- /* We own these mappings, tell hid-input to ignore them */ +- return -1; +- } ++ field->application == HID_DG_TOUCHPAD) ++ return mt_touch_input_mapped(hdev, hi, field, usage, bit, max); + + /* let hid-core decide for the others */ + return 0; +@@ -1140,6 +1155,7 @@ static int mt_input_configured(struct hid_device *hdev, struct hid_input *hi) + suffix = "Pen"; + /* force BTN_STYLUS to allow tablet matching in udev */ + __set_bit(BTN_STYLUS, hi->input->keybit); ++ __set_bit(INPUT_PROP_DIRECT, hi->input->propbit); + } else { + switch (field->application) { + case HID_GD_KEYBOARD: +@@ -1155,9 +1171,10 @@ static int mt_input_configured(struct hid_device *hdev, struct hid_input *hi) + suffix = "Pen"; + /* force BTN_STYLUS to allow tablet matching in udev */ + __set_bit(BTN_STYLUS, hi->input->keybit); ++ __set_bit(INPUT_PROP_DIRECT, hi->input->propbit); + break; + case HID_DG_TOUCHSCREEN: +- /* we do not set suffix = "Touchscreen" */ ++ suffix = "Touchscreen"; + break; + case HID_DG_TOUCHPAD: + suffix = "Touchpad"; +@@ -1286,6 +1303,7 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) + td->inputmode_value = MT_INPUTMODE_TOUCHSCREEN; + td->cc_index = -1; + td->mt_report_id = -1; ++ cc_seen = 0; + hid_set_drvdata(hdev, td); + + td->fields = devm_kzalloc(&hdev->dev, sizeof(struct mt_fields), +@@ -1332,7 +1350,6 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) + hdev->quirks |= HID_QUIRK_NO_INIT_REPORTS; + + setup_timer(&td->release_timer, mt_expired_timeout, (long)hdev); +- + ret = hid_parse(hdev); + if (ret != 0) + return ret; +@@ -1594,6 +1611,47 @@ static const struct hid_device_id mt_devices[] = { + HID_USB_DEVICE(USB_VENDOR_ID_LG, + USB_DEVICE_ID_LG_MELFAS_MT) }, + ++ /* Microsoft Touch Cover */ ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, ++ USB_DEVICE_ID_MS_TOUCH_COVER_2) }, ++ ++ /* Microsoft Type Cover */ ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, ++ USB_DEVICE_ID_MS_TYPE_COVER_2) }, ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, ++ USB_DEVICE_ID_MS_TYPE_COVER_3) }, ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, ++ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3) }, ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, ++ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_1) }, ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, ++ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2) }, ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, ++ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP) }, ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, ++ USB_DEVICE_ID_MS_TYPE_COVER_PRO_4) }, ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, ++ USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1) }, ++ ++ /* Microsoft Surface Book */ ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, ++ USB_DEVICE_ID_MS_SURFACE_BOOK) }, ++ ++ /* Microsoft Power Cover */ ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, ++ USB_DEVICE_ID_MS_POWER_COVER) }, ++ + /* MosArt panels */ + { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, + MT_USB_DEVICE(USB_VENDOR_ID_ASUS, +diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c +index 9145c21..71dbae5 100644 +--- a/drivers/hid/i2c-hid/i2c-hid.c ++++ b/drivers/hid/i2c-hid/i2c-hid.c +@@ -929,11 +929,6 @@ static int i2c_hid_of_probe(struct i2c_client *client, + } + pdata->hid_descriptor_address = val; + +- ret = of_property_read_u32(dev->of_node, "post-power-on-delay-ms", +- &val); +- if (!ret) +- pdata->post_power_delay_ms = val; +- + return 0; + } + +@@ -950,6 +945,16 @@ static inline int i2c_hid_of_probe(struct i2c_client *client, + } + #endif + ++static void i2c_hid_fwnode_probe(struct i2c_client *client, ++ struct i2c_hid_platform_data *pdata) ++{ ++ u32 val; ++ ++ if (!device_property_read_u32(&client->dev, "post-power-on-delay-ms", ++ &val)) ++ pdata->post_power_delay_ms = val; ++} ++ + static int i2c_hid_probe(struct i2c_client *client, + const struct i2c_device_id *dev_id) + { +@@ -993,6 +998,9 @@ static int i2c_hid_probe(struct i2c_client *client, + ihid->pdata = *platform_data; + } + ++ /* Parse platform agnostic common properties from ACPI / device tree */ ++ i2c_hid_fwnode_probe(client, &ihid->pdata); ++ + ihid->pdata.supply = devm_regulator_get(&client->dev, "vdd"); + if (IS_ERR(ihid->pdata.supply)) { + ret = PTR_ERR(ihid->pdata.supply); +diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c +index f489a5c..7b48120 100644 +--- a/drivers/hid/usbhid/hid-quirks.c ++++ b/drivers/hid/usbhid/hid-quirks.c +@@ -108,8 +108,17 @@ static const struct hid_blacklist { + { USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOUSE_C06A, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_PRO_2, HID_QUIRK_NO_INIT_REPORTS }, +- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TOUCH_COVER_2, HID_QUIRK_NO_INIT_REPORTS }, ++ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2, HID_QUIRK_NO_INIT_REPORTS }, ++ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3, HID_QUIRK_NO_INIT_REPORTS }, ++ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3, HID_QUIRK_NO_INIT_REPORTS }, ++ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_1, HID_QUIRK_NO_INIT_REPORTS }, ++ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2, HID_QUIRK_NO_INIT_REPORTS }, ++ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP, HID_QUIRK_NO_INIT_REPORTS }, ++ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4, HID_QUIRK_NO_INIT_REPORTS }, ++ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1, HID_QUIRK_NO_INIT_REPORTS }, ++ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_BOOK, HID_QUIRK_NO_INIT_REPORTS }, ++ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_LAPTOP, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GT683R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_NEXIO, USB_DEVICE_ID_NEXIO_MULTITOUCH_PTI0750, HID_QUIRK_NO_INIT_REPORTS }, +diff --git a/drivers/platform/x86/surfacepro3_button.c b/drivers/platform/x86/surfacepro3_button.c +index 6505c97..2d89a42 100644 +--- a/drivers/platform/x86/surfacepro3_button.c ++++ b/drivers/platform/x86/surfacepro3_button.c +@@ -1,6 +1,6 @@ + /* + * power/home/volume button support for +- * Microsoft Surface Pro 3/4 tablet. ++ * Microsoft Surface Pro 3/4/2017 tablet. + * + * Copyright (c) 2015 Intel Corporation. + * All rights reserved. +@@ -21,8 +21,9 @@ + + #define SURFACE_PRO3_BUTTON_HID "MSHW0028" + #define SURFACE_PRO4_BUTTON_HID "MSHW0040" ++#define SURFACE_PRO2017_BUTTON_HID "MSHW0040" + #define SURFACE_BUTTON_OBJ_NAME "VGBI" +-#define SURFACE_BUTTON_DEVICE_NAME "Surface Pro 3/4 Buttons" ++#define SURFACE_BUTTON_DEVICE_NAME "Surface Pro 3/4/2017 Buttons" + + #define SURFACE_BUTTON_NOTIFY_TABLET_MODE 0xc8 + +@@ -59,6 +60,7 @@ MODULE_LICENSE("GPL v2"); + static const struct acpi_device_id surface_button_device_ids[] = { + {SURFACE_PRO3_BUTTON_HID, 0}, + {SURFACE_PRO4_BUTTON_HID, 0}, ++ {SURFACE_PRO2017_BUTTON_HID, 0}, + {"", 0}, + }; + MODULE_DEVICE_TABLE(acpi, surface_button_device_ids); diff --git a/0003-wifi.patch b/0003-wifi.patch index e81ecef37277..587d799ea142 100644 --- a/0003-wifi.patch +++ b/0003-wifi.patch @@ -1,60 +1,98 @@ -diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c -index 025bc06a..07bdf271 100644 ---- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c -+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c -@@ -418,6 +418,9 @@ mwifiex_cfg80211_set_power_mgmt(struct wiphy *wiphy, - - ps_mode = enabled; - -+ mwifiex_dbg(priv->adapter, ERROR, "overriding ps_mode to false\n"); -+ ps_mode = 0; -+ - return mwifiex_drv_set_power(priv, &ps_mode); - } - -diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c -index 83916c14..b47def60 100644 ---- a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c -+++ b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c -@@ -2308,7 +2308,7 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init) - if (ret) - return -1; - -- if (priv->bss_type != MWIFIEX_BSS_TYPE_UAP) { -+ if (0 && priv->bss_type != MWIFIEX_BSS_TYPE_UAP) { - /* Enable IEEE PS by default */ - priv->adapter->ps_mode = MWIFIEX_802_11_POWER_MODE_PSP; - ret = mwifiex_send_cmd(priv, -@@ -2364,7 +2364,7 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init) - if (ret) - return -1; - -- if (!disable_auto_ds && first_sta && -+ if (0 && !disable_auto_ds && first_sta && - priv->bss_type != MWIFIEX_BSS_TYPE_UAP) { - /* Enable auto deep sleep */ - auto_ds.auto_ds = DEEP_SLEEP_ON; +diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c +index 05dca3e..59c2fcc 100644 +--- a/drivers/net/usb/cdc_ether.c ++++ b/drivers/net/usb/cdc_ether.c +@@ -807,13 +807,6 @@ static const struct usb_device_id products[] = { + .driver_info = 0, + }, + +-/* Microsoft Surface 3 dock (based on Realtek RTL8153) */ +-{ +- USB_DEVICE_AND_INTERFACE_INFO(MICROSOFT_VENDOR_ID, 0x07c6, USB_CLASS_COMM, +- USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), +- .driver_info = 0, +-}, +- + /* TP-LINK UE300 USB 3.0 Ethernet Adapters (based on Realtek RTL8153) */ + { + USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, 0x0601, USB_CLASS_COMM, +diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c +index d51d9ab..b94ebe9 100644 +--- a/drivers/net/usb/r8152.c ++++ b/drivers/net/usb/r8152.c +@@ -5310,7 +5310,6 @@ static const struct usb_device_id rtl8152_table[] = { + {REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8152)}, + {REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8153)}, + {REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07ab)}, +- {REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07c6)}, + {REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101)}, + {REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x304f)}, + {REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3062)}, diff --git a/drivers/net/wireless/marvell/mwifiex/11n_aggr.c b/drivers/net/wireless/marvell/mwifiex/11n_aggr.c -index a75013ac..448ba72d 100644 +index 042a1d0..fc9041f 100644 --- a/drivers/net/wireless/marvell/mwifiex/11n_aggr.c +++ b/drivers/net/wireless/marvell/mwifiex/11n_aggr.c @@ -200,8 +200,7 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv, - + do { /* Check if AMSDU can accommodate this MSDU */ - if ((skb_aggr->len + skb_src->len + LLC_SNAP_LEN) > - adapter->tx_buf_size) + if (skb_tailroom(skb_aggr) < (skb_src->len + LLC_SNAP_LEN)) break; - + skb_src = skb_dequeue(&pra_list->skb_head); +diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c +index 32c5074..33a7325 100644 +--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c ++++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c +@@ -2503,6 +2503,7 @@ mwifiex_cfg80211_scan(struct wiphy *wiphy, + struct ieee80211_channel *chan; + struct ieee_types_header *ie; + struct mwifiex_user_scan_cfg *user_scan_cfg; ++ u8 mac_addr[ETH_ALEN]; + + mwifiex_dbg(priv->adapter, CMD, + "info: received scan request on %s\n", dev->name); +@@ -2529,15 +2530,10 @@ mwifiex_cfg80211_scan(struct wiphy *wiphy, + priv->scan_request = request; + + if (request->flags & NL80211_SCAN_FLAG_RANDOM_ADDR) { +- ether_addr_copy(priv->random_mac, request->mac_addr); +- for (i = 0; i < ETH_ALEN; i++) { +- priv->random_mac[i] &= request->mac_addr_mask[i]; +- priv->random_mac[i] |= get_random_int() & +- ~(request->mac_addr_mask[i]); +- } +- ether_addr_copy(user_scan_cfg->random_mac, priv->random_mac); +- } else { +- eth_zero_addr(priv->random_mac); ++ get_random_mask_addr(mac_addr, request->mac_addr, ++ request->mac_addr_mask); ++ ether_addr_copy(request->mac_addr, mac_addr); ++ ether_addr_copy(user_scan_cfg->random_mac, mac_addr); + } + + user_scan_cfg->num_ssids = request->n_ssids; +diff --git a/drivers/net/wireless/marvell/mwifiex/main.h b/drivers/net/wireless/marvell/mwifiex/main.h +index a76bd79..a34de85 100644 +--- a/drivers/net/wireless/marvell/mwifiex/main.h ++++ b/drivers/net/wireless/marvell/mwifiex/main.h +@@ -680,7 +680,6 @@ struct mwifiex_private { + struct mwifiex_user_scan_chan hidden_chan[MWIFIEX_USER_SCAN_CHAN_MAX]; + u8 assoc_resp_ht_param; + bool ht_param_present; +- u8 random_mac[ETH_ALEN]; + }; + + diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c -index ac62bce5..293607e6 100644 +index cd31494..3f2a881 100644 --- a/drivers/net/wireless/marvell/mwifiex/pcie.c +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c -@@ -1716,6 +1716,16 @@ static int mwifiex_pcie_process_cmd_complete(struct mwifiex_adapter *adapter) +@@ -1729,6 +1729,16 @@ static int mwifiex_pcie_process_cmd_complete(struct mwifiex_adapter *adapter) } - + rx_len = get_unaligned_le16(skb->data); + + @@ -68,4 +106,168 @@ index ac62bce5..293607e6 100644 + skb_put(skb, MWIFIEX_UPLD_SIZE - skb->len); skb_trim(skb, rx_len); - + +diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c +index c9d41ed..cddf412 100644 +--- a/drivers/net/wireless/marvell/mwifiex/scan.c ++++ b/drivers/net/wireless/marvell/mwifiex/scan.c +@@ -1948,7 +1948,8 @@ mwifiex_active_scan_req_for_passive_chan(struct mwifiex_private *priv) + + adapter->active_scan_triggered = true; + if (priv->scan_request->flags & NL80211_SCAN_FLAG_RANDOM_ADDR) +- ether_addr_copy(user_scan_cfg->random_mac, priv->random_mac); ++ ether_addr_copy(user_scan_cfg->random_mac, ++ priv->scan_request->mac_addr); + user_scan_cfg->num_ssids = priv->scan_request->n_ssids; + user_scan_cfg->ssid_list = priv->scan_request->ssids; + +diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c +index fb09014..db03c6b 100644 +--- a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c ++++ b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c +@@ -2336,8 +2336,8 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init) + return -1; + } + +- mwifiex_send_cmd(priv, HostCmd_CMD_CHAN_REGION_CFG, +- HostCmd_ACT_GEN_GET, 0, NULL, true); ++ //mwifiex_send_cmd(priv, HostCmd_CMD_CHAN_REGION_CFG, ++ // HostCmd_ACT_GEN_GET, 0, NULL, true); + } + + /* get tx rate */ +diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c +index 0fba5b1..4e1687f 100644 +--- a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c ++++ b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c +@@ -48,9 +48,14 @@ mwifiex_process_cmdresp_error(struct mwifiex_private *priv, + struct host_cmd_ds_802_11_ps_mode_enh *pm; + unsigned long flags; + +- mwifiex_dbg(adapter, ERROR, +- "CMD_RESP: cmd %#x error, result=%#x\n", +- resp->command, resp->result); ++ if (resp->command == 271 && resp->result == 2){ ++ // ignore this command as the firmware does not support it ++ } ++ else { ++ mwifiex_dbg(adapter, ERROR, ++ "CMD_RESP: cmd %#x error, result=%#x\n", ++ resp->command, resp->result); ++ } + + if (adapter->curr_cmd->wait_q_enabled) + adapter->cmd_wait_q.status = -1; +diff --git a/net/wireless/sme.c b/net/wireless/sme.c +index 3dd05a0..ab32ef1 100644 +--- a/net/wireless/sme.c ++++ b/net/wireless/sme.c +@@ -690,6 +690,11 @@ void __cfg80211_connect_result(struct net_device *dev, + return; + } + ++ if (WARN_ON(!wdev->ssid_len)) { ++ cfg80211_put_bss(wdev->wiphy, cr->bss); ++ return; ++ } ++ + nl80211_send_connect_result(wiphy_to_rdev(wdev->wiphy), dev, cr, + GFP_KERNEL); + +@@ -1062,7 +1067,7 @@ int cfg80211_connect(struct cfg80211_registered_device *rdev, + /* + * If we have an ssid_len, we're trying to connect or are + * already connected, so reject a new SSID unless it's the +- * same (which is the case for re-association.) ++ * same (which is the case for Re-Association. + */ + if (wdev->ssid_len && + (wdev->ssid_len != connect->ssid_len || +diff --git b/net/wireless/sme.c.rej b/net/wireless/sme.c.rej +new file mode 100644 +index 0000000..e78d68c +--- /dev/null ++++ b/net/wireless/sme.c.rej +@@ -0,0 +1,82 @@ ++--- net/wireless/sme.c +++++ net/wireless/sme.c ++@@ -522,11 +522,6 @@ static int cfg80211_sme_connect(struct wireless_dev *wdev, ++ return -EOPNOTSUPP; ++ ++ if (wdev->current_bss) { ++- if (!prev_bssid) ++- return -EALREADY; ++- if (prev_bssid && ++- !ether_addr_equal(prev_bssid, wdev->current_bss->pub.bssid)) ++- return -ENOTCONN; ++ cfg80211_unhold_bss(wdev->current_bss); ++ cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub); ++ wdev->current_bss = NULL; ++@@ -1063,11 +1058,35 @@ int cfg80211_connect(struct cfg80211_registered_device *rdev, ++ ++ ASSERT_WDEV_LOCK(wdev); ++ ++- if (WARN_ON(wdev->connect_keys)) { ++- kzfree(wdev->connect_keys); ++- wdev->connect_keys = NULL; +++ /* +++ * If we have an ssid_len, we're trying to connect or are +++ * already connected, so reject a new SSID unless it's the +++ * same (which is the case for re-association.) +++ */ +++ if (wdev->ssid_len && +++ (wdev->ssid_len != connect->ssid_len || +++ memcmp(wdev->ssid, connect->ssid, wdev->ssid_len))) +++ return -EALREADY; +++ +++ /* +++ * If connected, reject (re-)association unless prev_bssid +++ * matches the current BSSID. +++ */ +++ if (wdev->current_bss) { +++ if (!prev_bssid) +++ return -EALREADY; +++ if (!ether_addr_equal(prev_bssid, wdev->current_bss->pub.bssid)) +++ return -ENOTCONN; ++ } ++ +++ /* +++ * Reject if we're in the process of connecting with WEP, +++ * this case isn't very interesting and trying to handle +++ * it would make the code much more complex. +++ */ +++ if (wdev->connect_keys) +++ return -EINPROGRESS; +++ ++ cfg80211_oper_and_ht_capa(&connect->ht_capa_mask, ++ rdev->wiphy.ht_capa_mod_mask); ++ ++@@ -1118,7 +1137,12 @@ int cfg80211_connect(struct cfg80211_registered_device *rdev, ++ ++ if (err) { ++ wdev->connect_keys = NULL; ++- wdev->ssid_len = 0; +++ /* +++ * This could be reassoc getting refused, don't clear +++ * ssid_len in that case. +++ */ +++ if (!wdev->current_bss) +++ wdev->ssid_len = 0; ++ return err; ++ } ++ ++@@ -1145,6 +1169,14 @@ int cfg80211_disconnect(struct cfg80211_registered_device *rdev, ++ else if (wdev->ssid_len) ++ err = rdev_disconnect(rdev, dev, reason); ++ +++ /* +++ * Clear ssid_len unless we actually were fully connected, +++ * in which case cfg80211_disconnected() will take care of +++ * this later. +++ */ +++ if (!wdev->current_bss) +++ wdev->ssid_len = 0; +++ ++ return err; ++ } ++ diff --git a/0004-sd.patch b/0004-usb.patch index 96028febda4f..90f3002c2ddb 100644 --- a/0004-sd.patch +++ b/0004-usb.patch @@ -1,8 +1,8 @@ -diff --git a/drivers//usb/core/hub.c b/drivers//usb/core/hub.c -index 0881a3e8..e6f05033 100644 ---- a/kernel/drivers/usb/core/hub.c -+++ b/drivers//usb/core/hub.c -@@ -4049,7 +4049,8 @@ void usb_enable_lpm(struct usb_device *udev) +diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c +index 41eaf0b52..ba95f10c6 100644 +--- a/drivers/usb/core/hub.c ++++ b/drivers/usb/core/hub.c +@@ -4044,7 +4044,8 @@ void usb_enable_lpm(struct usb_device *udev) if (!udev || !udev->parent || udev->speed < USB_SPEED_SUPER || !udev->lpm_capable || @@ -10,5 +10,5 @@ index 0881a3e8..e6f05033 100644 + udev->state < USB_STATE_DEFAULT || + !udev->bos || !udev->bos->ss_cap) return; - + udev->lpm_disable_count--; diff --git a/0005-camera.patch b/0005-camera.patch new file mode 100644 index 000000000000..87d72a2a83e1 --- /dev/null +++ b/0005-camera.patch @@ -0,0 +1,145 @@ +diff --git a/drivers/staging/media/atomisp/i2c/ov5693/Kconfig b/drivers/staging/media/atomisp/i2c/ov5693/Kconfig +index 9fb1bff..3954b8c 100644 +--- a/drivers/staging/media/atomisp/i2c/ov5693/Kconfig ++++ b/drivers/staging/media/atomisp/i2c/ov5693/Kconfig +@@ -1,6 +1,6 @@ + config VIDEO_OV5693 + tristate "Omnivision ov5693 sensor support" +- depends on I2C && VIDEO_V4L2 ++ depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER + ---help--- + This is a Video4Linux2 sensor-level driver for the Micron + ov5693 5 Mpixel camera. +diff --git a/drivers/staging/media/atomisp/i2c/ov5693/ov5693.c b/drivers/staging/media/atomisp/i2c/ov5693/ov5693.c +index 1236425..37986f5 100644 +--- a/drivers/staging/media/atomisp/i2c/ov5693/ov5693.c ++++ b/drivers/staging/media/atomisp/i2c/ov5693/ov5693.c +@@ -1332,7 +1332,7 @@ static int power_ctrl(struct v4l2_subdev *sd, bool flag) + + static int gpio_ctrl(struct v4l2_subdev *sd, bool flag) + { +- int ret; ++ int ret = 0; + struct ov5693_device *dev = to_ov5693_sensor(sd); + + if (!dev || !dev->platform_data) +@@ -1342,7 +1342,8 @@ static int gpio_ctrl(struct v4l2_subdev *sd, bool flag) + if (dev->platform_data->gpio_ctrl) + return dev->platform_data->gpio_ctrl(sd, flag); + +- ret = dev->platform_data->gpio0_ctrl(sd, flag); ++ if (dev->platform_data->gpio0_ctrl) ++ ret = dev->platform_data->gpio0_ctrl(sd, flag); + + return ret; + } +@@ -1709,7 +1710,7 @@ static int ov5693_detect(struct i2c_client *client) + OV5693_SC_CMMN_CHIP_ID_L, &low); + id = ((((u16) high) << 8) | (u16) low); + +- if (id != OV5693_ID) { ++ if (id != OV5690_ID && id != OV5693_ID) { + dev_err(&client->dev, "sensor ID error 0x%x\n", id); + return -ENODEV; + } +diff --git a/drivers/staging/media/atomisp/i2c/ov5693/ov5693.h b/drivers/staging/media/atomisp/i2c/ov5693/ov5693.h +index 8c2e679..a657f94 100644 +--- a/drivers/staging/media/atomisp/i2c/ov5693/ov5693.h ++++ b/drivers/staging/media/atomisp/i2c/ov5693/ov5693.h +@@ -33,7 +33,7 @@ + #include <linux/v4l2-mediabus.h> + #include <media/media-entity.h> + +-#include "../../include/linux/atomisp_platform.h" ++#include "../../include/linux/atomisp_gmin_platform.h" + + #define OV5693_NAME "ov5693" + +@@ -78,7 +78,8 @@ + * bits 7-0: min f-number denominator + */ + #define OV5693_F_NUMBER_RANGE 0x180a180a +-#define OV5693_ID 0x5690 ++#define OV5690_ID 0x5690 ++#define OV5693_ID 0x5693 + + #define OV5693_FINE_INTG_TIME_MIN 0 + #define OV5693_FINE_INTG_TIME_MAX_MARGIN 0 +diff --git a/drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c b/drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c +index edaae93..ca59c4f 100644 +--- a/drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c ++++ b/drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c +@@ -296,11 +296,13 @@ static const struct gmin_cfg_var ecs7_vars[] = { + {"INT33BE:00_CsiFmt", "13"}, + {"INT33BE:00_CsiBayer", "2"}, + {"INT33BE:00_CamClk", "0"}, ++ {"INT33BE:00_ClkSrc", "1"}, + {"INT33F0:00_CsiPort", "0"}, + {"INT33F0:00_CsiLanes", "1"}, + {"INT33F0:00_CsiFmt", "13"}, + {"INT33F0:00_CsiBayer", "0"}, + {"INT33F0:00_CamClk", "1"}, ++ {"INT33BE:00_I2CAddr", "-1"}, + {"gmin_V2P8GPIO", "402"}, + {}, + }; +@@ -325,6 +327,8 @@ static const struct { + { "MRD7", mrd7_vars }, + { "ST70408", ecs7_vars }, + { "VTA0803", i8880_vars }, ++ { "Surface Book" , ecs7_vars } , ++ { "Surface Pro 4" , ecs7_vars } , + }; + + +diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c +index 6d22b22..b72b782 100644 +--- a/drivers/media/usb/uvc/uvc_driver.c ++++ b/drivers/media/usb/uvc/uvc_driver.c +@@ -2277,6 +2277,46 @@ MODULE_PARM_DESC(timeout, "Streaming control requests timeout"); + * though they are compliant. + */ + static const struct usb_device_id uvc_ids[] = { ++ /* Microsoft Surface Pro 3 Front */ ++ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE ++ | USB_DEVICE_ID_MATCH_INT_INFO, ++ .idVendor = 0x045e, ++ .idProduct = 0x07be, ++ .bInterfaceClass = USB_CLASS_VIDEO, ++ .bInterfaceSubClass = 1, ++ .bInterfaceProtocol = 1 }, ++ /* Microsoft Surface Pro 3 Rear */ ++ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE ++ | USB_DEVICE_ID_MATCH_INT_INFO, ++ .idVendor = 0x045e, ++ .idProduct = 0x07bf, ++ .bInterfaceClass = USB_CLASS_VIDEO, ++ .bInterfaceSubClass = 1, ++ .bInterfaceProtocol = 1 }, ++ /* Microsoft Surface Pro 4 Cam */ ++ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE ++ | USB_DEVICE_ID_MATCH_INT_INFO, ++ .idVendor = 0x045e, ++ .idProduct = 0x090c, ++ .bInterfaceClass = USB_CLASS_VIDEO, ++ .bInterfaceSubClass = 1, ++ .bInterfaceProtocol = 1 }, ++ /* Microsoft Surface Book Cam 1 */ ++ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE ++ | USB_DEVICE_ID_MATCH_INT_INFO, ++ .idVendor = 0x045e, ++ .idProduct = 0x090b, ++ .bInterfaceClass = USB_CLASS_VIDEO, ++ .bInterfaceSubClass = 1, ++ .bInterfaceProtocol = 1 }, ++ /* Microsoft Surface Book Cam 2 */ ++ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE ++ | USB_DEVICE_ID_MATCH_INT_INFO, ++ .idVendor = 0x045e, ++ .idProduct = 0x091a, ++ .bInterfaceClass = USB_CLASS_VIDEO, ++ .bInterfaceSubClass = 1, ++ .bInterfaceProtocol = 1 }, + /* LogiLink Wireless Webcam */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, diff --git a/0005-hid.patch b/0005-hid.patch deleted file mode 100644 index 89187711288e..000000000000 --- a/0005-hid.patch +++ /dev/null @@ -1,156 +0,0 @@ -diff --git a/drivers//hid/hid-ids.h b/drivers//hid/hid-ids.h -index 4f9a3938..07a0be0d 100644 ---- a/drivers//hid/hid-ids.h -+++ b/drivers//hid/hid-ids.h -@@ -741,11 +741,19 @@ - #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1 0x0732 - #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_600 0x0750 - #define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500 0x076c --#define USB_DEVICE_ID_MS_COMFORT_KEYBOARD 0x00e3 --#define USB_DEVICE_ID_MS_SURFACE_PRO_2 0x0799 --#define USB_DEVICE_ID_MS_TOUCH_COVER_2 0x07a7 --#define USB_DEVICE_ID_MS_TYPE_COVER_2 0x07a9 --#define USB_DEVICE_ID_MS_POWER_COVER 0x07da -+#define USB_DEVICE_ID_MS_COMFORT_KEYBOARD 0x00e3 -+#define USB_DEVICE_ID_MS_SURFACE_PRO_2 0x0799 -+#define USB_DEVICE_ID_MS_TOUCH_COVER_2 0x07a7 -+#define USB_DEVICE_ID_MS_TYPE_COVER_2 0x07a9 -+#define USB_DEVICE_ID_MS_TYPE_COVER_3 0x07de -+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3 0x07dc -+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_1 0x07de -+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2 0x07e2 -+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP 0x07dd -+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4 0x07e8 -+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1 0x07e4 -+#define USB_DEVICE_ID_MS_SURFACE_BOOK 0x07cd -+#define USB_DEVICE_ID_MS_POWER_COVER 0x07da - - #define USB_VENDOR_ID_MOJO 0x8282 - #define USB_DEVICE_ID_RETRO_ADAPTER 0x3201 -diff --git a/drivers//hid/hid-multitouch.c b/drivers//hid/hid-multitouch.c -index 937a7084..6af8baf3 100644 ---- a/drivers//hid/hid-multitouch.c -+++ b/drivers//hid/hid-multitouch.c -@@ -1454,6 +1454,47 @@ static const struct hid_device_id mt_devices[] = { - HID_USB_DEVICE(USB_VENDOR_ID_LG, - USB_DEVICE_ID_LG_MELFAS_MT) }, - -+ /* Microsoft Touch Cover */ -+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, -+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -+ USB_DEVICE_ID_MS_TOUCH_COVER_2) }, -+ -+ /* Microsoft Type Cover */ -+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, -+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -+ USB_DEVICE_ID_MS_TYPE_COVER_2) }, -+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, -+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -+ USB_DEVICE_ID_MS_TYPE_COVER_3) }, -+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, -+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3) }, -+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, -+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_1) }, -+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, -+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2) }, -+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, -+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP) }, -+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, -+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_4) }, -+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, -+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1) }, -+ -+ /* Microsoft Surface Book */ -+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, -+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -+ USB_DEVICE_ID_MS_SURFACE_BOOK) }, -+ -+ /* Microsoft Power Cover */ -+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, -+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -+ USB_DEVICE_ID_MS_POWER_COVER) }, -+ - /* MosArt panels */ - { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, - MT_USB_DEVICE(USB_VENDOR_ID_ASUS, -diff --git a/drivers//hid/usbhid/hid-quirks.c b/drivers//hid/usbhid/hid-quirks.c -index a88e7c7b..1e1e3d97 100644 ---- a/drivers//hid/usbhid/hid-quirks.c -+++ b/drivers//hid/usbhid/hid-quirks.c -@@ -106,8 +106,16 @@ static const struct hid_blacklist { - { USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOUSE_C06A, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_NOGET }, - { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_PRO_2, HID_QUIRK_NO_INIT_REPORTS }, -- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2, HID_QUIRK_NO_INIT_REPORTS }, - { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TOUCH_COVER_2, HID_QUIRK_NO_INIT_REPORTS }, -+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2, HID_QUIRK_NO_INIT_REPORTS }, -+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3, HID_QUIRK_NO_INIT_REPORTS }, -+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3, HID_QUIRK_NO_INIT_REPORTS }, -+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_1, HID_QUIRK_NO_INIT_REPORTS }, -+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2, HID_QUIRK_NO_INIT_REPORTS }, -+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP, HID_QUIRK_NO_INIT_REPORTS }, -+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4, HID_QUIRK_NO_INIT_REPORTS }, -+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1, HID_QUIRK_NO_INIT_REPORTS }, -+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_BOOK, HID_QUIRK_NO_INIT_REPORTS }, - { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER, HID_QUIRK_NO_INIT_REPORTS }, - { USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GT683R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS }, - { USB_VENDOR_ID_NEXIO, USB_DEVICE_ID_NEXIO_MULTITOUCH_PTI0750, HID_QUIRK_NO_INIT_REPORTS }, -diff --git a/drivers//hid/hid-ids.h b/drivers//hid/hid-ids.h -index 07a0be0d..a58844b7 100644 ---- a/drivers//hid/hid-ids.h -+++ b/drivers//hid/hid-ids.h -@@ -753,6 +753,7 @@ - #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4 0x07e8 - #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1 0x07e4 - #define USB_DEVICE_ID_MS_SURFACE_BOOK 0x07cd -+#define USB_DEVICE_ID_MS_SURFACE_LAPTOP 0x07f8 - #define USB_DEVICE_ID_MS_POWER_COVER 0x07da - - #define USB_VENDOR_ID_MOJO 0x8282 -diff --git a/drivers//hid/hid-multitouch.c b/drivers//hid/hid-multitouch.c -index 6af8baf3..09f1cd60 100644 ---- a/drivers//hid/hid-multitouch.c -+++ b/drivers//hid/hid-multitouch.c -@@ -1490,6 +1490,11 @@ static const struct hid_device_id mt_devices[] = { - MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, - USB_DEVICE_ID_MS_SURFACE_BOOK) }, - -+ /* Microsoft Surface Laptop */ -+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, -+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -+ USB_DEVICE_ID_MS_SURFACE_LAPTOP) }, -+ - /* Microsoft Power Cover */ - { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, - MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, -diff --git a/drivers//hid/usbhid/hid-quirks.c b/drivers//hid/usbhid/hid-quirks.c -index 1e1e3d97..925ec6a4 100644 ---- a/drivers//hid/usbhid/hid-quirks.c -+++ b/drivers//hid/usbhid/hid-quirks.c -@@ -116,6 +116,7 @@ static const struct hid_blacklist { - { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4, HID_QUIRK_NO_INIT_REPORTS }, - { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1, HID_QUIRK_NO_INIT_REPORTS }, - { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_BOOK, HID_QUIRK_NO_INIT_REPORTS }, -+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_LAPTOP, HID_QUIRK_NO_INIT_REPORTS }, - { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER, HID_QUIRK_NO_INIT_REPORTS }, - { USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GT683R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS }, - { USB_VENDOR_ID_NEXIO, USB_DEVICE_ID_NEXIO_MULTITOUCH_PTI0750, HID_QUIRK_NO_INIT_REPORTS }, -diff --git a/drivers//hid/hid-ids.h b/drivers//hid/hid-ids.h -index a58844b7..2cecb040 100644 ---- a/drivers//hid/hid-ids.h -+++ b/drivers//hid/hid-ids.h -@@ -753,7 +753,7 @@ - #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4 0x07e8 - #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1 0x07e4 - #define USB_DEVICE_ID_MS_SURFACE_BOOK 0x07cd --#define USB_DEVICE_ID_MS_SURFACE_LAPTOP 0x07f8 -+#define USB_DEVICE_ID_MS_SURFACE_LAPTOP 0xf001 - #define USB_DEVICE_ID_MS_POWER_COVER 0x07da - - #define USB_VENDOR_ID_MOJO 0x8282 diff --git a/60-linux.hook b/60-linux.hook new file mode 100644 index 000000000000..b33873c854fb --- /dev/null +++ b/60-linux.hook @@ -0,0 +1,12 @@ +[Trigger] +Type = File +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/modules/%KERNVER%/* +Target = usr/lib/modules/%EXTRAMODULES%/* + +[Action] +Description = Updating %PKGBASE% module dependencies... +When = PostTransaction +Exec = /usr/bin/depmod %KERNVER% diff --git a/90-linux.hook b/90-linux.hook index 9851151995bc..be0d886539f4 100644 --- a/90-linux.hook +++ b/90-linux.hook @@ -6,6 +6,6 @@ Target = boot/vmlinuz-%PKGBASE% Target = usr/lib/initcpio/* [Action] -Description = Updating %PKGBASE% initcpios +Description = Updating %PKGBASE% initcpios... When = PostTransaction Exec = /usr/bin/mkinitcpio -p %PKGBASE% diff --git a/99-ipts.rules b/99-ipts.rules index 4f7d41a224e4..eb3b4869a946 100644 --- a/99-ipts.rules +++ b/99-ipts.rules @@ -1,17 +1,23 @@ # IPTS Touchscreen (SP4) -SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:006A SingleTouch", ENV{ID_INPUT_TOUCHSCREEN}="1", SYMLINK+="input/touchscreen" +SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:006A Touchscreen", ENV{ID_INPUT_TOUCHSCREEN}="1", SYMLINK+="input/touchscreen" # IPTS Pen (SP4) SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:006A Pen", SYMLINK+="input/pen" +# IPTS Touchscreen (SP2017) +SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:001F Touchscreen", ENV{ID_INPUT_TOUCHSCREEN}="1", SYMLINK+="input/touchscreen" + +# IPTS Pen (SP2017) +SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:001F Pen", SYMLINK+="input/pen" + # IPTS Touchscreen (SB) -SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:005E SingleTouch", ENV{ID_INPUT_TOUCHSCREEN}="1", SYMLINK+="input/touchscreen" +SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:005E Touchscreen", ENV{ID_INPUT_TOUCHSCREEN}="1", SYMLINK+="input/touchscreen" # IPTS Pen (SB) SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:005E Pen", SYMLINK+="input/pen" -# -# IPTS Touchscreen (SP2017) -SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:001F SingleTouch", ENV{ID_INPUT_TOUCHSCREEN}="1", SYMLINK+="input/touchscreen" -# IPTS Pen (SP2017) -SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:001F Pen", SYMLINK+="input/pen" +# IPTS Touchscreen (SB2) +SUBSYSTEMS=="input", ATTRS{name}=="ipts 045E:0020 Touchscreen", ENV{ID_INPUT_TOUCHSCREEN}="1", SYMLINK+="input/touchscreen" + +# IPTS Pen (SB2) +SUBSYSTEMS=="input", ATTRS{name}=="ipts 045E:0020 Pen", SYMLINK+="input/pen" @@ -3,93 +3,73 @@ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Maintainer: Thomas Baechler <thomas@archlinux.org> -#pkgbase=linux # Build stock -ARCH kernel -pkgbase=linux-surface4 # Build kernel with a different name -_srcname=linux-4.12 -pkgver=4.12.8 -pkgrel=2 +#pkgbase=linux # Build stock -ARCH kernel +pkgbase=linux-surface4 # Build kernel with a different name +_srcname=linux-4.14.2 +pkgver=4.14.2 +pkgrel=1 arch=('x86_64') url="https://www.kernel.org/" license=('GPL2') -makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'libelf') +makedepends=('xmlto' 'kmod' 'inetutils' 'bc' 'libelf') options=('!strip') -source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz" - "https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.sign" - "https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz" - "https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.sign" - 'bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch' - 'bonding-ratelimit-failed-speed-duplex-update-warning.patch' - 'mm-Revert-x86_64-and-arm64-ELF_ET_DYN_BASE-base.patch' - # surface patches - '0002-ipts.patch' - '0003-wifi.patch' - '0004-sd.patch' - '0005-hid.patch' - # touchscreen udev rules - '99-ipts.rules' - # IPTS firmware config. - 'ipts_fw_config.bin' - # the main kernel config files - 'config.x86_64' - # pacman hook for initramfs regeneration - '90-linux.hook' - # standard config files for mkinitcpio ramdisk - 'linux.preset') - -sha256sums=('a45c3becd4d08ce411c14628a949d08e2433d8cdeca92036c7013980e93858ab' - 'SKIP' - '32b860911a3bafd5cd5bc813a427c90fad6eafdf607fa64e1b763b16ab605636' - 'SKIP' - '48e0505438bb4ccc7a0e050a896122b490e8f1b1446aa3833841a9d4d7853d68' - 'fc606711a922638d5cc4358f47f69f554d9e6eab1cec91f0b49f00911f399722' - 'b830ce777543c0edd20a77d70f204c095f2429bb37151cd4a8c9dfae2af8d51a' - 'cbd508d55e446ad5e00a7534490a8b6faa8987dc22dab139fa8ac42b90735cf3' - 'd748010776aa4016e920b46f6ef6847e52d4214e9b6afe752c340c5a9644870f' - '311857771c63ed5145effedae55830b3c7fdc8865e145e94d54b9aa2e094779e' - '065fa8cb24062afee3c0aa8140e65560c2ebfb08f714222a3e0b3b12e764097b' - '59c8bb30e749a1e05cbb3a5ca7bf995afe8a957961d635356c85875136812922' - 'eed5c04a5f8841d52292fbb321990c79316ce98cd21324c71226cdc95cc20d09' - '90fffe84ea442756fb168d22d9b6b9f2d8d7bc631b81188836caaa33a9f92554' - '834bd254b56ab71d73f59b3221f056c72f559553c04718e350ab2a3e2991afe0' - 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65') +source=( + "https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz" + "https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.sign" + #"https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz" + #"https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.sign" + 'config' # the main kernel config file + '60-linux.hook' # pacman hook for depmod + '90-linux.hook' # pacman hook for initramfs regeneration + 'linux.preset' # standard config files for mkinitcpio ramdisk + '0001-ipts.patch' + '0002-hid.patch' + '0003-wifi.patch' + '0004-usb.patch' + '0005-camera.patch' + '99-ipts.rules' +) validpgpkeys=( - 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds - '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman - ) + 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman +) +sha256sums=('e92690620a4e4811c6b37b2f1b6c9b32a1dde40aa12be6527c8dc215fb27464c' + 'SKIP' + 'efd4cd1ec319e9eed73f67b66de5a761a8365b9b227479f073f9115550cb157c' + 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21' + '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919' + 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65' + '260859d91e9c77c8231d9ba9f86ab1c970be21da2134efd6b4df139321b80b1d' + 'c57e13c8a15d06e4e04cda4ae95c7920cbd8b8b40a17252f2413c8b57da952f3' + '8d724a67ebb52b5130c855907c17a050a3224ec2fdc11f1544723b5025a36c17' + '835ff847328db11f31d2eb954f45a6067527626dbf984793c44982ef5f60863e' + '985141fe1d694b95bc78a4b0f3dafcc2cbddabcf2c44eda8feb92847bf9f9c68' + '82d0fa48947aff93cbbc9a0f0f3020bf95e860d604549b20f7ef8e1634798bd8') _kernelname=${pkgbase#linux} prepare() { - cd "${srcdir}/${_srcname}" + cd ${_srcname} # add upstream patch - patch -p1 -i "${srcdir}/patch-${pkgver}" - - # surface Patches - patch -Np1 -i "${srcdir}/0002-ipts.patch" - patch -Np1 -i "${srcdir}/0003-wifi.patch" - patch -Np1 -i "${srcdir}/0004-sd.patch" - patch -Np1 -i "${srcdir}/0005-hid.patch" - - mkdir -p "firmware/intel/ipts" - cp "${srcdir}/ipts_fw_config.bin" "firmware/intel/ipts/" + #patch -p1 -i ../patch-${pkgver} # security patches # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git - # https://bugzilla.kernel.org/show_bug.cgi?id=196547 - patch -Np1 -i ../bonding-ratelimit-failed-speed-duplex-update-warning.patch - patch -Np1 -i ../bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch + # https://bugs.archlinux.org/task/56207 + # patch -Np1 -i ../0001-platform-x86-hp-wmi-Fix-tablet-mode-detection-for-co.patch - # https://github.com/google/sanitizers/issues/837 - # https://patchwork.kernel.org/patch/9886105/ - patch -Np1 -i ../mm-Revert-x86_64-and-arm64-ELF_ET_DYN_BASE-base.patch - - + # surface Patches + patch -Np1 -i "${srcdir}/0001-ipts.patch" + patch -Np1 -i "${srcdir}/0002-hid.patch" + patch -Np1 -i "${srcdir}/0003-wifi.patch" + patch -Np1 -i "${srcdir}/0004-usb.patch" + patch -Np1 -i "${srcdir}/0005-camera.patch" - cat "${srcdir}/config.${CARCH}" > ./.config + cp -Tf ../config .config if [ "${_kernelname}" != "" ]; then sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config @@ -118,7 +98,7 @@ prepare() { } build() { - cd "${srcdir}/${_srcname}" + cd ${_srcname} make ${MAKEFLAGS} LOCALVERSION= bzImage modules } @@ -131,196 +111,144 @@ _package() { backup=("etc/mkinitcpio.d/${pkgbase}.preset") install=linux.install - cd "${srcdir}/${_srcname}" - - KARCH=x86 + cd ${_srcname} # get kernel version _kernver="$(make LOCALVERSION= kernelrelease)" _basekernel=${_kernver%%-*} _basekernel=${_basekernel%.*} - mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot} + mkdir -p "${pkgdir}"/{boot,lib/{modules,firmware},usr} make LOCALVERSION= INSTALL_MOD_PATH="${pkgdir}" modules_install - cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}" - - # set correct depmod command for install - sed -e "s|%PKGBASE%|${pkgbase}|g;s|%KERNVER%|${_kernver}|g" \ - "${startdir}/${install}" > "${startdir}/${install}.pkg" - true && install=${install}.pkg + cp arch/x86/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}" - # install mkinitcpio preset file for kernel - sed "s|%PKGBASE%|${pkgbase}|g" "${srcdir}/linux.preset" | - install -D -m644 /dev/stdin "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" + # make room for external modules + local _extramodules="extramodules-${_basekernel}${_kernelname:--ARCH}" + ln -s "../${_extramodules}" "${pkgdir}/lib/modules/${_kernver}/extramodules" - # install pacman hook for initramfs regeneration - sed "s|%PKGBASE%|${pkgbase}|g" "${srcdir}/90-linux.hook" | - install -D -m644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/90-${pkgbase}.hook" + # add real version for building modules and running depmod from hook + echo "${_kernver}" | + install -Dm644 /dev/stdin "${pkgdir}/lib/modules/${_extramodules}/version" # remove build and source links - rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build} + rm "${pkgdir}"/lib/modules/${_kernver}/{source,build} + # remove the firmware - rm -rf "${pkgdir}/lib/firmware" - # make room for external modules - ln -s "../extramodules-${_basekernel}${_kernelname:--ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules" - # add real version for building modules and running depmod from post_install/upgrade - mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}" - echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}/version" + rm -r "${pkgdir}/lib/firmware" - # Now we call depmod... + # now we call depmod... depmod -b "${pkgdir}" -F System.map "${_kernver}" - # move module tree /lib -> /usr/lib - mkdir -p "${pkgdir}/usr" - mv "${pkgdir}/lib" "${pkgdir}/usr/" - # add vmlinux - install -D -m644 vmlinux "${pkgdir}/usr/lib/modules/${_kernver}/build/vmlinux" + install -Dt "${pkgdir}/lib/modules/${_kernver}/build" -m644 vmlinux - # install surface touchscreen udev rules - install -D -C -m644 "${srcdir}/99-ipts.rules" "${pkgdir}/usr/lib/udev/rules.d/99-ipts.rules" -} - -_package-headers() { - pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel" + # move module tree /lib -> /usr/lib + mv -t "${pkgdir}/usr" "${pkgdir}/lib" - install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}" + # sed expression for following substitutions + local _subst=" + s|%PKGBASE%|${pkgbase}|g + s|%KERNVER%|${_kernver}|g + s|%EXTRAMODULES%|${_extramodules}|g + " - cd "${srcdir}/${_srcname}" - install -D -m644 Makefile \ - "${pkgdir}/usr/lib/modules/${_kernver}/build/Makefile" - install -D -m644 kernel/Makefile \ - "${pkgdir}/usr/lib/modules/${_kernver}/build/kernel/Makefile" - install -D -m644 .config \ - "${pkgdir}/usr/lib/modules/${_kernver}/build/.config" + # hack to allow specifying an initially nonexisting install file + sed "${_subst}" "${startdir}/${install}" > "${startdir}/${install}.pkg" + true && install=${install}.pkg - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include" + # install mkinitcpio preset file + sed "${_subst}" ../linux.preset | + install -Dm644 /dev/stdin "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" - for i in acpi asm-generic config crypto drm generated keys linux math-emu \ - media net pcmcia rdma scsi soc sound trace uapi video xen; do - cp -a include/${i} "${pkgdir}/usr/lib/modules/${_kernver}/build/include/" - done + # install pacman hooks + sed "${_subst}" ../60-linux.hook | + install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/60-${pkgbase}.hook" + sed "${_subst}" ../90-linux.hook | + install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/90-${pkgbase}.hook" - # copy arch includes for external modules - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/x86" - cp -a arch/x86/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/x86/" - - # copy files necessary for later builds, like nvidia and vmware - cp Module.symvers "${pkgdir}/usr/lib/modules/${_kernver}/build" - cp -a scripts "${pkgdir}/usr/lib/modules/${_kernver}/build" + install -D -C -m644 "${srcdir}/99-ipts.rules" "${pkgdir}/usr/lib/udev/rules.d/99-ipts.rules" - # fix permissions on scripts dir - chmod og-w -R "${pkgdir}/usr/lib/modules/${_kernver}/build/scripts" - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/.tmp_versions" +} - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/kernel" +_package-headers() { + pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel" - cp arch/${KARCH}/Makefile "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/" + cd ${_srcname} + local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build" - if [ "${CARCH}" = "i686" ]; then - cp arch/${KARCH}/Makefile_32.cpu "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/" - fi + install -Dt "${_builddir}" -m644 Makefile .config Module.symvers + install -Dt "${_builddir}/kernel" -m644 kernel/Makefile - cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/kernel/" + mkdir "${_builddir}/.tmp_versions" - # add docbook makefile - install -D -m644 Documentation/DocBook/Makefile \ - "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/DocBook/Makefile" + cp -t "${_builddir}" -a include scripts - # add dm headers - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/md" - cp drivers/md/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/md" + install -Dt "${_builddir}/arch/x86" -m644 arch/x86/Makefile + install -Dt "${_builddir}/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s - # add inotify.h - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include/linux" - cp include/linux/inotify.h "${pkgdir}/usr/lib/modules/${_kernver}/build/include/linux/" + cp -t "${_builddir}/arch/x86" -a arch/x86/include - # add wireless headers - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/net/mac80211/" - cp net/mac80211/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/net/mac80211/" + install -Dt "${_builddir}/drivers/md" -m644 drivers/md/*.h + install -Dt "${_builddir}/net/mac80211" -m644 net/mac80211/*.h - # add dvb headers for external modules - # in reference to: # http://bugs.archlinux.org/task/9912 - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-core" - cp drivers/media/dvb-core/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-core/" - # and... - # http://bugs.archlinux.org/task/11194 - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include/config/dvb/" - cp include/config/dvb/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/include/config/dvb/" - - # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new - # in reference to: + install -Dt "${_builddir}/drivers/media/dvb-core" -m644 drivers/media/dvb-core/*.h + # http://bugs.archlinux.org/task/13146 - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/" - cp drivers/media/dvb-frontends/lgdt330x.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/" - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/i2c/" - cp drivers/media/i2c/msp3400-driver.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/i2c/" + install -Dt "${_builddir}/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/lgdt330x.h + install -Dt "${_builddir}/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h - # add dvb headers - # in reference to: # http://bugs.archlinux.org/task/20402 - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/usb/dvb-usb" - cp drivers/media/usb/dvb-usb/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/usb/dvb-usb/" - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends" - cp drivers/media/dvb-frontends/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/" - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/tuners" - cp drivers/media/tuners/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/tuners/" + install -Dt "${_builddir}/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h + install -Dt "${_builddir}/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h + install -Dt "${_builddir}/drivers/media/tuners" -m644 drivers/media/tuners/*.h # add xfs and shmem for aufs building - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/fs/xfs" - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/mm" - # removed in 3.17 series - # cp fs/xfs/xfs_sb.h "${pkgdir}/usr/lib/modules/${_kernver}/build/fs/xfs/xfs_sb.h" + mkdir -p "${_builddir}"/{fs/xfs,mm} # copy in Kconfig files - for i in $(find . -name "Kconfig*"); do - mkdir -p "${pkgdir}"/usr/lib/modules/${_kernver}/build/`echo ${i} | sed 's|/Kconfig.*||'` - cp ${i} "${pkgdir}/usr/lib/modules/${_kernver}/build/${i}" - done + find . -name Kconfig\* -exec install -Dm644 {} "${_builddir}/{}" \; # add objtool for external module building and enabled VALIDATION_STACK option - if [ -f tools/objtool/objtool ]; then - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/tools/objtool" - cp -a tools/objtool/objtool ${pkgdir}/usr/lib/modules/${_kernver}/build/tools/objtool/ - fi - - chown -R root.root "${pkgdir}/usr/lib/modules/${_kernver}/build" - find "${pkgdir}/usr/lib/modules/${_kernver}/build" -type d -exec chmod 755 {} \; + install -Dt "${_builddir}/tools/objtool" tools/objtool/objtool - # strip scripts directory - find "${pkgdir}/usr/lib/modules/${_kernver}/build/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do - case "$(file -bi "${binary}")" in - *application/x-sharedlib*) # Libraries (.so) - /usr/bin/strip ${STRIP_SHARED} "${binary}";; - *application/x-archive*) # Libraries (.a) - /usr/bin/strip ${STRIP_STATIC} "${binary}";; - *application/x-executable*) # Binaries - /usr/bin/strip ${STRIP_BINARIES} "${binary}";; - esac + # remove unneeded architectures + local _arch + for _arch in "${_builddir}"/arch/*/; do + [[ ${_arch} == */x86/ ]] && continue + rm -r "${_arch}" done - # remove unneeded architectures - rm -rf "${pkgdir}"/usr/lib/modules/${_kernver}/build/arch/{alpha,arc,arm,arm26,arm64,avr32,blackfin,c6x,cris,frv,h8300,hexagon,ia64,m32r,m68k,m68knommu,metag,mips,microblaze,mn10300,openrisc,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,unicore32,um,v850,xtensa} + # remove files already in linux-docs package + rm -r "${_builddir}/Documentation" + + # Fix permissions + chmod -R u=rwX,go=rX "${_builddir}" - # remove a files already in linux-docs package - rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/kbuild/Kconfig.recursion-issue-01" - rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/kbuild/Kconfig.recursion-issue-02" - rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/kbuild/Kconfig.select-break" + # strip scripts directory + local _binary _strip + while read -rd '' _binary; do + case "$(file -bi "${_binary}")" in + *application/x-sharedlib*) _strip="${STRIP_SHARED}" ;; # Libraries (.so) + *application/x-archive*) _strip="${STRIP_STATIC}" ;; # Libraries (.a) + *application/x-executable*) _strip="${STRIP_BINARIES}" ;; # Binaries + *) continue ;; + esac + /usr/bin/strip ${_strip} "${_binary}" + done < <(find "${_builddir}/scripts" -type f -perm -u+w -print0 2>/dev/null) } _package-docs() { pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase/linux/Linux} kernel" - cd "${srcdir}/${_srcname}" + cd ${_srcname} + local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build" - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build" - cp -al Documentation "${pkgdir}/usr/lib/modules/${_kernver}/build" - find "${pkgdir}" -type f -exec chmod 444 {} \; - find "${pkgdir}" -type d -exec chmod 755 {} \; + mkdir -p "${_builddir}" + cp -t "${_builddir}" -a Documentation - # remove a file already in linux package - rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/DocBook/Makefile" + # Fix permissions + chmod -R u=rwX,go=rX "${_builddir}" } pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs") diff --git a/bonding-ratelimit-failed-speed-duplex-update-warning.patch b/bonding-ratelimit-failed-speed-duplex-update-warning.patch deleted file mode 100644 index c1a8bc5b47e6..000000000000 --- a/bonding-ratelimit-failed-speed-duplex-update-warning.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 11e9d7829dd08dbafb24517fe922f11c3a8a9dc2 Mon Sep 17 00:00:00 2001 -From: Andreas Born <futur.andy@googlemail.com> -Date: Sat, 12 Aug 2017 00:36:55 +0200 -Subject: [PATCH] bonding: ratelimit failed speed/duplex update warning - -bond_miimon_commit() handles the UP transition for each slave of a bond -in the case of MII. It is triggered 10 times per second for the default -MII Polling interval of 100ms. For device drivers that do not implement -__ethtool_get_link_ksettings() the call to bond_update_speed_duplex() -fails persistently while the MII status could remain UP. That is, in -this and other cases where the speed/duplex update keeps failing over a -longer period of time while the MII state is UP, a warning is printed -every MII polling interval. - -To address these excessive warnings net_ratelimit() should be used. -Printing a warning once would not be sufficient since the call to -bond_update_speed_duplex() could recover to succeed and fail again -later. In that case there would be no new indication what went wrong. - -Fixes: b5bf0f5b16b9c (bonding: correctly update link status during mii-commit phase) -Signed-off-by: Andreas Born <futur.andy@googlemail.com> -Signed-off-by: David S. Miller <davem@davemloft.net> ---- - drivers/net/bonding/bond_main.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c -index 85bb272d2a34..fc63992ab0e0 100644 ---- a/drivers/net/bonding/bond_main.c -+++ b/drivers/net/bonding/bond_main.c -@@ -2144,9 +2144,10 @@ static void bond_miimon_commit(struct bonding *bond) - if (bond_update_speed_duplex(slave) && - bond_needs_speed_duplex(bond)) { - slave->link = BOND_LINK_DOWN; -- netdev_warn(bond->dev, -- "failed to get link speed/duplex for %s\n", -- slave->dev->name); -+ if (net_ratelimit()) -+ netdev_warn(bond->dev, -+ "failed to get link speed/duplex for %s\n", -+ slave->dev->name); - continue; - } - bond_set_slave_link_state(slave, BOND_LINK_UP, --- -2.14.1 - diff --git a/bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch b/bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch deleted file mode 100644 index 09028515b84f..000000000000 --- a/bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch +++ /dev/null @@ -1,68 +0,0 @@ -From ad729bc9acfb7c47112964b4877ef5404578ed13 Mon Sep 17 00:00:00 2001 -From: Andreas Born <futur.andy@googlemail.com> -Date: Thu, 10 Aug 2017 06:41:44 +0200 -Subject: [PATCH] bonding: require speed/duplex only for 802.3ad, alb and tlb - -The patch c4adfc822bf5 ("bonding: make speed, duplex setting consistent -with link state") puts the link state to down if -bond_update_speed_duplex() cannot retrieve speed and duplex settings. -Assumably the patch was written with 802.3ad mode in mind which relies -on link speed/duplex settings. For other modes like active-backup these -settings are not required. Thus, only for these other modes, this patch -reintroduces support for slaves that do not support reporting speed or -duplex such as wireless devices. This fixes the regression reported in -bug 196547 (https://bugzilla.kernel.org/show_bug.cgi?id=196547). - -Fixes: c4adfc822bf5 ("bonding: make speed, duplex setting consistent -with link state") -Signed-off-by: Andreas Born <futur.andy@googlemail.com> -Acked-by: Mahesh Bandewar <maheshb@google.com> -Signed-off-by: David S. Miller <davem@davemloft.net> ---- - drivers/net/bonding/bond_main.c | 6 ++++-- - include/net/bonding.h | 5 +++++ - 2 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c -index 9bee6c1c70cc..85bb272d2a34 100644 ---- a/drivers/net/bonding/bond_main.c -+++ b/drivers/net/bonding/bond_main.c -@@ -1569,7 +1569,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev) - new_slave->delay = 0; - new_slave->link_failure_count = 0; - -- if (bond_update_speed_duplex(new_slave)) -+ if (bond_update_speed_duplex(new_slave) && -+ bond_needs_speed_duplex(bond)) - new_slave->link = BOND_LINK_DOWN; - - new_slave->last_rx = jiffies - -@@ -2140,7 +2141,8 @@ static void bond_miimon_commit(struct bonding *bond) - continue; - - case BOND_LINK_UP: -- if (bond_update_speed_duplex(slave)) { -+ if (bond_update_speed_duplex(slave) && -+ bond_needs_speed_duplex(bond)) { - slave->link = BOND_LINK_DOWN; - netdev_warn(bond->dev, - "failed to get link speed/duplex for %s\n", -diff --git a/include/net/bonding.h b/include/net/bonding.h -index b00508d22e0a..b2e68657a216 100644 ---- a/include/net/bonding.h -+++ b/include/net/bonding.h -@@ -277,6 +277,11 @@ static inline bool bond_is_lb(const struct bonding *bond) - BOND_MODE(bond) == BOND_MODE_ALB; - } - -+static inline bool bond_needs_speed_duplex(const struct bonding *bond) -+{ -+ return BOND_MODE(bond) == BOND_MODE_8023AD || bond_is_lb(bond); -+} -+ - static inline bool bond_is_nondyn_tlb(const struct bonding *bond) - { - return (BOND_MODE(bond) == BOND_MODE_TLB) && --- -2.14.1 - diff --git a/config.x86_64 b/config index a71802021535..728fa7741477 100644 --- a/config.x86_64 +++ b/config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.12.0-1 Kernel Configuration +# Linux/x86 4.14.0-1 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -84,7 +84,9 @@ CONFIG_HAVE_ARCH_AUDITSYSCALL=y # CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_IRQ_MIGRATION=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_GENERIC_MSI_IRQ=y @@ -92,6 +94,7 @@ CONFIG_GENERIC_MSI_IRQ_DOMAIN=y # CONFIG_IRQ_DOMAIN_DEBUG is not set CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y @@ -109,7 +112,7 @@ CONFIG_NO_HZ_COMMON=y # CONFIG_HZ_PERIODIC is not set CONFIG_NO_HZ_IDLE=y # CONFIG_NO_HZ_FULL is not set -# CONFIG_NO_HZ is not set +CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y # @@ -135,7 +138,6 @@ CONFIG_TREE_SRCU=y CONFIG_TASKS_RCU=y CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_NEED_SEGCBLIST=y -# CONFIG_TREE_RCU_TRACE is not set CONFIG_BUILD_BIN2C=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y @@ -216,6 +218,7 @@ CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y @@ -242,7 +245,9 @@ CONFIG_SLUB_DEBUG=y # CONFIG_COMPAT_BRK is not set # CONFIG_SLAB is not set CONFIG_SLUB=y +CONFIG_SLAB_MERGE_DEFAULT=y CONFIG_SLAB_FREELIST_RANDOM=y +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLUB_CPU_PARTIAL=y # CONFIG_SYSTEM_DATA_VERIFICATION is not set CONFIG_PROFILING=y @@ -272,6 +277,7 @@ CONFIG_HAVE_NMI=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y @@ -281,9 +287,11 @@ CONFIG_HAVE_HW_BREAKPOINT=y CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y CONFIG_HAVE_USER_RETURN_NOTIFIER=y CONFIG_HAVE_PERF_EVENTS_NMI=y +CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_RCU_TABLE_FREE=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_CMPXCHG_LOCAL=y @@ -299,6 +307,7 @@ CONFIG_CC_STACKPROTECTOR=y # CONFIG_CC_STACKPROTECTOR_NONE is not set # CONFIG_CC_STACKPROTECTOR_REGULAR is not set CONFIG_CC_STACKPROTECTOR_STRONG=y +CONFIG_THIN_ARCHIVES=y CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y @@ -307,6 +316,7 @@ CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y CONFIG_HAVE_ARCH_HUGE_VMAP=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_MODULES_USE_ELF_RELA=y CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y CONFIG_ARCH_HAS_ELF_RANDOMIZE=y @@ -318,7 +328,6 @@ CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y CONFIG_HAVE_COPY_THREAD_TLS=y CONFIG_HAVE_STACK_VALIDATION=y -CONFIG_HAVE_RELIABLE_STACKTRACE=y # CONFIG_HAVE_ARCH_HASH is not set # CONFIG_ISA_BUS_API is not set CONFIG_OLD_SIGSUSPEND3=y @@ -332,6 +341,7 @@ CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y CONFIG_STRICT_MODULE_RWX=y +# CONFIG_REFCOUNT_FULL is not set # # GCOV-based kernel profiling @@ -395,6 +405,7 @@ CONFIG_EFI_PARTITION=y CONFIG_BLOCK_COMPAT=y CONFIG_BLK_MQ_PCI=y CONFIG_BLK_MQ_VIRTIO=y +CONFIG_BLK_MQ_RDMA=y # # IO Schedulers @@ -413,8 +424,12 @@ CONFIG_IOSCHED_BFQ=y CONFIG_BFQ_GROUP_IOSCHED=y CONFIG_PREEMPT_NOTIFIERS=y CONFIG_PADATA=y -CONFIG_ASN1=m -CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ASN1=y +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_RWSEM_SPIN_ON_OWNER=y @@ -435,7 +450,7 @@ CONFIG_X86_FAST_FEATURE_TESTS=y CONFIG_X86_X2APIC=y CONFIG_X86_MPPARSE=y # CONFIG_GOLDFISH is not set -CONFIG_INTEL_RDT_A=y +CONFIG_INTEL_RDT=y # CONFIG_X86_EXTENDED_PLATFORM is not set CONFIG_X86_INTEL_LPSS=y CONFIG_X86_AMD_PLATFORM_DEVICE=y @@ -503,6 +518,7 @@ CONFIG_X86_MCE=y CONFIG_X86_MCE_INTEL=y CONFIG_X86_MCE_AMD=y CONFIG_X86_MCE_THRESHOLD=y +# CONFIG_X86_MCE_INJECT is not set CONFIG_X86_THERMAL_VECTOR=y # @@ -523,9 +539,14 @@ CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_OLD_INTERFACE=y CONFIG_X86_MSR=m CONFIG_X86_CPUID=m +# CONFIG_X86_5LEVEL is not set CONFIG_ARCH_PHYS_ADDR_T_64BIT=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_X86_DIRECT_GBPAGES=y +CONFIG_ARCH_HAS_MEM_ENCRYPT=y +CONFIG_AMD_MEM_ENCRYPT=y +# CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT is not set +CONFIG_ARCH_USE_MEMREMAP_PROT=y CONFIG_NUMA=y CONFIG_AMD_NUMA=y CONFIG_X86_64_ACPI_NUMA=y @@ -549,9 +570,9 @@ CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_HAVE_MEMBLOCK=y CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_HAVE_GENERIC_GUP=y CONFIG_ARCH_DISCARD_MEMBLOCK=y CONFIG_MEMORY_ISOLATION=y -# CONFIG_MOVABLE_NODE is not set CONFIG_HAVE_BOOTMEM_INFO_NODE=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTPLUG_SPARSE=y @@ -564,6 +585,7 @@ CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_MIGRATION=y CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y +CONFIG_ARCH_ENABLE_THP_MIGRATION=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y @@ -576,10 +598,15 @@ CONFIG_HWPOISON_INJECT=m CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set +CONFIG_ARCH_WANTS_THP_SWAP=y +CONFIG_THP_SWAP=y CONFIG_TRANSPARENT_HUGE_PAGECACHE=y CONFIG_CLEANCACHE=y CONFIG_FRONTSWAP=y -# CONFIG_CMA is not set +CONFIG_CMA=y +# CONFIG_CMA_DEBUG is not set +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_AREAS=7 CONFIG_ZSWAP=y CONFIG_ZPOOL=y CONFIG_ZBUD=y @@ -591,10 +618,18 @@ CONFIG_GENERIC_EARLY_IOREMAP=y CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set # CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_ARCH_HAS_ZONE_DEVICE=y CONFIG_ZONE_DEVICE=y +CONFIG_ARCH_HAS_HMM=y +CONFIG_MIGRATE_VMA_HELPER=y +CONFIG_HMM=y +CONFIG_HMM_MIRROR=y +CONFIG_DEVICE_PRIVATE=y +CONFIG_DEVICE_PUBLIC=y CONFIG_FRAME_VECTOR=y CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y CONFIG_ARCH_HAS_PKEYS=y +# CONFIG_PERCPU_STATS is not set CONFIG_X86_PMEM_LEGACY_DEVICE=y CONFIG_X86_PMEM_LEGACY=y CONFIG_X86_CHECK_BIOS_CORRUPTION=y @@ -642,6 +677,7 @@ CONFIG_LEGACY_VSYSCALL_EMULATE=y # CONFIG_CMDLINE_BOOL is not set CONFIG_MODIFY_LDT_SYSCALL=y CONFIG_HAVE_LIVEPATCH=y +CONFIG_ARCH_HAS_ADD_PAGES=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_USE_PERCPU_NUMA_NODE_ID=y @@ -657,7 +693,7 @@ CONFIG_HIBERNATION=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_SLEEP=y CONFIG_PM_SLEEP_SMP=y -CONFIG_PM_AUTOSLEEP=y +# CONFIG_PM_AUTOSLEEP is not set CONFIG_PM_WAKELOCKS=y CONFIG_PM_WAKELOCKS_LIMIT=100 CONFIG_PM_WAKELOCKS_GC=y @@ -668,6 +704,7 @@ CONFIG_PM_ADVANCED_DEBUG=y CONFIG_PM_SLEEP_DEBUG=y CONFIG_PM_TRACE=y CONFIG_PM_TRACE_RTC=y +CONFIG_PM_OPP=y CONFIG_PM_CLK=y CONFIG_PM_GENERIC_DOMAINS=y CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y @@ -727,6 +764,7 @@ CONFIG_PMIC_OPREGION=y CONFIG_CRC_PMIC_OPREGION=y CONFIG_XPOWER_PMIC_OPREGION=y CONFIG_BXT_WC_PMIC_OPREGION=y +CONFIG_CHT_WC_PMIC_OPREGION=y CONFIG_ACPI_CONFIGFS=m CONFIG_SFI=y @@ -807,6 +845,7 @@ CONFIG_PCI_STUB=m CONFIG_XEN_PCIDEV_FRONTEND=m CONFIG_HT_IRQ=y CONFIG_PCI_ATS=y +CONFIG_PCI_LOCKLESS_CONFIG=y CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y @@ -892,6 +931,7 @@ CONFIG_PACKET=y CONFIG_PACKET_DIAG=m CONFIG_UNIX=y CONFIG_UNIX_DIAG=m +CONFIG_TLS=m CONFIG_XFRM=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_ALGO=m @@ -964,7 +1004,7 @@ CONFIG_TCP_MD5SIG=y CONFIG_IPV6=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y -CONFIG_IPV6_OPTIMISTIC_DAD=y +# CONFIG_IPV6_OPTIMISTIC_DAD is not set CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_ESP_OFFLOAD=m @@ -991,14 +1031,12 @@ CONFIG_IPV6_MROUTE=y CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y CONFIG_IPV6_SEG6_LWTUNNEL=y -# CONFIG_IPV6_SEG6_INLINE is not set CONFIG_IPV6_SEG6_HMAC=y CONFIG_NETLABEL=y CONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y CONFIG_NETWORK_PHY_TIMESTAMPING=y CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y CONFIG_BRIDGE_NETFILTER=m @@ -1081,6 +1119,7 @@ CONFIG_NFT_FIB_INET=m CONFIG_NF_DUP_NETDEV=m CONFIG_NFT_DUP_NETDEV=m CONFIG_NFT_FWD_NETDEV=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NETFILTER_XTABLES=m # @@ -1388,10 +1427,10 @@ CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y +CONFIG_NET_DSA_TAG_LAN9303=y +CONFIG_NET_DSA_TAG_MTK=y CONFIG_NET_DSA_TAG_TRAILER=y CONFIG_NET_DSA_TAG_QCA=y -CONFIG_NET_DSA_TAG_MTK=y -CONFIG_NET_DSA_TAG_LAN9303=y CONFIG_VLAN_8021Q=m # CONFIG_VLAN_8021Q_GVRP is not set CONFIG_VLAN_8021Q_MVRP=y @@ -1530,11 +1569,13 @@ CONFIG_VSOCKETS=m CONFIG_VMWARE_VMCI_VSOCKETS=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTIO_VSOCKETS_COMMON=m +CONFIG_HYPERV_VSOCKETS=m CONFIG_NETLINK_DIAG=m CONFIG_MPLS=y CONFIG_NET_MPLS_GSO=m CONFIG_MPLS_ROUTING=m CONFIG_MPLS_IPTUNNEL=m +CONFIG_NET_NSH=m CONFIG_HSR=m CONFIG_NET_SWITCHDEV=y CONFIG_NET_L3_MASTER_DEV=y @@ -1547,6 +1588,7 @@ CONFIG_CGROUP_NET_CLASSID=y CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_NET_FLOW_LIMIT=y # @@ -1628,62 +1670,6 @@ CONFIG_CAN_PEAK_USB=m CONFIG_CAN_8DEV_USB=m CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_DEBUG_DEVICES is not set -CONFIG_IRDA=m - -# -# IrDA protocols -# -CONFIG_IRLAN=m -CONFIG_IRNET=m -CONFIG_IRCOMM=m -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -# CONFIG_IRDA_DEBUG is not set - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=m - -# -# Dongle support -# -CONFIG_DONGLE=y -CONFIG_ESI_DONGLE=m -CONFIG_ACTISYS_DONGLE=m -CONFIG_TEKRAM_DONGLE=m -CONFIG_TOIM3232_DONGLE=m -CONFIG_LITELINK_DONGLE=m -CONFIG_MA600_DONGLE=m -CONFIG_GIRBIL_DONGLE=m -CONFIG_MCP2120_DONGLE=m -CONFIG_OLD_BELKIN_DONGLE=m -CONFIG_ACT200L_DONGLE=m -CONFIG_KINGSUN_DONGLE=m -CONFIG_KSDAZZLE_DONGLE=m -CONFIG_KS959_DONGLE=m - -# -# FIR device drivers -# -CONFIG_USB_IRDA=m -CONFIG_SIGMATEL_FIR=m -CONFIG_NSC_FIR=m -CONFIG_WINBOND_FIR=m -CONFIG_SMC_IRCC_FIR=m -CONFIG_ALI_FIR=m -CONFIG_VLSI_FIR=m -CONFIG_VIA_FIR=m -CONFIG_MCS_FIR=m CONFIG_BT=m CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m @@ -1742,7 +1728,7 @@ CONFIG_AF_RXRPC_IPV6=y # CONFIG_AF_RXRPC_DEBUG is not set CONFIG_RXKAD=y CONFIG_AF_KCM=m -CONFIG_STREAM_PARSER=m +CONFIG_STREAM_PARSER=y CONFIG_FIB_RULES=y CONFIG_WIRELESS=y CONFIG_WIRELESS_EXT=y @@ -1753,8 +1739,9 @@ CONFIG_WEXT_PRIV=y CONFIG_CFG80211=m # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set # CONFIG_CFG80211_DEFAULT_PS is not set -# CONFIG_CFG80211_DEBUGFS is not set +CONFIG_CFG80211_DEBUGFS=y # CONFIG_CFG80211_INTERNAL_REGDB is not set CONFIG_CFG80211_CRDA_SUPPORT=y CONFIG_CFG80211_WEXT=y @@ -1806,7 +1793,7 @@ CONFIG_NFC_HCI=m # # Near Field Communication (NFC) devices # -CONFIG_NFC_TRF7970A=m +# CONFIG_NFC_TRF7970A is not set CONFIG_NFC_MEI_PHY=m CONFIG_NFC_SIM=m CONFIG_NFC_PORT100=m @@ -1851,7 +1838,7 @@ CONFIG_DEVTMPFS=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y -# CONFIG_FIRMWARE_IN_KERNEL is not set +CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y # CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set @@ -1872,6 +1859,7 @@ CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_IRQ=y CONFIG_DMA_SHARED_BUFFER=y # CONFIG_DMA_FENCE_TRACE is not set +# CONFIG_DMA_CMA is not set # # Bus devices @@ -1888,6 +1876,10 @@ CONFIG_MTD_CMDLINE_PARTS=m CONFIG_MTD_AR7_PARTS=m # +# Partition parsers +# + +# # User Modules And Translation Layers # CONFIG_MTD_BLKDEVS=m @@ -1957,6 +1949,7 @@ CONFIG_MTD_PMC551=m # CONFIG_MTD_PMC551_BUGFIX is not set # CONFIG_MTD_PMC551_DEBUG is not set # CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set # CONFIG_MTD_SST25L is not set CONFIG_MTD_SLRAM=m CONFIG_MTD_PHRAM=m @@ -1997,7 +1990,7 @@ CONFIG_PARPORT_AX88796=m CONFIG_PARPORT_1284=y CONFIG_PARPORT_NOT_PC=y CONFIG_PNP=y -# CONFIG_PNP_DEBUG_MESSAGES is not set +CONFIG_PNP_DEBUG_MESSAGES=y # # Protocols @@ -2009,8 +2002,7 @@ CONFIG_BLK_DEV_FD=m # CONFIG_PARIDE is not set CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m CONFIG_ZRAM=m -CONFIG_BLK_CPQ_CISS_DA=m -CONFIG_CISS_SCSI_TAPE=y +CONFIG_ZRAM_WRITEBACK=y CONFIG_BLK_DEV_DAC960=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set @@ -2037,7 +2029,6 @@ CONFIG_BLK_DEV_RBD=m CONFIG_BLK_DEV_RSXX=m CONFIG_NVME_CORE=m CONFIG_BLK_DEV_NVME=m -# CONFIG_BLK_DEV_NVME_SCSI is not set CONFIG_NVME_FABRICS=m CONFIG_NVME_RDMA=m CONFIG_NVME_FC=m @@ -2107,7 +2098,7 @@ CONFIG_ALTERA_STAPL=m CONFIG_INTEL_MEI=m CONFIG_INTEL_MEI_ME=m CONFIG_INTEL_MEI_TXE=m -CONFIG_INTEL_IPTS=y +CONFIG_INTEL_IPTS=m CONFIG_VMWARE_VMCI=m # @@ -2155,6 +2146,7 @@ CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0 CONFIG_ECHO=m # CONFIG_CXL_BASE is not set # CONFIG_CXL_AFU_DRIVER_OPS is not set +# CONFIG_CXL_LIB is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -2212,19 +2204,19 @@ CONFIG_SCSI_AACRAID=m CONFIG_SCSI_AIC7XXX=m CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 CONFIG_AIC7XXX_RESET_DELAY_MS=15000 -# CONFIG_AIC7XXX_DEBUG_ENABLE is not set +CONFIG_AIC7XXX_DEBUG_ENABLE=y CONFIG_AIC7XXX_DEBUG_MASK=0 CONFIG_AIC7XXX_REG_PRETTY_PRINT=y CONFIG_SCSI_AIC79XX=m CONFIG_AIC79XX_CMDS_PER_DEVICE=32 CONFIG_AIC79XX_RESET_DELAY_MS=15000 -# CONFIG_AIC79XX_DEBUG_ENABLE is not set +CONFIG_AIC79XX_DEBUG_ENABLE=y CONFIG_AIC79XX_DEBUG_MASK=0 CONFIG_AIC79XX_REG_PRETTY_PRINT=y CONFIG_SCSI_AIC94XX=m -# CONFIG_AIC94XX_DEBUG is not set +CONFIG_AIC94XX_DEBUG=y CONFIG_SCSI_MVSAS=m -# CONFIG_SCSI_MVSAS_DEBUG is not set +CONFIG_SCSI_MVSAS_DEBUG=y CONFIG_SCSI_MVSAS_TASKLET=y CONFIG_SCSI_MVUMI=m CONFIG_SCSI_DPT_I2O=m @@ -2280,8 +2272,8 @@ CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 CONFIG_SCSI_SYM53C8XX_MMIO=y CONFIG_SCSI_IPR=m -# CONFIG_SCSI_IPR_TRACE is not set -# CONFIG_SCSI_IPR_DUMP is not set +CONFIG_SCSI_IPR_TRACE=y +CONFIG_SCSI_IPR_DUMP=y CONFIG_SCSI_QLOGIC_1280=m CONFIG_SCSI_QLA_FC=m CONFIG_TCM_QLA2XXX=m @@ -2452,6 +2444,7 @@ CONFIG_DM_VERITY_FEC=y CONFIG_DM_SWITCH=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_INTEGRITY=m +CONFIG_DM_ZONED=m CONFIG_TARGET_CORE=m CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m @@ -2559,17 +2552,18 @@ CONFIG_CAIF_VIRTIO=m # # Distributed Switch Architecture drivers # -CONFIG_NET_DSA_MV88E6060=m CONFIG_B53=m -CONFIG_B53_SPI_DRIVER=m +# CONFIG_B53_SPI_DRIVER is not set CONFIG_B53_MDIO_DRIVER=m CONFIG_B53_MMAP_DRIVER=m CONFIG_B53_SRAB_DRIVER=m +# CONFIG_NET_DSA_LOOP is not set +CONFIG_NET_DSA_MT7530=m +CONFIG_NET_DSA_MV88E6060=m +# CONFIG_MICROCHIP_KSZ is not set CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_QCA8K=m -# CONFIG_NET_DSA_LOOP is not set -CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_SMSC_LAN9303=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m @@ -2610,13 +2604,13 @@ CONFIG_NET_VENDOR_AURORA=y CONFIG_AURORA_NB8800=m CONFIG_NET_CADENCE=y CONFIG_MACB=m +CONFIG_MACB_USE_HWSTAMP=y CONFIG_MACB_PCI=m CONFIG_NET_VENDOR_BROADCOM=y CONFIG_B44=m CONFIG_B44_PCI_AUTOSELECT=y CONFIG_B44_PCICORE_AUTOSELECT=y CONFIG_B44_PCI=y -CONFIG_BCMGENET=m CONFIG_BNX2=m CONFIG_CNIC=m CONFIG_TIGON3=m @@ -2625,6 +2619,7 @@ CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_NET_VENDOR_BROCADE=y CONFIG_BNA=m # CONFIG_NET_VENDOR_CAVIUM is not set @@ -2668,6 +2663,8 @@ CONFIG_NET_VENDOR_FUJITSU=y CONFIG_PCMCIA_FMVJ18X=m CONFIG_NET_VENDOR_HP=y CONFIG_HP100=m +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_HINIC=m CONFIG_NET_VENDOR_INTEL=y CONFIG_E100=m CONFIG_E1000=m @@ -2699,8 +2696,13 @@ CONFIG_MLX4_EN=m CONFIG_MLX4_CORE=m CONFIG_MLX4_DEBUG=y CONFIG_MLX5_CORE=m +CONFIG_MLX5_ACCEL=y +CONFIG_MLX5_FPGA=y CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_MPFS=y +CONFIG_MLX5_ESWITCH=y CONFIG_MLX5_CORE_IPOIB=y +CONFIG_MLX5_EN_IPSEC=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE_THERMAL=y @@ -2710,15 +2712,15 @@ CONFIG_MLXSW_SWITCHIB=m CONFIG_MLXSW_SWITCHX2=m CONFIG_MLXSW_SPECTRUM=m CONFIG_MLXSW_MINIMAL=m +CONFIG_MLXFW=m CONFIG_NET_VENDOR_MICREL=y CONFIG_KS8842=m -CONFIG_KS8851=m +# CONFIG_KS8851 is not set CONFIG_KS8851_MLL=m CONFIG_KSZ884X_PCI=m CONFIG_NET_VENDOR_MICROCHIP=y -CONFIG_ENC28J60=m -# CONFIG_ENC28J60_WRITEVERIFY is not set -CONFIG_ENCX24J600=m +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set CONFIG_NET_VENDOR_MYRI=y CONFIG_MYRI10GE=m CONFIG_MYRI10GE_DCA=y @@ -2728,6 +2730,7 @@ CONFIG_NATSEMI=m CONFIG_NS83820=m CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NFP=m +CONFIG_NFP_APP_FLOWER=y # CONFIG_NFP_DEBUG is not set CONFIG_NET_VENDOR_8390=y CONFIG_PCMCIA_AXNET=m @@ -2755,6 +2758,7 @@ CONFIG_QED_ISCSI=y CONFIG_QED_FCOE=y CONFIG_NET_VENDOR_QUALCOMM=y CONFIG_QCOM_EMAC=m +CONFIG_RMNET=m CONFIG_NET_VENDOR_REALTEK=y CONFIG_ATP=m CONFIG_8139CP=m @@ -2815,7 +2819,7 @@ CONFIG_WIZNET_W5300=m # CONFIG_WIZNET_BUS_DIRECT is not set # CONFIG_WIZNET_BUS_INDIRECT is not set CONFIG_WIZNET_BUS_ANY=y -CONFIG_WIZNET_W5100_SPI=m +# CONFIG_WIZNET_W5100_SPI is not set CONFIG_NET_VENDOR_XIRCOM=y CONFIG_PCMCIA_XIRC2PS=m CONFIG_NET_VENDOR_SYNOPSYS=y @@ -2825,6 +2829,7 @@ CONFIG_DWC_XLGMAC_PCI=m # CONFIG_HIPPI is not set CONFIG_NET_SB1000=m CONFIG_MDIO_DEVICE=m +CONFIG_MDIO_BUS=m CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_THUNDER is not set @@ -2843,6 +2848,7 @@ CONFIG_BCM87XX_PHY=m CONFIG_BCM_NET_PHYLIB=m CONFIG_BROADCOM_PHY=m CONFIG_CICADA_PHY=m +CONFIG_CORTINA_PHY=m CONFIG_DAVICOM_PHY=m CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m @@ -2852,12 +2858,14 @@ CONFIG_INTEL_XWAY_PHY=m CONFIG_LSI_ET1011C_PHY=m CONFIG_LXT_PHY=m CONFIG_MARVELL_PHY=m +CONFIG_MARVELL_10G_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m CONFIG_MICROSEMI_PHY=m CONFIG_NATIONAL_PHY=m CONFIG_QSEMI_PHY=m CONFIG_REALTEK_PHY=m +CONFIG_ROCKCHIP_PHY=m CONFIG_SMSC_PHY=m CONFIG_STE10XP=m CONFIG_TERANETICS_PHY=m @@ -2970,9 +2978,12 @@ CONFIG_ATH6KL_USB=m CONFIG_AR5523=m CONFIG_WIL6210=m CONFIG_WIL6210_ISR_COR=y -# CONFIG_WIL6210_TRACING is not set +CONFIG_WIL6210_TRACING=y +CONFIG_WIL6210_DEBUGFS=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m +CONFIG_ATH10K_SDIO=m +CONFIG_ATH10K_USB=m # CONFIG_ATH10K_DEBUG is not set CONFIG_ATH10K_DEBUGFS=y # CONFIG_ATH10K_TRACING is not set @@ -3007,7 +3018,7 @@ CONFIG_B43LEGACY_PCI_AUTOSELECT=y CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y CONFIG_B43LEGACY_LEDS=y CONFIG_B43LEGACY_HWRNG=y -# CONFIG_B43LEGACY_DEBUG is not set +CONFIG_B43LEGACY_DEBUG=y CONFIG_B43LEGACY_DMA=y CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y @@ -3080,8 +3091,7 @@ CONFIG_ORINOCO_USB=m CONFIG_P54_COMMON=m CONFIG_P54_USB=m CONFIG_P54_PCI=m -CONFIG_P54_SPI=m -# CONFIG_P54_SPI_DEFAULT_EEPROM is not set +# CONFIG_P54_SPI is not set CONFIG_P54_LEDS=y CONFIG_PRISM54=m CONFIG_WLAN_VENDOR_MARVELL=y @@ -3089,7 +3099,7 @@ CONFIG_LIBERTAS=m CONFIG_LIBERTAS_USB=m CONFIG_LIBERTAS_CS=m CONFIG_LIBERTAS_SDIO=m -CONFIG_LIBERTAS_SPI=m +# CONFIG_LIBERTAS_SPI is not set # CONFIG_LIBERTAS_DEBUG is not set CONFIG_LIBERTAS_MESH=y CONFIG_LIBERTAS_THINFIRM=m @@ -3149,7 +3159,7 @@ CONFIG_RTL8192CU=m CONFIG_RTLWIFI=m CONFIG_RTLWIFI_PCI=m CONFIG_RTLWIFI_USB=m -# CONFIG_RTLWIFI_DEBUG is not set +CONFIG_RTLWIFI_DEBUG=y CONFIG_RTL8192C_COMMON=m CONFIG_RTL8723_COMMON=m CONFIG_RTLBTCOEXIST=m @@ -3157,13 +3167,13 @@ CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y CONFIG_WLAN_VENDOR_RSI=y CONFIG_RSI_91X=m -# CONFIG_RSI_DEBUGFS is not set +CONFIG_RSI_DEBUGFS=y CONFIG_RSI_SDIO=m CONFIG_RSI_USB=m CONFIG_WLAN_VENDOR_ST=y CONFIG_CW1200=m CONFIG_CW1200_WLAN_SDIO=m -CONFIG_CW1200_WLAN_SPI=m +# CONFIG_CW1200_WLAN_SPI is not set CONFIG_WLAN_VENDOR_TI=y CONFIG_WL1251=m # CONFIG_WL1251_SPI is not set @@ -3177,6 +3187,9 @@ CONFIG_WLAN_VENDOR_ZYDAS=y CONFIG_USB_ZD1201=m CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set +CONFIG_WLAN_VENDOR_QUANTENNA=y +CONFIG_QTNFMAC=m +CONFIG_QTNFMAC_PEARL_PCIE=m CONFIG_PCMCIA_RAYCS=m CONFIG_PCMCIA_WL3501=m # CONFIG_MAC80211_HWSIM is not set @@ -3356,28 +3369,29 @@ CONFIG_INPUT_EVDEV=m # CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_ADC is not set -CONFIG_KEYBOARD_ADP5588=m -CONFIG_KEYBOARD_ADP5589=m +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set CONFIG_KEYBOARD_ATKBD=m -CONFIG_KEYBOARD_QT1070=m -CONFIG_KEYBOARD_QT2160=m +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_DLINK_DIR685 is not set # CONFIG_KEYBOARD_LKKBD is not set CONFIG_KEYBOARD_GPIO=m # CONFIG_KEYBOARD_GPIO_POLLED is not set -CONFIG_KEYBOARD_TCA6416=m -CONFIG_KEYBOARD_TCA8418=m -CONFIG_KEYBOARD_MATRIX=m +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_MATRIX is not set # CONFIG_KEYBOARD_LM8323 is not set -CONFIG_KEYBOARD_LM8333=m +# CONFIG_KEYBOARD_LM8333 is not set # CONFIG_KEYBOARD_MAX7359 is not set -CONFIG_KEYBOARD_MCS=m -CONFIG_KEYBOARD_MPR121=m +# CONFIG_KEYBOARD_MCS is not set +# CONFIG_KEYBOARD_MPR121 is not set # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_OPENCORES is not set # CONFIG_KEYBOARD_SAMSUNG is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_KEYBOARD_SUNKBD is not set -CONFIG_KEYBOARD_TM2_TOUCHKEY=m +# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set # CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_CROS_EC is not set CONFIG_INPUT_MOUSE=y @@ -3404,7 +3418,7 @@ CONFIG_MOUSE_ELAN_I2C=m CONFIG_MOUSE_ELAN_I2C_I2C=y CONFIG_MOUSE_ELAN_I2C_SMBUS=y CONFIG_MOUSE_VSXXXAA=m -# CONFIG_MOUSE_GPIO is not set +CONFIG_MOUSE_GPIO=m CONFIG_MOUSE_SYNAPTICS_I2C=m CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_INPUT_JOYSTICK=y @@ -3465,7 +3479,7 @@ CONFIG_TOUCHSCREEN_CYTTSP_I2C=m # CONFIG_TOUCHSCREEN_CYTTSP_SPI is not set CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m -CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m +# CONFIG_TOUCHSCREEN_CYTTSP4_SPI is not set CONFIG_TOUCHSCREEN_DYNAPRO=m CONFIG_TOUCHSCREEN_HAMPSHIRE=m CONFIG_TOUCHSCREEN_EETI=m @@ -3529,8 +3543,9 @@ CONFIG_TOUCHSCREEN_RM_TS=m CONFIG_TOUCHSCREEN_SILEAD=m CONFIG_TOUCHSCREEN_SIS_I2C=m CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_STMFTS=m CONFIG_TOUCHSCREEN_SUR40=m -CONFIG_TOUCHSCREEN_SURFACE3_SPI=m +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set # CONFIG_TOUCHSCREEN_SX8654 is not set CONFIG_TOUCHSCREEN_TPS6507X=m CONFIG_TOUCHSCREEN_ZET6223=m @@ -3548,9 +3563,9 @@ CONFIG_INPUT_MC13783_PWRBUTTON=m CONFIG_INPUT_MMA8450=m CONFIG_INPUT_APANEL=m CONFIG_INPUT_GP2A=m -# CONFIG_INPUT_GPIO_BEEPER is not set -# CONFIG_INPUT_GPIO_TILT_POLLED is not set -# CONFIG_INPUT_GPIO_DECODER is not set +CONFIG_INPUT_GPIO_BEEPER=m +CONFIG_INPUT_GPIO_TILT_POLLED=m +CONFIG_INPUT_GPIO_DECODER=m CONFIG_INPUT_ATLAS_BTNS=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_KEYSPAN_REMOTE=m @@ -3599,15 +3614,16 @@ CONFIG_SERIO=m CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y CONFIG_SERIO_I8042=m CONFIG_SERIO_SERPORT=m -CONFIG_SERIO_CT82C710=m +# CONFIG_SERIO_CT82C710 is not set CONFIG_SERIO_PARKBD=m CONFIG_SERIO_PCIPS2=m CONFIG_SERIO_LIBPS2=m CONFIG_SERIO_RAW=m -CONFIG_SERIO_ALTERA_PS2=m -CONFIG_SERIO_PS2MULT=m -CONFIG_SERIO_ARC_PS2=m +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set CONFIG_HYPERV_KEYBOARD=m +CONFIG_SERIO_GPIO_PS2=m # CONFIG_USERIO is not set CONFIG_GAMEPORT=m CONFIG_GAMEPORT_NS558=m @@ -3707,6 +3723,7 @@ CONFIG_HVC_XEN=y CONFIG_HVC_XEN_FRONTEND=y CONFIG_VIRTIO_CONSOLE=m CONFIG_IPMI_HANDLER=m +CONFIG_IPMI_DMI_DECODE=y # CONFIG_IPMI_PANIC_EVENT is not set CONFIG_IPMI_DEVICE_INTERFACE=m CONFIG_IPMI_SI=m @@ -3775,7 +3792,6 @@ CONFIG_I2C_MUX=m CONFIG_I2C_MUX_LTC4306=m CONFIG_I2C_MUX_PCA9541=m CONFIG_I2C_MUX_PCA954x=m -# CONFIG_I2C_MUX_PINCTRL is not set # CONFIG_I2C_MUX_REG is not set # CONFIG_I2C_MUX_MLXCPLD is not set CONFIG_I2C_HELPER_AUTO=y @@ -3800,6 +3816,7 @@ CONFIG_I2C_I801=m CONFIG_I2C_ISCH=m CONFIG_I2C_ISMT=m CONFIG_I2C_PIIX4=m +CONFIG_I2C_CHT_WC=m CONFIG_I2C_NFORCE2=m CONFIG_I2C_NFORCE2_S4985=m CONFIG_I2C_SIS5595=m @@ -3817,8 +3834,9 @@ CONFIG_I2C_SCMI=m # I2C system bus drivers (mostly embedded / system-on-chip) # # CONFIG_I2C_CBUS_GPIO is not set -CONFIG_I2C_DESIGNWARE_CORE=m -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_CORE=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +# CONFIG_I2C_DESIGNWARE_SLAVE is not set CONFIG_I2C_DESIGNWARE_PCI=m CONFIG_I2C_DESIGNWARE_BAYTRAIL=y # CONFIG_I2C_EMEV2 is not set @@ -3858,38 +3876,32 @@ CONFIG_SPI_MASTER=y # # SPI Master Controller Drivers # -CONFIG_SPI_ALTERA=m +# CONFIG_SPI_ALTERA is not set # CONFIG_SPI_AXI_SPI_ENGINE is not set -CONFIG_SPI_BITBANG=m -CONFIG_SPI_BUTTERFLY=m +# CONFIG_SPI_BITBANG is not set +# CONFIG_SPI_BUTTERFLY is not set # CONFIG_SPI_CADENCE is not set -CONFIG_SPI_DESIGNWARE=m -CONFIG_SPI_DW_PCI=m -# CONFIG_SPI_DW_MID_DMA is not set -CONFIG_SPI_DW_MMIO=m -CONFIG_SPI_GPIO=m -CONFIG_SPI_LM70_LLP=m -CONFIG_SPI_OC_TINY=m +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_LM70_LLP is not set +# CONFIG_SPI_OC_TINY is not set CONFIG_SPI_PXA2XX=m CONFIG_SPI_PXA2XX_PCI=m -CONFIG_SPI_ROCKCHIP=m -CONFIG_SPI_SC18IS602=m -CONFIG_SPI_XCOMM=m -CONFIG_SPI_XILINX=m -CONFIG_SPI_ZYNQMP_GQSPI=m +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set # # SPI Protocol Masters # -CONFIG_SPI_SPIDEV=m +# CONFIG_SPI_SPIDEV is not set # CONFIG_SPI_LOOPBACK_TEST is not set -CONFIG_SPI_TLE62X0=m +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set CONFIG_SPMI=m # CONFIG_HSI is not set - -# -# PPS support -# CONFIG_PPS=m # CONFIG_PPS_DEBUG is not set @@ -3921,13 +3933,17 @@ CONFIG_PINCONF=y CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set # CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL_BAYTRAIL=y -CONFIG_PINCTRL_CHERRYVIEW=y -CONFIG_PINCTRL_INTEL=y -CONFIG_PINCTRL_BROXTON=y -# CONFIG_PINCTRL_GEMINILAKE is not set -CONFIG_PINCTRL_SUNRISEPOINT=y +CONFIG_PINCTRL_CHERRYVIEW=m +CONFIG_PINCTRL_INTEL=m +CONFIG_PINCTRL_BROXTON=m +CONFIG_PINCTRL_CANNONLAKE=m +CONFIG_PINCTRL_DENVERTON=m +CONFIG_PINCTRL_GEMINILAKE=m +CONFIG_PINCTRL_LEWISBURG=m +CONFIG_PINCTRL_SUNRISEPOINT=m CONFIG_GPIOLIB=y CONFIG_GPIO_ACPI=y CONFIG_GPIOLIB_IRQCHIP=y @@ -3973,6 +3989,7 @@ CONFIG_GPIO_SCH311X=m CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_LP3943 is not set # CONFIG_GPIO_TPS65218 is not set +# CONFIG_GPIO_TPS68470 is not set # CONFIG_GPIO_UCB1400 is not set CONFIG_GPIO_WHISKEY_COVE=m @@ -3990,10 +4007,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_MAX7301 is not set # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_PISOSR is not set - -# -# SPI or I2C GPIO expanders -# +# CONFIG_GPIO_XRA1403 is not set # # USB GPIO expanders @@ -4026,6 +4040,7 @@ CONFIG_BATTERY_MAX17042=m # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_LP8727 is not set CONFIG_CHARGER_GPIO=m +CONFIG_CHARGER_LTC3651=m # CONFIG_CHARGER_BQ2415X is not set # CONFIG_CHARGER_BQ24190 is not set # CONFIG_CHARGER_BQ24257 is not set @@ -4045,7 +4060,7 @@ CONFIG_HWMON_VID=m # CONFIG_SENSORS_ABITUGURU=m CONFIG_SENSORS_ABITUGURU3=m -CONFIG_SENSORS_AD7314=m +# CONFIG_SENSORS_AD7314 is not set CONFIG_SENSORS_AD7414=m CONFIG_SENSORS_AD7418=m CONFIG_SENSORS_ADM1021=m @@ -4055,7 +4070,7 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADT7X10=m -CONFIG_SENSORS_ADT7310=m +# CONFIG_SENSORS_ADT7310 is not set CONFIG_SENSORS_ADT7410=m CONFIG_SENSORS_ADT7411=m CONFIG_SENSORS_ADT7462=m @@ -4102,12 +4117,12 @@ CONFIG_SENSORS_LTC4222=m CONFIG_SENSORS_LTC4245=m CONFIG_SENSORS_LTC4260=m CONFIG_SENSORS_LTC4261=m -CONFIG_SENSORS_MAX1111=m +# CONFIG_SENSORS_MAX1111 is not set CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m -CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31722 is not set CONFIG_SENSORS_MAX6639=m CONFIG_SENSORS_MAX6642=m CONFIG_SENSORS_MAX6650=m @@ -4115,9 +4130,9 @@ CONFIG_SENSORS_MAX6697=m CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MCP3021=m CONFIG_SENSORS_TC654=m -CONFIG_SENSORS_ADCXX=m +# CONFIG_SENSORS_ADCXX is not set CONFIG_SENSORS_LM63=m -CONFIG_SENSORS_LM70=m +# CONFIG_SENSORS_LM70 is not set CONFIG_SENSORS_LM73=m CONFIG_SENSORS_LM75=m CONFIG_SENSORS_LM77=m @@ -4143,6 +4158,8 @@ CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_IBM_CFFPS=m +CONFIG_SENSORS_IR35221=m CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LTC2978=m CONFIG_SENSORS_LTC3815=m @@ -4151,6 +4168,7 @@ CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX34440=m CONFIG_SENSORS_MAX8688=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_UCD9000=m CONFIG_SENSORS_UCD9200=m CONFIG_SENSORS_ZL6100=m @@ -4174,7 +4192,7 @@ CONFIG_SENSORS_SMM665=m CONFIG_SENSORS_ADC128D818=m CONFIG_SENSORS_ADS1015=m CONFIG_SENSORS_ADS7828=m -CONFIG_SENSORS_ADS7871=m +# CONFIG_SENSORS_ADS7871 is not set CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m @@ -4219,8 +4237,10 @@ CONFIG_THERMAL_GOV_FAIR_SHARE=y CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_USER_SPACE=y -# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set -# CONFIG_THERMAL_EMULATION is not set +CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y +CONFIG_CLOCK_THERMAL=y +CONFIG_DEVFREQ_THERMAL=y +CONFIG_THERMAL_EMULATION=y CONFIG_INTEL_POWERCLAMP=m CONFIG_X86_PKG_TEMP_THERMAL=m CONFIG_INTEL_SOC_DTS_IOSF_CORE=m @@ -4238,6 +4258,7 @@ CONFIG_GENERIC_ADC_THERMAL=m CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y # CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y CONFIG_WATCHDOG_SYSFS=y # @@ -4329,10 +4350,6 @@ CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y CONFIG_SSB_DRIVER_PCICORE=y CONFIG_SSB_DRIVER_GPIO=y CONFIG_BCMA_POSSIBLE=y - -# -# Broadcom specific AMBA -# CONFIG_BCMA=m CONFIG_BCMA_BLOCKIO=y CONFIG_BCMA_HOST_PCI_POSSIBLE=y @@ -4351,11 +4368,12 @@ CONFIG_MFD_CORE=y # CONFIG_PMIC_ADP5520 is not set # CONFIG_MFD_AAT2870_CORE is not set CONFIG_MFD_BCM590XX=m +# CONFIG_MFD_BD9571MWV is not set CONFIG_MFD_AXP20X=m CONFIG_MFD_AXP20X_I2C=m CONFIG_MFD_CROS_EC=m CONFIG_MFD_CROS_EC_I2C=m -CONFIG_MFD_CROS_EC_SPI=m +# CONFIG_MFD_CROS_EC_SPI is not set # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_DA9052_SPI is not set # CONFIG_MFD_DA9052_I2C is not set @@ -4374,6 +4392,7 @@ CONFIG_LPC_ICH=m CONFIG_LPC_SCH=m CONFIG_INTEL_SOC_PMIC=y CONFIG_INTEL_SOC_PMIC_BXTWC=m +CONFIG_INTEL_SOC_PMIC_CHTWC=y CONFIG_MFD_INTEL_LPSS=m CONFIG_MFD_INTEL_LPSS_ACPI=m CONFIG_MFD_INTEL_LPSS_PCI=m @@ -4423,6 +4442,7 @@ CONFIG_TPS6507X=m # CONFIG_MFD_TPS65086 is not set # CONFIG_MFD_TPS65090 is not set CONFIG_MFD_TPS65217=m +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TI_LP873X is not set CONFIG_MFD_TPS65218=m # CONFIG_MFD_TPS6586X is not set @@ -4451,6 +4471,42 @@ CONFIG_MFD_WM5110=y # CONFIG_MFD_WM8994 is not set # CONFIG_REGULATOR is not set CONFIG_CEC_CORE=m +CONFIG_RC_CORE=m +CONFIG_RC_MAP=m +CONFIG_RC_DECODERS=y +CONFIG_LIRC=m +CONFIG_IR_LIRC_CODEC=m +CONFIG_IR_NEC_DECODER=m +CONFIG_IR_RC5_DECODER=m +CONFIG_IR_RC6_DECODER=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_SANYO_DECODER=m +CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_XMP_DECODER=m +CONFIG_RC_DEVICES=y +CONFIG_RC_ATI_REMOTE=m +CONFIG_IR_ENE=m +CONFIG_IR_HIX5HD2=m +CONFIG_IR_IMON=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m +CONFIG_IR_NUVOTON=m +CONFIG_IR_REDRAT3=m +# CONFIG_IR_SPI is not set +CONFIG_IR_STREAMZAP=m +CONFIG_IR_WINBOND_CIR=m +CONFIG_IR_IGORPLUGUSB=m +CONFIG_IR_IGUANA=m +CONFIG_IR_TTUSBIR=m +CONFIG_RC_LOOPBACK=m +CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m +CONFIG_IR_SERIAL=m +CONFIG_IR_SERIAL_TRANSMITTER=y +CONFIG_IR_SIR=m CONFIG_MEDIA_SUPPORT=m # @@ -4461,7 +4517,6 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_RADIO_SUPPORT=y CONFIG_MEDIA_SDR_SUPPORT=y -CONFIG_MEDIA_RC_SUPPORT=y CONFIG_MEDIA_CEC_SUPPORT=y CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CONTROLLER=y @@ -4475,6 +4530,7 @@ CONFIG_VIDEO_V4L2=m CONFIG_VIDEO_TUNER=m CONFIG_V4L2_MEM2MEM_DEV=m # CONFIG_V4L2_FLASH_LED_CLASS is not set +CONFIG_V4L2_FWNODE=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m @@ -4495,41 +4551,6 @@ CONFIG_DVB_MAX_ADAPTERS=16 # # Media drivers # -CONFIG_RC_CORE=m -CONFIG_RC_MAP=m -CONFIG_RC_DECODERS=y -CONFIG_LIRC=m -CONFIG_IR_LIRC_CODEC=m -CONFIG_IR_NEC_DECODER=m -CONFIG_IR_RC5_DECODER=m -CONFIG_IR_RC6_DECODER=m -CONFIG_IR_JVC_DECODER=m -CONFIG_IR_SONY_DECODER=m -CONFIG_IR_SANYO_DECODER=m -CONFIG_IR_SHARP_DECODER=m -CONFIG_IR_MCE_KBD_DECODER=m -CONFIG_IR_XMP_DECODER=m -CONFIG_RC_DEVICES=y -CONFIG_RC_ATI_REMOTE=m -CONFIG_IR_ENE=m -CONFIG_IR_HIX5HD2=m -CONFIG_IR_IMON=m -CONFIG_IR_MCEUSB=m -CONFIG_IR_ITE_CIR=m -CONFIG_IR_FINTEK=m -CONFIG_IR_NUVOTON=m -CONFIG_IR_REDRAT3=m -CONFIG_IR_SPI=m -CONFIG_IR_STREAMZAP=m -CONFIG_IR_WINBOND_CIR=m -CONFIG_IR_IGORPLUGUSB=m -CONFIG_IR_IGUANA=m -CONFIG_IR_TTUSBIR=m -CONFIG_RC_LOOPBACK=m -CONFIG_IR_GPIO_CIR=m -CONFIG_IR_SERIAL=m -CONFIG_IR_SERIAL_TRANSMITTER=y -CONFIG_IR_SIR=m CONFIG_MEDIA_USB_SUPPORT=y # @@ -4692,7 +4713,7 @@ CONFIG_VIDEO_EM28XX_RC=m # CONFIG_USB_AIRSPY=m CONFIG_USB_HACKRF=m -CONFIG_USB_MSI2500=m +# CONFIG_USB_MSI2500 is not set # # USB HDMI CEC adapters @@ -4778,11 +4799,11 @@ CONFIG_DVB_MANTIS=m CONFIG_DVB_HOPPER=m CONFIG_DVB_NGENE=m CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set CONFIG_DVB_SMIPCIE=m -CONFIG_DVB_NETUP_UNIDVB=m +# CONFIG_DVB_NETUP_UNIDVB is not set CONFIG_V4L_PLATFORM_DRIVERS=y # CONFIG_VIDEO_CAFE_CCIC is not set -# CONFIG_VIDEO_VIA_CAMERA is not set # CONFIG_SOC_CAMERA is not set CONFIG_V4L_MEM2MEM_DRIVERS=y CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m @@ -4793,6 +4814,7 @@ CONFIG_VIDEO_VIMC=m # CONFIG_VIDEO_VIM2M is not set CONFIG_DVB_PLATFORM_DRIVERS=y CONFIG_CEC_PLATFORM_DRIVERS=y +CONFIG_SDR_PLATFORM_DRIVERS=y # # Supported MMC/SDIO adapters @@ -4845,6 +4867,7 @@ CONFIG_VIDEO_SAA7146_VV=m CONFIG_SMS_SIANO_MDTV=m CONFIG_SMS_SIANO_RC=y # CONFIG_SMS_SIANO_DEBUGFS is not set +CONFIG_VIDEO_V4L2_TPG=m # # Media ancillary drivers (tuners, sensors, i2c, spi, frontends) @@ -4931,6 +4954,10 @@ CONFIG_VIDEO_UPD64083=m CONFIG_VIDEO_SAA6752HS=m # +# SDR tuner chips +# + +# # Miscellaneous helper chips # CONFIG_VIDEO_M52790=m @@ -4946,7 +4973,6 @@ CONFIG_MEDIA_TUNER_TDA18271=m CONFIG_MEDIA_TUNER_TDA9887=m CONFIG_MEDIA_TUNER_TEA5761=m CONFIG_MEDIA_TUNER_TEA5767=m -CONFIG_MEDIA_TUNER_MSI001=m CONFIG_MEDIA_TUNER_MT20XX=m CONFIG_MEDIA_TUNER_MT2060=m CONFIG_MEDIA_TUNER_MT2063=m @@ -4981,7 +5007,10 @@ CONFIG_MEDIA_TUNER_QM1D1C0042=m CONFIG_DVB_STB0899=m CONFIG_DVB_STB6100=m CONFIG_DVB_STV090x=m +CONFIG_DVB_STV0910=m CONFIG_DVB_STV6110x=m +CONFIG_DVB_STV6111=m +CONFIG_DVB_MXL5XX=m CONFIG_DVB_M88DS3103=m # @@ -5117,9 +5146,6 @@ CONFIG_DVB_TDA665x=m CONFIG_DVB_IX2505V=m CONFIG_DVB_M88RS2000=m CONFIG_DVB_AF9033=m -CONFIG_DVB_HORUS3A=m -CONFIG_DVB_ASCOT2E=m -CONFIG_DVB_HELENE=m # # Tools to develop new frontends @@ -5129,7 +5155,7 @@ CONFIG_DVB_HELENE=m # # Graphics support # -CONFIG_AGP=y +CONFIG_AGP=m CONFIG_AGP_AMD64=m CONFIG_AGP_INTEL=m CONFIG_AGP_SIS=m @@ -5198,6 +5224,7 @@ CONFIG_DRM_PANEL=y # Display Panels # CONFIG_DRM_BRIDGE=y +CONFIG_DRM_PANEL_BRIDGE=y # # Display Interface Bridges @@ -5250,7 +5277,7 @@ CONFIG_FB_VESA=y CONFIG_FB_EFI=y # CONFIG_FB_N411 is not set # CONFIG_FB_HGA is not set -CONFIG_FB_OPENCORES=m +# CONFIG_FB_OPENCORES is not set # CONFIG_FB_S1D13XXX is not set # CONFIG_FB_NVIDIA is not set # CONFIG_FB_RIVA is not set @@ -5263,13 +5290,11 @@ CONFIG_FB_OPENCORES=m # CONFIG_FB_S3 is not set # CONFIG_FB_SAVAGE is not set # CONFIG_FB_SIS is not set -CONFIG_FB_VIA=m -CONFIG_FB_VIA_DIRECT_PROCFS=y -CONFIG_FB_VIA_X_COMPATIBILITY=y +# CONFIG_FB_VIA is not set # CONFIG_FB_NEOMAGIC is not set # CONFIG_FB_KYRO is not set # CONFIG_FB_3DFX is not set -CONFIG_FB_VOODOO1=m +# CONFIG_FB_VOODOO1 is not set # CONFIG_FB_VT8623 is not set # CONFIG_FB_TRIDENT is not set # CONFIG_FB_ARK is not set @@ -5279,7 +5304,7 @@ CONFIG_FB_VOODOO1=m # CONFIG_FB_SMSCUFX is not set CONFIG_FB_UDL=m # CONFIG_FB_IBM_GXT4500 is not set -CONFIG_FB_VIRTUAL=m +# CONFIG_FB_VIRTUAL is not set CONFIG_XEN_FBDEV_FRONTEND=m # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set @@ -5305,13 +5330,13 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LCD_HX8357 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set -CONFIG_BACKLIGHT_LM3533=m +# CONFIG_BACKLIGHT_LM3533 is not set CONFIG_BACKLIGHT_APPLE=m # CONFIG_BACKLIGHT_PM8941_WLED is not set # CONFIG_BACKLIGHT_SAHARA is not set # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set -CONFIG_BACKLIGHT_PCF50633=m +# CONFIG_BACKLIGHT_PCF50633 is not set # CONFIG_BACKLIGHT_LM3639 is not set # CONFIG_BACKLIGHT_TPS65217 is not set # CONFIG_BACKLIGHT_GPIO is not set @@ -5345,20 +5370,17 @@ CONFIG_SND_PCM_ELD=y CONFIG_SND_PCM_IEC958=y CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_HWDEP=m +CONFIG_SND_SEQ_DEVICE=m CONFIG_SND_RAWMIDI=m CONFIG_SND_COMPRESS_OFFLOAD=m CONFIG_SND_JACK=y CONFIG_SND_JACK_INPUT_DEV=y -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m CONFIG_SND_OSSEMUL=y CONFIG_SND_MIXER_OSS=m CONFIG_SND_PCM_OSS=m CONFIG_SND_PCM_OSS_PLUGINS=y CONFIG_SND_PCM_TIMER=y -CONFIG_SND_SEQUENCER_OSS=y CONFIG_SND_HRTIMER=m -CONFIG_SND_SEQ_HRTIMER_DEFAULT=y CONFIG_SND_DYNAMIC_MINORS=y CONFIG_SND_MAX_CARDS=32 # CONFIG_SND_SUPPORT_OLD_API is not set @@ -5368,13 +5390,18 @@ CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_DEBUG is not set CONFIG_SND_VMASTER=y CONFIG_SND_DMA_SGBUF=y -CONFIG_SND_RAWMIDI_SEQ=m -CONFIG_SND_OPL3_LIB_SEQ=m -# CONFIG_SND_OPL4_LIB_SEQ is not set -# CONFIG_SND_SBAWE_SEQ is not set -CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_SEQUENCER_OSS=m +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_SEQ_MIDI_EVENT=m +CONFIG_SND_SEQ_MIDI=m +CONFIG_SND_SEQ_MIDI_EMUL=m +CONFIG_SND_SEQ_VIRMIDI=m CONFIG_SND_MPU401_UART=m CONFIG_SND_OPL3_LIB=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set CONFIG_SND_VX_LIB=m CONFIG_SND_AC97_CODEC=m CONFIG_SND_DRIVERS=y @@ -5428,6 +5455,7 @@ CONFIG_SND_INDIGODJ=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGODJX=m CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1_SEQ=m CONFIG_SND_EMU10K1X=m CONFIG_SND_ENS1370=m CONFIG_SND_ENS1371=m @@ -5572,11 +5600,18 @@ CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH=m CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m +CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH=m +CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH=m CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m + +# +# STMicroelectronics STM32 SOC audio support +# CONFIG_SND_SOC_XTFPGA_I2S=m CONFIG_ZX_TDM=m CONFIG_SND_SOC_I2C_AND_SPI=m @@ -5590,9 +5625,9 @@ CONFIG_SND_SOC_ADAU1701=m CONFIG_SND_SOC_ADAU17X1=m CONFIG_SND_SOC_ADAU1761=m CONFIG_SND_SOC_ADAU1761_I2C=m -CONFIG_SND_SOC_ADAU1761_SPI=m +# CONFIG_SND_SOC_ADAU1761_SPI is not set CONFIG_SND_SOC_ADAU7002=m -CONFIG_SND_SOC_AK4104=m +# CONFIG_SND_SOC_AK4104 is not set CONFIG_SND_SOC_AK4554=m CONFIG_SND_SOC_AK4613=m CONFIG_SND_SOC_AK4642=m @@ -5613,9 +5648,10 @@ CONFIG_SND_SOC_CS4265=m CONFIG_SND_SOC_CS4270=m CONFIG_SND_SOC_CS4271=m CONFIG_SND_SOC_CS4271_I2C=m -CONFIG_SND_SOC_CS4271_SPI=m +# CONFIG_SND_SOC_CS4271_SPI is not set CONFIG_SND_SOC_CS42XX8=m CONFIG_SND_SOC_CS42XX8_I2C=m +CONFIG_SND_SOC_CS43130=m CONFIG_SND_SOC_CS4349=m CONFIG_SND_SOC_CS53L30=m CONFIG_SND_SOC_DA7213=m @@ -5624,9 +5660,10 @@ CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_ES7134=m +CONFIG_SND_SOC_ES8316=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_I2C=m -CONFIG_SND_SOC_ES8328_SPI=m +# CONFIG_SND_SOC_ES8328_SPI is not set CONFIG_SND_SOC_GTM601=m CONFIG_SND_SOC_HDAC_HDMI=m CONFIG_SND_SOC_INNO_RK3036=m @@ -5640,22 +5677,25 @@ CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m CONFIG_SND_SOC_PCM1681=m CONFIG_SND_SOC_PCM179X=m CONFIG_SND_SOC_PCM179X_I2C=m -CONFIG_SND_SOC_PCM179X_SPI=m +# CONFIG_SND_SOC_PCM179X_SPI is not set CONFIG_SND_SOC_PCM3168A=m CONFIG_SND_SOC_PCM3168A_I2C=m -CONFIG_SND_SOC_PCM3168A_SPI=m +# CONFIG_SND_SOC_PCM3168A_SPI is not set CONFIG_SND_SOC_PCM512x=m CONFIG_SND_SOC_PCM512x_I2C=m -CONFIG_SND_SOC_PCM512x_SPI=m +# CONFIG_SND_SOC_PCM512x_SPI is not set CONFIG_SND_SOC_RL6231=m CONFIG_SND_SOC_RL6347A=m CONFIG_SND_SOC_RT286=m CONFIG_SND_SOC_RT298=m +CONFIG_SND_SOC_RT5514=m +CONFIG_SND_SOC_RT5514_SPI=m CONFIG_SND_SOC_RT5616=m CONFIG_SND_SOC_RT5631=m CONFIG_SND_SOC_RT5640=m CONFIG_SND_SOC_RT5645=m CONFIG_SND_SOC_RT5651=m +CONFIG_SND_SOC_RT5663=m CONFIG_SND_SOC_RT5670=m CONFIG_SND_SOC_RT5677=m CONFIG_SND_SOC_RT5677_SPI=m @@ -5667,7 +5707,7 @@ CONFIG_SND_SOC_SIGMADSP_REGMAP=m CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m CONFIG_SND_SOC_SPDIF=m CONFIG_SND_SOC_SSM2602=m -CONFIG_SND_SOC_SSM2602_SPI=m +# CONFIG_SND_SOC_SSM2602_SPI is not set CONFIG_SND_SOC_SSM2602_I2C=m CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_STA32X=m @@ -5680,12 +5720,13 @@ CONFIG_SND_SOC_TAS5720=m CONFIG_SND_SOC_TFA9879=m CONFIG_SND_SOC_TLV320AIC23=m CONFIG_SND_SOC_TLV320AIC23_I2C=m -CONFIG_SND_SOC_TLV320AIC23_SPI=m +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set CONFIG_SND_SOC_TLV320AIC31XX=m CONFIG_SND_SOC_TLV320AIC3X=m CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_WM8510=m CONFIG_SND_SOC_WM8523=m +CONFIG_SND_SOC_WM8524=m CONFIG_SND_SOC_WM8580=m CONFIG_SND_SOC_WM8711=m CONFIG_SND_SOC_WM8728=m @@ -5694,17 +5735,18 @@ CONFIG_SND_SOC_WM8737=m CONFIG_SND_SOC_WM8741=m CONFIG_SND_SOC_WM8750=m CONFIG_SND_SOC_WM8753=m -CONFIG_SND_SOC_WM8770=m +# CONFIG_SND_SOC_WM8770 is not set CONFIG_SND_SOC_WM8776=m CONFIG_SND_SOC_WM8804=m CONFIG_SND_SOC_WM8804_I2C=m -CONFIG_SND_SOC_WM8804_SPI=m +# CONFIG_SND_SOC_WM8804_SPI is not set CONFIG_SND_SOC_WM8903=m CONFIG_SND_SOC_WM8960=m CONFIG_SND_SOC_WM8962=m CONFIG_SND_SOC_WM8974=m CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_WM8985=m +CONFIG_SND_SOC_ZX_AUD96P22=m CONFIG_SND_SOC_NAU8540=m CONFIG_SND_SOC_NAU8810=m CONFIG_SND_SOC_NAU8824=m @@ -5714,6 +5756,7 @@ CONFIG_SND_SIMPLE_CARD_UTILS=m CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_X86=y CONFIG_HDMI_LPE_AUDIO=m +CONFIG_SND_SYNTH_EMUX=m CONFIG_AC97_BUS=m # @@ -5762,6 +5805,7 @@ CONFIG_HID_UCLOGIC=m CONFIG_HID_WALTOP=m CONFIG_HID_GYRATION=m CONFIG_HID_ICADE=m +CONFIG_HID_ITE=m CONFIG_HID_TWINHAN=m CONFIG_HID_KENSINGTON=m CONFIG_HID_LCPOWER=m @@ -5794,6 +5838,7 @@ CONFIG_HID_PICOLCD_LEDS=y CONFIG_HID_PICOLCD_CIR=y CONFIG_HID_PLANTRONICS=m CONFIG_HID_PRIMAX=m +CONFIG_HID_RETRODE=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAITEK=m CONFIG_HID_SAMSUNG=m @@ -5877,7 +5922,7 @@ CONFIG_USB_OXU210HP_HCD=m CONFIG_USB_ISP116X_HCD=m CONFIG_USB_ISP1362_HCD=m # CONFIG_USB_FOTG210_HCD is not set -CONFIG_USB_MAX3421_HCD=m +# CONFIG_USB_MAX3421_HCD is not set CONFIG_USB_OHCI_HCD=m CONFIG_USB_OHCI_HCD_PCI=m # CONFIG_USB_OHCI_HCD_SSB is not set @@ -5983,6 +6028,18 @@ CONFIG_USB_SERIAL_IPW=m CONFIG_USB_SERIAL_IUU=m CONFIG_USB_SERIAL_KEYSPAN_PDA=m CONFIG_USB_SERIAL_KEYSPAN=m +# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m @@ -6045,7 +6102,6 @@ CONFIG_USB_HSIC_USB3503=m CONFIG_USB_HSIC_USB4604=m CONFIG_USB_LINK_LAYER_TEST=m CONFIG_USB_CHAOSKEY=m -CONFIG_UCSI=m CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m CONFIG_USB_CXACRU=m @@ -6068,6 +6124,8 @@ CONFIG_USB_ISP1301=m # CONFIG_TYPEC=m CONFIG_TYPEC_WCOVE=m +CONFIG_TYPEC_UCSI=m +CONFIG_UCSI_ACPI=m CONFIG_USB_LED_TRIG=y # CONFIG_USB_ULPI_BUS is not set CONFIG_UWB=m @@ -6075,16 +6133,15 @@ CONFIG_UWB_HWA=m CONFIG_UWB_WHCI=m CONFIG_UWB_I1480U=m CONFIG_MMC=m -# CONFIG_MMC_DEBUG is not set CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_SDIO_UART=m # CONFIG_MMC_TEST is not set # # MMC/SD/SDIO Host Controller Drivers # +# CONFIG_MMC_DEBUG is not set CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_RICOH_MMC=y @@ -6092,7 +6149,7 @@ CONFIG_MMC_SDHCI_ACPI=m CONFIG_MMC_SDHCI_PLTFM=m CONFIG_MMC_WBSD=m CONFIG_MMC_TIFM_SD=m -CONFIG_MMC_SPI=m +# CONFIG_MMC_SPI is not set CONFIG_MMC_SDRICOH_CS=m CONFIG_MMC_CB710=m CONFIG_MMC_VIA_SDMMC=m @@ -6130,6 +6187,7 @@ CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y # # LED drivers # +CONFIG_LEDS_AS3645A=m CONFIG_LEDS_LM3530=m CONFIG_LEDS_LM3533=m CONFIG_LEDS_LM3642=m @@ -6145,8 +6203,9 @@ CONFIG_LEDS_LP3952=m CONFIG_LEDS_LP8860=m CONFIG_LEDS_CLEVO_MAIL=m CONFIG_LEDS_PCA955X=m +CONFIG_LEDS_PCA955X_GPIO=y CONFIG_LEDS_PCA963X=m -CONFIG_LEDS_DAC124S085=m +# CONFIG_LEDS_DAC124S085 is not set CONFIG_LEDS_BD2802=m CONFIG_LEDS_INTEL_SS4200=m CONFIG_LEDS_LT3593=m @@ -6188,6 +6247,7 @@ CONFIG_A11Y_BRAILLE_CONSOLE=y CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_USER_MEM=y CONFIG_INFINIBAND_ON_DEMAND_PAGING=y CONFIG_INFINIBAND_ADDR_TRANS=y @@ -6195,7 +6255,7 @@ CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y CONFIG_INFINIBAND_MTHCA=m CONFIG_INFINIBAND_MTHCA_DEBUG=y CONFIG_INFINIBAND_QIB=m -# CONFIG_INFINIBAND_QIB_DCA is not set +CONFIG_INFINIBAND_QIB_DCA=y CONFIG_INFINIBAND_CXGB3=m # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB4=m @@ -6220,7 +6280,6 @@ CONFIG_INFINIBAND_RDMAVT=m CONFIG_RDMA_RXE=m CONFIG_INFINIBAND_HFI1=m # CONFIG_HFI1_DEBUG_SDMA_ORDER is not set -CONFIG_HFI1_VERBS_31BIT_PSN=y # CONFIG_SDMA_VERBOSITY is not set # CONFIG_INFINIBAND_QEDR is not set CONFIG_EDAC_ATOMIC_SCRUB=y @@ -6254,6 +6313,7 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0" CONFIG_RTC_SYSTOHC=y CONFIG_RTC_SYSTOHC_DEVICE="rtc0" # CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y # # RTC interfaces @@ -6262,37 +6322,33 @@ CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_INTF_PROC=y CONFIG_RTC_INTF_DEV=y CONFIG_RTC_INTF_DEV_UIE_EMUL=y -CONFIG_RTC_DRV_TEST=m +# CONFIG_RTC_DRV_TEST is not set # # I2C RTC drivers # # CONFIG_RTC_DRV_ABB5ZES3 is not set -CONFIG_RTC_DRV_ABX80X=m -CONFIG_RTC_DRV_DS1307=m -CONFIG_RTC_DRV_DS1307_HWMON=y -# CONFIG_RTC_DRV_DS1307_CENTURY is not set -CONFIG_RTC_DRV_DS1374=m -CONFIG_RTC_DRV_DS1374_WDT=y -CONFIG_RTC_DRV_DS1672=m -CONFIG_RTC_DRV_MAX6900=m -CONFIG_RTC_DRV_RS5C372=m -CONFIG_RTC_DRV_ISL1208=m -CONFIG_RTC_DRV_ISL12022=m -CONFIG_RTC_DRV_X1205=m -CONFIG_RTC_DRV_PCF8523=m -CONFIG_RTC_DRV_PCF85063=m -CONFIG_RTC_DRV_PCF8563=m -CONFIG_RTC_DRV_PCF8583=m -CONFIG_RTC_DRV_M41T80=m -CONFIG_RTC_DRV_M41T80_WDT=y -CONFIG_RTC_DRV_BQ32K=m -CONFIG_RTC_DRV_S35390A=m -CONFIG_RTC_DRV_FM3130=m -CONFIG_RTC_DRV_RX8010=m -CONFIG_RTC_DRV_RX8581=m -CONFIG_RTC_DRV_RX8025=m -CONFIG_RTC_DRV_EM3027=m +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8010 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set # CONFIG_RTC_DRV_RV8803 is not set # @@ -6305,7 +6361,7 @@ CONFIG_RTC_DRV_EM3027=m # CONFIG_RTC_DRV_DS1343 is not set # CONFIG_RTC_DRV_DS1347 is not set # CONFIG_RTC_DRV_DS1390 is not set -CONFIG_RTC_DRV_MAX6916=m +# CONFIG_RTC_DRV_MAX6916 is not set # CONFIG_RTC_DRV_R9701 is not set # CONFIG_RTC_DRV_RX4581 is not set # CONFIG_RTC_DRV_RX6110 is not set @@ -6318,42 +6374,35 @@ CONFIG_RTC_I2C_AND_SPI=y # # SPI and I2C RTC drivers # -CONFIG_RTC_DRV_DS3232=m -CONFIG_RTC_DRV_PCF2127=m -CONFIG_RTC_DRV_RV3029C2=m -CONFIG_RTC_DRV_RV3029_HWMON=y +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set # # Platform RTC drivers # CONFIG_RTC_DRV_CMOS=y -CONFIG_RTC_DRV_DS1286=m -CONFIG_RTC_DRV_DS1511=m -CONFIG_RTC_DRV_DS1553=m -CONFIG_RTC_DRV_DS1685_FAMILY=m -CONFIG_RTC_DRV_DS1685=y -# CONFIG_RTC_DRV_DS1689 is not set -# CONFIG_RTC_DRV_DS17285 is not set -# CONFIG_RTC_DRV_DS17485 is not set -# CONFIG_RTC_DRV_DS17885 is not set -# CONFIG_RTC_DS1685_PROC_REGS is not set -CONFIG_RTC_DS1685_SYSFS_REGS=y -CONFIG_RTC_DRV_DS1742=m -CONFIG_RTC_DRV_DS2404=m -CONFIG_RTC_DRV_STK17TA8=m -CONFIG_RTC_DRV_M48T86=m -CONFIG_RTC_DRV_M48T35=m -CONFIG_RTC_DRV_M48T59=m -CONFIG_RTC_DRV_MSM6242=m -CONFIG_RTC_DRV_BQ4802=m -CONFIG_RTC_DRV_RP5C01=m -CONFIG_RTC_DRV_V3020=m -CONFIG_RTC_DRV_PCF50633=m +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_PCF50633 is not set # # on-CPU RTC drivers # -CONFIG_RTC_DRV_MC13XXX=m +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_MC13XXX is not set # # HID Sensor RTC drivers @@ -6368,6 +6417,7 @@ CONFIG_DMADEVICES=y CONFIG_DMA_ENGINE=y CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DMA_ACPI=y +CONFIG_ALTERA_MSGDMA=m CONFIG_INTEL_IDMA64=m CONFIG_INTEL_IOATDMA=m CONFIG_INTEL_MIC_X100_DMA=m @@ -6463,6 +6513,7 @@ CONFIG_XEN_GRANT_DEV_ALLOC=m CONFIG_SWIOTLB_XEN=y CONFIG_XEN_TMEM=m CONFIG_XEN_PCIDEV_BACKEND=m +# CONFIG_XEN_PVCALLS_BACKEND is not set CONFIG_XEN_SCSI_BACKEND=m CONFIG_XEN_PRIVCMD=m CONFIG_XEN_ACPI_PROCESSOR=m @@ -6474,6 +6525,62 @@ CONFIG_XEN_ACPI=y CONFIG_XEN_SYMS=y CONFIG_XEN_HAVE_VPMU=y CONFIG_STAGING=y +CONFIG_IRDA=m + +# +# IrDA protocols +# +CONFIG_IRLAN=m +CONFIG_IRNET=m +CONFIG_IRCOMM=m +CONFIG_IRDA_ULTRA=y + +# +# IrDA options +# +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_FAST_RR=y +# CONFIG_IRDA_DEBUG is not set + +# +# Infrared-port device drivers +# + +# +# SIR device drivers +# +CONFIG_IRTTY_SIR=m + +# +# Dongle support +# +CONFIG_DONGLE=y +CONFIG_ESI_DONGLE=m +CONFIG_ACTISYS_DONGLE=m +CONFIG_TEKRAM_DONGLE=m +CONFIG_TOIM3232_DONGLE=m +CONFIG_LITELINK_DONGLE=m +CONFIG_MA600_DONGLE=m +CONFIG_GIRBIL_DONGLE=m +CONFIG_MCP2120_DONGLE=m +CONFIG_OLD_BELKIN_DONGLE=m +CONFIG_ACT200L_DONGLE=m +CONFIG_KINGSUN_DONGLE=m +CONFIG_KSDAZZLE_DONGLE=m +CONFIG_KS959_DONGLE=m + +# +# FIR device drivers +# +CONFIG_USB_IRDA=m +CONFIG_SIGMATEL_FIR=m +CONFIG_NSC_FIR=m +CONFIG_WINBOND_FIR=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_ALI_FIR=m +CONFIG_VLSI_FIR=m +CONFIG_VIA_FIR=m +CONFIG_MCS_FIR=m CONFIG_PRISM2_USB=m CONFIG_COMEDI=m # CONFIG_COMEDI_DEBUG is not set @@ -6576,6 +6683,10 @@ CONFIG_RTL8723BS=m CONFIG_R8712U=m CONFIG_R8188EU=m CONFIG_88EU_AP_MODE=y +CONFIG_R8822BE=m +CONFIG_RTLHALMAC_ST=m +CONFIG_RTLPHYDM_ST=m +CONFIG_RTLWIFI_DEBUG_ST=y CONFIG_RTS5208=m CONFIG_VT6655=m CONFIG_VT6656=m @@ -6632,7 +6743,6 @@ CONFIG_VT6656=m # # Light sensors # -# CONFIG_SENSORS_ISL29028 is not set # CONFIG_TSL2x7x is not set # @@ -6673,7 +6783,7 @@ CONFIG_SPEAKUP_SYNTH_SPKOUT=m CONFIG_SPEAKUP_SYNTH_TXPRT=m CONFIG_SPEAKUP_SYNTH_DUMMY=m CONFIG_STAGING_MEDIA=y -# CONFIG_INTEL_ATOMISP is not set +CONFIG_INTEL_ATOMISP=y CONFIG_VIDEO_ATOMISP=m CONFIG_VIDEO_OV5693=m CONFIG_VIDEO_IMX=m @@ -6703,7 +6813,6 @@ CONFIG_LNET_MAX_PAYLOAD=1048576 CONFIG_LNET_SELFTEST=m CONFIG_LNET_XPRT_IB=m CONFIG_LUSTRE_FS=m -CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER=8192 # CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set CONFIG_DGNC=m CONFIG_GS_FPGABOOT=m @@ -6722,6 +6831,8 @@ CONFIG_GS_FPGABOOT=m CONFIG_TYPEC_TCPM=m CONFIG_TYPEC_TCPCI=m CONFIG_TYPEC_FUSB302=m +CONFIG_DRM_VBOXVIDEO=m +# CONFIG_PI433 is not set CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACER_WMI=m CONFIG_ACERHDF=m @@ -6735,7 +6846,6 @@ CONFIG_DELL_WMI_LED=m CONFIG_DELL_SMO8800=m CONFIG_DELL_RBTN=m CONFIG_FUJITSU_LAPTOP=m -# CONFIG_FUJITSU_LAPTOP_DEBUG is not set CONFIG_FUJITSU_TABLET=m CONFIG_AMILO_RFKILL=m CONFIG_HP_ACCEL=m @@ -6763,7 +6873,9 @@ CONFIG_ASUS_NB_WMI=m CONFIG_EEEPC_WMI=m CONFIG_ASUS_WIRELESS=m CONFIG_ACPI_WMI=m +CONFIG_WMI_BMOF=m CONFIG_MSI_WMI=m +CONFIG_PEAQ_WMI=m CONFIG_TOPSTAR_LAPTOP=m CONFIG_ACPI_TOSHIBA=m CONFIG_TOSHIBA_BT_RFKILL=m @@ -6771,6 +6883,7 @@ CONFIG_TOSHIBA_HAPS=m CONFIG_TOSHIBA_WMI=m CONFIG_ACPI_CMPC=m CONFIG_INTEL_CHT_INT33FE=m +CONFIG_INTEL_INT0002_VGPIO=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_VBTN=m CONFIG_INTEL_IPS=m @@ -6800,6 +6913,7 @@ CONFIG_CHROMEOS_LAPTOP=m CONFIG_CHROMEOS_PSTORE=m CONFIG_CROS_EC_CHARDEV=m CONFIG_CROS_EC_LPC=m +# CONFIG_CROS_EC_LPC_MEC is not set CONFIG_CROS_EC_PROTO=y CONFIG_CROS_KBD_LED_BACKLIGHT=m CONFIG_CLKDEV_LOOKUP=y @@ -6815,10 +6929,7 @@ CONFIG_COMMON_CLK=y # CONFIG_COMMON_CLK_NXP is not set # CONFIG_COMMON_CLK_PXA is not set # CONFIG_COMMON_CLK_PIC32 is not set - -# -# Hardware Spinlock drivers -# +CONFIG_HWSPINLOCK=m # # Clock Source drivers @@ -6858,21 +6969,29 @@ CONFIG_REMOTEPROC=m # # Rpmsg drivers # +# CONFIG_RPMSG_QCOM_GLINK_RPM is not set # # SOC (System On Chip) specific Drivers # # +# Amlogic SoC drivers +# + +# # Broadcom SoC drivers # # # i.MX SoC drivers # + +# +# Qualcomm SoC drivers +# # CONFIG_SUNXI_SRAM is not set # CONFIG_SOC_TI is not set -# CONFIG_SOC_ZTE is not set CONFIG_PM_DEVFREQ=y # @@ -6888,7 +7007,7 @@ CONFIG_DEVFREQ_GOV_PASSIVE=m # DEVFREQ Drivers # # CONFIG_PM_DEVFREQ_EVENT is not set -CONFIG_EXTCON=m +CONFIG_EXTCON=y # # Extcon Device Drivers @@ -6898,11 +7017,12 @@ CONFIG_EXTCON_ARIZONA=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_GPIO=m CONFIG_EXTCON_INTEL_INT3496=m +CONFIG_EXTCON_INTEL_CHT_WC=m CONFIG_EXTCON_MAX3355=m -CONFIG_EXTCON_QCOM_SPMI_MISC=m CONFIG_EXTCON_RT8973A=m CONFIG_EXTCON_SM5502=m CONFIG_EXTCON_USB_GPIO=m +CONFIG_EXTCON_USBC_CROS_EC=m CONFIG_MEMORY=y CONFIG_IIO=m CONFIG_IIO_BUFFER=y @@ -6962,6 +7082,7 @@ CONFIG_AXP288_ADC=m # CONFIG_HI8435 is not set # CONFIG_HX711 is not set # CONFIG_INA2XX_ADC is not set +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_MAX1027 is not set @@ -6976,7 +7097,9 @@ CONFIG_AXP288_ADC=m # CONFIG_QCOM_SPMI_VADC is not set # CONFIG_TI_ADC081C is not set # CONFIG_TI_ADC0832 is not set +# CONFIG_TI_ADC084S021 is not set # CONFIG_TI_ADC12138 is not set +# CONFIG_TI_ADC108S102 is not set # CONFIG_TI_ADC128S052 is not set # CONFIG_TI_ADC161S626 is not set # CONFIG_TI_ADS1015 is not set @@ -6994,6 +7117,7 @@ CONFIG_AXP288_ADC=m # Chemical Sensors # # CONFIG_ATLAS_PH_SENSOR is not set +# CONFIG_CCS811 is not set # CONFIG_IAQCORE is not set # CONFIG_VZ89X is not set CONFIG_IIO_CROS_EC_SENSORS_CORE=m @@ -7128,7 +7252,8 @@ CONFIG_ACPI_ALS=m # CONFIG_CM36651 is not set # CONFIG_IIO_CROS_EC_LIGHT_PROX is not set # CONFIG_GP2AP020A00F is not set -# CONFIG_SENSORS_ISL29018 is not set +CONFIG_SENSORS_ISL29018=m +# CONFIG_SENSORS_ISL29028 is not set # CONFIG_ISL29125 is not set CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_PROX=m @@ -7166,6 +7291,10 @@ CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_SENSORS_HMC5843_SPI is not set # +# Multiplexers +# + +# # Inclinometer sensors # CONFIG_HID_SENSOR_INCLINOMETER_3D=m @@ -7244,13 +7373,14 @@ CONFIG_RESET_CONTROLLER=y # CONFIG_RESET_ATH79 is not set # CONFIG_RESET_BERLIN is not set # CONFIG_RESET_IMX7 is not set +# CONFIG_RESET_LANTIQ is not set # CONFIG_RESET_LPC18XX is not set # CONFIG_RESET_MESON is not set # CONFIG_RESET_PISTACHIO is not set # CONFIG_RESET_SOCFPGA is not set # CONFIG_RESET_STM32 is not set # CONFIG_RESET_SUNXI is not set -# CONFIG_TI_SYSCON_RESET is not set +# CONFIG_RESET_TI_SYSCON is not set # CONFIG_RESET_ZYNQ is not set # CONFIG_RESET_TEGRA_BPMP is not set CONFIG_FMC=m @@ -7263,9 +7393,10 @@ CONFIG_FMC_CHARDEV=m # PHY Subsystem # CONFIG_GENERIC_PHY=y +CONFIG_BCM_KONA_USB2_PHY=m # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set -CONFIG_BCM_KONA_USB2_PHY=m +# CONFIG_PHY_CPCAP_USB is not set CONFIG_POWERCAP=y CONFIG_INTEL_RAPL=m # CONFIG_MCB is not set @@ -7274,7 +7405,6 @@ CONFIG_INTEL_RAPL=m # Performance monitor support # CONFIG_RAS=y -# CONFIG_MCE_AMD_INJ is not set CONFIG_RAS_CEC=y CONFIG_THUNDERBOLT=m @@ -7294,7 +7424,7 @@ CONFIG_NVDIMM_DAX=y CONFIG_DAX=m CONFIG_DEV_DAX=m CONFIG_DEV_DAX_PMEM=m -CONFIG_NVMEM=m +CONFIG_NVMEM=y CONFIG_STM=m # CONFIG_STM_DUMMY is not set CONFIG_STM_SOURCE_CONSOLE=m @@ -7307,16 +7437,15 @@ CONFIG_INTEL_TH_STH=m CONFIG_INTEL_TH_MSU=m CONFIG_INTEL_TH_PTI=m # CONFIG_INTEL_TH_DEBUG is not set - -# -# FPGA Configuration Support -# # CONFIG_FPGA is not set # # FSI support # CONFIG_FSI=m +CONFIG_FSI_MASTER_GPIO=m +CONFIG_FSI_MASTER_HUB=m +CONFIG_FSI_SCOM=m # # Firmware Drivers @@ -7338,14 +7467,18 @@ CONFIG_FW_CFG_SYSFS=m # # EFI (Extensible Firmware Interface) Support # -# CONFIG_EFI_VARS is not set +CONFIG_EFI_VARS=y CONFIG_EFI_ESRT=y +CONFIG_EFI_VARS_PSTORE=m +# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set CONFIG_EFI_RUNTIME_MAP=y # CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_BOOTLOADER_CONTROL=m CONFIG_EFI_CAPSULE_LOADER=m # CONFIG_EFI_TEST is not set CONFIG_APPLE_PROPERTIES=y +CONFIG_RESET_ATTACK_MITIGATION=y CONFIG_UEFI_CPER=y CONFIG_EFI_DEV_PATH_PARSER=y @@ -7393,7 +7526,7 @@ CONFIG_OCFS2_FS=m CONFIG_OCFS2_FS_O2CB=m CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m CONFIG_OCFS2_FS_STATS=y -# CONFIG_OCFS2_DEBUG_MASKLOG is not set +CONFIG_OCFS2_DEBUG_MASKLOG=y # CONFIG_OCFS2_DEBUG_FS is not set CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y @@ -7437,6 +7570,7 @@ CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_OVERLAY_FS=m CONFIG_OVERLAY_FS_REDIRECT_DIR=y +CONFIG_OVERLAY_FS_INDEX=y # # Caches @@ -7534,6 +7668,7 @@ CONFIG_SQUASHFS_ZLIB=y CONFIG_SQUASHFS_LZ4=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 @@ -7616,9 +7751,10 @@ CONFIG_CIFS_UPCALL=y CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_ACL=y -# CONFIG_CIFS_DEBUG is not set +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set CONFIG_CIFS_DFS_UPCALL=y -CONFIG_CIFS_SMB2=y CONFIG_CIFS_SMB311=y CONFIG_CIFS_FSCACHE=y # CONFIG_NCP_FS is not set @@ -7713,8 +7849,6 @@ CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y -CONFIG_ARCH_WANT_FRAME_POINTERS=y -CONFIG_FRAME_POINTER=y CONFIG_STACK_VALIDATION=y # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set CONFIG_MAGIC_SYSRQ=y @@ -7754,6 +7888,9 @@ CONFIG_ARCH_HAS_KCOV=y # Debug Lockups and Hangs # CONFIG_LOCKUP_DETECTOR=y +CONFIG_SOFTLOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR_PERF=y +CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y CONFIG_HARDLOCKUP_DETECTOR=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 @@ -7789,6 +7926,7 @@ CONFIG_SCHEDSTATS=y # CONFIG_LOCK_TORTURE_TEST is not set # CONFIG_WW_MUTEX_SELFTEST is not set CONFIG_STACKTRACE=y +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set # CONFIG_DEBUG_KOBJECT is not set CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_LIST is not set @@ -7801,7 +7939,6 @@ CONFIG_DEBUG_BUGVERBOSE=y # RCU Debugging # # CONFIG_PROVE_RCU is not set -# CONFIG_SPARSE_RCU_POINTER is not set # CONFIG_TORTURE_TEST is not set # CONFIG_RCU_PERF_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set @@ -7863,8 +8000,10 @@ CONFIG_MMIOTRACE=y # CONFIG_TRACEPOINT_BENCHMARK is not set CONFIG_RING_BUFFER_BENCHMARK=m # CONFIG_RING_BUFFER_STARTUP_TEST is not set -# CONFIG_TRACE_ENUM_MAP_FILE is not set -# CONFIG_TRACING_EVENTS_GPIO is not set +# CONFIG_TRACE_EVAL_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_DMA_API_DEBUG is not set # # Runtime Testing @@ -7888,15 +8027,15 @@ CONFIG_TEST_KSTRTOX=m # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set # CONFIG_TEST_PARMAN is not set -# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set -# CONFIG_DMA_API_DEBUG is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_USER_COPY is not set # CONFIG_TEST_BPF is not set # CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_SYSCTL is not set # CONFIG_TEST_UDELAY is not set -# CONFIG_MEMTEST is not set # CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_TEST_KMOD is not set +# CONFIG_MEMTEST is not set # CONFIG_BUG_ON_DATA_CORRUPTION is not set # CONFIG_SAMPLES is not set CONFIG_HAVE_ARCH_KGDB=y @@ -7938,6 +8077,8 @@ CONFIG_OPTIMIZE_INLINING=y # CONFIG_DEBUG_NMI_SELFTEST is not set # CONFIG_X86_DEBUG_FPU is not set # CONFIG_PUNIT_ATOM_DEBUG is not set +# CONFIG_FRAME_POINTER_UNWINDER is not set +CONFIG_ORC_UNWINDER=y # # Security options @@ -7945,6 +8086,7 @@ CONFIG_OPTIMIZE_INLINING=y CONFIG_KEYS=y CONFIG_KEYS_COMPAT=y CONFIG_PERSISTENT_KEYRINGS=y +CONFIG_BIG_KEYS=y CONFIG_TRUSTED_KEYS=m CONFIG_ENCRYPTED_KEYS=m CONFIG_KEY_DH_OPERATIONS=y @@ -7953,10 +8095,12 @@ CONFIG_SECURITY=y # CONFIG_SECURITY_WRITABLE_HOOKS is not set CONFIG_SECURITYFS=y # CONFIG_SECURITY_NETWORK is not set +CONFIG_SECURITY_INFINIBAND=y CONFIG_SECURITY_PATH=y # CONFIG_INTEL_TXT is not set CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y CONFIG_HARDENED_USERCOPY=y +CONFIG_FORTIFY_SOURCE=y # CONFIG_STATIC_USERMODEHELPER is not set # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -7982,15 +8126,15 @@ CONFIG_CRYPTO=y # CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y -CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_RNG_DEFAULT=y CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_AKCIPHER=m CONFIG_CRYPTO_KPP2=y @@ -8003,8 +8147,8 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -CONFIG_CRYPTO_GF128MUL=m -CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_WORKQUEUE=y @@ -8021,16 +8165,16 @@ CONFIG_CRYPTO_ENGINE=m # Authenticated Encryption with Associated Data # CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_CHACHA20POLY1305=m -CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_ECHAINIV=m # # Block modes # CONFIG_CRYPTO_CBC=m -CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_LRW=m @@ -8055,7 +8199,7 @@ CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_CRC32_PCLMUL=m CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m -CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_GHASH=y CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_POLY1305_X86_64=m CONFIG_CRYPTO_MD4=m @@ -8133,12 +8277,12 @@ CONFIG_CRYPTO_LZ4HC=m # Random Number Generation # CONFIG_CRYPTO_ANSI_CPRNG=m -CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_MENU=y CONFIG_CRYPTO_DRBG_HMAC=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_CTR=y -CONFIG_CRYPTO_DRBG=m -CONFIG_CRYPTO_JITTERENTROPY=m +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_USER_API=m CONFIG_CRYPTO_USER_API_HASH=m CONFIG_CRYPTO_USER_API_SKCIPHER=m @@ -8152,6 +8296,7 @@ CONFIG_CRYPTO_DEV_PADLOCK_SHA=m # CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC is not set CONFIG_CRYPTO_DEV_CCP=y CONFIG_CRYPTO_DEV_CCP_DD=m +CONFIG_CRYPTO_DEV_SP_CCP=y CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_QAT=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m @@ -8160,6 +8305,8 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m +CONFIG_CRYPTO_DEV_NITROX=m +CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_ASYMMETRIC_KEY_TYPE=y @@ -8227,9 +8374,11 @@ CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC32_SLICEBY4 is not set # CONFIG_CRC32_SARWATE is not set # CONFIG_CRC32_BIT is not set +CONFIG_CRC4=m CONFIG_CRC7=m CONFIG_LIBCRC32C=m CONFIG_CRC8=m +CONFIG_XXHASH=m # CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set # CONFIG_RANDOM32_SELFTEST is not set CONFIG_842_COMPRESS=m @@ -8241,6 +8390,8 @@ CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_COMPRESS=m CONFIG_LZ4HC_COMPRESS=m CONFIG_LZ4_DECOMPRESS=y +CONFIG_ZSTD_COMPRESS=m +CONFIG_ZSTD_DECOMPRESS=m CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y CONFIG_XZ_DEC_POWERPC=y @@ -8305,6 +8456,7 @@ CONFIG_FONT_AUTOSELECT=y CONFIG_SG_POOL=y CONFIG_ARCH_HAS_SG_CHAIN=y CONFIG_ARCH_HAS_PMEM_API=y -CONFIG_ARCH_HAS_MMIO_FLUSH=y +CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y CONFIG_SBITMAP=y CONFIG_PARMAN=m +# CONFIG_STRING_SELFTEST is not set diff --git a/ipts_fw_config.bin b/ipts_fw_config.bin Binary files differdeleted file mode 100644 index 2522e8f97bcf..000000000000 --- a/ipts_fw_config.bin +++ /dev/null diff --git a/mm-Revert-x86_64-and-arm64-ELF_ET_DYN_BASE-base.patch b/mm-Revert-x86_64-and-arm64-ELF_ET_DYN_BASE-base.patch deleted file mode 100644 index bf089e08adc6..000000000000 --- a/mm-Revert-x86_64-and-arm64-ELF_ET_DYN_BASE-base.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h -index acae781f7359..3288c2b36731 100644 ---- a/arch/arm64/include/asm/elf.h -+++ b/arch/arm64/include/asm/elf.h -@@ -114,10 +114,10 @@ - - /* - * This is the base location for PIE (ET_DYN with INTERP) loads. On -- * 64-bit, this is raised to 4GB to leave the entire 32-bit address -+ * 64-bit, this is above 4GB to leave the entire 32-bit address - * space open for things that want to use the area for 32-bit pointers. - */ --#define ELF_ET_DYN_BASE 0x100000000UL -+#define ELF_ET_DYN_BASE (2 * TASK_SIZE_64 / 3) - - #ifndef __ASSEMBLY__ - -diff --git a/arch/x86/include/asm/elf.h b/arch/x86/include/asm/elf.h -index 1c18d83d3f09..9aeb91935ce0 100644 ---- a/arch/x86/include/asm/elf.h -+++ b/arch/x86/include/asm/elf.h -@@ -247,11 +247,11 @@ extern int force_personality32; - - /* - * This is the base location for PIE (ET_DYN with INTERP) loads. On -- * 64-bit, this is raised to 4GB to leave the entire 32-bit address -+ * 64-bit, this is above 4GB to leave the entire 32-bit address - * space open for things that want to use the area for 32-bit pointers. - */ - #define ELF_ET_DYN_BASE (mmap_is_ia32() ? 0x000400000UL : \ -- 0x100000000UL) -+ (TASK_SIZE / 3 * 2)) - - /* This yields a mask that user programs can use to figure out what - instruction set this CPU supports. This could be done in user space, |