Compare commits
294 Commits
Author | SHA1 | Date |
---|---|---|
Josh Boyer | f0cec8a3bb | |
Josh Boyer | 8d3b8964b7 | |
Josh Boyer | b76c98ddd6 | |
Laura Abbott | f340e962e7 | |
Laura Abbott | db62170ee0 | |
Josh Boyer | 1a38d3b0f3 | |
Josh Boyer | e1344c869b | |
Josh Boyer | 8b2b9e776d | |
Laura Abbott | 885cb3a4ac | |
Josh Boyer | 3aec64cb4f | |
Josh Boyer | 52586bf4d1 | |
Laura Abbott | 4f4ecd1a03 | |
Laura Abbott | 8f427dedef | |
Josh Boyer | 2532c1a7a3 | |
Josh Boyer | d6924f4727 | |
Josh Boyer | 216b2d0c30 | |
Laura Abbott | 06df19e333 | |
Josh Boyer | 1807804541 | |
Josh Boyer | e6600690f8 | |
Josh Boyer | 52e0800e16 | |
Laura Abbott | 29b09fa4d9 | |
Josh Boyer | 2e753772a6 | |
Josh Boyer | 50a3012c19 | |
Josh Boyer | 80a7c46d89 | |
Josh Boyer | 11059ef1d5 | |
Peter Robinson | 440fa05f1a | |
Peter Robinson | 217253720d | |
Josh Boyer | 7f8740629a | |
Josh Boyer | 192eeb3772 | |
Josh Boyer | 0c4a46cb94 | |
Josh Boyer | 9d4e21bf3a | |
Laura Abbott | 334e67b414 | |
Josh Boyer | b97d8effe6 | |
Josh Boyer | d4fafcd2e7 | |
Laura Abbott | 9514853f05 | |
Josh Boyer | 0583f779ed | |
Laura Abbott | 0a25633606 | |
Josh Boyer | fd0bbc149b | |
Josh Boyer | c09c92405d | |
Josh Boyer | c8e81b8411 | |
Justin M. Forbes | 047928c0ea | |
Josh Boyer | 4b9f628d2d | |
Laura Abbott | 8506853794 | |
Josh Boyer | 169fbc4b25 | |
Josh Boyer | b8e899e9d0 | |
Laura Abbott | 875b08035a | |
Josh Boyer | 90acd75710 | |
Josh Boyer | 70aa4d626d | |
Josh Boyer | b341a37b8f | |
Laura Abbott | 1123184a37 | |
Josh Boyer | e92d4f049c | |
Josh Boyer | cd4dc3e8de | |
Josh Boyer | 2faff2a1f3 | |
Josh Boyer | 3e6ca82b21 | |
Josh Boyer | d752a74500 | |
Josh Boyer | 7400c33f9c | |
Josh Boyer | e0ad3e629e | |
Josh Boyer | 9e2cd6f7b7 | |
Laura Abbott | da240bb5b6 | |
Laura Abbott | f491185626 | |
Josh Boyer | 3faba8457b | |
Josh Boyer | 9325cd5031 | |
Josh Boyer | 1c5d8a223b | |
Josh Boyer | 370f4c4394 | |
Laura Abbott | 9e9264ade7 | |
Laura Abbott | 3beca208e3 | |
Laura Abbott | 7961d2a433 | |
Laura Abbott | 98e4717d39 | |
Laura Abbott | d6de1e1a14 | |
Josh Boyer | 3a54d452cc | |
Josh Boyer | 676c3ebf45 | |
Laura Abbott | 5e0bc159d0 | |
Laura Abbott | dd3f3df807 | |
Josh Boyer | 6bf3db4b6c | |
Peter Robinson | c309fd47c8 | |
Peter Robinson | ef70a722a7 | |
Laura Abbott | b39d2e1dbb | |
Peter Robinson | 5baace3e19 | |
Peter Robinson | bfb6bdc25f | |
Josh Boyer | 6ccb085e34 | |
Josh Boyer | 1c2eca9c65 | |
Josh Boyer | 4988639cd8 | |
Josh Boyer | 8889aba817 | |
Josh Boyer | e3cc59011b | |
Josh Boyer | 43e8fb0224 | |
Josh Boyer | 98dc04e782 | |
Josh Boyer | d9800d33d3 | |
Josh Boyer | eb2a046afd | |
Josh Boyer | 6f877b5c4a | |
Josh Boyer | a6cd6b36bd | |
Josh Boyer | 0ef7d9675e | |
Josh Boyer | b52e0dd8b5 | |
Josh Boyer | 8c002a166b | |
Josh Boyer | 0c366d3c95 | |
Josh Boyer | 366aa3bcc6 | |
Josh Boyer | f1bc5738f5 | |
Josh Boyer | 795b95f5df | |
Josh Boyer | 7c29b476eb | |
Josh Boyer | 1d0b1549f6 | |
Josh Boyer | b578eef508 | |
Josh Boyer | 6399750cf1 | |
Josh Boyer | 1af40db9c4 | |
Josh Boyer | de0020923c | |
Josh Boyer | 598e241054 | |
Josh Boyer | adac8a61eb | |
Josh Boyer | cc4b965a96 | |
Josh Boyer | 3ead003c0f | |
Josh Boyer | 5f33e10fd2 | |
Josh Boyer | d0296447ec | |
Justin M. Forbes | 05a26637df | |
Josh Boyer | 61aa15dfb3 | |
Josh Boyer | 99ed1483c1 | |
Josh Boyer | 654dc1cdc4 | |
Josh Boyer | b54271d8f1 | |
Josh Boyer | a90fa694be | |
Justin M. Forbes | 58757ac1af | |
Josh Boyer | 378edefa4c | |
Josh Boyer | 5deaf3734a | |
Josh Boyer | 4e4400ca33 | |
Josh Boyer | 3bd0583fcc | |
Josh Boyer | 7e22cd6dd1 | |
Josh Boyer | 06c80bfbd8 | |
Justin M. Forbes | 8176c9e476 | |
Justin M. Forbes | c63b7d89c4 | |
Josh Boyer | bba2ca1c54 | |
Josh Boyer | 7386269f6e | |
Justin M. Forbes | 27552ab413 | |
Josh Boyer | fc05221707 | |
Josh Boyer | 7065e575bd | |
Josh Boyer | b603d0b470 | |
Peter Robinson | 00eb75e8cf | |
Josh Boyer | 8127f2969b | |
Peter Robinson | 8b2cbe9390 | |
Josh Boyer | cfeeaf8ab4 | |
Justin M. Forbes | a60da7ba9b | |
Laura Abbott | 8d6c8d30e6 | |
Josh Boyer | e9a2e1b318 | |
Justin M. Forbes | c7efbfc05a | |
Peter Robinson | 7cd3b19b62 | |
Peter Robinson | f2e9ef393c | |
Justin M. Forbes | d02ac5524a | |
Justin M. Forbes | 0687abbd86 | |
Josh Boyer | 2087088084 | |
Josh Boyer | aad96621dd | |
Justin M. Forbes | e91c77849f | |
Justin M. Forbes | 688415ec75 | |
Justin M. Forbes | f6be211527 | |
Laura Abbott | 135b2dddfb | |
Laura Abbott | 96e3605239 | |
Josh Boyer | a2857988cd | |
Josh Boyer | 9bcce03e3b | |
Josh Boyer | 3e698d2170 | |
Josh Boyer | 520b64102d | |
Josh Boyer | 9048afa42f | |
Josh Boyer | 2d163a9e3b | |
Josh Boyer | 75d0a6790f | |
Josh Boyer | 4ce89244f2 | |
Josh Boyer | b41dc6059e | |
Laura Abbott | a5ca183ab8 | |
Peter Robinson | 636d59f53e | |
Laura Abbott | 8c3e7bb56a | |
Josh Boyer | 5a0ae23444 | |
Josh Boyer | 69bc0f7394 | |
Josh Boyer | cdde999383 | |
Peter Robinson | 4eb0822a21 | |
Laura Abbott | ff41e301d5 | |
Laura Abbott | 5962555108 | |
Laura Abbott | 069ff128af | |
Josh Boyer | f67ba724c4 | |
Josh Boyer | 426bedbe25 | |
Josh Boyer | b941a15414 | |
Laura Abbott | ce2ed4aeb9 | |
Josh Boyer | e4c9072a88 | |
Josh Boyer | f97bc32a29 | |
Peter Robinson | faabafc572 | |
Peter Robinson | 24d23bb3c9 | |
Laura Abbott | 394616b0b3 | |
Laura Abbott | 9d542d8c1d | |
Josh Boyer | a851a5725c | |
Peter Robinson | 7fec258a2a | |
Josh Boyer | 6075fa24e0 | |
Josh Boyer | e7a2da13e8 | |
Laura Abbott | 359ba4a5a5 | |
Laura Abbott | 61b3efdaf3 | |
Josh Boyer | 829cdb4122 | |
Laura Abbott | 241d0ebaa0 | |
Laura Abbott | aeb4869c0c | |
Laura Abbott | 740bc085d1 | |
Laura Abbott | 925196e8fe | |
Laura Abbott | feac13ee0f | |
Josh Boyer | a5c804ea10 | |
Laura Abbott | 6c73a14ffa | |
Josh Boyer | 5ec2628b48 | |
Justin M. Forbes | 4a994122a0 | |
Josh Boyer | 82e1eb9643 | |
Josh Boyer | f7efdbdd4d | |
Josh Boyer | 8cd63a28c3 | |
Josh Boyer | c2ec7052e3 | |
Josh Boyer | 591c381e9c | |
Josh Boyer | 5f515ca357 | |
Josh Boyer | 6624109f08 | |
Josh Boyer | 2cfc982d50 | |
Josh Boyer | b9c19eabc6 | |
Josh Boyer | 045cecf6bb | |
Josh Boyer | 436b9d9276 | |
Laura Abbott | c3ca63419d | |
Laura Abbott | 58d0ff256e | |
Laura Abbott | ecd9c7101b | |
Josh Boyer | c61722aea2 | |
Laura Abbott | 1bb8c9a4d3 | |
Josh Boyer | 352b9ec984 | |
Josh Boyer | 385343afb7 | |
Josh Boyer | eb78e8c3fd | |
Josh Boyer | b93f7c471b | |
Justin M. Forbes | 1c0ec5c8f1 | |
Josh Boyer | 62747f0602 | |
Justin M. Forbes | 6b922b61b8 | |
Josh Boyer | d7c3b932a4 | |
Josh Boyer | a1fddda2ea | |
Laura Abbott | d10c790687 | |
Josh Boyer | 765bd47756 | |
Justin M. Forbes | ad7eac2abb | |
Josh Boyer | 2cd82cc364 | |
Josh Boyer | 4adbe9df49 | |
Josh Boyer | 3c33bbf8a1 | |
Laura Abbott | 5eea87c8fa | |
Josh Boyer | 2aaba31e49 | |
Justin M. Forbes | 40fce7a9f9 | |
Laura Abbott | 2f009030cb | |
Josh Boyer | a8e97b2402 | |
Justin M. Forbes | 1b0edc7d9b | |
Josh Boyer | 3d3df60dcd | |
Laura Abbott | 11ed0f9770 | |
Justin M. Forbes | c22ccffa80 | |
Josh Boyer | 14c000747b | |
Peter Robinson | 197b945cff | |
Justin M. Forbes | b61107922c | |
Justin M. Forbes | df7af79594 | |
Josh Boyer | 5448a3eac2 | |
Justin M. Forbes | 8211a26005 | |
Josh Boyer | fa801da62f | |
Josh Boyer | ee54dc10fd | |
Justin M. Forbes | 41237e1e4b | |
Josh Boyer | 8f12f4a6b4 | |
Justin M. Forbes | 0f7105e9bc | |
Josh Boyer | 90c43481e7 | |
Justin M. Forbes | 8db85be13f | |
Josh Boyer | fa59ce88af | |
Josh Boyer | eff5420f79 | |
Josh Boyer | cbb8a694bd | |
Peter Robinson | 6aa9b21f87 | |
Peter Robinson | 9ed4e5a6ac | |
Laura Abbott | b9992ba31f | |
Josh Boyer | 6bb1eb088b | |
Josh Boyer | 92d6f6219a | |
Josh Boyer | 721969bbbe | |
Josh Boyer | 097f49cf7d | |
Josh Boyer | 8f3ea8efc7 | |
Peter Jones | ff699b3898 | |
Josh Boyer | ab147f2e64 | |
Josh Boyer | 498055861e | |
Josh Boyer | d97032bf4d | |
Josh Boyer | 1a6df1b900 | |
Josh Boyer | f3285df6ad | |
Josh Boyer | a86ca716e6 | |
Peter Jones | 571a39e572 | |
Josh Boyer | ba969407f8 | |
Josh Boyer | 69e62930fa | |
Josh Boyer | 83d70862f3 | |
Josh Boyer | 6b80640f60 | |
Josh Boyer | b3cc05f52f | |
Peter Robinson | d2357b5286 | |
Josh Boyer | 069780434c | |
Josh Boyer | ef873954a5 | |
Josh Boyer | abd32ea61a | |
Josh Boyer | 1654466ce9 | |
Peter Robinson | 2464bd0900 | |
Josh Boyer | 57da8c8042 | |
Josh Boyer | 5d1d60df95 | |
Josh Boyer | 51ab767c6f | |
Josh Boyer | 5c419be2ac | |
Josh Boyer | 57574e5ee3 | |
Josh Boyer | d7ac01aa2c | |
Josh Boyer | 53cebab302 | |
Peter Robinson | 32901ddb89 | |
Jarod Wilson | f079072cc5 | |
Josh Boyer | f407480a26 | |
Jarod Wilson | 1a7a65b477 | |
Jarod Wilson | debc07551f | |
Jarod Wilson | cfabbc3496 | |
Kyle McMartin | 32b7aa0cb5 | |
Kyle McMartin | b932f950c0 | |
Kyle McMartin | 3cfa813c24 | |
Jarod Wilson | f8e9640c2b |
|
@ -0,0 +1,67 @@
|
|||
From e2e407dc093f530b771ee8bf8fe1be41e3cea8b3 Mon Sep 17 00:00:00 2001
|
||||
From: Matt Roper <matthew.d.roper@intel.com>
|
||||
Date: Mon, 8 Feb 2016 11:05:28 -0800
|
||||
Subject: [PATCH] drm/i915: Pretend cursor is always on for ILK-style WM
|
||||
calculations (v2)
|
||||
|
||||
Due to our lack of two-step watermark programming, our driver has
|
||||
historically pretended that the cursor plane is always on for the
|
||||
purpose of watermark calculations; this helps avoid serious flickering
|
||||
when the cursor turns off/on (e.g., when the user moves the mouse
|
||||
pointer to a different screen). That workaround was accidentally
|
||||
dropped as we started working toward atomic watermark updates. Since we
|
||||
still aren't quite there yet with two-stage updates, we need to
|
||||
resurrect the workaround and treat the cursor as always active.
|
||||
|
||||
v2: Tweak cursor width calculations slightly to more closely match the
|
||||
logic we used before the atomic overhaul began. (Ville)
|
||||
|
||||
Cc: simdev11@outlook.com
|
||||
Cc: manfred.kitzbichler@gmail.com
|
||||
Cc: drm-intel-fixes@lists.freedesktop.org
|
||||
Reported-by: simdev11@outlook.com
|
||||
Reported-by: manfred.kitzbichler@gmail.com
|
||||
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93892
|
||||
Fixes: 43d59eda1 ("drm/i915: Eliminate usage of plane_wm_parameters from ILK-style WM code (v2)")
|
||||
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
|
||||
Link: http://patchwork.freedesktop.org/patch/msgid/1454479611-6804-1-git-send-email-matthew.d.roper@intel.com
|
||||
(cherry picked from commit b2435692dbb709d4c8ff3b2f2815c9b8423b72bb)
|
||||
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
|
||||
Link: http://patchwork.freedesktop.org/patch/msgid/1454958328-30129-1-git-send-email-matthew.d.roper@intel.com
|
||||
---
|
||||
drivers/gpu/drm/i915/intel_pm.c | 14 +++++++++-----
|
||||
1 file changed, 9 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
|
||||
index eb5fa05..a234687 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_pm.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_pm.c
|
||||
@@ -1783,16 +1783,20 @@ static uint32_t ilk_compute_cur_wm(const struct intel_crtc_state *cstate,
|
||||
const struct intel_plane_state *pstate,
|
||||
uint32_t mem_value)
|
||||
{
|
||||
- int bpp = pstate->base.fb ? pstate->base.fb->bits_per_pixel / 8 : 0;
|
||||
+ /*
|
||||
+ * We treat the cursor plane as always-on for the purposes of watermark
|
||||
+ * calculation. Until we have two-stage watermark programming merged,
|
||||
+ * this is necessary to avoid flickering.
|
||||
+ */
|
||||
+ int cpp = 4;
|
||||
+ int width = pstate->visible ? pstate->base.crtc_w : 64;
|
||||
|
||||
- if (!cstate->base.active || !pstate->visible)
|
||||
+ if (!cstate->base.active)
|
||||
return 0;
|
||||
|
||||
return ilk_wm_method2(ilk_pipe_pixel_rate(cstate),
|
||||
cstate->base.adjusted_mode.crtc_htotal,
|
||||
- drm_rect_width(&pstate->dst),
|
||||
- bpp,
|
||||
- mem_value);
|
||||
+ width, cpp, mem_value);
|
||||
}
|
||||
|
||||
/* Only for WM_LP. */
|
||||
--
|
||||
2.5.0
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
From 07197eb61cfabc153846b1ae9d080a5d6c449d12 Mon Sep 17 00:00:00 2001
|
||||
From: "Du, Changbin" <changbin.du@intel.com>
|
||||
Date: Mon, 22 Feb 2016 10:08:36 +0800
|
||||
Subject: [PATCH] usb: hub: fix panic in usb_reset_and_verify_device
|
||||
|
||||
Signed-off-by: Du, Changbin <changbin.du@intel.com>
|
||||
---
|
||||
drivers/usb/core/hub.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
|
||||
index 350dcd9..045f951 100644
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -5501,8 +5501,10 @@ done:
|
||||
return 0;
|
||||
|
||||
re_enumerate:
|
||||
- usb_release_bos_descriptor(udev);
|
||||
- udev->bos = bos;
|
||||
+ if (udev->bos != bos) {
|
||||
+ usb_release_bos_descriptor(udev);
|
||||
+ udev->bos = bos;
|
||||
+ }
|
||||
re_enumerate_no_bos:
|
||||
/* LPM state doesn't matter when we're about to destroy the device. */
|
||||
hub_port_logical_disconnect(parent_hub, port1);
|
||||
--
|
||||
2.5.0
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
From 4b85149b764cd024e3dd2aff9eb22a9e1aadd1fa Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Garrett <matthew.garrett@nebula.com>
|
||||
Date: Fri, 9 Mar 2012 08:39:37 -0500
|
||||
Subject: [PATCH] ACPI: Limit access to custom_method
|
||||
Subject: [PATCH 04/20] ACPI: Limit access to custom_method
|
||||
|
||||
custom_method effectively allows arbitrary access to system memory, making
|
||||
it possible for an attacker to circumvent restrictions on module loading.
|
||||
|
@ -26,5 +27,5 @@ index c68e72414a67..4277938af700 100644
|
|||
/* parse the table header to get the table length */
|
||||
if (count <= sizeof(struct acpi_table_header))
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
From 527a5767c165abd2b4dba99da992c51ca7547562 Mon Sep 17 00:00:00 2001
|
||||
From: Kangjie Lu <kangjielu@gmail.com>
|
||||
Date: Tue, 3 May 2016 16:44:07 -0400
|
||||
Subject: [PATCH 1/3] ALSA: timer: Fix leak in SNDRV_TIMER_IOCTL_PARAMS
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The stack object “tread” has a total size of 32 bytes. Its field
|
||||
“event” and “val” both contain 4 bytes padding. These 8 bytes
|
||||
padding bytes are sent to user without being initialized.
|
||||
|
||||
Signed-off-by: Kangjie Lu <kjlu@gatech.edu>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
sound/core/timer.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sound/core/timer.c b/sound/core/timer.c
|
||||
index 6469bedda2f3..964f5ebf495e 100644
|
||||
--- a/sound/core/timer.c
|
||||
+++ b/sound/core/timer.c
|
||||
@@ -1739,6 +1739,7 @@ static int snd_timer_user_params(struct file *file,
|
||||
if (tu->timeri->flags & SNDRV_TIMER_IFLG_EARLY_EVENT) {
|
||||
if (tu->tread) {
|
||||
struct snd_timer_tread tread;
|
||||
+ memset(&tread, 0, sizeof(tread));
|
||||
tread.event = SNDRV_TIMER_EVENT_EARLY;
|
||||
tread.tstamp.tv_sec = 0;
|
||||
tread.tstamp.tv_nsec = 0;
|
||||
--
|
||||
2.5.5
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
From addd6e9f0e25efb00d813d54528607c75b77c416 Mon Sep 17 00:00:00 2001
|
||||
From: Kangjie Lu <kangjielu@gmail.com>
|
||||
Date: Tue, 3 May 2016 16:44:20 -0400
|
||||
Subject: [PATCH 2/3] ALSA: timer: Fix leak in events via
|
||||
snd_timer_user_ccallback
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The stack object “r1” has a total size of 32 bytes. Its field
|
||||
“event” and “val” both contain 4 bytes padding. These 8 bytes
|
||||
padding bytes are sent to user without being initialized.
|
||||
|
||||
Signed-off-by: Kangjie Lu <kjlu@gatech.edu>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
sound/core/timer.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sound/core/timer.c b/sound/core/timer.c
|
||||
index 964f5ebf495e..e98fa5feb731 100644
|
||||
--- a/sound/core/timer.c
|
||||
+++ b/sound/core/timer.c
|
||||
@@ -1225,6 +1225,7 @@ static void snd_timer_user_ccallback(struct snd_timer_instance *timeri,
|
||||
tu->tstamp = *tstamp;
|
||||
if ((tu->filter & (1 << event)) == 0 || !tu->tread)
|
||||
return;
|
||||
+ memset(&r1, 0, sizeof(r1));
|
||||
r1.event = event;
|
||||
r1.tstamp = *tstamp;
|
||||
r1.val = resolution;
|
||||
--
|
||||
2.5.5
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
From b06a443b5679e9a0298e2f206ddb60845569f62f Mon Sep 17 00:00:00 2001
|
||||
From: Kangjie Lu <kangjielu@gmail.com>
|
||||
Date: Tue, 3 May 2016 16:44:32 -0400
|
||||
Subject: [PATCH 3/3] ALSA: timer: Fix leak in events via
|
||||
snd_timer_user_tinterrupt
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The stack object “r1” has a total size of 32 bytes. Its field
|
||||
“event” and “val” both contain 4 bytes padding. These 8 bytes
|
||||
padding bytes are sent to user without being initialized.
|
||||
|
||||
Signed-off-by: Kangjie Lu <kjlu@gatech.edu>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
sound/core/timer.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sound/core/timer.c b/sound/core/timer.c
|
||||
index e98fa5feb731..c69a27155433 100644
|
||||
--- a/sound/core/timer.c
|
||||
+++ b/sound/core/timer.c
|
||||
@@ -1268,6 +1268,7 @@ static void snd_timer_user_tinterrupt(struct snd_timer_instance *timeri,
|
||||
}
|
||||
if ((tu->filter & (1 << SNDRV_TIMER_EVENT_RESOLUTION)) &&
|
||||
tu->last_resolution != resolution) {
|
||||
+ memset(&r1, 0, sizeof(r1));
|
||||
r1.event = SNDRV_TIMER_EVENT_RESOLUTION;
|
||||
r1.tstamp = tstamp;
|
||||
r1.val = resolution;
|
||||
--
|
||||
2.5.5
|
||||
|
|
@ -9,10 +9,10 @@ Patch for disconnect issues with storage attached to a
|
|||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
|
||||
index d7c3d5a35946..a1121fc01e8c 100644
|
||||
index 43cb2f2e3b43..7f838ec11c81 100644
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -5006,6 +5006,13 @@ static void hub_event(struct work_struct *work)
|
||||
@@ -4996,6 +4996,13 @@ static void hub_event(struct work_struct *work)
|
||||
(u16) hub->change_bits[0],
|
||||
(u16) hub->event_bits[0]);
|
||||
|
||||
|
@ -26,6 +26,3 @@ index d7c3d5a35946..a1121fc01e8c 100644
|
|||
/* Lock the device, then check to see if we were
|
||||
* disconnected while waiting for the lock to succeed. */
|
||||
usb_lock_device(hdev);
|
||||
--
|
||||
2.1.0
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
From 47f6b5c281137394d627e275cb80980492d00d84 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Howells <dhowells@redhat.com>
|
||||
Date: Tue, 23 Oct 2012 09:30:54 -0400
|
||||
Subject: [PATCH] Add EFI signature data types
|
||||
|
@ -14,12 +15,12 @@ Signed-off-by: David Howells <dhowells@redhat.com>
|
|||
1 file changed, 20 insertions(+)
|
||||
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index c74cbd892032..1293d0e0bf90 100644
|
||||
index 4dc970e..82d6218 100644
|
||||
--- a/include/linux/efi.h
|
||||
+++ b/include/linux/efi.h
|
||||
@@ -589,6 +589,12 @@ void efi_native_runtime_setup(void);
|
||||
#define DEVICE_TREE_GUID \
|
||||
EFI_GUID( 0xb1b621d5, 0xf19c, 0x41a5, 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 )
|
||||
@@ -599,6 +599,12 @@ void efi_native_runtime_setup(void);
|
||||
#define EFI_PROPERTIES_TABLE_GUID \
|
||||
EFI_GUID( 0x880aaca3, 0x4adc, 0x4a04, 0x90, 0x79, 0xb7, 0x47, 0x34, 0x08, 0x25, 0xe5 )
|
||||
|
||||
+#define EFI_CERT_SHA256_GUID \
|
||||
+ EFI_GUID( 0xc1c41626, 0x504c, 0x4092, 0xac, 0xa9, 0x41, 0xf9, 0x36, 0x93, 0x43, 0x28 )
|
||||
|
@ -30,7 +31,7 @@ index c74cbd892032..1293d0e0bf90 100644
|
|||
typedef struct {
|
||||
efi_guid_t guid;
|
||||
u64 table;
|
||||
@@ -804,6 +810,20 @@ typedef struct _efi_file_io_interface {
|
||||
@@ -823,6 +829,20 @@ typedef struct {
|
||||
|
||||
#define EFI_INVALID_TABLE_ADDR (~0UL)
|
||||
|
||||
|
@ -52,5 +53,5 @@ index c74cbd892032..1293d0e0bf90 100644
|
|||
* All runtime access to EFI goes through this structure:
|
||||
*/
|
||||
--
|
||||
2.1.0
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
From c279ba86f93cf6a75d078e2d0e3f59d4ba8a2dd0 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Howells <dhowells@redhat.com>
|
||||
Date: Tue, 23 Oct 2012 09:36:28 -0400
|
||||
Subject: [PATCH] Add an EFI signature blob parser and key loader.
|
||||
Subject: [PATCH 16/20] Add an EFI signature blob parser and key loader.
|
||||
|
||||
X.509 certificates are loaded into the specified keyring as asymmetric type
|
||||
keys.
|
||||
|
@ -32,7 +33,7 @@ index 4870f28403f5..4a1b50d73b80 100644
|
|||
+
|
||||
endif # ASYMMETRIC_KEY_TYPE
|
||||
diff --git a/crypto/asymmetric_keys/Makefile b/crypto/asymmetric_keys/Makefile
|
||||
index e47fcd9ac5e8..6512f6596785 100644
|
||||
index cd1406f9b14a..d9db380bbe53 100644
|
||||
--- a/crypto/asymmetric_keys/Makefile
|
||||
+++ b/crypto/asymmetric_keys/Makefile
|
||||
@@ -8,6 +8,7 @@ asymmetric_keys-y := asymmetric_type.o signature.o
|
||||
|
@ -159,10 +160,10 @@ index 000000000000..424896a0b169
|
|||
+ return 0;
|
||||
+}
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index 1293d0e0bf90..706b16fa6de8 100644
|
||||
index fac43c611614..414c3c3d988d 100644
|
||||
--- a/include/linux/efi.h
|
||||
+++ b/include/linux/efi.h
|
||||
@@ -925,6 +925,10 @@ extern bool efi_poweroff_required(void);
|
||||
@@ -941,6 +941,10 @@ extern bool efi_poweroff_required(void);
|
||||
char * __init efi_md_typeattr_format(char *buf, size_t size,
|
||||
const efi_memory_desc_t *md);
|
||||
|
||||
|
@ -174,5 +175,5 @@ index 1293d0e0bf90..706b16fa6de8 100644
|
|||
* efi_range_is_wc - check the WC bit on an address range
|
||||
* @start: starting kvirt address
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
From 37431394b3eeb1ef6d38d0e6b2693210606c2c2c Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Garrett <matthew.garrett@nebula.com>
|
||||
Date: Fri, 9 Aug 2013 18:36:30 -0400
|
||||
Subject: [PATCH] Add option to automatically enforce module signatures when in
|
||||
Secure Boot mode
|
||||
Subject: [PATCH 10/20] Add option to automatically enforce module signatures
|
||||
when in Secure Boot mode
|
||||
|
||||
UEFI Secure Boot provides a mechanism for ensuring that the firmware will
|
||||
only load signed bootloaders and kernels. Certain use cases may also
|
||||
|
@ -20,10 +21,10 @@ Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
|
|||
7 files changed, 69 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Documentation/x86/zero-page.txt b/Documentation/x86/zero-page.txt
|
||||
index 82fbdbc1e0b0..a811210ad486 100644
|
||||
index 95a4d34af3fd..b8527c6b7646 100644
|
||||
--- a/Documentation/x86/zero-page.txt
|
||||
+++ b/Documentation/x86/zero-page.txt
|
||||
@@ -30,6 +30,8 @@ Offset Proto Name Meaning
|
||||
@@ -31,6 +31,8 @@ Offset Proto Name Meaning
|
||||
1E9/001 ALL eddbuf_entries Number of entries in eddbuf (below)
|
||||
1EA/001 ALL edd_mbr_sig_buf_entries Number of entries in edd_mbr_sig_buffer
|
||||
(below)
|
||||
|
@ -33,10 +34,10 @@ index 82fbdbc1e0b0..a811210ad486 100644
|
|||
290/040 ALL edd_mbr_sig_buffer EDD MBR signatures
|
||||
2D0/A00 ALL e820_map E820 memory map table
|
||||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
|
||||
index b7d31ca55187..ab403a636357 100644
|
||||
index cc0d73eac047..14db458f4774 100644
|
||||
--- a/arch/x86/Kconfig
|
||||
+++ b/arch/x86/Kconfig
|
||||
@@ -1695,6 +1695,16 @@ config EFI_MIXED
|
||||
@@ -1734,6 +1734,16 @@ config EFI_MIXED
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
|
@ -54,7 +55,7 @@ index b7d31ca55187..ab403a636357 100644
|
|||
def_bool y
|
||||
prompt "Enable seccomp to safely compute untrusted bytecode"
|
||||
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
|
||||
index ef17683484e9..105e7360d747 100644
|
||||
index ee1b6d346b98..b4de3faa3f29 100644
|
||||
--- a/arch/x86/boot/compressed/eboot.c
|
||||
+++ b/arch/x86/boot/compressed/eboot.c
|
||||
@@ -12,6 +12,7 @@
|
||||
|
@ -103,7 +104,7 @@ index ef17683484e9..105e7360d747 100644
|
|||
/*
|
||||
* See if we have Graphics Output Protocol
|
||||
*/
|
||||
@@ -1406,6 +1438,10 @@ struct boot_params *efi_main(struct efi_config *c,
|
||||
@@ -1412,6 +1444,10 @@ struct boot_params *efi_main(struct efi_config *c,
|
||||
else
|
||||
setup_boot_services32(efi_early);
|
||||
|
||||
|
@ -115,7 +116,7 @@ index ef17683484e9..105e7360d747 100644
|
|||
|
||||
setup_efi_pci(boot_params);
|
||||
diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h
|
||||
index 44e6dd7e36a2..3ddf4150bd9e 100644
|
||||
index 329254373479..b61f8533c0fd 100644
|
||||
--- a/arch/x86/include/uapi/asm/bootparam.h
|
||||
+++ b/arch/x86/include/uapi/asm/bootparam.h
|
||||
@@ -134,7 +134,8 @@ struct boot_params {
|
||||
|
@ -129,10 +130,10 @@ index 44e6dd7e36a2..3ddf4150bd9e 100644
|
|||
* The sentinel is set to a nonzero value (0xff) in header.S.
|
||||
*
|
||||
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
|
||||
index 98dc9317286e..26741d24797e 100644
|
||||
index baadbf90a7c5..1ac118146e90 100644
|
||||
--- a/arch/x86/kernel/setup.c
|
||||
+++ b/arch/x86/kernel/setup.c
|
||||
@@ -1165,6 +1165,12 @@ void __init setup_arch(char **cmdline_p)
|
||||
@@ -1135,6 +1135,12 @@ void __init setup_arch(char **cmdline_p)
|
||||
|
||||
io_delay_init();
|
||||
|
||||
|
@ -146,10 +147,10 @@ index 98dc9317286e..26741d24797e 100644
|
|||
* Parse the ACPI tables for possible boot-time SMP configuration.
|
||||
*/
|
||||
diff --git a/include/linux/module.h b/include/linux/module.h
|
||||
index 0c86ec9e10ed..b02dfaacc76c 100644
|
||||
index db386349cd01..4b8df91f03cd 100644
|
||||
--- a/include/linux/module.h
|
||||
+++ b/include/linux/module.h
|
||||
@@ -188,6 +188,12 @@ const struct exception_table_entry *search_exception_tables(unsigned long add);
|
||||
@@ -273,6 +273,12 @@ const struct exception_table_entry *search_exception_tables(unsigned long add);
|
||||
|
||||
struct notifier_block;
|
||||
|
||||
|
@ -163,10 +164,10 @@ index 0c86ec9e10ed..b02dfaacc76c 100644
|
|||
|
||||
extern int modules_disabled; /* for sysctl */
|
||||
diff --git a/kernel/module.c b/kernel/module.c
|
||||
index e6ff2181b2a5..95931292f3c4 100644
|
||||
index 7f045246e123..2b403ab0ef29 100644
|
||||
--- a/kernel/module.c
|
||||
+++ b/kernel/module.c
|
||||
@@ -3892,6 +3892,13 @@ void module_layout(struct module *mod,
|
||||
@@ -4088,6 +4088,13 @@ void module_layout(struct module *mod,
|
||||
EXPORT_SYMBOL(module_layout);
|
||||
#endif
|
||||
|
||||
|
@ -181,5 +182,5 @@ index e6ff2181b2a5..95931292f3c4 100644
|
|||
{
|
||||
#ifdef CONFIG_MODULE_SIG
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
From a1aaf20cffb1a949c5d6b1198690c7c30cfda4d5 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Garrett <matthew.garrett@nebula.com>
|
||||
Date: Fri, 9 Aug 2013 17:58:15 -0400
|
||||
Subject: [PATCH] Add secure_modules() call
|
||||
Subject: [PATCH 01/20] Add secure_modules() call
|
||||
|
||||
Provide a single call to allow kernel code to determine whether the system
|
||||
has been configured to either disable module loading entirely or to load
|
||||
|
@ -11,28 +12,27 @@ Upstream-status: Fedora mustard. Replaced by securelevels, but that was nak'd
|
|||
|
||||
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
|
||||
---
|
||||
include/linux/module.h | 7 +++++++
|
||||
include/linux/module.h | 6 ++++++
|
||||
kernel/module.c | 10 ++++++++++
|
||||
2 files changed, 17 insertions(+)
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/include/linux/module.h b/include/linux/module.h
|
||||
index 42999fe2dbd0..0c86ec9e10ed 100644
|
||||
index 3a19c79918e0..db386349cd01 100644
|
||||
--- a/include/linux/module.h
|
||||
+++ b/include/linux/module.h
|
||||
@@ -502,6 +502,8 @@ int unregister_module_notifier(struct notifier_block *nb);
|
||||
|
||||
extern void print_modules(void);
|
||||
@@ -635,6 +635,8 @@ static inline bool module_requested_async_probing(struct module *module)
|
||||
return module && module->async_probe_requested;
|
||||
}
|
||||
|
||||
+extern bool secure_modules(void);
|
||||
+
|
||||
#else /* !CONFIG_MODULES... */
|
||||
|
||||
/* Given an address, look for it in the exception tables. */
|
||||
@@ -612,6 +614,11 @@ static inline int unregister_module_notifier(struct notifier_block *nb)
|
||||
static inline void print_modules(void)
|
||||
{
|
||||
@@ -751,6 +753,10 @@ static inline bool module_requested_async_probing(struct module *module)
|
||||
return false;
|
||||
}
|
||||
+
|
||||
|
||||
+static inline bool secure_modules(void)
|
||||
+{
|
||||
+ return false;
|
||||
|
@ -41,10 +41,10 @@ index 42999fe2dbd0..0c86ec9e10ed 100644
|
|||
|
||||
#ifdef CONFIG_SYSFS
|
||||
diff --git a/kernel/module.c b/kernel/module.c
|
||||
index b3d634ed06c9..e6ff2181b2a5 100644
|
||||
index b86b7bf1be38..7f045246e123 100644
|
||||
--- a/kernel/module.c
|
||||
+++ b/kernel/module.c
|
||||
@@ -3891,3 +3891,13 @@ void module_layout(struct module *mod,
|
||||
@@ -4087,3 +4087,13 @@ void module_layout(struct module *mod,
|
||||
}
|
||||
EXPORT_SYMBOL(module_layout);
|
||||
#endif
|
||||
|
@ -59,5 +59,5 @@ index b3d634ed06c9..e6ff2181b2a5 100644
|
|||
+}
|
||||
+EXPORT_SYMBOL(secure_modules);
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
From 16d2ba5d5bc46e67e6aa7a3d113fbcc18c217388 Mon Sep 17 00:00:00 2001
|
||||
From: Kyle McMartin <kyle@redhat.com>
|
||||
Date: Fri, 30 Aug 2013 09:28:51 -0400
|
||||
Subject: [PATCH] Add sysrq option to disable secure boot mode
|
||||
Subject: [PATCH 20/20] Add sysrq option to disable secure boot mode
|
||||
|
||||
Bugzilla: N/A
|
||||
Upstream-status: Fedora mustard
|
||||
|
@ -11,11 +12,11 @@ Upstream-status: Fedora mustard
|
|||
include/linux/input.h | 5 +++++
|
||||
include/linux/sysrq.h | 8 +++++++-
|
||||
kernel/debug/kdb/kdb_main.c | 2 +-
|
||||
kernel/module.c | 4 ++--
|
||||
7 files changed, 65 insertions(+), 10 deletions(-)
|
||||
kernel/module.c | 2 +-
|
||||
7 files changed, 64 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
|
||||
index 64a123acb97f..2964c69e7c8e 100644
|
||||
index f93826b8522c..41679b1aca83 100644
|
||||
--- a/arch/x86/kernel/setup.c
|
||||
+++ b/arch/x86/kernel/setup.c
|
||||
@@ -70,6 +70,11 @@
|
||||
|
@ -30,7 +31,7 @@ index 64a123acb97f..2964c69e7c8e 100644
|
|||
#include <video/edid.h>
|
||||
|
||||
#include <asm/mtrr.h>
|
||||
@@ -1292,6 +1297,37 @@ void __init i386_reserve_resources(void)
|
||||
@@ -1261,6 +1266,37 @@ void __init i386_reserve_resources(void)
|
||||
|
||||
#endif /* CONFIG_X86_32 */
|
||||
|
||||
|
@ -69,10 +70,10 @@ index 64a123acb97f..2964c69e7c8e 100644
|
|||
.notifier_call = dump_kernel_offset
|
||||
};
|
||||
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c
|
||||
index 421e29e4cd81..61c1eb97806c 100644
|
||||
index 345df9b03aed..dea6a6c4a39b 100644
|
||||
--- a/drivers/input/misc/uinput.c
|
||||
+++ b/drivers/input/misc/uinput.c
|
||||
@@ -366,6 +366,7 @@ static int uinput_allocate_device(struct uinput_device *udev)
|
||||
@@ -364,6 +364,7 @@ static int uinput_allocate_device(struct uinput_device *udev)
|
||||
if (!udev->dev)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -81,18 +82,18 @@ index 421e29e4cd81..61c1eb97806c 100644
|
|||
input_set_drvdata(udev->dev, udev);
|
||||
|
||||
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
|
||||
index 259a4d5a4e8f..512c21dcb86f 100644
|
||||
index 95b330a9ea98..dfa3e154a719 100644
|
||||
--- a/drivers/tty/sysrq.c
|
||||
+++ b/drivers/tty/sysrq.c
|
||||
@@ -464,6 +464,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
|
||||
&sysrq_showstate_blocked_op, /* w */
|
||||
@@ -472,6 +472,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
|
||||
/* x: May be registered on mips for TLB dump */
|
||||
/* x: May be registered on ppc/powerpc for xmon */
|
||||
/* x: May be registered on sparc64 for global PMU dump */
|
||||
+ /* x: May be registered on x86_64 for disabling secure boot */
|
||||
NULL, /* x */
|
||||
/* y: May be registered on sparc64 for global register dump */
|
||||
NULL, /* y */
|
||||
@@ -507,7 +508,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
|
||||
@@ -515,7 +516,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
|
||||
sysrq_key_table[i] = op_p;
|
||||
}
|
||||
|
||||
|
@ -101,7 +102,7 @@ index 259a4d5a4e8f..512c21dcb86f 100644
|
|||
{
|
||||
struct sysrq_key_op *op_p;
|
||||
int orig_log_level;
|
||||
@@ -527,11 +528,15 @@ void __handle_sysrq(int key, bool check_mask)
|
||||
@@ -535,11 +536,15 @@ void __handle_sysrq(int key, bool check_mask)
|
||||
|
||||
op_p = __sysrq_get_key_op(key);
|
||||
if (op_p) {
|
||||
|
@ -118,7 +119,7 @@ index 259a4d5a4e8f..512c21dcb86f 100644
|
|||
pr_cont("%s\n", op_p->action_msg);
|
||||
console_loglevel = orig_log_level;
|
||||
op_p->handler(key);
|
||||
@@ -563,7 +568,7 @@ void __handle_sysrq(int key, bool check_mask)
|
||||
@@ -571,7 +576,7 @@ void __handle_sysrq(int key, bool check_mask)
|
||||
void handle_sysrq(int key)
|
||||
{
|
||||
if (sysrq_on())
|
||||
|
@ -127,7 +128,7 @@ index 259a4d5a4e8f..512c21dcb86f 100644
|
|||
}
|
||||
EXPORT_SYMBOL(handle_sysrq);
|
||||
|
||||
@@ -643,7 +648,7 @@ static void sysrq_do_reset(unsigned long _state)
|
||||
@@ -652,7 +657,7 @@ static void sysrq_do_reset(unsigned long _state)
|
||||
static void sysrq_handle_reset_request(struct sysrq_state *state)
|
||||
{
|
||||
if (state->reset_requested)
|
||||
|
@ -136,7 +137,7 @@ index 259a4d5a4e8f..512c21dcb86f 100644
|
|||
|
||||
if (sysrq_reset_downtime_ms)
|
||||
mod_timer(&state->keyreset_timer,
|
||||
@@ -794,8 +799,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq,
|
||||
@@ -803,8 +808,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq,
|
||||
|
||||
default:
|
||||
if (sysrq->active && value && value != 2) {
|
||||
|
@ -148,7 +149,7 @@ index 259a4d5a4e8f..512c21dcb86f 100644
|
|||
}
|
||||
break;
|
||||
}
|
||||
@@ -1090,7 +1097,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
|
||||
@@ -1084,7 +1091,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
|
||||
|
||||
if (get_user(c, buf))
|
||||
return -EFAULT;
|
||||
|
@ -228,21 +229,18 @@ index 4121345498e0..0ff3cef5df96 100644
|
|||
|
||||
return 0;
|
||||
diff --git a/kernel/module.c b/kernel/module.c
|
||||
index 95931292f3c4..974381763108 100644
|
||||
index 2b403ab0ef29..7818c110e95c 100644
|
||||
--- a/kernel/module.c
|
||||
+++ b/kernel/module.c
|
||||
@@ -107,9 +107,9 @@ struct list_head *kdb_modules = &modules; /* kdb needs the list of modules */
|
||||
@@ -292,7 +292,7 @@ static void module_assert_mutex_or_preempt(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MODULE_SIG
|
||||
#ifdef CONFIG_MODULE_SIG_FORCE
|
||||
-static bool sig_enforce = true;
|
||||
+bool sig_enforce = true;
|
||||
#else
|
||||
-static bool sig_enforce = false;
|
||||
+bool sig_enforce = false;
|
||||
|
||||
static int param_set_bool_enable_only(const char *val,
|
||||
const struct kernel_param *kp)
|
||||
-static bool sig_enforce = IS_ENABLED(CONFIG_MODULE_SIG_FORCE);
|
||||
+bool sig_enforce = IS_ENABLED(CONFIG_MODULE_SIG_FORCE);
|
||||
#ifndef CONFIG_MODULE_SIG_FORCE
|
||||
module_param(sig_enforce, bool_enable_only, 0644);
|
||||
#endif /* !CONFIG_MODULE_SIG_FORCE */
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -1,71 +0,0 @@
|
|||
From: Alexander Ploumistos <alex.ploumistos@gmail.com>
|
||||
Date: Fri, 13 Feb 2015 21:05:11 +0200
|
||||
Subject: [PATCH] Bluetooth: ath3k: Add support Atheros AR5B195 combo Mini PCIe
|
||||
card
|
||||
|
||||
Add 04f2:aff1 to ath3k.c supported devices list and btusb.c blacklist, so
|
||||
that the device can load the ath3k firmware and re-enumerate itself as an
|
||||
AR3011 device.
|
||||
|
||||
T: Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
|
||||
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
|
||||
P: Vendor=04f2 ProdID=aff1 Rev= 0.01
|
||||
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
|
||||
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
|
||||
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
|
||||
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
|
||||
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
|
||||
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
|
||||
E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
|
||||
E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
|
||||
I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
|
||||
E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
|
||||
E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
|
||||
I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
|
||||
E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
|
||||
E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
|
||||
I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
|
||||
E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
|
||||
E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
|
||||
I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
|
||||
E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
|
||||
E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
|
||||
I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
|
||||
E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
|
||||
E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
|
||||
|
||||
Signed-off-by: Alexander Ploumistos <alexpl@fedoraproject.org>
|
||||
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
|
||||
Cc: stable@vger.kernel.org
|
||||
---
|
||||
drivers/bluetooth/ath3k.c | 1 +
|
||||
drivers/bluetooth/btusb.c | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
|
||||
index de4c8499cbac..288547a3c566 100644
|
||||
--- a/drivers/bluetooth/ath3k.c
|
||||
+++ b/drivers/bluetooth/ath3k.c
|
||||
@@ -65,6 +65,7 @@ static const struct usb_device_id ath3k_table[] = {
|
||||
/* Atheros AR3011 with sflash firmware*/
|
||||
{ USB_DEVICE(0x0489, 0xE027) },
|
||||
{ USB_DEVICE(0x0489, 0xE03D) },
|
||||
+ { USB_DEVICE(0x04F2, 0xAFF1) },
|
||||
{ USB_DEVICE(0x0930, 0x0215) },
|
||||
{ USB_DEVICE(0x0CF3, 0x3002) },
|
||||
{ USB_DEVICE(0x0CF3, 0xE019) },
|
||||
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
|
||||
index 8bfc4c2bba87..2c527da668ae 100644
|
||||
--- a/drivers/bluetooth/btusb.c
|
||||
+++ b/drivers/bluetooth/btusb.c
|
||||
@@ -159,6 +159,7 @@ static const struct usb_device_id blacklist_table[] = {
|
||||
/* Atheros 3011 with sflash firmware */
|
||||
{ USB_DEVICE(0x0489, 0xe027), .driver_info = BTUSB_IGNORE },
|
||||
{ USB_DEVICE(0x0489, 0xe03d), .driver_info = BTUSB_IGNORE },
|
||||
+ { USB_DEVICE(0x04f2, 0xaff1), .driver_info = BTUSB_IGNORE },
|
||||
{ USB_DEVICE(0x0930, 0x0215), .driver_info = BTUSB_IGNORE },
|
||||
{ USB_DEVICE(0x0cf3, 0x3002), .driver_info = BTUSB_IGNORE },
|
||||
{ USB_DEVICE(0x0cf3, 0xe019), .driver_info = BTUSB_IGNORE },
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
From 98f07385212073536f303c07ece455acdd4d267f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=BE=D0=BB=D0=B0=D0=B9=20=D0=9A=D1=83?=
|
||||
=?UTF-8?q?=D0=B4=D1=80=D1=8F=D0=B2=D1=86=D0=B5=D0=B2?=
|
||||
<nkudriavtsev@gmail.com>
|
||||
Date: Tue, 21 Jul 2015 13:31:52 +0300
|
||||
Subject: [PATCH] HID: chicony: Add support for Acer Aspire Switch 12
|
||||
|
||||
Acer Aspire Switch 12 keyboard Chicony's controller reports too big usage
|
||||
index on the 1st interface. The patch fixes the report. The work based on
|
||||
solution from drivers/hid/hid-holtek-mouse.c
|
||||
|
||||
Bug report: https://bugzilla.kernel.org/show_bug.cgi?id=101721
|
||||
|
||||
Signed-off-by: Nicholas Kudriavtsev <nkudriavtsev@gmail.com>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.com>
|
||||
---
|
||||
drivers/hid/hid-chicony.c | 26 ++++++++++++++++++++++++++
|
||||
drivers/hid/hid-core.c | 1 +
|
||||
drivers/hid/hid-ids.h | 1 +
|
||||
3 files changed, 28 insertions(+)
|
||||
|
||||
diff --git a/drivers/hid/hid-chicony.c b/drivers/hid/hid-chicony.c
|
||||
index b613d5a79684..bc3cec199fee 100644
|
||||
--- a/drivers/hid/hid-chicony.c
|
||||
+++ b/drivers/hid/hid-chicony.c
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <linux/input.h>
|
||||
#include <linux/hid.h>
|
||||
#include <linux/module.h>
|
||||
+#include <linux/usb.h>
|
||||
|
||||
#include "hid-ids.h"
|
||||
|
||||
@@ -57,10 +58,34 @@ static int ch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
|
||||
return 1;
|
||||
}
|
||||
|
||||
+static __u8 *ch_switch12_report_fixup(struct hid_device *hdev, __u8 *rdesc,
|
||||
+ unsigned int *rsize)
|
||||
+{
|
||||
+ struct usb_interface *intf = to_usb_interface(hdev->dev.parent);
|
||||
+
|
||||
+ if (intf->cur_altsetting->desc.bInterfaceNumber == 1) {
|
||||
+ /* Change usage maximum and logical maximum from 0x7fff to
|
||||
+ * 0x2fff, so they don't exceed HID_MAX_USAGES */
|
||||
+ switch (hdev->product) {
|
||||
+ case USB_DEVICE_ID_CHICONY_ACER_SWITCH12:
|
||||
+ if (*rsize >= 128 && rdesc[64] == 0xff && rdesc[65] == 0x7f
|
||||
+ && rdesc[69] == 0xff && rdesc[70] == 0x7f) {
|
||||
+ hid_info(hdev, "Fixing up report descriptor\n");
|
||||
+ rdesc[65] = rdesc[70] = 0x2f;
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ }
|
||||
+ return rdesc;
|
||||
+}
|
||||
+
|
||||
+
|
||||
static const struct hid_device_id ch_devices[] = {
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_TACTICAL_PAD) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS2) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_AK1D) },
|
||||
+ { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_ACER_SWITCH12) },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(hid, ch_devices);
|
||||
@@ -68,6 +93,7 @@ MODULE_DEVICE_TABLE(hid, ch_devices);
|
||||
static struct hid_driver ch_driver = {
|
||||
.name = "chicony",
|
||||
.id_table = ch_devices,
|
||||
+ .report_fixup = ch_switch12_report_fixup,
|
||||
.input_mapping = ch_input_mapping,
|
||||
};
|
||||
module_hid_driver(ch_driver);
|
||||
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
|
||||
index e6fce23b121a..f90ca6574221 100644
|
||||
--- a/drivers/hid/hid-core.c
|
||||
+++ b/drivers/hid/hid-core.c
|
||||
@@ -1807,6 +1807,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS2) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_AK1D) },
|
||||
+ { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_ACER_SWITCH12) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_PRODIKEYS_PCMIDI) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CYGNAL, USB_DEVICE_ID_CYGNAL_CP2112) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_1) },
|
||||
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
|
||||
index b3b225b75d0a..79210ca8eff1 100644
|
||||
--- a/drivers/hid/hid-ids.h
|
||||
+++ b/drivers/hid/hid-ids.h
|
||||
@@ -233,6 +233,7 @@
|
||||
#define USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE 0x1053
|
||||
#define USB_DEVICE_ID_CHICONY_WIRELESS2 0x1123
|
||||
#define USB_DEVICE_ID_CHICONY_AK1D 0x1125
|
||||
+#define USB_DEVICE_ID_CHICONY_ACER_SWITCH12 0x1421
|
||||
|
||||
#define USB_VENDOR_ID_CHUNGHWAT 0x2247
|
||||
#define USB_DEVICE_ID_CHUNGHWAT_MULTITOUCH 0x0001
|
||||
--
|
||||
2.4.3
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
From 0621809e37936e7c2b3eac9165cf2aad7f9189eb Mon Sep 17 00:00:00 2001
|
||||
From: Krzysztof Kozlowski <k.kozlowski@samsung.com>
|
||||
Date: Mon, 3 Aug 2015 14:57:30 +0900
|
||||
Subject: [PATCH] HID: hid-input: Fix accessing freed memory during device
|
||||
disconnect
|
||||
|
||||
During unbinding the driver was dereferencing a pointer to memory
|
||||
already freed by power_supply_unregister().
|
||||
|
||||
Driver was freeing its internal description of battery through pointers
|
||||
stored in power_supply structure. However, because the core owns the
|
||||
power supply instance, after calling power_supply_unregister() this
|
||||
memory is freed and the driver cannot access these members.
|
||||
|
||||
Fix this by storing the pointer to internal description of battery in a
|
||||
local variable before calling power_supply_unregister(), so the pointer
|
||||
remains valid.
|
||||
|
||||
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
|
||||
Reported-by: H.J. Lu <hjl.tools@gmail.com>
|
||||
Fixes: 297d716f6260 ("power_supply: Change ownership from driver to core")
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.com>
|
||||
---
|
||||
drivers/hid/hid-input.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
|
||||
index 3511bbab..e3c6364 100644
|
||||
--- a/drivers/hid/hid-input.c
|
||||
+++ b/drivers/hid/hid-input.c
|
||||
@@ -462,12 +462,15 @@ out:
|
||||
|
||||
static void hidinput_cleanup_battery(struct hid_device *dev)
|
||||
{
|
||||
+ const struct power_supply_desc *psy_desc;
|
||||
+
|
||||
if (!dev->battery)
|
||||
return;
|
||||
|
||||
+ psy_desc = dev->battery->desc;
|
||||
power_supply_unregister(dev->battery);
|
||||
- kfree(dev->battery->desc->name);
|
||||
- kfree(dev->battery->desc);
|
||||
+ kfree(psy_desc->name);
|
||||
+ kfree(psy_desc);
|
||||
dev->battery = NULL;
|
||||
}
|
||||
#else /* !CONFIG_HID_BATTERY_STRENGTH */
|
||||
--
|
||||
2.4.3
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
From 93a2001bdfd5376c3dc2158653034c20392d15c5 Mon Sep 17 00:00:00 2001
|
||||
From: Scott Bauer <sbauer@plzdonthack.me>
|
||||
Date: Thu, 23 Jun 2016 08:59:47 -0600
|
||||
Subject: [PATCH] HID: hiddev: validate num_values for HIDIOCGUSAGES,
|
||||
HIDIOCSUSAGES commands
|
||||
|
||||
This patch validates the num_values parameter from userland during the
|
||||
HIDIOCGUSAGES and HIDIOCSUSAGES commands. Previously, if the report id was set
|
||||
to HID_REPORT_ID_UNKNOWN, we would fail to validate the num_values parameter
|
||||
leading to a heap overflow.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Scott Bauer <sbauer@plzdonthack.me>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
||||
---
|
||||
drivers/hid/usbhid/hiddev.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c
|
||||
index 2f1ddca6f2e0..700145b15088 100644
|
||||
--- a/drivers/hid/usbhid/hiddev.c
|
||||
+++ b/drivers/hid/usbhid/hiddev.c
|
||||
@@ -516,13 +516,13 @@ static noinline int hiddev_ioctl_usage(struct hiddev *hiddev, unsigned int cmd,
|
||||
goto inval;
|
||||
} else if (uref->usage_index >= field->report_count)
|
||||
goto inval;
|
||||
-
|
||||
- else if ((cmd == HIDIOCGUSAGES || cmd == HIDIOCSUSAGES) &&
|
||||
- (uref_multi->num_values > HID_MAX_MULTI_USAGES ||
|
||||
- uref->usage_index + uref_multi->num_values > field->report_count))
|
||||
- goto inval;
|
||||
}
|
||||
|
||||
+ if ((cmd == HIDIOCGUSAGES || cmd == HIDIOCSUSAGES) &&
|
||||
+ (uref_multi->num_values > HID_MAX_MULTI_USAGES ||
|
||||
+ uref->usage_index + uref_multi->num_values > field->report_count))
|
||||
+ goto inval;
|
||||
+
|
||||
switch (cmd) {
|
||||
case HIDIOCGUSAGE:
|
||||
uref->value = field->value[uref->usage_index];
|
||||
--
|
||||
2.5.5
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Fri, 6 Mar 2015 11:14:42 -0500
|
||||
Subject: [PATCH] HID: multitouch: add support of clickpads
|
||||
|
||||
Touchpads that have only one button are called clickpads and should
|
||||
be advertised as such by the kernel.
|
||||
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Tested-by: Jason Ekstrand <jason@jlekstrand.net>
|
||||
---
|
||||
drivers/hid/hid-multitouch.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
|
||||
index f65e78b46999..ef06dc30b9b1 100644
|
||||
--- a/drivers/hid/hid-multitouch.c
|
||||
+++ b/drivers/hid/hid-multitouch.c
|
||||
@@ -116,6 +116,7 @@ struct mt_device {
|
||||
__u8 touches_by_report; /* how many touches are present in one report:
|
||||
* 1 means we should use a serial protocol
|
||||
* > 1 means hybrid (multitouch) protocol */
|
||||
+ __u8 buttons_count; /* number of physical buttons per touchpad */
|
||||
bool serial_maybe; /* need to check for serial protocol */
|
||||
bool curvalid; /* is the current contact valid? */
|
||||
unsigned mt_flags; /* flags to pass to input-mt */
|
||||
@@ -379,6 +380,10 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
|
||||
td->inputmode_value = MT_INPUTMODE_TOUCHPAD;
|
||||
}
|
||||
|
||||
+ /* count the buttons on touchpads */
|
||||
+ if ((usage->hid & HID_USAGE_PAGE) == HID_UP_BUTTON)
|
||||
+ td->buttons_count++;
|
||||
+
|
||||
if (usage->usage_index)
|
||||
prev_usage = &field->usage[usage->usage_index - 1];
|
||||
|
||||
@@ -728,6 +733,10 @@ static void mt_touch_input_configured(struct hid_device *hdev,
|
||||
if (cls->quirks & MT_QUIRK_NOT_SEEN_MEANS_UP)
|
||||
td->mt_flags |= INPUT_MT_DROP_UNUSED;
|
||||
|
||||
+ /* check for clickpads */
|
||||
+ if ((td->mt_flags & INPUT_MT_POINTER) && (td->buttons_count == 1))
|
||||
+ __set_bit(INPUT_PROP_BUTTONPAD, input->propbit);
|
||||
+
|
||||
input_mt_init_slots(input, td->maxcontacts, td->mt_flags);
|
||||
|
||||
td->mt_flags = 0;
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
From 37e81f1a82ba4f214c05c4cc3807378753c7a867 Mon Sep 17 00:00:00 2001
|
||||
From: Allen Hung <allen_hung@dell.com>
|
||||
Date: Fri, 20 Nov 2015 18:21:06 +0800
|
||||
Subject: [PATCH] HID: multitouch: enable palm rejection if device implements
|
||||
confidence usage
|
||||
|
||||
The usage Confidence is mandary to Windows Precision Touchpad devices. The
|
||||
appearance of this usage is checked in hidinput_connect but the quirk
|
||||
MT_QUIRK_VALID_IS_CONFIDENCE is not applied to device accordingly.
|
||||
Apply this quirk and also remove quirk MT_QUIRK_ALWAYS_VALID to enable palm
|
||||
rejection for the WIN 8 touchpad devices which have implemented usage
|
||||
Confidence in its input reports.
|
||||
|
||||
Tested on Dell XPS 13 laptop.
|
||||
|
||||
Signed-off-by: Allen Hung <allen_hung@dell.com>
|
||||
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
||||
---
|
||||
drivers/hid/hid-multitouch.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
|
||||
index 7c811252c1ce..0c94348a168d 100644
|
||||
--- a/drivers/hid/hid-multitouch.c
|
||||
+++ b/drivers/hid/hid-multitouch.c
|
||||
@@ -448,6 +448,11 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
|
||||
mt_store_field(usage, td, hi);
|
||||
return 1;
|
||||
case HID_DG_CONFIDENCE:
|
||||
+ if (cls->name == MT_CLS_WIN_8 &&
|
||||
+ field->application == HID_DG_TOUCHPAD) {
|
||||
+ cls->quirks &= ~MT_QUIRK_ALWAYS_VALID;
|
||||
+ cls->quirks |= MT_QUIRK_VALID_IS_CONFIDENCE;
|
||||
+ }
|
||||
mt_store_field(usage, td, hi);
|
||||
return 1;
|
||||
case HID_DG_TIPSWITCH:
|
||||
--
|
||||
2.5.0
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
From 954d6154959c8c196fa4b89fc98a4fb377c6a38d Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Fri, 8 Jan 2016 17:58:49 +0100
|
||||
Subject: [PATCH] HID: sony: do not bail out when the sixaxis refuses the
|
||||
output report
|
||||
|
||||
When setting the operational mode, some third party (Speedlink Strike-FX)
|
||||
gamepads refuse the output report. Failing here means we refuse to
|
||||
initialize the gamepad while this should be harmless.
|
||||
|
||||
The weird part is that the initial commit that added this: a7de9b8
|
||||
("HID: sony: Enable Gasia third-party PS3 controllers") mentions this
|
||||
very same controller as one requiring this output report.
|
||||
Anyway, it's broken for one user at least, so let's change it.
|
||||
We will report an error, but at least the controller should work.
|
||||
|
||||
And no, these devices present themselves as legacy Sony controllers
|
||||
(VID:PID of 054C:0268, as in the official ones) so there are no ways
|
||||
of discriminating them from the official ones.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1255325
|
||||
|
||||
Reported-and-tested-by: Max Fedotov <thesourcehim@gmail.com>
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
||||
---
|
||||
drivers/hid/hid-sony.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
|
||||
index 661f94f8ab8b..11f91c0c2458 100644
|
||||
--- a/drivers/hid/hid-sony.c
|
||||
+++ b/drivers/hid/hid-sony.c
|
||||
@@ -1411,8 +1411,10 @@ static int sixaxis_set_operational_usb(struct hid_device *hdev)
|
||||
}
|
||||
|
||||
ret = hid_hw_output_report(hdev, buf, 1);
|
||||
- if (ret < 0)
|
||||
- hid_err(hdev, "can't set operational mode: step 3\n");
|
||||
+ if (ret < 0) {
|
||||
+ hid_info(hdev, "can't set operational mode: step 3, ignoring\n");
|
||||
+ ret = 0;
|
||||
+ }
|
||||
|
||||
out:
|
||||
kfree(buf);
|
||||
--
|
||||
2.5.0
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
From 580549ef6b3e3fb3b958de490ca99f43a089a2cf Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Fri, 25 Mar 2016 15:26:55 +0100
|
||||
Subject: [PATCH] HID: wacom: fix Bamboo ONE oops
|
||||
|
||||
Looks like recent changes in the Wacom driver made the Bamboo ONE crashes.
|
||||
The tablet behaves as if it was a regular Bamboo device with pen, touch
|
||||
and pad, but there is no physical pad connected to it.
|
||||
The weird part is that the pad is still sending events and given that
|
||||
there is no input node connected to it, we get anull pointer exception.
|
||||
|
||||
Link: https://bugzilla.redhat.com/show_bug.cgi?id=1317116
|
||||
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Acked-by: Ping Cheng <pingc@wacom.com>
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
||||
---
|
||||
drivers/hid/wacom_wac.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
|
||||
index bd198bbd4df0..02c4efea241c 100644
|
||||
--- a/drivers/hid/wacom_wac.c
|
||||
+++ b/drivers/hid/wacom_wac.c
|
||||
@@ -2426,6 +2426,17 @@ void wacom_setup_device_quirks(struct wacom *wacom)
|
||||
}
|
||||
|
||||
/*
|
||||
+ * Hack for the Bamboo One:
|
||||
+ * the device presents a PAD/Touch interface as most Bamboos and even
|
||||
+ * sends ghosts PAD data on it. However, later, we must disable this
|
||||
+ * ghost interface, and we can not detect it unless we set it here
|
||||
+ * to WACOM_DEVICETYPE_PAD or WACOM_DEVICETYPE_TOUCH.
|
||||
+ */
|
||||
+ if (features->type == BAMBOO_PEN &&
|
||||
+ features->pktlen == WACOM_PKGLEN_BBTOUCH3)
|
||||
+ features->device_type |= WACOM_DEVICETYPE_PAD;
|
||||
+
|
||||
+ /*
|
||||
* Raw Wacom-mode pen and touch events both come from interface
|
||||
* 0, whose HID descriptor has an application usage of 0xFF0D
|
||||
* (i.e., WACOM_VENDORDEFINED_PEN). We route pen packets back
|
||||
--
|
||||
2.5.5
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
From: Shachar Raindel <raindel@mellanox.com>
|
||||
Date: Sun, 4 Jan 2015 18:30:32 +0200
|
||||
Subject: [PATCH] IB/core: Prevent integer overflow in ib_umem_get address
|
||||
arithmetic
|
||||
|
||||
Properly verify that the resulting page aligned end address is larger
|
||||
than both the start address and the length of the memory area
|
||||
requested.
|
||||
|
||||
Both the start and length arguments for ib_umem_get are controlled by
|
||||
the user. A misbehaving user can provide values which will cause an
|
||||
integer overflow when calculating the page aligned end address.
|
||||
|
||||
This overflow can cause also miscalculation of the number of pages
|
||||
mapped, and additional logic issues.
|
||||
|
||||
Issue: 470602
|
||||
Change-Id: Iee88441db454af291fc5a376009d840603398d23
|
||||
Signed-off-by: Shachar Raindel <raindel@mellanox.com>
|
||||
Signed-off-by: Jack Morgenstein <jackm@mellanox.com>
|
||||
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
|
||||
---
|
||||
drivers/infiniband/core/umem.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c
|
||||
index aec7a6aa2951..8c014b5dab4c 100644
|
||||
--- a/drivers/infiniband/core/umem.c
|
||||
+++ b/drivers/infiniband/core/umem.c
|
||||
@@ -99,6 +99,14 @@ struct ib_umem *ib_umem_get(struct ib_ucontext *context, unsigned long addr,
|
||||
if (dmasync)
|
||||
dma_set_attr(DMA_ATTR_WRITE_BARRIER, &attrs);
|
||||
|
||||
+ /*
|
||||
+ * If the combination of the addr and size requested for this memory
|
||||
+ * region causes an integer overflow, return error.
|
||||
+ */
|
||||
+ if ((PAGE_ALIGN(addr + size) <= size) ||
|
||||
+ (PAGE_ALIGN(addr + size) <= addr))
|
||||
+ return ERR_PTR(-EINVAL);
|
||||
+
|
||||
if (!can_do_mlock())
|
||||
return ERR_PTR(-EPERM);
|
||||
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Sun, 8 Mar 2015 22:33:36 -0700
|
||||
Subject: [PATCH] Input: synaptics - do not retrieve the board id on old
|
||||
firmwares
|
||||
|
||||
The board id capability has been added in firmware 7.5.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index bd399a72e610..ff352ecca394 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -253,6 +253,10 @@ static int synaptics_board_id(struct psmouse *psmouse)
|
||||
struct synaptics_data *priv = psmouse->private;
|
||||
unsigned char bid[3];
|
||||
|
||||
+ /* firmwares prior 7.5 have no board_id encoded */
|
||||
+ if (SYN_ID_FULL(priv->identity) < 0x705)
|
||||
+ return 0;
|
||||
+
|
||||
if (synaptics_send_cmd(psmouse, SYN_QUE_MODES, bid))
|
||||
return -1;
|
||||
priv->board_id = ((bid[0] & 0xfc) << 6) | bid[1];
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
Date: Sun, 8 Mar 2015 22:30:43 -0700
|
||||
Subject: [PATCH] Input: synaptics - fix middle button on Lenovo 2015 products
|
||||
|
||||
On the X1 Carbon 3rd gen (with a 2015 broadwell cpu), the physical middle
|
||||
button of the trackstick (attached to the touchpad serio device, of course)
|
||||
seems to get lost.
|
||||
|
||||
Actually, the touchpads reports 3 extra buttons, which falls in the switch
|
||||
below to the '2' case. Let's handle the case of odd numbers also, so that
|
||||
the middle button finds its way back.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 44 ++++++++++++++++++++---------------------
|
||||
1 file changed, 21 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index 134676303117..f8df5a518bf3 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -650,6 +650,18 @@ static void synaptics_parse_agm(const unsigned char buf[],
|
||||
}
|
||||
}
|
||||
|
||||
+static void synaptics_parse_ext_buttons(const unsigned char buf[],
|
||||
+ struct synaptics_data *priv,
|
||||
+ struct synaptics_hw_state *hw)
|
||||
+{
|
||||
+ unsigned int ext_bits =
|
||||
+ (SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap) + 1) >> 1;
|
||||
+ unsigned int ext_mask = GENMASK(ext_bits - 1, 0);
|
||||
+
|
||||
+ hw->ext_buttons = buf[4] & ext_mask;
|
||||
+ hw->ext_buttons |= (buf[5] & ext_mask) << ext_bits;
|
||||
+}
|
||||
+
|
||||
static bool is_forcepad;
|
||||
|
||||
static int synaptics_parse_hw_state(const unsigned char buf[],
|
||||
@@ -736,28 +748,9 @@ static int synaptics_parse_hw_state(const unsigned char buf[],
|
||||
hw->down = ((buf[0] ^ buf[3]) & 0x02) ? 1 : 0;
|
||||
}
|
||||
|
||||
- if (SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap) &&
|
||||
+ if (SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap) > 0 &&
|
||||
((buf[0] ^ buf[3]) & 0x02)) {
|
||||
- switch (SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap) & ~0x01) {
|
||||
- default:
|
||||
- /*
|
||||
- * if nExtBtn is greater than 8 it should be
|
||||
- * considered invalid and treated as 0
|
||||
- */
|
||||
- break;
|
||||
- case 8:
|
||||
- hw->ext_buttons |= ((buf[5] & 0x08)) ? 0x80 : 0;
|
||||
- hw->ext_buttons |= ((buf[4] & 0x08)) ? 0x40 : 0;
|
||||
- case 6:
|
||||
- hw->ext_buttons |= ((buf[5] & 0x04)) ? 0x20 : 0;
|
||||
- hw->ext_buttons |= ((buf[4] & 0x04)) ? 0x10 : 0;
|
||||
- case 4:
|
||||
- hw->ext_buttons |= ((buf[5] & 0x02)) ? 0x08 : 0;
|
||||
- hw->ext_buttons |= ((buf[4] & 0x02)) ? 0x04 : 0;
|
||||
- case 2:
|
||||
- hw->ext_buttons |= ((buf[5] & 0x01)) ? 0x02 : 0;
|
||||
- hw->ext_buttons |= ((buf[4] & 0x01)) ? 0x01 : 0;
|
||||
- }
|
||||
+ synaptics_parse_ext_buttons(buf, priv, hw);
|
||||
}
|
||||
} else {
|
||||
hw->x = (((buf[1] & 0x1f) << 8) | buf[2]);
|
||||
@@ -824,6 +817,7 @@ static void synaptics_report_buttons(struct psmouse *psmouse,
|
||||
{
|
||||
struct input_dev *dev = psmouse->dev;
|
||||
struct synaptics_data *priv = psmouse->private;
|
||||
+ int ext_bits = (SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap) + 1) >> 1;
|
||||
int i;
|
||||
|
||||
input_report_key(dev, BTN_LEFT, hw->left);
|
||||
@@ -837,8 +831,12 @@ static void synaptics_report_buttons(struct psmouse *psmouse,
|
||||
input_report_key(dev, BTN_BACK, hw->down);
|
||||
}
|
||||
|
||||
- for (i = 0; i < SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap); i++)
|
||||
- input_report_key(dev, BTN_0 + i, hw->ext_buttons & (1 << i));
|
||||
+ for (i = 0; i < ext_bits; i++) {
|
||||
+ input_report_key(dev, BTN_0 + 2 * i,
|
||||
+ hw->ext_buttons & (1 << i));
|
||||
+ input_report_key(dev, BTN_1 + 2 * i,
|
||||
+ hw->ext_buttons & (1 << (i + ext_bits)));
|
||||
+ }
|
||||
}
|
||||
|
||||
static void synaptics_report_mt_data(struct psmouse *psmouse,
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Sun, 8 Mar 2015 22:32:43 -0700
|
||||
Subject: [PATCH] Input: synaptics - handle spurious release of trackstick
|
||||
buttons
|
||||
|
||||
The Fimware 8.1 has a bug in which the extra buttons are only sent when the
|
||||
ExtBit is 1. This should be fixed in a future FW update which should have
|
||||
a bump of the minor version.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 33 +++++++++++++++++++++++++--------
|
||||
1 file changed, 25 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index f8df5a518bf3..bd399a72e610 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -812,14 +812,36 @@ static void synaptics_report_semi_mt_data(struct input_dev *dev,
|
||||
}
|
||||
}
|
||||
|
||||
-static void synaptics_report_buttons(struct psmouse *psmouse,
|
||||
- const struct synaptics_hw_state *hw)
|
||||
+static void synaptics_report_ext_buttons(struct psmouse *psmouse,
|
||||
+ const struct synaptics_hw_state *hw)
|
||||
{
|
||||
struct input_dev *dev = psmouse->dev;
|
||||
struct synaptics_data *priv = psmouse->private;
|
||||
int ext_bits = (SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap) + 1) >> 1;
|
||||
int i;
|
||||
|
||||
+ if (!SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap))
|
||||
+ return;
|
||||
+
|
||||
+ /* Bug in FW 8.1, buttons are reported only when ExtBit is 1 */
|
||||
+ if (SYN_ID_FULL(priv->identity) == 0x801 &&
|
||||
+ !((psmouse->packet[0] ^ psmouse->packet[3]) & 0x02))
|
||||
+ return;
|
||||
+
|
||||
+ for (i = 0; i < ext_bits; i++) {
|
||||
+ input_report_key(dev, BTN_0 + 2 * i,
|
||||
+ hw->ext_buttons & (1 << i));
|
||||
+ input_report_key(dev, BTN_1 + 2 * i,
|
||||
+ hw->ext_buttons & (1 << (i + ext_bits)));
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void synaptics_report_buttons(struct psmouse *psmouse,
|
||||
+ const struct synaptics_hw_state *hw)
|
||||
+{
|
||||
+ struct input_dev *dev = psmouse->dev;
|
||||
+ struct synaptics_data *priv = psmouse->private;
|
||||
+
|
||||
input_report_key(dev, BTN_LEFT, hw->left);
|
||||
input_report_key(dev, BTN_RIGHT, hw->right);
|
||||
|
||||
@@ -831,12 +853,7 @@ static void synaptics_report_buttons(struct psmouse *psmouse,
|
||||
input_report_key(dev, BTN_BACK, hw->down);
|
||||
}
|
||||
|
||||
- for (i = 0; i < ext_bits; i++) {
|
||||
- input_report_key(dev, BTN_0 + 2 * i,
|
||||
- hw->ext_buttons & (1 << i));
|
||||
- input_report_key(dev, BTN_1 + 2 * i,
|
||||
- hw->ext_buttons & (1 << (i + ext_bits)));
|
||||
- }
|
||||
+ synaptics_report_ext_buttons(psmouse, hw);
|
||||
}
|
||||
|
||||
static void synaptics_report_mt_data(struct psmouse *psmouse,
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
From: Daniel Martin <consume.noise@gmail.com>
|
||||
Date: Sun, 8 Mar 2015 22:28:29 -0700
|
||||
Subject: [PATCH] Input: synaptics - log queried and quirked dimension values
|
||||
|
||||
Logging the dimension values we queried and the values we use from a quirk
|
||||
to overwrite can be helpful for debugging.
|
||||
|
||||
This partly relates to bug:
|
||||
https://bugzilla.kernel.org/show_bug.cgi?id=91541
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index fc7e1db7530e..cc7909ecf38e 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -365,6 +365,9 @@ static int synaptics_resolution(struct psmouse *psmouse)
|
||||
} else {
|
||||
priv->x_max = (resp[0] << 5) | ((resp[1] & 0x0f) << 1);
|
||||
priv->y_max = (resp[2] << 5) | ((resp[1] & 0xf0) >> 3);
|
||||
+ psmouse_info(psmouse,
|
||||
+ "queried max coordinates: x [..%d], y [..%d]\n",
|
||||
+ priv->x_max, priv->y_max);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -376,6 +379,9 @@ static int synaptics_resolution(struct psmouse *psmouse)
|
||||
} else {
|
||||
priv->x_min = (resp[0] << 5) | ((resp[1] & 0x0f) << 1);
|
||||
priv->y_min = (resp[2] << 5) | ((resp[1] & 0xf0) >> 3);
|
||||
+ psmouse_info(psmouse,
|
||||
+ "queried min coordinates: x [%d..], y [%d..]\n",
|
||||
+ priv->x_min, priv->y_min);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -398,6 +404,10 @@ static void synaptics_apply_quirks(struct psmouse *psmouse)
|
||||
priv->x_max = min_max_pnpid_table[i].x_max;
|
||||
priv->y_min = min_max_pnpid_table[i].y_min;
|
||||
priv->y_max = min_max_pnpid_table[i].y_max;
|
||||
+ psmouse_info(psmouse,
|
||||
+ "quirked min/max coordinates: x [%d..%d], y [%d..%d]\n",
|
||||
+ priv->x_min, priv->x_max,
|
||||
+ priv->y_min, priv->y_max);
|
||||
break;
|
||||
}
|
||||
}
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Thu, 16 Apr 2015 13:01:46 -0400
|
||||
Subject: [PATCH] Input - synaptics: pin 3 touches when the firmware reports 3
|
||||
fingers
|
||||
|
||||
Synaptics PS/2 touchpad can send only 2 touches in a report. They can
|
||||
detect 4 or 5 and this information is valuable.
|
||||
|
||||
In commit 63c4fda (Input: synaptics - allocate 3 slots to keep stability
|
||||
in image sensors), we allocate 3 slots, but we still continue to report
|
||||
the 2 available fingers. That means that the client sees 2 used slots while
|
||||
there is a total of 3 fingers advertised by BTN_TOOL_TRIPLETAP.
|
||||
|
||||
For old kernels this is not a problem because max_slots was 2 and libinput/
|
||||
xorg-synaptics knew how to deal with that. Now that max_slot is 3, the
|
||||
clients ignore BTN_TOOL_TRIPLETAP and count the actual used slots (so 2).
|
||||
It then gets confused when receiving the BTN_TOOL_TRIPLETAP and DOUBLETAP
|
||||
information, and goes wild.
|
||||
|
||||
We can pin the 3 slots until we get a total number of fingers below 2.
|
||||
|
||||
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1212230
|
||||
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index 3a32caf06bf1..58102970f94f 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -940,6 +940,14 @@ static void synaptics_report_mt_data(struct psmouse *psmouse,
|
||||
input_report_abs(dev, ABS_MT_PRESSURE, hw[i]->z);
|
||||
}
|
||||
|
||||
+ /* keep (slot count <= num_fingers) by pinning all slots */
|
||||
+ if (num_fingers >= 3) {
|
||||
+ for (i = 0; i < 3; i++) {
|
||||
+ input_mt_slot(dev, i);
|
||||
+ input_mt_report_slot_state(dev, MT_TOOL_FINGER, true);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
input_mt_drop_unused(dev);
|
||||
|
||||
/* Don't use active slot count to generate BTN_TOOL events. */
|
|
@ -1,47 +0,0 @@
|
|||
From: Daniel Martin <consume.noise@gmail.com>
|
||||
Date: Sun, 8 Mar 2015 22:28:40 -0700
|
||||
Subject: [PATCH] Input: synaptics - query min dimensions for fw v8.1
|
||||
|
||||
Query the min dimensions even if the check
|
||||
SYN_EXT_CAP_REQUESTS(priv->capabilities) >= 7 fails, but we know that the
|
||||
firmware version 8.1 is safe.
|
||||
|
||||
With that we don't need quirks for post-2013 models anymore as they expose
|
||||
correct min and max dimensions.
|
||||
|
||||
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=91541
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
|
||||
re-order the tests to check SYN_CAP_MIN_DIMENSIONS even on FW 8.1
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index cc7909ecf38e..7c80bd18613e 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -371,8 +371,14 @@ static int synaptics_resolution(struct psmouse *psmouse)
|
||||
}
|
||||
}
|
||||
|
||||
- if (SYN_EXT_CAP_REQUESTS(priv->capabilities) >= 7 &&
|
||||
- SYN_CAP_MIN_DIMENSIONS(priv->ext_cap_0c)) {
|
||||
+ if (SYN_CAP_MIN_DIMENSIONS(priv->ext_cap_0c) &&
|
||||
+ (SYN_EXT_CAP_REQUESTS(priv->capabilities) >= 7 ||
|
||||
+ /*
|
||||
+ * Firmware v8.1 does not report proper number of extended
|
||||
+ * capabilities, but has been proven to report correct min
|
||||
+ * coordinates.
|
||||
+ */
|
||||
+ SYN_ID_FULL(priv->identity) == 0x801)) {
|
||||
if (synaptics_send_cmd(psmouse, SYN_QUE_EXT_MIN_COORDS, resp)) {
|
||||
psmouse_warn(psmouse,
|
||||
"device claims to have min coordinates query, but I'm not able to read it.\n");
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,151 +0,0 @@
|
|||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Sun, 8 Mar 2015 22:35:41 -0700
|
||||
Subject: [PATCH] Input: synaptics - re-route tracksticks buttons on the Lenovo
|
||||
2015 series
|
||||
|
||||
The 2015 series of the Lenovo thinkpads added back the hardware buttons on
|
||||
top of the touchpad for the trackstick.
|
||||
|
||||
Unfortunately, they are wired to the touchpad, and not the trackstick.
|
||||
Thus, they are seen as extra buttons from the kernel point of view.
|
||||
|
||||
This leads to a problem in user space because extra buttons on synaptics
|
||||
devices used to be used as scroll up/down buttons. So in the end, the
|
||||
experience for the user is scroll events for buttons left and right when
|
||||
using the trackstick. Yay!
|
||||
|
||||
Fortunately, the firmware advertises such behavior in the extended
|
||||
capability $10, and so we can re-route the buttons through the pass-through
|
||||
interface.
|
||||
|
||||
Hallelujah-expressed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 47 +++++++++++++++++++++++++++++++----------
|
||||
drivers/input/mouse/synaptics.h | 5 +++++
|
||||
2 files changed, 41 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index eec73e8f1f06..3b9717a46140 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -582,18 +582,22 @@ static int synaptics_is_pt_packet(unsigned char *buf)
|
||||
return (buf[0] & 0xFC) == 0x84 && (buf[3] & 0xCC) == 0xC4;
|
||||
}
|
||||
|
||||
-static void synaptics_pass_pt_packet(struct serio *ptport, unsigned char *packet)
|
||||
+static void synaptics_pass_pt_packet(struct psmouse *psmouse,
|
||||
+ struct serio *ptport,
|
||||
+ unsigned char *packet)
|
||||
{
|
||||
+ struct synaptics_data *priv = psmouse->private;
|
||||
struct psmouse *child = serio_get_drvdata(ptport);
|
||||
|
||||
if (child && child->state == PSMOUSE_ACTIVATED) {
|
||||
- serio_interrupt(ptport, packet[1], 0);
|
||||
+ serio_interrupt(ptport, packet[1] | priv->pt_buttons, 0);
|
||||
serio_interrupt(ptport, packet[4], 0);
|
||||
serio_interrupt(ptport, packet[5], 0);
|
||||
if (child->pktsize == 4)
|
||||
serio_interrupt(ptport, packet[2], 0);
|
||||
- } else
|
||||
+ } else {
|
||||
serio_interrupt(ptport, packet[1], 0);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void synaptics_pt_activate(struct psmouse *psmouse)
|
||||
@@ -839,6 +843,7 @@ static void synaptics_report_ext_buttons(struct psmouse *psmouse,
|
||||
struct input_dev *dev = psmouse->dev;
|
||||
struct synaptics_data *priv = psmouse->private;
|
||||
int ext_bits = (SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap) + 1) >> 1;
|
||||
+ char buf[6] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
int i;
|
||||
|
||||
if (!SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap))
|
||||
@@ -849,12 +854,30 @@ static void synaptics_report_ext_buttons(struct psmouse *psmouse,
|
||||
!((psmouse->packet[0] ^ psmouse->packet[3]) & 0x02))
|
||||
return;
|
||||
|
||||
- for (i = 0; i < ext_bits; i++) {
|
||||
- input_report_key(dev, BTN_0 + 2 * i,
|
||||
- hw->ext_buttons & (1 << i));
|
||||
- input_report_key(dev, BTN_1 + 2 * i,
|
||||
- hw->ext_buttons & (1 << (i + ext_bits)));
|
||||
+ if (!SYN_CAP_EXT_BUTTONS_STICK(priv->ext_cap_10)) {
|
||||
+ for (i = 0; i < ext_bits; i++) {
|
||||
+ input_report_key(dev, BTN_0 + 2 * i,
|
||||
+ hw->ext_buttons & (1 << i));
|
||||
+ input_report_key(dev, BTN_1 + 2 * i,
|
||||
+ hw->ext_buttons & (1 << (i + ext_bits)));
|
||||
+ }
|
||||
+ return;
|
||||
}
|
||||
+
|
||||
+ /*
|
||||
+ * This generation of touchpads has the trackstick buttons
|
||||
+ * physically wired to the touchpad. Re-route them through
|
||||
+ * the pass-through interface.
|
||||
+ */
|
||||
+ if (!priv->pt_port)
|
||||
+ return;
|
||||
+
|
||||
+ /* The trackstick expects at most 3 buttons */
|
||||
+ priv->pt_buttons = SYN_CAP_EXT_BUTTON_STICK_L(hw->ext_buttons) |
|
||||
+ SYN_CAP_EXT_BUTTON_STICK_R(hw->ext_buttons) << 1 |
|
||||
+ SYN_CAP_EXT_BUTTON_STICK_M(hw->ext_buttons) << 2;
|
||||
+
|
||||
+ synaptics_pass_pt_packet(psmouse, priv->pt_port, buf);
|
||||
}
|
||||
|
||||
static void synaptics_report_buttons(struct psmouse *psmouse,
|
||||
@@ -1095,7 +1118,8 @@ static psmouse_ret_t synaptics_process_byte(struct psmouse *psmouse)
|
||||
if (SYN_CAP_PASS_THROUGH(priv->capabilities) &&
|
||||
synaptics_is_pt_packet(psmouse->packet)) {
|
||||
if (priv->pt_port)
|
||||
- synaptics_pass_pt_packet(priv->pt_port, psmouse->packet);
|
||||
+ synaptics_pass_pt_packet(psmouse, priv->pt_port,
|
||||
+ psmouse->packet);
|
||||
} else
|
||||
synaptics_process_packet(psmouse);
|
||||
|
||||
@@ -1197,8 +1221,9 @@ static void set_input_params(struct psmouse *psmouse,
|
||||
__set_bit(BTN_BACK, dev->keybit);
|
||||
}
|
||||
|
||||
- for (i = 0; i < SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap); i++)
|
||||
- __set_bit(BTN_0 + i, dev->keybit);
|
||||
+ if (!SYN_CAP_EXT_BUTTONS_STICK(priv->ext_cap_10))
|
||||
+ for (i = 0; i < SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap); i++)
|
||||
+ __set_bit(BTN_0 + i, dev->keybit);
|
||||
|
||||
__clear_bit(EV_REL, dev->evbit);
|
||||
__clear_bit(REL_X, dev->relbit);
|
||||
diff --git a/drivers/input/mouse/synaptics.h b/drivers/input/mouse/synaptics.h
|
||||
index 85180140509e..ee4bd0d12b26 100644
|
||||
--- a/drivers/input/mouse/synaptics.h
|
||||
+++ b/drivers/input/mouse/synaptics.h
|
||||
@@ -111,6 +111,10 @@
|
||||
#define SYN_CAP_EXT_BUTTONS_STICK(ex10) ((ex10) & 0x010000)
|
||||
#define SYN_CAP_SECUREPAD(ex10) ((ex10) & 0x020000)
|
||||
|
||||
+#define SYN_CAP_EXT_BUTTON_STICK_L(eb) (!!((eb) & 0x01))
|
||||
+#define SYN_CAP_EXT_BUTTON_STICK_M(eb) (!!((eb) & 0x02))
|
||||
+#define SYN_CAP_EXT_BUTTON_STICK_R(eb) (!!((eb) & 0x04))
|
||||
+
|
||||
/* synaptics modes query bits */
|
||||
#define SYN_MODE_ABSOLUTE(m) ((m) & (1 << 7))
|
||||
#define SYN_MODE_RATE(m) ((m) & (1 << 6))
|
||||
@@ -179,6 +183,7 @@ struct synaptics_data {
|
||||
bool disable_gesture; /* disable gestures */
|
||||
|
||||
struct serio *pt_port; /* Pass-through serio port */
|
||||
+ unsigned char pt_buttons; /* Pass-through buttons */
|
||||
|
||||
/*
|
||||
* Last received Advanced Gesture Mode (AGM) packet. An AGM packet
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Sun, 8 Mar 2015 22:34:50 -0700
|
||||
Subject: [PATCH] Input: synaptics - remove TOPBUTTONPAD property for Lenovos
|
||||
2015
|
||||
|
||||
The 2015 series of the Lenovo thinkpads added back the hardware buttons on
|
||||
top of the touchpad for the trackstick.
|
||||
|
||||
Unfortunately, Lenovo used the PNPIDs that are supposed to be "5 buttons"
|
||||
touchpads, so the new laptops also have the INPUT_PROP_TOPBUTTONPAD. Yay!
|
||||
|
||||
Instead of manually removing each of the new ones, or hoping that we know
|
||||
all the current ones, we can consider that the PNPIDs list that were given
|
||||
contains touchpads that have the trackstick buttons, either physically
|
||||
wired to them, or emulated with the top software button property.
|
||||
|
||||
Thanks to the extra buttons capability in query $10, we can reliably detect
|
||||
the physical buttons from the software ones, and so we can remove the
|
||||
TOPBUTTONPAD property even if it was declared as such.
|
||||
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index 83099eb8cf86..eec73e8f1f06 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -1206,7 +1206,8 @@ static void set_input_params(struct psmouse *psmouse,
|
||||
|
||||
if (SYN_CAP_CLICKPAD(priv->ext_cap_0c)) {
|
||||
__set_bit(INPUT_PROP_BUTTONPAD, dev->propbit);
|
||||
- if (psmouse_matches_pnp_id(psmouse, topbuttonpad_pnp_ids))
|
||||
+ if (psmouse_matches_pnp_id(psmouse, topbuttonpad_pnp_ids) &&
|
||||
+ !SYN_CAP_EXT_BUTTONS_STICK(priv->ext_cap_10))
|
||||
__set_bit(INPUT_PROP_TOPBUTTONPAD, dev->propbit);
|
||||
/* Clickpads report only left button */
|
||||
__clear_bit(BTN_RIGHT, dev->keybit);
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Sun, 8 Mar 2015 22:38:55 -0700
|
||||
Subject: [PATCH] Input: synaptics - remove X1 Carbon 3rd gen from the
|
||||
topbuttonpad list
|
||||
|
||||
Lenovo decided to switch back to physical buttons for the trackstick on
|
||||
their latest series. The PNPId list was provided before they reverted back
|
||||
to physical buttons, so it contains the new models too. We can know from
|
||||
the touchpad capabilities that the touchpad has physical buttons, so
|
||||
removing the ids from the list is not mandatory. It is still nicer to
|
||||
remove the wrong ids, so start by removing the X1 Carbon 3rd gen, with the
|
||||
PNPId of LEN0048.
|
||||
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index 3b9717a46140..c2167194a538 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -186,7 +186,6 @@ static const char * const topbuttonpad_pnp_ids[] = {
|
||||
"LEN0045",
|
||||
"LEN0046",
|
||||
"LEN0047",
|
||||
- "LEN0048",
|
||||
"LEN0049",
|
||||
"LEN2000",
|
||||
"LEN2001", /* Edge E431 */
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Sun, 8 Mar 2015 22:39:17 -0700
|
||||
Subject: [PATCH] Input: synaptics - remove X250 from the topbuttonpad list
|
||||
|
||||
Lenovo X250 has a PnpID of LEN0046, but it does not have the top software
|
||||
button requirement.
|
||||
|
||||
For the record, Lenovo T450s and W541 have a PnpID of LEN200f and LEN004a,
|
||||
so they are not on the top software button list.
|
||||
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Reviewed-by: Daniel Martin <consume.noise@gmail.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index c2167194a538..c74bfa1c05e3 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -184,7 +184,6 @@ static const char * const topbuttonpad_pnp_ids[] = {
|
||||
"LEN0041",
|
||||
"LEN0042", /* Yoga */
|
||||
"LEN0045",
|
||||
- "LEN0046",
|
||||
"LEN0047",
|
||||
"LEN0049",
|
||||
"LEN2000",
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
From: Daniel Martin <consume.noise@gmail.com>
|
||||
Date: Sun, 8 Mar 2015 22:29:07 -0700
|
||||
Subject: [PATCH] Input: synaptics - remove obsolete min/max quirk for X240
|
||||
|
||||
The firmware of the X240 (LEN0035, 2013/12) exposes the same values
|
||||
x [1232..5710], y [1156..4696]
|
||||
as the quirk applies.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index 7c80bd18613e..382678ae3363 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -134,7 +134,7 @@ static const struct min_max_quirk min_max_pnpid_table[] = {
|
||||
1024, 5052, 2258, 4832
|
||||
},
|
||||
{
|
||||
- (const char * const []){"LEN0035", "LEN0042", NULL},
|
||||
+ (const char * const []){"LEN0042", NULL},
|
||||
1232, 5710, 1156, 4696
|
||||
},
|
||||
{
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,125 +0,0 @@
|
|||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Sun, 8 Mar 2015 22:34:03 -0700
|
||||
Subject: [PATCH] Input: synaptics - retrieve the extended capabilities in
|
||||
query $10
|
||||
|
||||
Newer Synaptics touchpads need to get information from the query $10.
|
||||
Retrieve it if available.
|
||||
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 23 ++++++++++++++++++++---
|
||||
drivers/input/mouse/synaptics.h | 23 +++++++++++++++++++++++
|
||||
2 files changed, 43 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index ff352ecca394..83099eb8cf86 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -244,11 +244,24 @@ static int synaptics_model_id(struct psmouse *psmouse)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int synaptics_more_extended_queries(struct psmouse *psmouse)
|
||||
+{
|
||||
+ struct synaptics_data *priv = psmouse->private;
|
||||
+ unsigned char buf[3];
|
||||
+
|
||||
+ if (synaptics_send_cmd(psmouse, SYN_QUE_MEXT_CAPAB_10, buf))
|
||||
+ return -1;
|
||||
+
|
||||
+ priv->ext_cap_10 = (buf[0]<<16) | (buf[1]<<8) | buf[2];
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
/*
|
||||
- * Read the board id from the touchpad
|
||||
+ * Read the board id and the "More Extended Queries" from the touchpad
|
||||
* The board id is encoded in the "QUERY MODES" response
|
||||
*/
|
||||
-static int synaptics_board_id(struct psmouse *psmouse)
|
||||
+static int synaptics_query_modes(struct psmouse *psmouse)
|
||||
{
|
||||
struct synaptics_data *priv = psmouse->private;
|
||||
unsigned char bid[3];
|
||||
@@ -260,6 +273,10 @@ static int synaptics_board_id(struct psmouse *psmouse)
|
||||
if (synaptics_send_cmd(psmouse, SYN_QUE_MODES, bid))
|
||||
return -1;
|
||||
priv->board_id = ((bid[0] & 0xfc) << 6) | bid[1];
|
||||
+
|
||||
+ if (SYN_MEXT_CAP_BIT(bid[0]))
|
||||
+ return synaptics_more_extended_queries(psmouse);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -449,7 +466,7 @@ static int synaptics_query_hardware(struct psmouse *psmouse)
|
||||
return -1;
|
||||
if (synaptics_firmware_id(psmouse))
|
||||
return -1;
|
||||
- if (synaptics_board_id(psmouse))
|
||||
+ if (synaptics_query_modes(psmouse))
|
||||
return -1;
|
||||
if (synaptics_capability(psmouse))
|
||||
return -1;
|
||||
diff --git a/drivers/input/mouse/synaptics.h b/drivers/input/mouse/synaptics.h
|
||||
index aedc3299b14e..85180140509e 100644
|
||||
--- a/drivers/input/mouse/synaptics.h
|
||||
+++ b/drivers/input/mouse/synaptics.h
|
||||
@@ -22,6 +22,7 @@
|
||||
#define SYN_QUE_EXT_CAPAB_0C 0x0c
|
||||
#define SYN_QUE_EXT_MAX_COORDS 0x0d
|
||||
#define SYN_QUE_EXT_MIN_COORDS 0x0f
|
||||
+#define SYN_QUE_MEXT_CAPAB_10 0x10
|
||||
|
||||
/* synatics modes */
|
||||
#define SYN_BIT_ABSOLUTE_MODE (1 << 7)
|
||||
@@ -53,6 +54,7 @@
|
||||
#define SYN_EXT_CAP_REQUESTS(c) (((c) & 0x700000) >> 20)
|
||||
#define SYN_CAP_MULTI_BUTTON_NO(ec) (((ec) & 0x00f000) >> 12)
|
||||
#define SYN_CAP_PRODUCT_ID(ec) (((ec) & 0xff0000) >> 16)
|
||||
+#define SYN_MEXT_CAP_BIT(m) ((m) & (1 << 1))
|
||||
|
||||
/*
|
||||
* The following describes response for the 0x0c query.
|
||||
@@ -89,6 +91,26 @@
|
||||
#define SYN_CAP_REDUCED_FILTERING(ex0c) ((ex0c) & 0x000400)
|
||||
#define SYN_CAP_IMAGE_SENSOR(ex0c) ((ex0c) & 0x000800)
|
||||
|
||||
+/*
|
||||
+ * The following descibes response for the 0x10 query.
|
||||
+ *
|
||||
+ * byte mask name meaning
|
||||
+ * ---- ---- ------- ------------
|
||||
+ * 1 0x01 ext buttons are stick buttons exported in the extended
|
||||
+ * capability are actually meant to be used
|
||||
+ * by the tracktick (pass-through).
|
||||
+ * 1 0x02 SecurePad the touchpad is a SecurePad, so it
|
||||
+ * contains a built-in fingerprint reader.
|
||||
+ * 1 0xe0 more ext count how many more extented queries are
|
||||
+ * available after this one.
|
||||
+ * 2 0xff SecurePad width the width of the SecurePad fingerprint
|
||||
+ * reader.
|
||||
+ * 3 0xff SecurePad height the height of the SecurePad fingerprint
|
||||
+ * reader.
|
||||
+ */
|
||||
+#define SYN_CAP_EXT_BUTTONS_STICK(ex10) ((ex10) & 0x010000)
|
||||
+#define SYN_CAP_SECUREPAD(ex10) ((ex10) & 0x020000)
|
||||
+
|
||||
/* synaptics modes query bits */
|
||||
#define SYN_MODE_ABSOLUTE(m) ((m) & (1 << 7))
|
||||
#define SYN_MODE_RATE(m) ((m) & (1 << 6))
|
||||
@@ -143,6 +165,7 @@ struct synaptics_data {
|
||||
unsigned long int capabilities; /* Capabilities */
|
||||
unsigned long int ext_cap; /* Extended Capabilities */
|
||||
unsigned long int ext_cap_0c; /* Ext Caps from 0x0c query */
|
||||
+ unsigned long int ext_cap_10; /* Ext Caps from 0x10 query */
|
||||
unsigned long int identity; /* Identification */
|
||||
unsigned int x_res, y_res; /* X/Y resolution in units/mm */
|
||||
unsigned int x_max, y_max; /* Max coordinates (from FW) */
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Sun, 8 Mar 2015 22:29:25 -0700
|
||||
Subject: [PATCH] Input: synaptics - skip quirks when post-2013 dimensions
|
||||
|
||||
Post-2013 Lenovo laptops provide correct min/max dimensions, which are
|
||||
different with the ones currently quirked. According to
|
||||
https://bugzilla.kernel.org/show_bug.cgi?id=91541 the following board ids
|
||||
are assigned in the post-2013 touchpads:
|
||||
|
||||
t440p/t440s: LEN0036 -> 2964/2962
|
||||
t540p: LEN0034 -> 2964
|
||||
|
||||
Using 2961 as the common minimum makes these 3 laptops OK. We may need
|
||||
to update those values later if other pnp_ids has a lower board_id.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index aeccd562a2e3..134676303117 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -147,7 +147,7 @@ static const struct min_max_quirk min_max_pnpid_table[] = {
|
||||
(const char * const []){"LEN0034", "LEN0036", "LEN0037",
|
||||
"LEN0039", "LEN2002", "LEN2004",
|
||||
NULL},
|
||||
- {ANY_BOARD_ID, ANY_BOARD_ID},
|
||||
+ {ANY_BOARD_ID, 2961},
|
||||
1024, 5112, 2024, 4832
|
||||
},
|
||||
{
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,87 +0,0 @@
|
|||
From: Daniel Martin <consume.noise@gmail.com>
|
||||
Date: Sun, 8 Mar 2015 22:27:37 -0700
|
||||
Subject: [PATCH] Input: synaptics - split synaptics_resolution(), query first
|
||||
|
||||
Split the function synaptics_resolution() into synaptics_resolution() and
|
||||
synaptics_quirks(). synaptics_resolution() will be called before
|
||||
synaptics_quirks() to query dimensions and resolutions before overwriting
|
||||
them with quirks.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 35 +++++++++++++++++++++++------------
|
||||
1 file changed, 23 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index f2cceb6493a0..fc7e1db7530e 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -346,7 +346,6 @@ static int synaptics_resolution(struct psmouse *psmouse)
|
||||
{
|
||||
struct synaptics_data *priv = psmouse->private;
|
||||
unsigned char resp[3];
|
||||
- int i;
|
||||
|
||||
if (SYN_ID_MAJOR(priv->identity) < 4)
|
||||
return 0;
|
||||
@@ -358,17 +357,6 @@ static int synaptics_resolution(struct psmouse *psmouse)
|
||||
}
|
||||
}
|
||||
|
||||
- for (i = 0; min_max_pnpid_table[i].pnp_ids; i++) {
|
||||
- if (psmouse_matches_pnp_id(psmouse,
|
||||
- min_max_pnpid_table[i].pnp_ids)) {
|
||||
- priv->x_min = min_max_pnpid_table[i].x_min;
|
||||
- priv->x_max = min_max_pnpid_table[i].x_max;
|
||||
- priv->y_min = min_max_pnpid_table[i].y_min;
|
||||
- priv->y_max = min_max_pnpid_table[i].y_max;
|
||||
- return 0;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
if (SYN_EXT_CAP_REQUESTS(priv->capabilities) >= 5 &&
|
||||
SYN_CAP_MAX_DIMENSIONS(priv->ext_cap_0c)) {
|
||||
if (synaptics_send_cmd(psmouse, SYN_QUE_EXT_MAX_COORDS, resp)) {
|
||||
@@ -394,6 +382,27 @@ static int synaptics_resolution(struct psmouse *psmouse)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * Apply quirk(s) if the hardware matches
|
||||
+ */
|
||||
+
|
||||
+static void synaptics_apply_quirks(struct psmouse *psmouse)
|
||||
+{
|
||||
+ struct synaptics_data *priv = psmouse->private;
|
||||
+ int i;
|
||||
+
|
||||
+ for (i = 0; min_max_pnpid_table[i].pnp_ids; i++) {
|
||||
+ if (psmouse_matches_pnp_id(psmouse,
|
||||
+ min_max_pnpid_table[i].pnp_ids)) {
|
||||
+ priv->x_min = min_max_pnpid_table[i].x_min;
|
||||
+ priv->x_max = min_max_pnpid_table[i].x_max;
|
||||
+ priv->y_min = min_max_pnpid_table[i].y_min;
|
||||
+ priv->y_max = min_max_pnpid_table[i].y_max;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static int synaptics_query_hardware(struct psmouse *psmouse)
|
||||
{
|
||||
if (synaptics_identify(psmouse))
|
||||
@@ -409,6 +418,8 @@ static int synaptics_query_hardware(struct psmouse *psmouse)
|
||||
if (synaptics_resolution(psmouse))
|
||||
return -1;
|
||||
|
||||
+ synaptics_apply_quirks(psmouse);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
From: Daniel Martin <daniel.martin@secunet.com>
|
||||
Date: Sun, 8 Mar 2015 22:29:15 -0700
|
||||
Subject: [PATCH] Input: synaptics - support min/max board id in
|
||||
min_max_pnpid_table
|
||||
|
||||
Add a min/max range for board ids to the min/max coordinates quirk. This
|
||||
makes it possible to restrict quirks to specific models based upon their
|
||||
board id. The define ANY_BOARD_ID (0) serves as a wild card.
|
||||
|
||||
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=91541
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Daniel Martin <daniel.martin@secunet.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 42 +++++++++++++++++++++++++++++------------
|
||||
1 file changed, 30 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index 382678ae3363..aeccd562a2e3 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -123,32 +123,41 @@ void synaptics_reset(struct psmouse *psmouse)
|
||||
|
||||
static bool cr48_profile_sensor;
|
||||
|
||||
+#define ANY_BOARD_ID 0
|
||||
struct min_max_quirk {
|
||||
const char * const *pnp_ids;
|
||||
+ struct {
|
||||
+ unsigned long int min, max;
|
||||
+ } board_id;
|
||||
int x_min, x_max, y_min, y_max;
|
||||
};
|
||||
|
||||
static const struct min_max_quirk min_max_pnpid_table[] = {
|
||||
{
|
||||
(const char * const []){"LEN0033", NULL},
|
||||
+ {ANY_BOARD_ID, ANY_BOARD_ID},
|
||||
1024, 5052, 2258, 4832
|
||||
},
|
||||
{
|
||||
(const char * const []){"LEN0042", NULL},
|
||||
+ {ANY_BOARD_ID, ANY_BOARD_ID},
|
||||
1232, 5710, 1156, 4696
|
||||
},
|
||||
{
|
||||
(const char * const []){"LEN0034", "LEN0036", "LEN0037",
|
||||
"LEN0039", "LEN2002", "LEN2004",
|
||||
NULL},
|
||||
+ {ANY_BOARD_ID, ANY_BOARD_ID},
|
||||
1024, 5112, 2024, 4832
|
||||
},
|
||||
{
|
||||
(const char * const []){"LEN2001", NULL},
|
||||
+ {ANY_BOARD_ID, ANY_BOARD_ID},
|
||||
1024, 5022, 2508, 4832
|
||||
},
|
||||
{
|
||||
(const char * const []){"LEN2006", NULL},
|
||||
+ {ANY_BOARD_ID, ANY_BOARD_ID},
|
||||
1264, 5675, 1171, 4688
|
||||
},
|
||||
{ }
|
||||
@@ -404,18 +413,27 @@ static void synaptics_apply_quirks(struct psmouse *psmouse)
|
||||
int i;
|
||||
|
||||
for (i = 0; min_max_pnpid_table[i].pnp_ids; i++) {
|
||||
- if (psmouse_matches_pnp_id(psmouse,
|
||||
- min_max_pnpid_table[i].pnp_ids)) {
|
||||
- priv->x_min = min_max_pnpid_table[i].x_min;
|
||||
- priv->x_max = min_max_pnpid_table[i].x_max;
|
||||
- priv->y_min = min_max_pnpid_table[i].y_min;
|
||||
- priv->y_max = min_max_pnpid_table[i].y_max;
|
||||
- psmouse_info(psmouse,
|
||||
- "quirked min/max coordinates: x [%d..%d], y [%d..%d]\n",
|
||||
- priv->x_min, priv->x_max,
|
||||
- priv->y_min, priv->y_max);
|
||||
- break;
|
||||
- }
|
||||
+ if (!psmouse_matches_pnp_id(psmouse,
|
||||
+ min_max_pnpid_table[i].pnp_ids))
|
||||
+ continue;
|
||||
+
|
||||
+ if (min_max_pnpid_table[i].board_id.min != ANY_BOARD_ID &&
|
||||
+ priv->board_id < min_max_pnpid_table[i].board_id.min)
|
||||
+ continue;
|
||||
+
|
||||
+ if (min_max_pnpid_table[i].board_id.max != ANY_BOARD_ID &&
|
||||
+ priv->board_id > min_max_pnpid_table[i].board_id.max)
|
||||
+ continue;
|
||||
+
|
||||
+ priv->x_min = min_max_pnpid_table[i].x_min;
|
||||
+ priv->x_max = min_max_pnpid_table[i].x_max;
|
||||
+ priv->y_min = min_max_pnpid_table[i].y_min;
|
||||
+ priv->y_max = min_max_pnpid_table[i].y_max;
|
||||
+ psmouse_info(psmouse,
|
||||
+ "quirked min/max coordinates: x [%d..%d], y [%d..%d]\n",
|
||||
+ priv->x_min, priv->x_max,
|
||||
+ priv->y_min, priv->y_max);
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
From f630ce576114bfede02d8a0bafa97e4d6f978a74 Mon Sep 17 00:00:00 2001
|
||||
From: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
Date: Fri, 26 Oct 2012 12:36:24 -0400
|
||||
Subject: [PATCH] KEYS: Add a system blacklist keyring
|
||||
Subject: [PATCH 17/20] KEYS: Add a system blacklist keyring
|
||||
|
||||
This adds an additional keyring that is used to store certificates that
|
||||
are blacklisted. This keyring is searched first when loading signed modules
|
||||
|
@ -9,72 +10,15 @@ useful in cases where third party certificates are used for module signing.
|
|||
|
||||
Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
---
|
||||
certs/system_keyring.c | 27 +++++++++++++++++++++++++++
|
||||
include/keys/system_keyring.h | 4 ++++
|
||||
init/Kconfig | 9 +++++++++
|
||||
kernel/module_signing.c | 12 ++++++++++++
|
||||
kernel/system_keyring.c | 17 +++++++++++++++++
|
||||
4 files changed, 42 insertions(+)
|
||||
3 files changed, 40 insertions(+)
|
||||
|
||||
diff --git a/include/keys/system_keyring.h b/include/keys/system_keyring.h
|
||||
index 72665eb80692..2c7b80d31366 100644
|
||||
--- a/include/keys/system_keyring.h
|
||||
+++ b/include/keys/system_keyring.h
|
||||
@@ -28,4 +28,8 @@ static inline struct key *get_system_trusted_keyring(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING
|
||||
+extern struct key *system_blacklist_keyring;
|
||||
+#endif
|
||||
+
|
||||
#endif /* _KEYS_SYSTEM_KEYRING_H */
|
||||
diff --git a/init/Kconfig b/init/Kconfig
|
||||
index f5dbc6d4261b..eca8ab59ae7f 100644
|
||||
--- a/init/Kconfig
|
||||
+++ b/init/Kconfig
|
||||
@@ -1734,6 +1734,15 @@ config SYSTEM_TRUSTED_KEYRING
|
||||
|
||||
Keys in this keyring are used by module signature checking.
|
||||
|
||||
+config SYSTEM_BLACKLIST_KEYRING
|
||||
+ bool "Provide system-wide ring of blacklisted keys"
|
||||
+ depends on KEYS
|
||||
+ help
|
||||
+ Provide a system keyring to which blacklisted keys can be added.
|
||||
+ Keys in the keyring are considered entirely untrusted. Keys in this
|
||||
+ keyring are used by the module signature checking to reject loading
|
||||
+ of modules signed with a blacklisted key.
|
||||
+
|
||||
config PROFILING
|
||||
bool "Profiling support"
|
||||
help
|
||||
diff --git a/kernel/module_signing.c b/kernel/module_signing.c
|
||||
index be5b8fac4bd0..fed815fcdaf2 100644
|
||||
--- a/kernel/module_signing.c
|
||||
+++ b/kernel/module_signing.c
|
||||
@@ -158,6 +158,18 @@ static struct key *request_asymmetric_key(const char *signer, size_t signer_len,
|
||||
|
||||
pr_debug("Look up: \"%s\"\n", id);
|
||||
|
||||
+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING
|
||||
+ key = keyring_search(make_key_ref(system_blacklist_keyring, 1),
|
||||
+ &key_type_asymmetric, id);
|
||||
+ if (!IS_ERR(key)) {
|
||||
+ /* module is signed with a cert in the blacklist. reject */
|
||||
+ pr_err("Module key '%s' is in blacklist\n", id);
|
||||
+ key_ref_put(key);
|
||||
+ kfree(id);
|
||||
+ return ERR_PTR(-EKEYREJECTED);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
key = keyring_search(make_key_ref(system_trusted_keyring, 1),
|
||||
&key_type_asymmetric, id);
|
||||
if (IS_ERR(key))
|
||||
diff --git a/kernel/system_keyring.c b/kernel/system_keyring.c
|
||||
index 875f64e8935b..c15e93f5a418 100644
|
||||
--- a/kernel/system_keyring.c
|
||||
+++ b/kernel/system_keyring.c
|
||||
diff --git a/certs/system_keyring.c b/certs/system_keyring.c
|
||||
index 2570598b784d..53733822993f 100644
|
||||
--- a/certs/system_keyring.c
|
||||
+++ b/certs/system_keyring.c
|
||||
@@ -20,6 +20,9 @@
|
||||
|
||||
struct key *system_trusted_keyring;
|
||||
|
@ -90,7 +34,7 @@ index 875f64e8935b..c15e93f5a418 100644
|
|||
|
||||
set_bit(KEY_FLAG_TRUSTED_ONLY, &system_trusted_keyring->flags);
|
||||
+
|
||||
+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING
|
||||
+ #ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING
|
||||
+ system_blacklist_keyring = keyring_alloc(".system_blacklist_keyring",
|
||||
+ KUIDT_INIT(0), KGIDT_INIT(0),
|
||||
+ current_cred(),
|
||||
|
@ -106,6 +50,56 @@ index 875f64e8935b..c15e93f5a418 100644
|
|||
return 0;
|
||||
}
|
||||
|
||||
@@ -138,6 +155,16 @@ int system_verify_data(const void *data, unsigned long len,
|
||||
if (ret < 0)
|
||||
goto error;
|
||||
|
||||
+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING
|
||||
+ ret = pkcs7_validate_trust(pkcs7, system_blacklist_keyring, &trusted);
|
||||
+ if (!ret) {
|
||||
+ /* module is signed with a cert in the blacklist. reject */
|
||||
+ pr_err("Module key is in the blacklist\n");
|
||||
+ ret = -EKEYREJECTED;
|
||||
+ goto error;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
ret = pkcs7_validate_trust(pkcs7, system_trusted_keyring, &trusted);
|
||||
if (ret < 0)
|
||||
goto error;
|
||||
diff --git a/include/keys/system_keyring.h b/include/keys/system_keyring.h
|
||||
index b20cd885c1fd..51d8ddc60e0f 100644
|
||||
--- a/include/keys/system_keyring.h
|
||||
+++ b/include/keys/system_keyring.h
|
||||
@@ -35,4 +35,8 @@ extern int system_verify_data(const void *data, unsigned long len,
|
||||
enum key_being_used_for usage);
|
||||
#endif
|
||||
|
||||
+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING
|
||||
+extern struct key *system_blacklist_keyring;
|
||||
+#endif
|
||||
+
|
||||
#endif /* _KEYS_SYSTEM_KEYRING_H */
|
||||
diff --git a/init/Kconfig b/init/Kconfig
|
||||
index 02da9f1fd9df..782d26f02885 100644
|
||||
--- a/init/Kconfig
|
||||
+++ b/init/Kconfig
|
||||
@@ -1783,6 +1783,15 @@ config SYSTEM_DATA_VERIFICATION
|
||||
module verification, kexec image verification and firmware blob
|
||||
verification.
|
||||
|
||||
+config SYSTEM_BLACKLIST_KEYRING
|
||||
+ bool "Provide system-wide ring of blacklisted keys"
|
||||
+ depends on KEYS
|
||||
+ help
|
||||
+ Provide a system keyring to which blacklisted keys can be added.
|
||||
+ Keys in the keyring are considered entirely untrusted. Keys in this
|
||||
+ keyring are used by the module signature checking to reject loading
|
||||
+ of modules signed with a blacklisted key.
|
||||
+
|
||||
config PROFILING
|
||||
bool "Profiling support"
|
||||
help
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
From 23c8a812dc3c621009e4f0e5342aa4e2ede1ceaa Mon Sep 17 00:00:00 2001
|
||||
From: David Howells <dhowells@redhat.com>
|
||||
Date: Tue, 23 Feb 2016 11:03:12 +0000
|
||||
Subject: [PATCH] KEYS: Fix ASN.1 indefinite length object parsing
|
||||
|
||||
This fixes CVE-2016-0758.
|
||||
|
||||
In the ASN.1 decoder, when the length field of an ASN.1 value is extracted,
|
||||
it isn't validated against the remaining amount of data before being added
|
||||
to the cursor. With a sufficiently large size indicated, the check:
|
||||
|
||||
datalen - dp < 2
|
||||
|
||||
may then fail due to integer overflow.
|
||||
|
||||
Fix this by checking the length indicated against the amount of remaining
|
||||
data in both places a definite length is determined.
|
||||
|
||||
Whilst we're at it, make the following changes:
|
||||
|
||||
(1) Check the maximum size of extended length does not exceed the capacity
|
||||
of the variable it's being stored in (len) rather than the type that
|
||||
variable is assumed to be (size_t).
|
||||
|
||||
(2) Compare the EOC tag to the symbolic constant ASN1_EOC rather than the
|
||||
integer 0.
|
||||
|
||||
(3) To reduce confusion, move the initialisation of len outside of:
|
||||
|
||||
for (len = 0; n > 0; n--) {
|
||||
|
||||
since it doesn't have anything to do with the loop counter n.
|
||||
|
||||
Signed-off-by: David Howells <dhowells@redhat.com>
|
||||
Reviewed-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
|
||||
Acked-by: David Woodhouse <David.Woodhouse@intel.com>
|
||||
Acked-by: Peter Jones <pjones@redhat.com>
|
||||
---
|
||||
lib/asn1_decoder.c | 16 +++++++++-------
|
||||
1 file changed, 9 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/lib/asn1_decoder.c b/lib/asn1_decoder.c
|
||||
index 2b3f46c049d4..554522934c44 100644
|
||||
--- a/lib/asn1_decoder.c
|
||||
+++ b/lib/asn1_decoder.c
|
||||
@@ -74,7 +74,7 @@ next_tag:
|
||||
|
||||
/* Extract a tag from the data */
|
||||
tag = data[dp++];
|
||||
- if (tag == 0) {
|
||||
+ if (tag == ASN1_EOC) {
|
||||
/* It appears to be an EOC. */
|
||||
if (data[dp++] != 0)
|
||||
goto invalid_eoc;
|
||||
@@ -96,10 +96,8 @@ next_tag:
|
||||
|
||||
/* Extract the length */
|
||||
len = data[dp++];
|
||||
- if (len <= 0x7f) {
|
||||
- dp += len;
|
||||
- goto next_tag;
|
||||
- }
|
||||
+ if (len <= 0x7f)
|
||||
+ goto check_length;
|
||||
|
||||
if (unlikely(len == ASN1_INDEFINITE_LENGTH)) {
|
||||
/* Indefinite length */
|
||||
@@ -110,14 +108,18 @@ next_tag:
|
||||
}
|
||||
|
||||
n = len - 0x80;
|
||||
- if (unlikely(n > sizeof(size_t) - 1))
|
||||
+ if (unlikely(n > sizeof(len) - 1))
|
||||
goto length_too_long;
|
||||
if (unlikely(n > datalen - dp))
|
||||
goto data_overrun_error;
|
||||
- for (len = 0; n > 0; n--) {
|
||||
+ len = 0;
|
||||
+ for (; n > 0; n--) {
|
||||
len <<= 8;
|
||||
len |= data[dp++];
|
||||
}
|
||||
+check_length:
|
||||
+ if (len > datalen - dp)
|
||||
+ goto data_overrun_error;
|
||||
dp += len;
|
||||
goto next_tag;
|
||||
|
||||
--
|
||||
2.5.5
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
From 82a50018782f84e733e718d4b24e1653d19333be Mon Sep 17 00:00:00 2001
|
||||
From: Dan Carpenter <dan.carpenter@oracle.com>
|
||||
Date: Wed, 15 Jun 2016 09:31:45 -0400
|
||||
Subject: [PATCH] KEYS: potential uninitialized variable
|
||||
|
||||
If __key_link_begin() failed then "edit" would be uninitialized. I've
|
||||
added a check to fix that.
|
||||
|
||||
Fixes: f70e2e06196a ('KEYS: Do preallocation for __key_link()')
|
||||
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
|
||||
---
|
||||
security/keys/key.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/security/keys/key.c b/security/keys/key.c
|
||||
index bd5a272f28a6..346fbf201c22 100644
|
||||
--- a/security/keys/key.c
|
||||
+++ b/security/keys/key.c
|
||||
@@ -597,7 +597,7 @@ int key_reject_and_link(struct key *key,
|
||||
|
||||
mutex_unlock(&key_construction_mutex);
|
||||
|
||||
- if (keyring)
|
||||
+ if (keyring && link_ret == 0)
|
||||
__key_link_end(keyring, &key->index_key, edit);
|
||||
|
||||
/* wake up anyone waiting for a key to be constructed */
|
||||
--
|
||||
2.5.5
|
||||
|
|
@ -43,10 +43,10 @@ Signed-off-by: Josh Stone <jistone@redhat.com>
|
|||
2 files changed, 21 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index e734965b1604..c724e72b238d 100644
|
||||
index 257ef5892ab7..3cc6f4477e78 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -706,7 +706,11 @@ KBUILD_CFLAGS += -fomit-frame-pointer
|
||||
@@ -701,7 +701,11 @@ KBUILD_CFLAGS += -fomit-frame-pointer
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -59,7 +59,7 @@ index e734965b1604..c724e72b238d 100644
|
|||
ifdef CONFIG_DEBUG_INFO
|
||||
ifdef CONFIG_DEBUG_INFO_SPLIT
|
||||
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
|
||||
index c5cefb3c009c..b663e8e211b0 100644
|
||||
index e2894b23efb6..d98afe18f704 100644
|
||||
--- a/lib/Kconfig.debug
|
||||
+++ b/lib/Kconfig.debug
|
||||
@@ -165,7 +165,23 @@ config DEBUG_INFO_DWARF4
|
||||
|
@ -87,6 +87,3 @@ index c5cefb3c009c..b663e8e211b0 100644
|
|||
|
||||
config GDB_SCRIPTS
|
||||
bool "Provide GDB scripts for kernel debugging"
|
||||
--
|
||||
2.1.0
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
From 2246a781c8dbb1207a0b0abbfae201f998c3954b Mon Sep 17 00:00:00 2001
|
||||
From: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
Date: Fri, 26 Oct 2012 12:42:16 -0400
|
||||
Subject: [PATCH] MODSIGN: Import certificates from UEFI Secure Boot
|
||||
|
@ -25,12 +26,12 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
|
|||
create mode 100644 kernel/modsign_uefi.c
|
||||
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index 706b16fa6de8..470e8dfcb517 100644
|
||||
index 85ef051ac6fb..a042b2ece788 100644
|
||||
--- a/include/linux/efi.h
|
||||
+++ b/include/linux/efi.h
|
||||
@@ -595,6 +595,12 @@ void efi_native_runtime_setup(void);
|
||||
#define EFI_CERT_X509_GUID \
|
||||
EFI_GUID( 0xa5c059a1, 0x94e4, 0x4aa7, 0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72 )
|
||||
@@ -600,6 +600,12 @@ typedef struct {
|
||||
u64 table;
|
||||
} efi_config_table_64_t;
|
||||
|
||||
+#define EFI_IMAGE_SECURITY_DATABASE_GUID \
|
||||
+ EFI_GUID( 0xd719b2cb, 0x3d3a, 0x4596, 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f )
|
||||
|
@ -40,12 +41,12 @@ index 706b16fa6de8..470e8dfcb517 100644
|
|||
+
|
||||
typedef struct {
|
||||
efi_guid_t guid;
|
||||
u64 table;
|
||||
u32 table;
|
||||
diff --git a/init/Kconfig b/init/Kconfig
|
||||
index eca8ab59ae7f..9a782b02e4d5 100644
|
||||
index 02da9f1fd9df..90c73a0564b1 100644
|
||||
--- a/init/Kconfig
|
||||
+++ b/init/Kconfig
|
||||
@@ -1888,6 +1888,15 @@ config MODULE_SIG_ALL
|
||||
@@ -1924,6 +1924,15 @@ config MODULE_SIG_ALL
|
||||
comment "Do not forget to sign required modules with scripts/sign-file"
|
||||
depends on MODULE_SIG_FORCE && !MODULE_SIG_ALL
|
||||
|
||||
|
@ -62,26 +63,26 @@ index eca8ab59ae7f..9a782b02e4d5 100644
|
|||
prompt "Which hash algorithm should modules be signed with?"
|
||||
depends on MODULE_SIG
|
||||
diff --git a/kernel/Makefile b/kernel/Makefile
|
||||
index 1408b3353a3c..8a3be67a3a15 100644
|
||||
index d4988410b410..55e886239e7e 100644
|
||||
--- a/kernel/Makefile
|
||||
+++ b/kernel/Makefile
|
||||
@@ -46,6 +46,7 @@ obj-$(CONFIG_UID16) += uid16.o
|
||||
obj-$(CONFIG_SYSTEM_TRUSTED_KEYRING) += system_keyring.o system_certificates.o
|
||||
@@ -47,6 +47,7 @@ endif
|
||||
obj-$(CONFIG_UID16) += uid16.o
|
||||
obj-$(CONFIG_MODULES) += module.o
|
||||
obj-$(CONFIG_MODULE_SIG) += module_signing.o
|
||||
+obj-$(CONFIG_MODULE_SIG_UEFI) += modsign_uefi.o
|
||||
obj-$(CONFIG_KALLSYMS) += kallsyms.o
|
||||
obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o
|
||||
obj-$(CONFIG_KEXEC) += kexec.o
|
||||
@@ -99,6 +100,8 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o
|
||||
obj-$(CONFIG_KEXEC_CORE) += kexec_core.o
|
||||
@@ -103,6 +104,8 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o
|
||||
|
||||
$(obj)/configs.o: $(obj)/config_data.h
|
||||
obj-$(CONFIG_HAS_IOMEM) += memremap.o
|
||||
|
||||
+$(obj)/modsign_uefi.o: KBUILD_CFLAGS += -fshort-wchar
|
||||
+
|
||||
$(obj)/configs.o: $(obj)/config_data.h
|
||||
|
||||
# config_data.h contains the same information as ikconfig.h but gzipped.
|
||||
# Info from config_data can be extracted from /proc/config*
|
||||
targets += config_data.gz
|
||||
diff --git a/kernel/modsign_uefi.c b/kernel/modsign_uefi.c
|
||||
new file mode 100644
|
||||
index 000000000000..94b0eb38a284
|
||||
|
@ -181,5 +182,5 @@ index 000000000000..94b0eb38a284
|
|||
+}
|
||||
+late_initcall(load_uefi_certs);
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
From d7c9efa4ab647d6ccb617f2504e79a398d56f7d4 Mon Sep 17 00:00:00 2001
|
||||
From: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
Date: Thu, 3 Oct 2013 10:14:23 -0400
|
||||
Subject: [PATCH] MODSIGN: Support not importing certs from db
|
||||
Subject: [PATCH 19/20] MODSIGN: Support not importing certs from db
|
||||
|
||||
If a user tells shim to not use the certs/hashes in the UEFI db variable
|
||||
for verification purposes, shim will set a UEFI variable called MokIgnoreDB.
|
||||
|
@ -79,5 +80,5 @@ index 94b0eb38a284..ae28b974d49a 100644
|
|||
|
||||
mok = get_cert_list(L"MokListRT", &mok_var, &moksize);
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -12,9 +12,9 @@ CONFIGFILES = \
|
|||
$(CFG)-armv7hl.config $(CFG)-armv7hl-lpae.config \
|
||||
$(CFG)-aarch64.config \
|
||||
$(CFG)-ppc64.config $(CFG)-ppc64p7.config $(CFG)-ppc64-debug.config \
|
||||
$(CFG)-ppc64le.config
|
||||
$(CFG)-ppc64le.config $(CFG)-ppc64le-debug.config
|
||||
|
||||
PLATFORMS = x86 x86_64 powerpc powerpc64 s390x arm arm64
|
||||
PLATFORMS = x86 x86_64 powerpc s390x arm arm64
|
||||
TEMPFILES = $(addprefix temp-, $(addsuffix -generic, $(PLATFORMS)))
|
||||
|
||||
configs: $(CONFIGFILES)
|
||||
|
@ -74,18 +74,12 @@ temp-x86_64-generic: temp-x86-64 temp-generic
|
|||
temp-x86_64-debug-generic: temp-x86-64 temp-debug-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-powerpc-generic: config-powerpc-generic temp-generic
|
||||
temp-powerpc64-generic: config-powerpc64-generic temp-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-powerpc-debug-generic: config-powerpc-generic temp-debug-generic
|
||||
temp-powerpc64-debug-generic: config-powerpc64-generic temp-debug-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-powerpc64-generic: config-powerpc64 temp-powerpc-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-powerpc64le-generic: config-powerpc64le temp-powerpc64-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-s390-generic: config-s390x temp-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
|
@ -107,16 +101,19 @@ $(CFG)-x86_64.config: /dev/null temp-x86_64-generic
|
|||
$(CFG)-x86_64-debug.config: /dev/null temp-x86_64-debug-generic
|
||||
perl merge.pl $^ x86_64 > $@
|
||||
|
||||
$(CFG)-ppc64.config: /dev/null temp-powerpc64-generic
|
||||
$(CFG)-ppc64.config: config-powerpc64 temp-powerpc64-generic
|
||||
perl merge.pl $^ powerpc > $@
|
||||
|
||||
$(CFG)-ppc64-debug.config: temp-powerpc64-generic temp-powerpc-debug-generic
|
||||
$(CFG)-ppc64-debug.config: config-powerpc64 temp-powerpc64-debug-generic
|
||||
perl merge.pl $^ powerpc > $@
|
||||
|
||||
$(CFG)-ppc64p7.config: config-powerpc64p7 temp-powerpc64-generic
|
||||
perl merge.pl $^ powerpc > $@
|
||||
|
||||
$(CFG)-ppc64le.config: /dev/null temp-powerpc64le-generic
|
||||
$(CFG)-ppc64le.config: config-powerpc64le temp-powerpc64-generic
|
||||
perl merge.pl $^ powerpc > $@
|
||||
|
||||
$(CFG)-ppc64le-debug.config: config-powerpc64le temp-powerpc64-debug-generic
|
||||
perl merge.pl $^ powerpc > $@
|
||||
|
||||
$(CFG)-s390x.config: config-s390x temp-s390-generic
|
||||
|
|
|
@ -82,7 +82,3 @@ config-release:
|
|||
|
||||
@# Change defaults back to sane things.
|
||||
@perl -pi -e 's/CONFIG_MAXSMP=y/# CONFIG_MAXSMP is not set/' config-x86-generic
|
||||
|
||||
@perl -pi -e 's/CONFIG_SCHEDSTATS=y/# CONFIG_SCHEDSTATS is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_LATENCYTOP=y/# CONFIG_LATENCYTOP is not set/' config-nodebug
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
From 655fbf360e1481db4f06001f893d388c15ac307f Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Garrett <matthew.garrett@nebula.com>
|
||||
Date: Thu, 8 Mar 2012 10:10:38 -0500
|
||||
Subject: [PATCH] PCI: Lock down BAR access when module security is enabled
|
||||
Subject: [PATCH 02/20] PCI: Lock down BAR access when module security is
|
||||
enabled
|
||||
|
||||
Any hardware that can potentially generate DMA has to be locked down from
|
||||
userspace in order to avoid it being possible for an attacker to modify
|
||||
|
@ -112,5 +114,5 @@ index b91c4da68365..98f5637304d1 100644
|
|||
|
||||
dev = pci_get_bus_and_slot(bus, dfn);
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -0,0 +1,101 @@
|
|||
From 61feb31b0dfecfd7949e672a54ac7256f4dd2c3d Mon Sep 17 00:00:00 2001
|
||||
From: Christophe Le Roy <christophe.fish@gmail.com>
|
||||
Date: Fri, 11 Dec 2015 09:13:42 +0100
|
||||
Subject: [PATCH] PNP: Add Broadwell to Intel MCH size workaround
|
||||
|
||||
Add device ID 0x1604 for Broadwell to commit cb171f7abb9a ("PNP:
|
||||
Work around BIOS defects in Intel MCH area reporting").
|
||||
|
||||
>From a Lenovo ThinkPad T550:
|
||||
|
||||
system 00:01: [io 0x1800-0x189f] could not be reserved
|
||||
system 00:01: [io 0x0800-0x087f] has been reserved
|
||||
system 00:01: [io 0x0880-0x08ff] has been reserved
|
||||
system 00:01: [io 0x0900-0x097f] has been reserved
|
||||
system 00:01: [io 0x0980-0x09ff] has been reserved
|
||||
system 00:01: [io 0x0a00-0x0a7f] has been reserved
|
||||
system 00:01: [io 0x0a80-0x0aff] has been reserved
|
||||
system 00:01: [io 0x0b00-0x0b7f] has been reserved
|
||||
system 00:01: [io 0x0b80-0x0bff] has been reserved
|
||||
system 00:01: [io 0x15e0-0x15ef] has been reserved
|
||||
system 00:01: [io 0x1600-0x167f] has been reserved
|
||||
system 00:01: [io 0x1640-0x165f] has been reserved
|
||||
system 00:01: [mem 0xf8000000-0xfbffffff] could not be reserved
|
||||
system 00:01: [mem 0xfed1c000-0xfed1ffff] has been reserved
|
||||
system 00:01: [mem 0xfed10000-0xfed13fff] has been reserved
|
||||
system 00:01: [mem 0xfed18000-0xfed18fff] has been reserved
|
||||
system 00:01: [mem 0xfed19000-0xfed19fff] has been reserved
|
||||
system 00:01: [mem 0xfed45000-0xfed4bfff] has been reserved
|
||||
system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
|
||||
[...]
|
||||
resource sanity check: requesting [mem 0xfed10000-0xfed15fff], which spans more than pnp 00:01 [mem 0xfed10000-0xfed13fff]
|
||||
------------[ cut here ]------------
|
||||
WARNING: CPU: 2 PID: 1 at /build/linux-CrHvZ_/linux-4.2.6/arch/x86/mm/ioremap.c:198 __ioremap_caller+0x2ee/0x360()
|
||||
Info: mapping multiple BARs. Your kernel is fine.
|
||||
Modules linked in:
|
||||
CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.2.0-1-amd64 #1 Debian 4.2.6-1
|
||||
Hardware name: LENOVO 20CKCTO1WW/20CKCTO1WW, BIOS N11ET34W (1.10 ) 08/20/2015
|
||||
0000000000000000 ffffffff817e6868 ffffffff8154e2f6 ffff8802241efbf8
|
||||
ffffffff8106e5b1 ffffc90000e98000 0000000000006000 ffffc90000e98000
|
||||
0000000000006000 0000000000000000 ffffffff8106e62a ffffffff817e68c8
|
||||
Call Trace:
|
||||
[<ffffffff8154e2f6>] ? dump_stack+0x40/0x50
|
||||
[<ffffffff8106e5b1>] ? warn_slowpath_common+0x81/0xb0
|
||||
[<ffffffff8106e62a>] ? warn_slowpath_fmt+0x4a/0x50
|
||||
[<ffffffff810742a3>] ? iomem_map_sanity_check+0xb3/0xc0
|
||||
[<ffffffff8105dade>] ? __ioremap_caller+0x2ee/0x360
|
||||
[<ffffffff81036ae6>] ? snb_uncore_imc_init_box+0x66/0x90
|
||||
[<ffffffff810351a8>] ? uncore_pci_probe+0xc8/0x1a0
|
||||
[<ffffffff81302d7f>] ? local_pci_probe+0x3f/0xa0
|
||||
[<ffffffff81303ea4>] ? pci_device_probe+0xc4/0x110
|
||||
[<ffffffff813d9b1e>] ? driver_probe_device+0x1ee/0x450
|
||||
[<ffffffff813d9dfb>] ? __driver_attach+0x7b/0x80
|
||||
[<ffffffff813d9d80>] ? driver_probe_device+0x450/0x450
|
||||
[<ffffffff813d796a>] ? bus_for_each_dev+0x5a/0x90
|
||||
[<ffffffff813d9091>] ? bus_add_driver+0x1f1/0x290
|
||||
[<ffffffff81b37fa8>] ? uncore_cpu_setup+0xc/0xc
|
||||
[<ffffffff813da73f>] ? driver_register+0x5f/0xe0
|
||||
[<ffffffff81b38074>] ? intel_uncore_init+0xcc/0x2b0
|
||||
[<ffffffff81b37fa8>] ? uncore_cpu_setup+0xc/0xc
|
||||
[<ffffffff8100213e>] ? do_one_initcall+0xce/0x200
|
||||
[<ffffffff8108a100>] ? parse_args+0x140/0x4e0
|
||||
[<ffffffff81b2b0cb>] ? kernel_init_freeable+0x162/0x1e8
|
||||
[<ffffffff815443f0>] ? rest_init+0x80/0x80
|
||||
[<ffffffff815443fe>] ? kernel_init+0xe/0xf0
|
||||
[<ffffffff81553e5f>] ? ret_from_fork+0x3f/0x70
|
||||
[<ffffffff815443f0>] ? rest_init+0x80/0x80
|
||||
---[ end trace 472e7959536abf12 ]---
|
||||
|
||||
00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
|
||||
Subsystem: Lenovo Device 2223
|
||||
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
|
||||
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
|
||||
Latency: 0
|
||||
Capabilities: [e0] Vendor Specific Information: Len=0c <?>
|
||||
Kernel driver in use: bdw_uncore
|
||||
00: 86 80 04 16 06 00 90 20 09 00 00 06 00 00 00 00
|
||||
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
20: 00 00 00 00 00 00 00 00 00 00 00 00 aa 17 23 22
|
||||
30: 00 00 00 00 e0 00 00 00 00 00 00 00 00 00 00 00
|
||||
|
||||
Signed-off-by: Christophe Le Roy <christophe.fish@gmail.com>
|
||||
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
||||
---
|
||||
drivers/pnp/quirks.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c
|
||||
index 943c1cb9566c..f700723ca5d6 100644
|
||||
--- a/drivers/pnp/quirks.c
|
||||
+++ b/drivers/pnp/quirks.c
|
||||
@@ -343,6 +343,7 @@ static void quirk_amd_mmconfig_area(struct pnp_dev *dev)
|
||||
static const unsigned int mch_quirk_devices[] = {
|
||||
0x0154, /* Ivy Bridge */
|
||||
0x0c00, /* Haswell */
|
||||
+ 0x1604, /* Broadwell */
|
||||
};
|
||||
|
||||
static struct pci_dev *get_intel_host(void)
|
||||
--
|
||||
2.5.0
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
From afa5b65015ff2a7f0b4ec8cab6f58fa47025259a Mon Sep 17 00:00:00 2001
|
||||
From: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
Date: Fri, 22 Jan 2016 08:11:46 -0500
|
||||
Subject: [PATCH] PNP: Add Haswell-ULT to Intel MCH size workaround
|
||||
|
||||
Add device ID 0x0a04 for Haswell-ULT to the list of devices with MCH
|
||||
problems.
|
||||
|
||||
From a Lenovo ThinkPad T440S:
|
||||
[ 0.188604] pnp: PnP ACPI init
|
||||
[ 0.189044] system 00:00: [mem 0x00000000-0x0009ffff] could not be reserved
|
||||
[ 0.189048] system 00:00: [mem 0x000c0000-0x000c3fff] could not be reserved
|
||||
[ 0.189050] system 00:00: [mem 0x000c4000-0x000c7fff] could not be reserved
|
||||
[ 0.189052] system 00:00: [mem 0x000c8000-0x000cbfff] could not be reserved
|
||||
[ 0.189054] system 00:00: [mem 0x000cc000-0x000cffff] could not be reserved
|
||||
[ 0.189056] system 00:00: [mem 0x000d0000-0x000d3fff] has been reserved
|
||||
[ 0.189058] system 00:00: [mem 0x000d4000-0x000d7fff] has been reserved
|
||||
[ 0.189060] system 00:00: [mem 0x000d8000-0x000dbfff] has been reserved
|
||||
[ 0.189061] system 00:00: [mem 0x000dc000-0x000dffff] has been reserved
|
||||
[ 0.189063] system 00:00: [mem 0x000e0000-0x000e3fff] could not be reserved
|
||||
[ 0.189065] system 00:00: [mem 0x000e4000-0x000e7fff] could not be reserved
|
||||
[ 0.189067] system 00:00: [mem 0x000e8000-0x000ebfff] could not be reserved
|
||||
[ 0.189069] system 00:00: [mem 0x000ec000-0x000effff] could not be reserved
|
||||
[ 0.189071] system 00:00: [mem 0x000f0000-0x000fffff] could not be reserved
|
||||
[ 0.189073] system 00:00: [mem 0x00100000-0xdf9fffff] could not be reserved
|
||||
[ 0.189075] system 00:00: [mem 0xfec00000-0xfed3ffff] could not be reserved
|
||||
[ 0.189078] system 00:00: [mem 0xfed4c000-0xffffffff] could not be reserved
|
||||
[ 0.189082] system 00:00: Plug and Play ACPI device, IDs PNP0c01 (active)
|
||||
[ 0.189216] system 00:01: [io 0x1800-0x189f] could not be reserved
|
||||
[ 0.189220] system 00:01: [io 0x0800-0x087f] has been reserved
|
||||
[ 0.189222] system 00:01: [io 0x0880-0x08ff] has been reserved
|
||||
[ 0.189224] system 00:01: [io 0x0900-0x097f] has been reserved
|
||||
[ 0.189226] system 00:01: [io 0x0980-0x09ff] has been reserved
|
||||
[ 0.189229] system 00:01: [io 0x0a00-0x0a7f] has been reserved
|
||||
[ 0.189231] system 00:01: [io 0x0a80-0x0aff] has been reserved
|
||||
[ 0.189233] system 00:01: [io 0x0b00-0x0b7f] has been reserved
|
||||
[ 0.189235] system 00:01: [io 0x0b80-0x0bff] has been reserved
|
||||
[ 0.189238] system 00:01: [io 0x15e0-0x15ef] has been reserved
|
||||
[ 0.189240] system 00:01: [io 0x1600-0x167f] has been reserved
|
||||
[ 0.189242] system 00:01: [io 0x1640-0x165f] has been reserved
|
||||
[ 0.189246] system 00:01: [mem 0xf8000000-0xfbffffff] could not be reserved
|
||||
[ 0.189249] system 00:01: [mem 0x00000000-0x00000fff] could not be reserved
|
||||
[ 0.189251] system 00:01: [mem 0xfed1c000-0xfed1ffff] has been reserved
|
||||
[ 0.189254] system 00:01: [mem 0xfed10000-0xfed13fff] has been reserved
|
||||
[ 0.189256] system 00:01: [mem 0xfed18000-0xfed18fff] has been reserved
|
||||
[ 0.189258] system 00:01: [mem 0xfed19000-0xfed19fff] has been reserved
|
||||
[ 0.189261] system 00:01: [mem 0xfed45000-0xfed4bfff] has been reserved
|
||||
[ 0.189264] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
|
||||
[....]
|
||||
[ 0.583653] resource sanity check: requesting [mem 0xfed10000-0xfed15fff], which spans more than pnp 00:01 [mem 0xfed10000-0xfed13fff]
|
||||
[ 0.583654] ------------[ cut here ]------------
|
||||
[ 0.583660] WARNING: CPU: 0 PID: 1 at arch/x86/mm/ioremap.c:198 __ioremap_caller+0x2c5/0x380()
|
||||
[ 0.583661] Info: mapping multiple BARs. Your kernel is fine.
|
||||
[ 0.583662] Modules linked in:
|
||||
|
||||
[ 0.583666] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.3.3-303.fc23.x86_64 #1
|
||||
[ 0.583668] Hardware name: LENOVO 20AR001GXS/20AR001GXS, BIOS GJET86WW (2.36 ) 12/04/2015
|
||||
[ 0.583670] 0000000000000000 0000000014cf7e59 ffff880214a1baf8 ffffffff813a625f
|
||||
[ 0.583673] ffff880214a1bb40 ffff880214a1bb30 ffffffff810a07c2 00000000fed10000
|
||||
[ 0.583675] ffffc90000cb8000 0000000000006000 0000000000000000 ffff8800d6381040
|
||||
[ 0.583678] Call Trace:
|
||||
[ 0.583683] [<ffffffff813a625f>] dump_stack+0x44/0x55
|
||||
[ 0.583686] [<ffffffff810a07c2>] warn_slowpath_common+0x82/0xc0
|
||||
[ 0.583688] [<ffffffff810a085c>] warn_slowpath_fmt+0x5c/0x80
|
||||
[ 0.583692] [<ffffffff810a6fba>] ? iomem_map_sanity_check+0xba/0xd0
|
||||
[ 0.583695] [<ffffffff81065835>] __ioremap_caller+0x2c5/0x380
|
||||
[ 0.583698] [<ffffffff81065907>] ioremap_nocache+0x17/0x20
|
||||
[ 0.583701] [<ffffffff8103a119>] snb_uncore_imc_init_box+0x79/0xb0
|
||||
[ 0.583705] [<ffffffff81038900>] uncore_pci_probe+0xd0/0x1b0
|
||||
[ 0.583707] [<ffffffff813efda5>] local_pci_probe+0x45/0xa0
|
||||
[ 0.583710] [<ffffffff813f118d>] pci_device_probe+0xfd/0x140
|
||||
[ 0.583713] [<ffffffff814d9b52>] driver_probe_device+0x222/0x480
|
||||
[ 0.583715] [<ffffffff814d9e34>] __driver_attach+0x84/0x90
|
||||
[ 0.583717] [<ffffffff814d9db0>] ? driver_probe_device+0x480/0x480
|
||||
[ 0.583720] [<ffffffff814d762c>] bus_for_each_dev+0x6c/0xc0
|
||||
[ 0.583722] [<ffffffff814d930e>] driver_attach+0x1e/0x20
|
||||
[ 0.583724] [<ffffffff814d8e4b>] bus_add_driver+0x1eb/0x280
|
||||
[ 0.583727] [<ffffffff81d6af1a>] ? uncore_cpu_setup+0x12/0x12
|
||||
[ 0.583729] [<ffffffff814da680>] driver_register+0x60/0xe0
|
||||
[ 0.583733] [<ffffffff813ef78c>] __pci_register_driver+0x4c/0x50
|
||||
[ 0.583736] [<ffffffff81d6affc>] intel_uncore_init+0xe2/0x2e6
|
||||
[ 0.583738] [<ffffffff81d6af1a>] ? uncore_cpu_setup+0x12/0x12
|
||||
[ 0.583741] [<ffffffff81002123>] do_one_initcall+0xb3/0x200
|
||||
[ 0.583745] [<ffffffff810be500>] ? parse_args+0x1a0/0x4a0
|
||||
[ 0.583749] [<ffffffff81d5c1c8>] kernel_init_freeable+0x189/0x223
|
||||
[ 0.583752] [<ffffffff81775c40>] ? rest_init+0x80/0x80
|
||||
[ 0.583754] [<ffffffff81775c4e>] kernel_init+0xe/0xe0
|
||||
[ 0.583758] [<ffffffff81781adf>] ret_from_fork+0x3f/0x70
|
||||
[ 0.583760] [<ffffffff81775c40>] ? rest_init+0x80/0x80
|
||||
[ 0.583765] ---[ end trace 077c426a39e018aa ]---
|
||||
|
||||
00:00.0 Host bridge [0600]: Intel Corporation Haswell-ULT DRAM Controller [8086:0a04] (rev 0b)
|
||||
Subsystem: Lenovo Device [17aa:220c]
|
||||
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
|
||||
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
|
||||
Latency: 0
|
||||
Capabilities: <access denied>
|
||||
Kernel driver in use: hsw_uncore
|
||||
|
||||
Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
---
|
||||
drivers/pnp/quirks.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c
|
||||
index f700723ca5d6..d28e3ab9479c 100644
|
||||
--- a/drivers/pnp/quirks.c
|
||||
+++ b/drivers/pnp/quirks.c
|
||||
@@ -342,6 +342,7 @@ static void quirk_amd_mmconfig_area(struct pnp_dev *dev)
|
||||
/* Device IDs of parts that have 32KB MCH space */
|
||||
static const unsigned int mch_quirk_devices[] = {
|
||||
0x0154, /* Ivy Bridge */
|
||||
+ 0x0a04, /* Haswell-ULT */
|
||||
0x0c00, /* Haswell */
|
||||
0x1604, /* Broadwell */
|
||||
};
|
||||
--
|
||||
2.5.0
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
From d4ae417828427de74e9f857f9caa49580aecf1fe Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Garrett <matthew.garrett@nebula.com>
|
||||
Date: Fri, 9 Mar 2012 09:28:15 -0500
|
||||
Subject: [PATCH] Restrict /dev/mem and /dev/kmem when module loading is
|
||||
Subject: [PATCH 06/20] Restrict /dev/mem and /dev/kmem when module loading is
|
||||
restricted
|
||||
|
||||
Allowing users to write to address space makes it possible for the kernel
|
||||
|
@ -13,7 +14,7 @@ Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
|
|||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
|
||||
index efe38c1bc234..16b8af1188e1 100644
|
||||
index 53fe675f9bd7..b52c88860532 100644
|
||||
--- a/drivers/char/mem.c
|
||||
+++ b/drivers/char/mem.c
|
||||
@@ -167,6 +167,9 @@ static ssize_t write_mem(struct file *file, const char __user *buf,
|
||||
|
@ -37,5 +38,5 @@ index efe38c1bc234..16b8af1188e1 100644
|
|||
unsigned long to_write = min_t(unsigned long, count,
|
||||
(unsigned long)high_memory - p);
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -1,105 +0,0 @@
|
|||
From: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
Date: Wed, 15 Oct 2014 10:09:50 -0400
|
||||
Subject: [PATCH] Revert "Btrfs: race free update of commit root for ro
|
||||
snapshots"
|
||||
|
||||
This reverts commit 9c3b306e1c9e6be4be09e99a8fe2227d1005effc.
|
||||
---
|
||||
fs/btrfs/inode.c | 36 ------------------------------------
|
||||
fs/btrfs/ioctl.c | 33 +++++++++++++++++++++++++++++++++
|
||||
2 files changed, 33 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
|
||||
index fc9c0439caa3..d23362f4464e 100644
|
||||
--- a/fs/btrfs/inode.c
|
||||
+++ b/fs/btrfs/inode.c
|
||||
@@ -5261,42 +5261,6 @@ struct inode *btrfs_lookup_dentry(struct inode *dir, struct dentry *dentry)
|
||||
iput(inode);
|
||||
inode = ERR_PTR(ret);
|
||||
}
|
||||
- /*
|
||||
- * If orphan cleanup did remove any orphans, it means the tree
|
||||
- * was modified and therefore the commit root is not the same as
|
||||
- * the current root anymore. This is a problem, because send
|
||||
- * uses the commit root and therefore can see inode items that
|
||||
- * don't exist in the current root anymore, and for example make
|
||||
- * calls to btrfs_iget, which will do tree lookups based on the
|
||||
- * current root and not on the commit root. Those lookups will
|
||||
- * fail, returning a -ESTALE error, and making send fail with
|
||||
- * that error. So make sure a send does not see any orphans we
|
||||
- * have just removed, and that it will see the same inodes
|
||||
- * regardless of whether a transaction commit happened before
|
||||
- * it started (meaning that the commit root will be the same as
|
||||
- * the current root) or not.
|
||||
- */
|
||||
- if (sub_root->node != sub_root->commit_root) {
|
||||
- u64 sub_flags = btrfs_root_flags(&sub_root->root_item);
|
||||
-
|
||||
- if (sub_flags & BTRFS_ROOT_SUBVOL_RDONLY) {
|
||||
- struct extent_buffer *eb;
|
||||
-
|
||||
- /*
|
||||
- * Assert we can't have races between dentry
|
||||
- * lookup called through the snapshot creation
|
||||
- * ioctl and the VFS.
|
||||
- */
|
||||
- ASSERT(mutex_is_locked(&dir->i_mutex));
|
||||
-
|
||||
- down_write(&root->fs_info->commit_root_sem);
|
||||
- eb = sub_root->commit_root;
|
||||
- sub_root->commit_root =
|
||||
- btrfs_root_node(sub_root);
|
||||
- up_write(&root->fs_info->commit_root_sem);
|
||||
- free_extent_buffer(eb);
|
||||
- }
|
||||
- }
|
||||
}
|
||||
|
||||
return inode;
|
||||
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
|
||||
index 0fe1aa047f15..8d2b76e29d3b 100644
|
||||
--- a/fs/btrfs/ioctl.c
|
||||
+++ b/fs/btrfs/ioctl.c
|
||||
@@ -713,6 +713,39 @@ static int create_snapshot(struct btrfs_root *root, struct inode *dir,
|
||||
if (ret)
|
||||
goto fail;
|
||||
|
||||
+ ret = btrfs_orphan_cleanup(pending_snapshot->snap);
|
||||
+ if (ret)
|
||||
+ goto fail;
|
||||
+
|
||||
+ /*
|
||||
+ * If orphan cleanup did remove any orphans, it means the tree was
|
||||
+ * modified and therefore the commit root is not the same as the
|
||||
+ * current root anymore. This is a problem, because send uses the
|
||||
+ * commit root and therefore can see inode items that don't exist
|
||||
+ * in the current root anymore, and for example make calls to
|
||||
+ * btrfs_iget, which will do tree lookups based on the current root
|
||||
+ * and not on the commit root. Those lookups will fail, returning a
|
||||
+ * -ESTALE error, and making send fail with that error. So make sure
|
||||
+ * a send does not see any orphans we have just removed, and that it
|
||||
+ * will see the same inodes regardless of whether a transaction
|
||||
+ * commit happened before it started (meaning that the commit root
|
||||
+ * will be the same as the current root) or not.
|
||||
+ */
|
||||
+ if (readonly && pending_snapshot->snap->node !=
|
||||
+ pending_snapshot->snap->commit_root) {
|
||||
+ trans = btrfs_join_transaction(pending_snapshot->snap);
|
||||
+ if (IS_ERR(trans) && PTR_ERR(trans) != -ENOENT) {
|
||||
+ ret = PTR_ERR(trans);
|
||||
+ goto fail;
|
||||
+ }
|
||||
+ if (!IS_ERR(trans)) {
|
||||
+ ret = btrfs_commit_transaction(trans,
|
||||
+ pending_snapshot->snap);
|
||||
+ if (ret)
|
||||
+ goto fail;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
inode = btrfs_lookup_dentry(dentry->d_parent->d_inode, dentry);
|
||||
if (IS_ERR(inode)) {
|
||||
ret = PTR_ERR(inode);
|
||||
--
|
||||
1.9.3
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
From: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
Date: Wed, 11 Mar 2015 09:14:03 -0400
|
||||
Subject: [PATCH] Revert "Input: synaptics - use dmax in input_mt_assign_slots"
|
||||
|
||||
This reverts commit 6ab17a8484f03c188a93713369912f1545eb26e9.
|
||||
---
|
||||
drivers/input/mouse/synaptics.c | 5 +----
|
||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
||||
index c74bfa1c05e3..dda605836546 100644
|
||||
--- a/drivers/input/mouse/synaptics.c
|
||||
+++ b/drivers/input/mouse/synaptics.c
|
||||
@@ -67,9 +67,6 @@
|
||||
#define X_MAX_POSITIVE 8176
|
||||
#define Y_MAX_POSITIVE 8176
|
||||
|
||||
-/* maximum ABS_MT_POSITION displacement (in mm) */
|
||||
-#define DMAX 10
|
||||
-
|
||||
/*****************************************************************************
|
||||
* Stuff we need even when we do not want native Synaptics support
|
||||
****************************************************************************/
|
||||
@@ -915,7 +912,7 @@ static void synaptics_report_mt_data(struct psmouse *psmouse,
|
||||
pos[i].y = synaptics_invert_y(hw[i]->y);
|
||||
}
|
||||
|
||||
- input_mt_assign_slots(dev, slot, pos, nsemi, DMAX * priv->x_res);
|
||||
+ input_mt_assign_slots(dev, slot, pos, nsemi, 0);
|
||||
|
||||
for (i = 0; i < nsemi; i++) {
|
||||
input_mt_slot(dev, slot[i]);
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
From: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
Date: Mon, 28 Jul 2014 12:59:48 -0400
|
||||
Subject: [PATCH] Revert "Revert "ACPI / video: change acpi-video
|
||||
brightness_switch_enabled default to 0""
|
||||
|
||||
This reverts commit 2843768b701971ab10e62c77d5c75ad7c306f1bd.
|
||||
|
||||
Bugzilla: N/A
|
||||
Upstream-status: Sigh. We almost got to drop this.
|
||||
|
||||
Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
---
|
||||
Documentation/kernel-parameters.txt | 2 +-
|
||||
drivers/acpi/video.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
|
||||
index bfcb1a62a7b4..a1d62e9ed29b 100644
|
||||
--- a/Documentation/kernel-parameters.txt
|
||||
+++ b/Documentation/kernel-parameters.txt
|
||||
@@ -3822,7 +3822,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
||||
the allocated input device; If set to 0, video driver
|
||||
will only send out the event without touching backlight
|
||||
brightness level.
|
||||
- default: 1
|
||||
+ default: 0
|
||||
|
||||
virtio_mmio.device=
|
||||
[VMMIO] Memory mapped virtio (platform) device.
|
||||
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
|
||||
index 26eb70c8f518..db70d550f526 100644
|
||||
--- a/drivers/acpi/video.c
|
||||
+++ b/drivers/acpi/video.c
|
||||
@@ -68,7 +68,7 @@ MODULE_AUTHOR("Bruno Ducrot");
|
||||
MODULE_DESCRIPTION("ACPI Video Driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
-static bool brightness_switch_enabled = 1;
|
||||
+static bool brightness_switch_enabled;
|
||||
module_param(brightness_switch_enabled, bool, 0644);
|
||||
|
||||
/*
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
From 7adc5cbc25dcc47dc3856108d9823d08da75da9d Mon Sep 17 00:00:00 2001
|
||||
From: Kangjie Lu <kangjielu@gmail.com>
|
||||
Date: Tue, 3 May 2016 16:32:16 -0400
|
||||
Subject: [PATCH] USB: usbfs: fix potential infoleak in devio
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The stack object “ci” has a total size of 8 bytes. Its last 3 bytes
|
||||
are padding bytes which are not initialized and leaked to userland
|
||||
via “copy_to_user”.
|
||||
|
||||
Signed-off-by: Kangjie Lu <kjlu@gatech.edu>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
drivers/usb/core/devio.c | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
|
||||
index 52c4461dfccd..9b7f1f75e887 100644
|
||||
--- a/drivers/usb/core/devio.c
|
||||
+++ b/drivers/usb/core/devio.c
|
||||
@@ -1316,10 +1316,11 @@ static int proc_getdriver(struct usb_dev_state *ps, void __user *arg)
|
||||
|
||||
static int proc_connectinfo(struct usb_dev_state *ps, void __user *arg)
|
||||
{
|
||||
- struct usbdevfs_connectinfo ci = {
|
||||
- .devnum = ps->dev->devnum,
|
||||
- .slow = ps->dev->speed == USB_SPEED_LOW
|
||||
- };
|
||||
+ struct usbdevfs_connectinfo ci;
|
||||
+
|
||||
+ memset(&ci, 0, sizeof(ci));
|
||||
+ ci.devnum = ps->dev->devnum;
|
||||
+ ci.slow = ps->dev->speed == USB_SPEED_LOW;
|
||||
|
||||
if (copy_to_user(arg, &ci, sizeof(ci)))
|
||||
return -EFAULT;
|
||||
--
|
||||
2.5.5
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
From 32d3dc2147823a32c8a7771d8fe0f2d1ef057c6a Mon Sep 17 00:00:00 2001
|
||||
From: Josh Boyer <jwboyer@redhat.com>
|
||||
Date: Mon, 25 Jun 2012 19:57:30 -0400
|
||||
Subject: [PATCH] acpi: Ignore acpi_rsdp kernel parameter when module loading
|
||||
is restricted
|
||||
Subject: [PATCH 07/20] acpi: Ignore acpi_rsdp kernel parameter when module
|
||||
loading is restricted
|
||||
|
||||
This option allows userspace to pass the RSDP address to the kernel, which
|
||||
makes it possible for a user to circumvent any restrictions imposed on
|
||||
|
@ -13,10 +14,10 @@ Signed-off-by: Josh Boyer <jwboyer@redhat.com>
|
|||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
|
||||
index f9eeae871593..aa1dcf3d0216 100644
|
||||
index 739a4a6b3b9b..9ef2a020a7a9 100644
|
||||
--- a/drivers/acpi/osl.c
|
||||
+++ b/drivers/acpi/osl.c
|
||||
@@ -44,6 +44,7 @@
|
||||
@@ -40,6 +40,7 @@
|
||||
#include <linux/list.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/semaphore.h>
|
||||
|
@ -24,7 +25,7 @@ index f9eeae871593..aa1dcf3d0216 100644
|
|||
|
||||
#include <asm/io.h>
|
||||
#include <asm/uaccess.h>
|
||||
@@ -255,7 +256,7 @@ early_param("acpi_rsdp", setup_acpi_rsdp);
|
||||
@@ -253,7 +254,7 @@ early_param("acpi_rsdp", setup_acpi_rsdp);
|
||||
acpi_physical_address __init acpi_os_get_root_pointer(void)
|
||||
{
|
||||
#ifdef CONFIG_KEXEC
|
||||
|
@ -34,5 +35,5 @@ index f9eeae871593..aa1dcf3d0216 100644
|
|||
#endif
|
||||
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 9 Jan 2015 15:28:29 +0100
|
||||
Subject: [PATCH] acpi-video: Add disable_native_backlight quirk for Samsung
|
||||
730U3E/740U3E
|
||||
|
||||
The Samsung 730U3E/740U3E has integrated ATI Radeon graphics, and backlight
|
||||
control does not work properly when using the native interfaces.
|
||||
|
||||
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1094948
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
drivers/acpi/video.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
|
||||
index 5b9c0bae4503..998c47f6d42b 100644
|
||||
--- a/drivers/acpi/video.c
|
||||
+++ b/drivers/acpi/video.c
|
||||
@@ -522,6 +522,15 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "370R4E/370R4V/370R5E/3570RE/370R5V"),
|
||||
},
|
||||
},
|
||||
+ {
|
||||
+ /* https://bugzilla.redhat.com/show_bug.cgi?id=1094948 */
|
||||
+ .callback = video_disable_native_backlight,
|
||||
+ .ident = "SAMSUNG 730U3E/740U3E",
|
||||
+ .matches = {
|
||||
+ DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
|
||||
+ DMI_MATCH(DMI_PRODUCT_NAME, "730U3E/740U3E"),
|
||||
+ },
|
||||
+ },
|
||||
|
||||
{
|
||||
/* https://bugzilla.redhat.com/show_bug.cgi?id=1163574 */
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Tue, 3 Mar 2015 08:31:24 +0100
|
||||
Subject: [PATCH] acpi: video: Add force native backlight quirk for Lenovo
|
||||
Ideapad Z570
|
||||
|
||||
The Lenovo Ideapad Z570 (which is an Acer in disguise like some other Ideapads)
|
||||
has a broken acpi_video interface, this was fixed in commmit a11d342fb8
|
||||
("ACPI / video: force vendor backlight on Lenovo Ideapad Z570").
|
||||
|
||||
Which stops acpi_video from registering a backlight interface, but this is
|
||||
only a partial fix, because for people who have the ideapad-laptop module
|
||||
installed that module will now register a backlight interface, which also
|
||||
does not work, so we need to use the native intel_backlight interface.
|
||||
|
||||
The Lenovo Ideapad 570 is a pre-win8 laptop / too old for the acpi-video code
|
||||
to automatically prefer the native backlight interface, so add a quirk for it.
|
||||
|
||||
This commit also removes the previous incomplete fix.
|
||||
|
||||
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1187004
|
||||
Cc: Stepan Bujnak <stepanbujnak@fastmail.fm>
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
drivers/acpi/video.c | 17 +++++++++++++++++
|
||||
drivers/acpi/video_detect.c | 8 --------
|
||||
2 files changed, 17 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
|
||||
index 70ea37bea84f..d9bf8ba7d848 100644
|
||||
--- a/drivers/acpi/video.c
|
||||
+++ b/drivers/acpi/video.c
|
||||
@@ -425,6 +425,12 @@ static int __init video_disable_native_backlight(const struct dmi_system_id *d)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int __init video_enable_native_backlight(const struct dmi_system_id *d)
|
||||
+{
|
||||
+ use_native_backlight_dmi = NATIVE_BACKLIGHT_ON;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static struct dmi_system_id video_dmi_table[] __initdata = {
|
||||
/*
|
||||
* Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121
|
||||
@@ -566,6 +572,17 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "XPS L521X"),
|
||||
},
|
||||
},
|
||||
+
|
||||
+ /* Non win8 machines which need native backlight nevertheless */
|
||||
+ {
|
||||
+ /* https://bugzilla.redhat.com/show_bug.cgi?id=1187004 */
|
||||
+ .callback = video_enable_native_backlight,
|
||||
+ .ident = "Lenovo Ideapad Z570",
|
||||
+ .matches = {
|
||||
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
+ DMI_MATCH(DMI_PRODUCT_NAME, "102434U"),
|
||||
+ },
|
||||
+ },
|
||||
{}
|
||||
};
|
||||
|
||||
diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
|
||||
index 27c43499977a..c42feb2bacd0 100644
|
||||
--- a/drivers/acpi/video_detect.c
|
||||
+++ b/drivers/acpi/video_detect.c
|
||||
@@ -174,14 +174,6 @@ static struct dmi_system_id video_detect_dmi_table[] = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 5737"),
|
||||
},
|
||||
},
|
||||
- {
|
||||
- .callback = video_detect_force_vendor,
|
||||
- .ident = "Lenovo IdeaPad Z570",
|
||||
- .matches = {
|
||||
- DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
- DMI_MATCH(DMI_PRODUCT_VERSION, "Ideapad Z570"),
|
||||
- },
|
||||
- },
|
||||
{ },
|
||||
};
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
From: Aaron Lu <aaron.lu@intel.com>
|
||||
Date: Wed, 11 Mar 2015 14:14:56 +0800
|
||||
Subject: [PATCH] acpi: video: Allow forcing native backlight on non win8
|
||||
machines
|
||||
|
||||
The native backlight behavior (so not registering both the acpi-video
|
||||
and the vendor backlight driver) can be useful on some non win8 machines
|
||||
too, so change the behavior of the video.use_native_backlight=1 or 0
|
||||
kernel cmdline option to be: if user has set video.use_native_backlight=1
|
||||
or 0, use that no matter if it is a win8 system or not. Also, we will
|
||||
put some known systems into the DMI table to make them either use native
|
||||
backlight interface or not, and the use_native_backlight_dmi is used to
|
||||
reflect that.
|
||||
|
||||
Original-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Aaron Lu <aaron.lu@intel.com>
|
||||
Acked-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
drivers/acpi/video.c | 19 +++++++++++++------
|
||||
1 file changed, 13 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
|
||||
index db70d550f526..70ea37bea84f 100644
|
||||
--- a/drivers/acpi/video.c
|
||||
+++ b/drivers/acpi/video.c
|
||||
@@ -82,9 +82,15 @@ module_param(allow_duplicates, bool, 0644);
|
||||
* For Windows 8 systems: used to decide if video module
|
||||
* should skip registering backlight interface of its own.
|
||||
*/
|
||||
-static int use_native_backlight_param = -1;
|
||||
+enum {
|
||||
+ NATIVE_BACKLIGHT_NOT_SET = -1,
|
||||
+ NATIVE_BACKLIGHT_OFF,
|
||||
+ NATIVE_BACKLIGHT_ON,
|
||||
+};
|
||||
+
|
||||
+static int use_native_backlight_param = NATIVE_BACKLIGHT_NOT_SET;
|
||||
module_param_named(use_native_backlight, use_native_backlight_param, int, 0444);
|
||||
-static bool use_native_backlight_dmi = true;
|
||||
+static int use_native_backlight_dmi = NATIVE_BACKLIGHT_NOT_SET;
|
||||
|
||||
static int register_count;
|
||||
static struct mutex video_list_lock;
|
||||
@@ -237,15 +243,16 @@ static void acpi_video_switch_brightness(struct work_struct *work);
|
||||
|
||||
static bool acpi_video_use_native_backlight(void)
|
||||
{
|
||||
- if (use_native_backlight_param != -1)
|
||||
+ if (use_native_backlight_param != NATIVE_BACKLIGHT_NOT_SET)
|
||||
return use_native_backlight_param;
|
||||
- else
|
||||
+ else if (use_native_backlight_dmi != NATIVE_BACKLIGHT_NOT_SET)
|
||||
return use_native_backlight_dmi;
|
||||
+ return acpi_osi_is_win8();
|
||||
}
|
||||
|
||||
bool acpi_video_verify_backlight_support(void)
|
||||
{
|
||||
- if (acpi_osi_is_win8() && acpi_video_use_native_backlight() &&
|
||||
+ if (acpi_video_use_native_backlight() &&
|
||||
backlight_device_registered(BACKLIGHT_RAW))
|
||||
return false;
|
||||
return acpi_video_backlight_support();
|
||||
@@ -414,7 +421,7 @@ static int __init video_set_bqc_offset(const struct dmi_system_id *d)
|
||||
|
||||
static int __init video_disable_native_backlight(const struct dmi_system_id *d)
|
||||
{
|
||||
- use_native_backlight_dmi = false;
|
||||
+ use_native_backlight_dmi = NATIVE_BACKLIGHT_OFF;
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
From 221255aee67ec1c752001080aafec0c4e9390d95 Mon Sep 17 00:00:00 2001
|
||||
From: Hannes Reinecke <hare@suse.de>
|
||||
Date: Tue, 1 Dec 2015 10:16:42 +0100
|
||||
Subject: scsi: ignore errors from scsi_dh_add_device()
|
||||
|
||||
device handler initialisation might fail due to a number of
|
||||
reasons. But as device_handlers are optional this shouldn't
|
||||
cause us to disable the device entirely.
|
||||
So just ignore errors from scsi_dh_add_device().
|
||||
|
||||
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.com>
|
||||
Reviewed-by: Christoph Hellwig <hch@lst.de>
|
||||
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
||||
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
||||
---
|
||||
drivers/scsi/scsi_sysfs.c | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
|
||||
index fc3cd26..d015374 100644
|
||||
--- a/drivers/scsi/scsi_sysfs.c
|
||||
+++ b/drivers/scsi/scsi_sysfs.c
|
||||
@@ -1120,11 +1120,12 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
|
||||
}
|
||||
|
||||
error = scsi_dh_add_device(sdev);
|
||||
- if (error) {
|
||||
+ if (error)
|
||||
+ /*
|
||||
+ * device_handler is optional, so any error can be ignored
|
||||
+ */
|
||||
sdev_printk(KERN_INFO, sdev,
|
||||
"failed to add device handler: %d\n", error);
|
||||
- return error;
|
||||
- }
|
||||
|
||||
device_enable_async_suspend(&sdev->sdev_dev);
|
||||
error = device_add(&sdev->sdev_dev);
|
||||
--
|
||||
cgit v0.11.2
|
||||
|
|
@ -9,7 +9,7 @@ Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
|
|||
1 file changed, 21 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
|
||||
index 9688dda39e7a..8e3e77f3121f 100644
|
||||
index 853079eb0080..645302a6ada4 100644
|
||||
--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
|
||||
+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
|
||||
@@ -109,6 +109,27 @@
|
||||
|
@ -40,6 +40,3 @@ index 9688dda39e7a..8e3e77f3121f 100644
|
|||
clkout2_pin: pinmux_clkout2_pin {
|
||||
pinctrl-single,pins = <
|
||||
0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
|
||||
--
|
||||
2.1.0
|
||||
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
From: Robert Nelson <robertcnelson@gmail.com>
|
||||
Date: Tue, 31 Dec 2013 11:17:45 -0600
|
||||
Subject: [PATCH] arm: dts: am335x-bone-common: enable and use i2c2
|
||||
|
||||
Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/am335x-bone-common.dtsi | 39 +++++++++++++++++++++++++++++++
|
||||
1 file changed, 39 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
|
||||
index c3255e0c90aa..1fd496fe1a68 100644
|
||||
--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
|
||||
+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
|
||||
@@ -81,6 +81,13 @@
|
||||
>;
|
||||
};
|
||||
|
||||
+ i2c2_pins: pinmux_i2c2_pins {
|
||||
+ pinctrl-single,pins = <
|
||||
+ 0x178 0x73 /* (SLEWCTRL_SLOW | PIN_INPUT_PULLUP | MUX_MODE3) uart1_ctsn.i2c2_sda */
|
||||
+ 0x17c 0x73 /* (SLEWCTRL_SLOW | PIN_INPUT_PULLUP | MUX_MODE3) uart1_rtsn.i2c2_scl */
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
uart0_pins: pinmux_uart0_pins {
|
||||
pinctrl-single,pins = <
|
||||
0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
|
||||
@@ -218,6 +225,38 @@
|
||||
reg = <0x24>;
|
||||
};
|
||||
|
||||
+ baseboard_eeprom: baseboard_eeprom@50 {
|
||||
+ compatible = "at,24c256";
|
||||
+ reg = <0x50>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c2 {
|
||||
+ status = "okay";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c2_pins>;
|
||||
+
|
||||
+ clock-frequency = <100000>;
|
||||
+
|
||||
+ cape_eeprom0: cape_eeprom0@54 {
|
||||
+ compatible = "at,24c256";
|
||||
+ reg = <0x54>;
|
||||
+ };
|
||||
+
|
||||
+ cape_eeprom1: cape_eeprom1@55 {
|
||||
+ compatible = "at,24c256";
|
||||
+ reg = <0x55>;
|
||||
+ };
|
||||
+
|
||||
+ cape_eeprom2: cape_eeprom2@56 {
|
||||
+ compatible = "at,24c256";
|
||||
+ reg = <0x56>;
|
||||
+ };
|
||||
+
|
||||
+ cape_eeprom3: cape_eeprom3@57 {
|
||||
+ compatible = "at,24c256";
|
||||
+ reg = <0x57>;
|
||||
+ };
|
||||
};
|
||||
|
||||
/include/ "tps65217.dtsi"
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,272 +0,0 @@
|
|||
From: Robert Nelson <robertcnelson@gmail.com>
|
||||
Date: Tue, 31 Dec 2013 14:18:00 -0600
|
||||
Subject: [PATCH] arm: dts: am335x-bone-common: setup default pinmux
|
||||
http://elinux.org/Basic_Proto_Cape
|
||||
|
||||
Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/am335x-bone-common.dtsi | 222 ++++++++++++++++++++++++++++++
|
||||
1 file changed, 222 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
|
||||
index 1fd496fe1a68..9688dda39e7a 100644
|
||||
--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
|
||||
+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
|
||||
@@ -95,6 +95,20 @@
|
||||
>;
|
||||
};
|
||||
|
||||
+ uart1_pins: pinmux_uart1_pins {
|
||||
+ pinctrl-single,pins = <
|
||||
+ 0x180 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rxd.uart1_rxd */
|
||||
+ 0x184 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ uart1_pins: pinmux_uart1_pins {
|
||||
+ pinctrl-single,pins = <
|
||||
+ 0x180 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rxd.uart1_rxd */
|
||||
+ 0x184 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
clkout2_pin: pinmux_clkout2_pin {
|
||||
pinctrl-single,pins = <
|
||||
0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
|
||||
@@ -175,6 +189,60 @@
|
||||
0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
|
||||
>;
|
||||
};
|
||||
+
|
||||
+ spi0_pins: pinmux_spi0_pins {
|
||||
+ pinctrl-single,pins = <
|
||||
+ 0x150 (PIN_INPUT_PULLUP | MUX_MODE0) /* spi0_sclk.spi0_sclk */
|
||||
+ 0x154 (PIN_INPUT_PULLUP | MUX_MODE0) /* spi0_d0.spi0_d0 */
|
||||
+ 0x158 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* spi0_d1.spi0_d1 */
|
||||
+ 0x15c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* spi0_cs0.spi0_cs0 */
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ ehrpwm1_pin_p9_14: pinmux_ehrpwm1_pin_p9_14 {
|
||||
+ pinctrl-single,pins = <
|
||||
+ 0x048 0x6 /* P9_14 (ZCZ ball U14) | MODE 6 */
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ ehrpwm1_pin_p9_16: pinmux_ehrpwm1_pin_p9_16 {
|
||||
+ pinctrl-single,pins = <
|
||||
+ 0x04c 0x6 /* P9_16 (ZCZ ball T14) | MODE 6 */
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ ecap0_pin_p9_42: pinmux_ecap0_pin_p9_42 {
|
||||
+ pinctrl-single,pins = <
|
||||
+ 0x164 0x0 /* P9_42 (ZCZ ball C18) | MODE 0 */
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ spi0_pins: pinmux_spi0_pins {
|
||||
+ pinctrl-single,pins = <
|
||||
+ 0x150 (PIN_INPUT_PULLUP | MUX_MODE0) /* spi0_sclk.spi0_sclk */
|
||||
+ 0x154 (PIN_INPUT_PULLUP | MUX_MODE0) /* spi0_d0.spi0_d0 */
|
||||
+ 0x158 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* spi0_d1.spi0_d1 */
|
||||
+ 0x15c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* spi0_cs0.spi0_cs0 */
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ ehrpwm1_pin_p9_14: pinmux_ehrpwm1_pin_p9_14 {
|
||||
+ pinctrl-single,pins = <
|
||||
+ 0x048 0x6 /* P9_14 (ZCZ ball U14) | MODE 6 */
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ ehrpwm1_pin_p9_16: pinmux_ehrpwm1_pin_p9_16 {
|
||||
+ pinctrl-single,pins = <
|
||||
+ 0x04c 0x6 /* P9_16 (ZCZ ball T14) | MODE 6 */
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ ecap0_pin_p9_42: pinmux_ecap0_pin_p9_42 {
|
||||
+ pinctrl-single,pins = <
|
||||
+ 0x164 0x0 /* P9_42 (ZCZ ball C18) | MODE 0 */
|
||||
+ >;
|
||||
+ };
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
@@ -184,6 +252,20 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_pins>;
|
||||
+
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_pins>;
|
||||
+
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&usb {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -259,6 +341,106 @@
|
||||
};
|
||||
};
|
||||
|
||||
+&epwmss0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ecap0_pin_p9_42>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ ecap@48300100 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&epwmss1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <
|
||||
+ &ehrpwm1_pin_p9_14
|
||||
+ &ehrpwm1_pin_p9_16
|
||||
+ >;
|
||||
+
|
||||
+ status = "okay";
|
||||
+
|
||||
+ ehrpwm@48302200 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&spi0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi0_pins>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ spidev0: spi@0 {
|
||||
+ compatible = "spidev";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <16000000>;
|
||||
+ spi-cpha;
|
||||
+ };
|
||||
+
|
||||
+ spidev1: spi@1 {
|
||||
+ compatible = "spidev";
|
||||
+ reg = <1>;
|
||||
+ spi-max-frequency = <16000000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&tscadc {
|
||||
+ status = "okay";
|
||||
+ adc {
|
||||
+ ti,adc-channels = <4 5 6>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&epwmss0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ecap0_pin_p9_42>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ ecap@48300100 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&epwmss1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <
|
||||
+ &ehrpwm1_pin_p9_14
|
||||
+ &ehrpwm1_pin_p9_16
|
||||
+ >;
|
||||
+
|
||||
+ status = "okay";
|
||||
+
|
||||
+ ehrpwm@48302200 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&spi0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi0_pins>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ spidev0: spi@0 {
|
||||
+ compatible = "spidev";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <16000000>;
|
||||
+ spi-cpha;
|
||||
+ };
|
||||
+
|
||||
+ spidev1: spi@1 {
|
||||
+ compatible = "spidev";
|
||||
+ reg = <1>;
|
||||
+ spi-max-frequency = <16000000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&tscadc {
|
||||
+ status = "okay";
|
||||
+ adc {
|
||||
+ ti,adc-channels = <4 5 6>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
/include/ "tps65217.dtsi"
|
||||
|
||||
&tps {
|
||||
@@ -347,4 +529,44 @@
|
||||
|
||||
&sham {
|
||||
status = "okay";
|
||||
+
|
||||
+};
|
||||
+
|
||||
+/ {
|
||||
+ ocp {
|
||||
+ //FIXME: these pwm's still need work, this guild isn't working..
|
||||
+ //http://elinux.org/EBC_Exercise_13_Pulse_Width_Modulation
|
||||
+ pwm_test_P9_14@0 {
|
||||
+ compatible = "pwm_test";
|
||||
+ pwms = <&ehrpwm1 0 500000 1>;
|
||||
+ pwm-names = "PWM_P9_14";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ehrpwm1_pin_p9_14>;
|
||||
+ enabled = <1>;
|
||||
+ duty = <0>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ pwm_test_P9_16@0 {
|
||||
+ compatible = "pwm_test";
|
||||
+ pwms = <&ehrpwm1 0 500000 1>;
|
||||
+ pwm-names = "PWM_P9_16";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ehrpwm1_pin_p9_16>;
|
||||
+ enabled = <1>;
|
||||
+ duty = <0>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ pwm_test_P9_42 {
|
||||
+ compatible = "pwm_test";
|
||||
+ pwms = <&ecap0 0 500000 1>;
|
||||
+ pwm-names = "PWM_P9_42";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ecap0_pin_p9_42>;
|
||||
+ enabled = <1>;
|
||||
+ duty = <0>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -36,6 +36,3 @@ index 0fd89c38cf02..20660917a06f 100644
|
|||
hdmi {
|
||||
compatible = "ti,tilcdc,slave";
|
||||
i2c = <&i2c0>;
|
||||
--
|
||||
2.1.0
|
||||
|
||||
|
|
|
@ -34,6 +34,3 @@ index 5c42d259fa68..0fd89c38cf02 100644
|
|||
};
|
||||
};
|
||||
|
||||
--
|
||||
2.1.0
|
||||
|
||||
|
|
|
@ -1,60 +0,0 @@
|
|||
From: Kyle McMartin <kmcmartin@redhat.com>
|
||||
Date: Tue, 30 Sep 2014 16:19:47 -0400
|
||||
Subject: [PATCH] arm: highbank l2 reverts
|
||||
|
||||
Revert some v3.16 changes to mach-highbank which broke L2 cache enablement.
|
||||
Will debug upstream separately, but we need F22/21 running there. (#1139762)
|
||||
---
|
||||
arch/arm/mach-highbank/highbank.c | 21 ++++++++++++---------
|
||||
1 file changed, 12 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c
|
||||
index 231fba0d03e5..0de5a6ddd5eb 100644
|
||||
--- a/arch/arm/mach-highbank/highbank.c
|
||||
+++ b/arch/arm/mach-highbank/highbank.c
|
||||
@@ -51,13 +51,11 @@ static void __init highbank_scu_map_io(void)
|
||||
}
|
||||
|
||||
|
||||
-static void highbank_l2c310_write_sec(unsigned long val, unsigned reg)
|
||||
+static void highbank_l2x0_disable(void)
|
||||
{
|
||||
- if (reg == L2X0_CTRL)
|
||||
- highbank_smc1(0x102, val);
|
||||
- else
|
||||
- WARN_ONCE(1, "Highbank L2C310: ignoring write to reg 0x%x\n",
|
||||
- reg);
|
||||
+ outer_flush_all();
|
||||
+ /* Disable PL310 L2 Cache controller */
|
||||
+ highbank_smc1(0x102, 0x0);
|
||||
}
|
||||
|
||||
static void __init highbank_init_irq(void)
|
||||
@@ -66,6 +64,14 @@ static void __init highbank_init_irq(void)
|
||||
|
||||
if (of_find_compatible_node(NULL, NULL, "arm,cortex-a9"))
|
||||
highbank_scu_map_io();
|
||||
+
|
||||
+ /* Enable PL310 L2 Cache controller */
|
||||
+ if (IS_ENABLED(CONFIG_CACHE_L2X0) &&
|
||||
+ of_find_compatible_node(NULL, NULL, "arm,pl310-cache")) {
|
||||
+ highbank_smc1(0x102, 0x1);
|
||||
+ l2x0_of_init(0, ~0);
|
||||
+ outer_cache.disable = highbank_l2x0_disable;
|
||||
+ }
|
||||
}
|
||||
|
||||
static void highbank_power_off(void)
|
||||
@@ -179,9 +185,6 @@ DT_MACHINE_START(HIGHBANK, "Highbank")
|
||||
#if defined(CONFIG_ZONE_DMA) && defined(CONFIG_ARM_LPAE)
|
||||
.dma_zone_size = (4ULL * SZ_1G),
|
||||
#endif
|
||||
- .l2c_aux_val = 0,
|
||||
- .l2c_aux_mask = ~0,
|
||||
- .l2c_write_sec = highbank_l2c310_write_sec,
|
||||
.init_irq = highbank_init_irq,
|
||||
.init_machine = highbank_init,
|
||||
.dt_compat = highbank_match,
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -60,6 +60,3 @@ index 99b46f8030ad..8b6ddd16dcc5 100644
|
|||
+ pinctrl-0 = <&pinctrl_usdhc3>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.1.0
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sun, 3 May 2015 18:35:23 +0100
|
||||
Subject: [PATCH] arm64: acpi drop expert patch
|
||||
|
||||
---
|
||||
drivers/acpi/Kconfig | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
|
||||
index 114cf48085ab..70ba3ef9a37b 100644
|
||||
--- a/drivers/acpi/Kconfig
|
||||
+++ b/drivers/acpi/Kconfig
|
||||
@@ -5,7 +5,7 @@
|
||||
menuconfig ACPI
|
||||
bool "ACPI (Advanced Configuration and Power Interface) Support"
|
||||
depends on !IA64_HP_SIM
|
||||
- depends on IA64 || X86 || (ARM64 && EXPERT)
|
||||
+ depends on IA64 || X86 || ARM64
|
||||
depends on PCI
|
||||
select PNP
|
||||
default y
|
|
@ -0,0 +1,46 @@
|
|||
From ede02df9a481ba07348e6fd4393ba2e273ef16d8 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Salter <msalter@redhat.com>
|
||||
Date: Wed, 25 Mar 2015 14:17:50 -0400
|
||||
Subject: [PATCH] arm64: avoid needing console= to enable serial console
|
||||
|
||||
Tell kernel to prefer one of the serial ports for console on
|
||||
platforms currently supported (pl011 or 8250). console= on
|
||||
command line will override these assumed preferences. This is
|
||||
just a hack to get the behavior we want from DT provided by
|
||||
firmware.
|
||||
|
||||
Signed-off-by: Mark Salter <msalter@redhat.com>
|
||||
---
|
||||
arch/arm64/kernel/setup.c | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
|
||||
index 8119479..ea9ff80 100644
|
||||
--- a/arch/arm64/kernel/setup.c
|
||||
+++ b/arch/arm64/kernel/setup.c
|
||||
@@ -381,3 +381,22 @@ static int __init topology_init(void)
|
||||
return 0;
|
||||
}
|
||||
subsys_initcall(topology_init);
|
||||
+
|
||||
+/*
|
||||
+ * Temporary hack to avoid need for console= on command line
|
||||
+ */
|
||||
+static int __init arm64_console_setup(void)
|
||||
+{
|
||||
+ /* Allow cmdline to override our assumed preferences */
|
||||
+ if (console_set_on_cmdline)
|
||||
+ return 0;
|
||||
+
|
||||
+ if (IS_ENABLED(CONFIG_SERIAL_AMBA_PL011))
|
||||
+ add_preferred_console("ttyAMA", 0, "115200");
|
||||
+
|
||||
+ if (IS_ENABLED(CONFIG_SERIAL_8250))
|
||||
+ add_preferred_console("ttyS", 0, "115200");
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+early_initcall(arm64_console_setup);
|
||||
--
|
||||
2.5.0
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
From 32f701d40657cc3c982b8cba4bf73452ccdd6697 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Garrett <matthew.garrett@nebula.com>
|
||||
Date: Fri, 9 Mar 2012 08:46:50 -0500
|
||||
Subject: [PATCH] asus-wmi: Restrict debugfs interface when module loading is
|
||||
restricted
|
||||
Subject: [PATCH 05/20] asus-wmi: Restrict debugfs interface when module
|
||||
loading is restricted
|
||||
|
||||
We have no way of validating what all of the Asus WMI methods do on a
|
||||
given machine, and there's a risk that some will allow hardware state to
|
||||
|
@ -15,10 +16,10 @@ Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
|
|||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
|
||||
index 7543a56e0f45..93b5a6998371 100644
|
||||
index efbc3f0c592b..071171be4b7f 100644
|
||||
--- a/drivers/platform/x86/asus-wmi.c
|
||||
+++ b/drivers/platform/x86/asus-wmi.c
|
||||
@@ -1589,6 +1589,9 @@ static int show_dsts(struct seq_file *m, void *data)
|
||||
@@ -1868,6 +1868,9 @@ static int show_dsts(struct seq_file *m, void *data)
|
||||
int err;
|
||||
u32 retval = -1;
|
||||
|
||||
|
@ -28,7 +29,7 @@ index 7543a56e0f45..93b5a6998371 100644
|
|||
err = asus_wmi_get_devstate(asus, asus->debug.dev_id, &retval);
|
||||
|
||||
if (err < 0)
|
||||
@@ -1605,6 +1608,9 @@ static int show_devs(struct seq_file *m, void *data)
|
||||
@@ -1884,6 +1887,9 @@ static int show_devs(struct seq_file *m, void *data)
|
||||
int err;
|
||||
u32 retval = -1;
|
||||
|
||||
|
@ -38,7 +39,7 @@ index 7543a56e0f45..93b5a6998371 100644
|
|||
err = asus_wmi_set_devstate(asus->debug.dev_id, asus->debug.ctrl_param,
|
||||
&retval);
|
||||
|
||||
@@ -1629,6 +1635,9 @@ static int show_call(struct seq_file *m, void *data)
|
||||
@@ -1908,6 +1914,9 @@ static int show_call(struct seq_file *m, void *data)
|
||||
union acpi_object *obj;
|
||||
acpi_status status;
|
||||
|
||||
|
@ -49,5 +50,5 @@ index 7543a56e0f45..93b5a6998371 100644
|
|||
1, asus->debug.method_id,
|
||||
&input, &output);
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -36,6 +36,3 @@ index bba85d1a6cd1..ebbee8f17130 100644
|
|||
ath_err(common,
|
||||
"DMA failed to stop in %d ms AR_CR=0x%08x AR_DIAG_SW=0x%08x DMADBG_7=0x%08x\n",
|
||||
AH_RX_STOP_DMA_TIMEOUT / 1000,
|
||||
--
|
||||
2.1.0
|
||||
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
From 5233252fce714053f0151680933571a2da9cbfb4 Mon Sep 17 00:00:00 2001
|
||||
From: "David S. Miller" <davem@davemloft.net>
|
||||
Date: Tue, 15 Dec 2015 15:39:08 -0500
|
||||
Subject: [PATCH] bluetooth: Validate socket address length in sco_sock_bind().
|
||||
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
net/bluetooth/sco.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
|
||||
index fe129663bd3f..f52bcbf2e58c 100644
|
||||
--- a/net/bluetooth/sco.c
|
||||
+++ b/net/bluetooth/sco.c
|
||||
@@ -526,6 +526,9 @@ static int sco_sock_bind(struct socket *sock, struct sockaddr *addr,
|
||||
if (!addr || addr->sa_family != AF_BLUETOOTH)
|
||||
return -EINVAL;
|
||||
|
||||
+ if (addr_len < sizeof(struct sockaddr_sco))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
lock_sock(sk);
|
||||
|
||||
if (sk->sk_state != BT_OPEN) {
|
||||
--
|
||||
2.5.0
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
From 4d06dd537f95683aba3651098ae288b7cbff8274 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= <bjorn@mork.no>
|
||||
Date: Mon, 7 Mar 2016 21:15:36 +0100
|
||||
Subject: [PATCH] cdc_ncm: do not call usbnet_link_change from cdc_ncm_bind
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
usbnet_link_change will call schedule_work and should be
|
||||
avoided if bind is failing. Otherwise we will end up with
|
||||
scheduled work referring to a netdev which has gone away.
|
||||
|
||||
Instead of making the call conditional, we can just defer
|
||||
it to usbnet_probe, using the driver_info flag made for
|
||||
this purpose.
|
||||
|
||||
Fixes: 8a34b0ae8778 ("usbnet: cdc_ncm: apply usbnet_link_change")
|
||||
Reported-by: Andrey Konovalov <andreyknvl@gmail.com>
|
||||
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
|
||||
Signed-off-by: Bjørn Mork <bjorn@mork.no>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/usb/cdc_ncm.c | 20 +++++---------------
|
||||
1 file changed, 5 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c
|
||||
index be927964375b..86ba30ba35e8 100644
|
||||
--- a/drivers/net/usb/cdc_ncm.c
|
||||
+++ b/drivers/net/usb/cdc_ncm.c
|
||||
@@ -988,8 +988,6 @@ EXPORT_SYMBOL_GPL(cdc_ncm_select_altsetting);
|
||||
|
||||
static int cdc_ncm_bind(struct usbnet *dev, struct usb_interface *intf)
|
||||
{
|
||||
- int ret;
|
||||
-
|
||||
/* MBIM backwards compatible function? */
|
||||
if (cdc_ncm_select_altsetting(intf) != CDC_NCM_COMM_ALTSETTING_NCM)
|
||||
return -ENODEV;
|
||||
@@ -998,16 +996,7 @@ static int cdc_ncm_bind(struct usbnet *dev, struct usb_interface *intf)
|
||||
* Additionally, generic NCM devices are assumed to accept arbitrarily
|
||||
* placed NDP.
|
||||
*/
|
||||
- ret = cdc_ncm_bind_common(dev, intf, CDC_NCM_DATA_ALTSETTING_NCM, 0);
|
||||
-
|
||||
- /*
|
||||
- * We should get an event when network connection is "connected" or
|
||||
- * "disconnected". Set network connection in "disconnected" state
|
||||
- * (carrier is OFF) during attach, so the IP network stack does not
|
||||
- * start IPv6 negotiation and more.
|
||||
- */
|
||||
- usbnet_link_change(dev, 0, 0);
|
||||
- return ret;
|
||||
+ return cdc_ncm_bind_common(dev, intf, CDC_NCM_DATA_ALTSETTING_NCM, 0);
|
||||
}
|
||||
|
||||
static void cdc_ncm_align_tail(struct sk_buff *skb, size_t modulus, size_t remainder, size_t max)
|
||||
@@ -1590,7 +1579,8 @@ static void cdc_ncm_status(struct usbnet *dev, struct urb *urb)
|
||||
|
||||
static const struct driver_info cdc_ncm_info = {
|
||||
.description = "CDC NCM",
|
||||
- .flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET,
|
||||
+ .flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET
|
||||
+ | FLAG_LINK_INTR,
|
||||
.bind = cdc_ncm_bind,
|
||||
.unbind = cdc_ncm_unbind,
|
||||
.manage_power = usbnet_manage_power,
|
||||
@@ -1603,7 +1593,7 @@ static const struct driver_info cdc_ncm_info = {
|
||||
static const struct driver_info wwan_info = {
|
||||
.description = "Mobile Broadband Network Device",
|
||||
.flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET
|
||||
- | FLAG_WWAN,
|
||||
+ | FLAG_LINK_INTR | FLAG_WWAN,
|
||||
.bind = cdc_ncm_bind,
|
||||
.unbind = cdc_ncm_unbind,
|
||||
.manage_power = usbnet_manage_power,
|
||||
@@ -1616,7 +1606,7 @@ static const struct driver_info wwan_info = {
|
||||
static const struct driver_info wwan_noarp_info = {
|
||||
.description = "Mobile Broadband Network Device (NO ARP)",
|
||||
.flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET
|
||||
- | FLAG_WWAN | FLAG_NOARP,
|
||||
+ | FLAG_LINK_INTR | FLAG_WWAN | FLAG_NOARP,
|
||||
.bind = cdc_ncm_bind,
|
||||
.unbind = cdc_ncm_unbind,
|
||||
.manage_power = usbnet_manage_power,
|
||||
--
|
||||
2.5.5
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
#
|
||||
# Small compile fixes (For more involved fixes, please use a separate patch).
|
||||
#
|
||||
# Please add the errors from gcc before the diffs to save others having
|
||||
# to do a compile to figure out what your diff is fixing. Thanks.
|
||||
#
|
|
@ -1,4 +1,5 @@
|
|||
CONFIG_KUSER_HELPERS=y
|
||||
# CONFIG_VDSO is not set
|
||||
# CONFIG_ASYMMETRIC_KEY_TYPE is not set
|
||||
CONFIG_COMMON_CLK=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
|
@ -6,8 +7,8 @@ CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
|
|||
CONFIG_FB_SSD1307=m
|
||||
CONFIG_HW_PERF_EVENTS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=11
|
||||
|
||||
CONFIG_CRASH=m
|
||||
CONFIG_CC_STACKPROTECTOR=y
|
||||
|
||||
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||
|
@ -39,32 +40,50 @@ CONFIG_FB_SIMPLE=y
|
|||
CONFIG_HAVE_PERF_REGS=y
|
||||
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
|
||||
|
||||
CONFIG_ARM_PMU=y
|
||||
|
||||
# ARM AMBA generic HW
|
||||
CONFIG_ARM_AMBA=y
|
||||
# CONFIG_TEGRA_AHB is not set
|
||||
CONFIG_KERNEL_MODE_NEON=y
|
||||
CONFIG_ARM_CCI=y
|
||||
CONFIG_ARM_CCN=y
|
||||
CONFIG_ARM_CCI400_PMU=y
|
||||
CONFIG_ARM_CCI500_PMU=y
|
||||
CONFIG_ARM_DMA_USE_IOMMU=y
|
||||
CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8
|
||||
CONFIG_ARM_GIC=y
|
||||
CONFIG_ARM_GIC_V2M=y
|
||||
CONFIG_ARM_GIC_V3=y
|
||||
CONFIG_ARM_GIC_V3_ITS=y
|
||||
CONFIG_KVM_ARM_VGIC=y
|
||||
CONFIG_ARM_GLOBAL_TIMER=y
|
||||
CONFIG_ARM_SMMU=y
|
||||
CONFIG_MMC_ARMMMCI=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_DW=y
|
||||
CONFIG_SERIO_AMBAKMI=y
|
||||
CONFIG_FB_ARMCLCD=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_PL330_DMA=m
|
||||
CONFIG_GPIO_PL061=y
|
||||
CONFIG_USB_ISP1760=m
|
||||
CONFIG_ARM_PL172_MPMC=m
|
||||
|
||||
# HW crypto and rng
|
||||
CONFIG_ARM_CRYPTO=y
|
||||
CONFIG_CRYPTO_AES_ARM=y
|
||||
CONFIG_CRYPTO_AES_ARM_BS=y
|
||||
CONFIG_CRYPTO_SHA1_ARM=y
|
||||
CONFIG_CRYPTO_SHA256_ARM=y
|
||||
CONFIG_CRYPTO_SHA1_ARM_NEON=y
|
||||
CONFIG_CRYPTO_SHA512_ARM_NEON=y
|
||||
CONFIG_CRYPTO_SHA512_ARM=y
|
||||
|
||||
# ARM VExpress
|
||||
CONFIG_ARCH_VEXPRESS=y
|
||||
CONFIG_MFD_VEXPRESS_SYSREG=y
|
||||
CONFIG_VEXPRESS_SYSCFG=y
|
||||
CONFIG_COMMON_CLK_VERSATILE=y
|
||||
CONFIG_ARM_TIMER_SP804=y
|
||||
CONFIG_CLK_SP810=y
|
||||
CONFIG_CLK_VEXPRESS_OSC=y
|
||||
CONFIG_I2C_VERSATILE=m
|
||||
|
@ -75,7 +94,41 @@ CONFIG_CLKSRC_VERSATILE=y
|
|||
CONFIG_POWER_RESET_VERSATILE=y
|
||||
# CONFIG_ARM_CHARLCD is not set
|
||||
|
||||
# Power/Thermal/Cpufreq
|
||||
# Rockchips
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_I2C_RK3X=m
|
||||
CONFIG_SPI_ROCKCHIP=m
|
||||
CONFIG_PWM_ROCKCHIP=m
|
||||
CONFIG_ROCKCHIP_SARADC=m
|
||||
CONFIG_ROCKCHIP_IODOMAIN=m
|
||||
CONFIG_MMC_DW_ROCKCHIP=m
|
||||
CONFIG_EMAC_ROCKCHIP=m
|
||||
CONFIG_MFD_RK808=m
|
||||
CONFIG_COMMON_CLK_RK808=m
|
||||
CONFIG_REGULATOR_RK808=m
|
||||
CONFIG_RTC_DRV_RK808=m
|
||||
CONFIG_RTC_DRV_HYM8563=m
|
||||
CONFIG_ROCKCHIP_SARADC=m
|
||||
CONFIG_ROCKCHIP_IOMMU=y
|
||||
CONFIG_ROCKCHIP_THERMAL=m
|
||||
CONFIG_DRM_ROCKCHIP=m
|
||||
CONFIG_ROCKCHIP_DW_HDMI=m
|
||||
CONFIG_PHY_ROCKCHIP_USB=m
|
||||
CONFIG_DWMAC_ROCKCHIP=m
|
||||
CONFIG_SND_SOC_ROCKCHIP=m
|
||||
CONFIG_SND_SOC_ROCKCHIP_I2S=m
|
||||
CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
|
||||
CONFIG_SND_SOC_ROCKCHIP_RT5645=m
|
||||
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
|
||||
CONFIG_REGULATOR_ACT8865=m
|
||||
CONFIG_ROCKCHIP_PM_DOMAINS=y
|
||||
CONFIG_ROCKCHIP_EFUSE=m
|
||||
|
||||
# Tegra
|
||||
# CONFIG_TEGRA_AHB is not set
|
||||
|
||||
# Power management / thermal / cpu scaling
|
||||
# CONFIG_ARM_CPUIDLE is not set
|
||||
# CONFIG_ARM_DT_BL_CPUFREQ is not set
|
||||
# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
|
||||
|
||||
|
@ -96,6 +149,8 @@ CONFIG_OF_NET=y
|
|||
CONFIG_OF_OVERLAY=y
|
||||
CONFIG_OF_PCI_IRQ=m
|
||||
CONFIG_OF_PCI=m
|
||||
# CONFIG_PCI_HOST_GENERIC is not set
|
||||
# CONFIG_PCIE_IPROC is not set
|
||||
CONFIG_OF_RESERVED_MEM=y
|
||||
CONFIG_OF_RESOLVE=y
|
||||
CONFIG_PM_GENERIC_DOMAINS_OF=y
|
||||
|
@ -107,6 +162,15 @@ CONFIG_THERMAL_OF=y
|
|||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
|
||||
# Mailbox
|
||||
CONFIG_MAILBOX=y
|
||||
CONFIG_ARM_MHU=m
|
||||
# CONFIG_PL320_MBOX is not set
|
||||
CONFIG_ARM_SCPI_PROTOCOL=m
|
||||
|
||||
# NVMem
|
||||
CONFIG_NVMEM=m
|
||||
|
||||
# USB
|
||||
CONFIG_USB_OHCI_HCD_PLATFORM=m
|
||||
CONFIG_USB_EHCI_HCD_PLATFORM=m
|
||||
|
@ -114,15 +178,18 @@ CONFIG_USB_XHCI_PLATFORM=m
|
|||
|
||||
# MMC/SD
|
||||
CONFIG_MMC_SPI=m
|
||||
CONFIG_MMC_SDHCI_OF_ARASAN=m
|
||||
|
||||
# Designware (used by numerous devices)
|
||||
CONFIG_MMC_DW=m
|
||||
CONFIG_MMC_DW_PLTFM=m
|
||||
CONFIG_MMC_DW_IDMAC=y
|
||||
CONFIG_MMC_DW_K3=m
|
||||
CONFIG_MMC_DW_PCI=m
|
||||
CONFIG_SPI_DW_MMIO=m
|
||||
CONFIG_SPI_DW_PCI=m
|
||||
# CONFIG_SPI_DW_MID_DMA is not set
|
||||
# CONFIG_MMC_DW_IDMAC is not set
|
||||
# CONFIG_MMC_DW_K3 is not set
|
||||
# CONFIG_MMC_QCOM_DML is not set
|
||||
CONFIG_USB_DWC2=m
|
||||
CONFIG_USB_DWC2_DUAL_ROLE=y
|
||||
|
@ -134,15 +201,19 @@ CONFIG_USB_DWC3=m
|
|||
CONFIG_USB_DWC3_DUAL_ROLE=y
|
||||
CONFIG_USB_DWC3_PCI=m
|
||||
# CONFIG_USB_DWC3_DEBUG is not set
|
||||
# CONFIG_DWC3_HOST_USB3_LPM_ENABLE is not set
|
||||
CONFIG_USB_DWC3_ULPI=y
|
||||
CONFIG_DW_WATCHDOG=m
|
||||
CONFIG_PCIE_DW=y
|
||||
# CONFIG_MMC_DW_EXYNOS is not set
|
||||
CONFIG_I2C_DESIGNWARE_CORE=m
|
||||
CONFIG_I2C_DESIGNWARE_PLATFORM=m
|
||||
CONFIG_GPIO_DWAPB=m
|
||||
|
||||
# External Connectors
|
||||
CONFIG_EXTCON=m
|
||||
CONFIG_EXTCON_GPIO=m
|
||||
CONFIG_EXTCON_ADC_JACK=m
|
||||
CONFIG_EXTCON_USB_GPIO=m
|
||||
# CONFIG_EXTCON_SM5502 is not set
|
||||
# CONFIG_EXTCON_RT8973A is not set
|
||||
|
||||
|
@ -169,11 +240,21 @@ CONFIG_GPIOLIB=y
|
|||
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
|
||||
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||
CONFIG_BACKLIGHT_GPIO=m
|
||||
CONFIG_KEYBOARD_GPIO=m
|
||||
CONFIG_KEYBOARD_GPIO_POLLED=m
|
||||
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
|
||||
CONFIG_POWER_RESET_GPIO=y
|
||||
CONFIG_POWER_RESET_GPIO_RESTART=y
|
||||
CONFIG_POWER_RESET_RESTART=y
|
||||
# CONFIG_GPIO_74XX_MMIO is not set
|
||||
|
||||
# Pin stuff
|
||||
CONFIG_PINMUX=y
|
||||
CONFIG_PINCONF=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_GENERIC_PINCONF=y
|
||||
CONFIG_PINCTRL_SINGLE=y
|
||||
|
||||
#i2c
|
||||
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
|
@ -183,6 +264,7 @@ CONFIG_I2C_MUX_GPIO=m
|
|||
CONFIG_I2C_MUX_PINCTRL=m
|
||||
CONFIG_I2C_MUX_PCA9541=m
|
||||
CONFIG_I2C_MUX_PCA954x=m
|
||||
CONFIG_I2C_MUX_REG=m
|
||||
|
||||
# spi
|
||||
CONFIG_SPI_PL022=m
|
||||
|
@ -190,6 +272,7 @@ CONFIG_SPI_PL022=m
|
|||
# Sensors
|
||||
CONFIG_SENSORS_IIO_HWMON=m
|
||||
CONFIG_IIO_SYSFS_TRIGGER=m
|
||||
CONFIG_SENSORS_ARM_SCPI=m
|
||||
|
||||
# PHY framework
|
||||
CONFIG_GENERIC_PHY=y
|
||||
|
@ -204,6 +287,7 @@ CONFIG_THERMAL_GOV_USER_SPACE=y
|
|||
CONFIG_CMA=y
|
||||
CONFIG_DMA_CMA=y
|
||||
# CONFIG_CMA_DEBUG is not set
|
||||
CONFIG_CMA_DEBUGFS=y
|
||||
CONFIG_CMA_SIZE_MBYTES=16
|
||||
CONFIG_CMA_SIZE_SEL_MBYTES=y
|
||||
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
|
||||
|
@ -212,6 +296,16 @@ CONFIG_CMA_SIZE_SEL_MBYTES=y
|
|||
CONFIG_CMA_ALIGNMENT=8
|
||||
CONFIG_CMA_AREAS=7
|
||||
|
||||
# EDAC
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=m
|
||||
CONFIG_EDAC_LEGACY_SYSFS=y
|
||||
|
||||
# VFIO
|
||||
CONFIG_VFIO_PLATFORM=m
|
||||
CONFIG_VFIO_AMBA=m
|
||||
# CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set
|
||||
|
||||
# CONFIG_CRYPTO_TEST is not set
|
||||
# CONFIG_TRANSPARENT_HUGEPAGE is not set
|
||||
# CONFIG_XEN is not set
|
||||
|
@ -231,13 +325,16 @@ CONFIG_CMA_AREAS=7
|
|||
|
||||
# CONFIG_COMMON_CLK_SI570 is not set
|
||||
# CONFIG_COMMON_CLK_QCOM is not set
|
||||
CONFIG_COMMON_CLK_SCPI=m
|
||||
|
||||
# CONFIG_ARM_PTDUMP is not set
|
||||
|
||||
# CONFIG_PATA_PLATFORM is not set
|
||||
# CONFIG_USB_ULPI is not set
|
||||
# CONFIG_KEYBOARD_OMAP4 is not set
|
||||
# CONFIG_KEYBOARD_BCM is not set
|
||||
# CONFIG_PHY_SAMSUNG_USB2 is not set
|
||||
# CONFIG_OMAP_GPMC_DEBUG is not set
|
||||
|
||||
### turn off things which make no sense on embedded SoC
|
||||
|
||||
|
@ -255,6 +352,7 @@ CONFIG_CMA_AREAS=7
|
|||
|
||||
# netdrv
|
||||
|
||||
CONFIG_NET_VENDOR_MELLANOX=y
|
||||
# CONFIG_NET_VENDOR_3COM is not set
|
||||
# CONFIG_NET_VENDOR_ADAPTEC is not set
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
|
@ -264,15 +362,16 @@ CONFIG_CMA_AREAS=7
|
|||
# CONFIG_NET_VENDOR_DEC is not set
|
||||
# CONFIG_NET_VENDOR_EMULEX is not set
|
||||
# CONFIG_NET_VENDOR_EXAR is not set
|
||||
# CONFIG_NET_VENDOR_MELLANOX is not set
|
||||
# CONFIG_NET_VENDOR_QLOGIC is not set
|
||||
# CONFIG_NET_VENDOR_SUN is not set
|
||||
# CONFIG_NET_VENDOR_WIZNET is not set
|
||||
# CONFIG_NET_VENDOR_XIRCOM is not set
|
||||
# CONFIG_TLAN is not set
|
||||
|
||||
# scsi
|
||||
|
||||
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
|
||||
# CONFIG_BLK_DEV_DAC960 is not set
|
||||
# CONFIG_SCSI_3W_SAS is not set
|
||||
# CONFIG_SCSI_PM8001 is not set
|
||||
# CONFIG_SCSI_IPS is not set
|
||||
|
@ -295,12 +394,20 @@ CONFIG_CMA_AREAS=7
|
|||
|
||||
# drm
|
||||
# CONFIG_DRM_VMWGFX is not set
|
||||
# CONFIG_DRM_MSM_DSI is not set
|
||||
# CONFIG_IMX_IPUV3_CORE is not set
|
||||
|
||||
# CONFIG_DEBUG_SET_MODULE_RONX is not set
|
||||
# CONFIG_CORESIGHT is not set
|
||||
|
||||
# CONFIG_LATTICE_ECP3_CONFIG is not set
|
||||
# CONFIG_BMP085_SPI is not set
|
||||
# CONFIG_TI_DAC7512 is not set
|
||||
# CONFIG_SPI_ROCKCHIP is not set
|
||||
|
||||
# https://fedoraproject.org/wiki/Features/Checkpoint_Restore
|
||||
CONFIG_CHECKPOINT_RESTORE=y
|
||||
|
||||
# Bad Intel shit we don't care about
|
||||
# CONFIG_PINCTRL_BAYTRAIL is not set
|
||||
# CONFIG_PINCTRL_CHERRYVIEW is not set
|
||||
# CONFIG_PINCTRL_BROXTON is not set
|
||||
# CONFIG_PINCTRL_SUNRISEPOINT is not set
|
||||
|
|
176
config-arm64
176
config-arm64
|
@ -7,13 +7,21 @@ CONFIG_SCHED_SMT=y
|
|||
# CONFIG_CPU_BIG_ENDIAN is not set
|
||||
|
||||
# arm64 only SoCs
|
||||
CONFIG_ARCH_XGENE=y
|
||||
CONFIG_ARCH_HISI=y
|
||||
CONFIG_ARCH_SEATTLE=y
|
||||
# CONFIG_ARCH_THUNDER is not set
|
||||
CONFIG_ARCH_XGENE=y
|
||||
# CONFIG_ARCH_BCM_IPROC is not set
|
||||
# CONFIG_ARCH_BERLIN is not set
|
||||
# CONFIG_ARCH_EXYNOS7 is not set
|
||||
# CONFIG_ARCH_FSL_LS2085A is not set
|
||||
# CONFIG_ARCH_LAYERSCAPE is not set
|
||||
# CONFIG_ARCH_MEDIATEK is not set
|
||||
# CONFIG_ARCH_QCOM is not set
|
||||
# CONFIG_ARCH_SPRD is not set
|
||||
# CONFIG_ARCH_STRATIX10 is not set
|
||||
# CONFIG_ARCH_TEGRA is not set
|
||||
# CONFIG_ARCH_THUNDER is not set
|
||||
# CONFIG_ARCH_ZYNQMP is not set
|
||||
|
||||
# Erratum
|
||||
CONFIG_ARM64_ERRATUM_826319=y
|
||||
|
@ -21,12 +29,24 @@ CONFIG_ARM64_ERRATUM_827319=y
|
|||
CONFIG_ARM64_ERRATUM_824069=y
|
||||
CONFIG_ARM64_ERRATUM_819472=y
|
||||
CONFIG_ARM64_ERRATUM_832075=y
|
||||
CONFIG_ARM64_ERRATUM_843419=y
|
||||
CONFIG_ARM64_ERRATUM_834220=y
|
||||
CONFIG_CAVIUM_ERRATUM_22375=y
|
||||
CONFIG_CAVIUM_ERRATUM_23154=y
|
||||
|
||||
# AMBA / VExpress
|
||||
# CONFIG_RTC_DRV_PL030 is not set
|
||||
# CONFIG_SERIAL_AMBA_PL010 is not set
|
||||
# CONFIG_AMBA_PL08X is not set
|
||||
CONFIG_ARM_SMMU_V3=y
|
||||
|
||||
CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
|
||||
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||
CONFIG_ARM64_64K_PAGES=y
|
||||
# CONFIG_COMPAT is not set
|
||||
|
||||
CONFIG_ARM64_HW_AFDBM=y
|
||||
CONFIG_ARM64_PAN=y
|
||||
CONFIG_ARM64_LSE_ATOMICS=y
|
||||
|
||||
CONFIG_BCMA_POSSIBLE=y
|
||||
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
|
||||
|
@ -37,43 +57,19 @@ CONFIG_CMDLINE="console=ttyAMA0"
|
|||
# CONFIG_CMDLINE_FORCE is not set
|
||||
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
|
||||
CONFIG_GENERIC_CSUM=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_IO=y
|
||||
CONFIG_GENERIC_PCI_IOMAP=y
|
||||
CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
|
||||
CONFIG_HAVE_ARCH_PFN_VALID=y
|
||||
CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||
CONFIG_HAVE_MEMORY_PRESENT=y
|
||||
CONFIG_HAVE_NET_DSA=y
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
CONFIG_HVC_DRIVER=y
|
||||
# CONFIG_HVC_DCC is not set
|
||||
CONFIG_HZ=100
|
||||
|
||||
CONFIG_KVM=y
|
||||
CONFIG_KVM_ARM_MAX_VCPUS=8
|
||||
CONFIG_KVM_ARM_MAX_VCPUS=16
|
||||
|
||||
CONFIG_NFS_ACL_SUPPORT=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_NFS_DEBUG=y
|
||||
# CONFIG_NFSD_FAULT_INJECTION is not set
|
||||
CONFIG_NFSD_V2_ACL=y
|
||||
CONFIG_NFS_USE_KERNEL_DNS=y
|
||||
# CONFIG_PL330_DMA is not set
|
||||
CONFIG_RCU_FANOUT=64
|
||||
# CONFIG_RTC_DRV_PL030 is not set
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_SERIAL_8250_DMA=y
|
||||
# CONFIG_SERIAL_AMBA_PL010 is not set
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
# CONFIG_THERMAL is not set
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
|
||||
CONFIG_EFI=y
|
||||
CONFIG_EFI_VARS=y
|
||||
|
@ -82,54 +78,6 @@ CONFIG_EFI_VARS_PSTORE=y
|
|||
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
|
||||
CONFIG_RTC_DRV_EFI=y
|
||||
|
||||
CONFIG_ARM64_CRYPTO=y
|
||||
CONFIG_CRYPTO_SHA1_ARM64_CE=m
|
||||
CONFIG_CRYPTO_SHA2_ARM64_CE=m
|
||||
CONFIG_CRYPTO_GHASH_ARM64_CE=m
|
||||
CONFIG_CRYPTO_AES_ARM64_CE=m
|
||||
CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
|
||||
CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
|
||||
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
|
||||
CONFIG_CRYPTO_CRC32_ARM64=m
|
||||
CONFIG_CRYPTO_DEV_CCP=y
|
||||
CONFIG_CRYPTO_DEV_CCP_DD=m
|
||||
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
|
||||
|
||||
CONFIG_ARM64_CPUIDLE=y
|
||||
|
||||
# APM Xgene
|
||||
CONFIG_POWER_RESET_XGENE=y
|
||||
CONFIG_COMMON_CLK_XGENE=y
|
||||
|
||||
CONFIG_AHCI_XGENE=y
|
||||
CONFIG_PHY_XGENE=y
|
||||
CONFIG_NET_XGENE=y
|
||||
CONFIG_RTC_DRV_XGENE=m
|
||||
CONFIG_HW_RANDOM_XGENE=m
|
||||
CONFIG_GPIO_XGENE=y
|
||||
CONFIG_GPIO_XGENE_SB=m
|
||||
|
||||
# busted build for various reasons
|
||||
# uses pci_* for some reason to allocate DMA buffers
|
||||
# CONFIG_DVB_B2C2_FLEXCOP_USB is not set
|
||||
# weird include chain resulting in missing u64 type
|
||||
# CONFIG_USB_SPEEDTOUCH is not set
|
||||
# dma issues in headers
|
||||
# CONFIG_PARPORT_PC is not set
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
|
||||
CONFIG_PCI_XGENE=y
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
# CONFIG_HOTPLUG_PCI_CPCI is not set
|
||||
# CONFIG_HOTPLUG_PCI_SHPC is not set
|
||||
|
||||
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
|
||||
|
||||
# CONFIG_PNP_DEBUG_MESSAGES is not set
|
||||
CONFIG_SBSAUART_TTY=y
|
||||
CONFIG_I2C_SCMI=m
|
||||
CONFIG_SENSORS_ACPI_POWER=m
|
||||
|
||||
CONFIG_ACPI=y
|
||||
CONFIG_ACPI_PROCFS_POWER=y
|
||||
CONFIG_ACPI_EC_DEBUGFS=y
|
||||
|
@ -140,15 +88,75 @@ CONFIG_ACPI_IPMI=y
|
|||
CONFIG_ACPI_CONTAINER=y
|
||||
CONFIG_ACPI_HED=m
|
||||
CONFIG_ACPI_CUSTOM_METHOD=m
|
||||
CONFIG_ACPI_NFIT=m
|
||||
# CONFIG_ACPI_NFIT_DEBUG is not set
|
||||
CONFIG_PCC=y
|
||||
CONFIG_ACPI_CPPC_CPUFREQ=y
|
||||
CONFIG_ACPI_PROCESSOR=y
|
||||
CONFIG_ACPI_THERMAL=y
|
||||
CONFIG_I2C_SCMI=m
|
||||
CONFIG_SENSORS_ACPI_POWER=m
|
||||
|
||||
CONFIG_ARM64_CRYPTO=y
|
||||
CONFIG_CRYPTO_SHA1_ARM64_CE=y
|
||||
CONFIG_CRYPTO_SHA2_ARM64_CE=y
|
||||
CONFIG_CRYPTO_GHASH_ARM64_CE=m
|
||||
CONFIG_CRYPTO_AES_ARM64_CE=y
|
||||
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
|
||||
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
|
||||
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
|
||||
CONFIG_CRYPTO_CRC32_ARM64=m
|
||||
CONFIG_CRYPTO_DEV_CCP=y
|
||||
CONFIG_CRYPTO_DEV_CCP_DD=m
|
||||
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
|
||||
|
||||
# APM Xgene
|
||||
CONFIG_POWER_RESET_XGENE=y
|
||||
CONFIG_COMMON_CLK_XGENE=y
|
||||
CONFIG_AHCI_XGENE=y
|
||||
CONFIG_PHY_XGENE=y
|
||||
CONFIG_NET_XGENE=y
|
||||
CONFIG_RTC_DRV_XGENE=m
|
||||
CONFIG_HW_RANDOM_XGENE=m
|
||||
CONFIG_GPIO_XGENE=y
|
||||
CONFIG_GPIO_XGENE_SB=m
|
||||
CONFIG_XGENE_DMA=m
|
||||
CONFIG_EDAC_XGENE=m
|
||||
CONFIG_PCI_XGENE=y
|
||||
CONFIG_PCI_XGENE_MSI=y
|
||||
CONFIG_I2C_XGENE_SLIMPRO=m
|
||||
|
||||
# busted build for various reasons
|
||||
# uses pci_* for some reason to allocate DMA buffers
|
||||
# CONFIG_DVB_B2C2_FLEXCOP_USB is not set
|
||||
# weird include chain resulting in missing u64 type
|
||||
# CONFIG_USB_SPEEDTOUCH is not set
|
||||
# dma issues in headers
|
||||
# CONFIG_PARPORT_PC is not set
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
|
||||
# CONFIG_HOTPLUG_PCI_SHPC is not set
|
||||
|
||||
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
|
||||
|
||||
# CONFIG_PNP_DEBUG_MESSAGES is not set
|
||||
|
||||
# AMD Seattle
|
||||
CONFIG_NET_SB1000=y
|
||||
CONFIG_AMD_XGBE=m
|
||||
CONFIG_AMD_XGBE_PHY=m
|
||||
# CONFIG_AMD_XGBE_DCB is not set
|
||||
# CONFIG_VFIO_PLATFORM_AMDXGBE_RESET is not set
|
||||
CONFIG_PINCTRL_AMD=y
|
||||
|
||||
CONFIG_NET_VENDOR_MELLANOX=y
|
||||
CONFIG_MLX4_EN=m
|
||||
CONFIG_MLX4_EN_DCB=y
|
||||
# HiSilicon
|
||||
CONFIG_POWER_RESET_HISI=y
|
||||
CONFIG_HISI_THERMAL=m
|
||||
CONFIG_STUB_CLK_HI6220=y
|
||||
CONFIG_PCI_HISI=y
|
||||
|
||||
# ThunderX
|
||||
# CONFIG_MDIO_OCTEON is not set
|
||||
|
||||
# CONFIG_IMX_THERMAL is not set
|
||||
|
||||
|
@ -158,9 +166,17 @@ CONFIG_DMI_SYSFS=y
|
|||
|
||||
CONFIG_SATA_AHCI_PLATFORM=y
|
||||
|
||||
CONFIG_LIBNVDIMM=m
|
||||
CONFIG_BTT=y
|
||||
CONFIG_ND_BTT=m
|
||||
CONFIG_ND_BLK=m
|
||||
|
||||
# CONFIG_SND_SOC is not set
|
||||
|
||||
# CONFIG_PMIC_OPREGION is not set
|
||||
# CONFIG_DEBUG_RODATA is not set
|
||||
|
||||
CONFIG_DEBUG_SECTION_MISMATCH=y
|
||||
|
||||
# CONFIG_FSL_MC_BUS is not set
|
||||
# CONFIG_FUJITSU_ES is not set
|
||||
|
|
156
config-armv7
156
config-armv7
|
@ -2,11 +2,9 @@
|
|||
|
||||
# CONFIG_ARCH_BERLIN is not set
|
||||
# CONFIG_ARCH_KEYSTONE is not set
|
||||
CONFIG_ARCH_MVEBU=y
|
||||
CONFIG_ARCH_MXC=y
|
||||
CONFIG_ARCH_OMAP3=y
|
||||
CONFIG_ARCH_OMAP4=y
|
||||
CONFIG_ARCH_PICOXCELL=y
|
||||
CONFIG_ARCH_QCOM=y
|
||||
CONFIG_ARCH_TEGRA=y
|
||||
CONFIG_ARCH_U8500=y
|
||||
|
@ -18,74 +16,16 @@ CONFIG_ARCH_ZYNQ=y
|
|||
# CONFIG_ARM_VIRT_EXT is not set
|
||||
# CONFIG_VIRTUALIZATION is not set
|
||||
|
||||
# mvebu
|
||||
CONFIG_MACH_ARMADA_370=y
|
||||
CONFIG_MACH_ARMADA_375=y
|
||||
CONFIG_MACH_ARMADA_38X=y
|
||||
CONFIG_MACH_ARMADA_XP=y
|
||||
CONFIG_MACH_DOVE=y
|
||||
|
||||
CONFIG_MVEBU_DEVBUS=y
|
||||
CONFIG_PCI_MVEBU=y
|
||||
CONFIG_CACHE_TAUROS2=y
|
||||
CONFIG_MV_XOR=y
|
||||
CONFIG_CRYPTO_DEV_MV_CESA=m
|
||||
CONFIG_MV643XX_ETH=m
|
||||
CONFIG_PINCTRL_MVEBU=y
|
||||
CONFIG_PINCTRL_ARMADA_370=y
|
||||
CONFIG_PINCTRL_ARMADA_XP=y
|
||||
# CONFIG_ARM_MVEBU_V7_CPUIDLE is not set
|
||||
CONFIG_PINCTRL_DOVE=y
|
||||
CONFIG_EDAC_MV64X60=m
|
||||
CONFIG_RTC_DRV_S35390A=m
|
||||
CONFIG_RTC_DRV_88PM80X=m
|
||||
CONFIG_RTC_DRV_ISL12057=m
|
||||
CONFIG_RTC_DRV_MV=m
|
||||
CONFIG_RTC_DRV_ARMADA38X=m
|
||||
CONFIG_MVNETA=m
|
||||
CONFIG_GPIO_MVEBU=y
|
||||
CONFIG_MVEBU_CLK_CORE=y
|
||||
CONFIG_MVEBU_CLK_COREDIV=y
|
||||
CONFIG_MMC_MVSDIO=m
|
||||
CONFIG_MMC_SDHCI_DOVE=m
|
||||
CONFIG_SPI_ORION=m
|
||||
CONFIG_USB_MV_UDC=m
|
||||
CONFIG_MVEBU_MBUS=y
|
||||
CONFIG_USB_XHCI_MVEBU=m
|
||||
CONFIG_PHY_MVEBU_SATA=y
|
||||
CONFIG_AHCI_MVEBU=m
|
||||
CONFIG_ARMADA_THERMAL=m
|
||||
CONFIG_DOVE_THERMAL=m
|
||||
CONFIG_DRM_ARMADA=m
|
||||
CONFIG_ORION_WATCHDOG=m
|
||||
CONFIG_SND_KIRKWOOD_SOC=m
|
||||
CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB=m
|
||||
CONFIG_USB_EHCI_HCD_ORION=m
|
||||
CONFIG_MMC_SDHCI_PXAV3=m
|
||||
CONFIG_MVPP2=m
|
||||
CONFIG_COMMON_CLK_SI5351=m
|
||||
CONFIG_RTC_DRV_ARMADA38X=m
|
||||
# CONFIG_CACHE_FEROCEON_L2 is not set
|
||||
# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set
|
||||
|
||||
# omap
|
||||
CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
|
||||
CONFIG_SOC_OMAP5=y
|
||||
# CONFIG_SOC_DRA7XX is not set
|
||||
CONFIG_SOC_OMAP3430=y
|
||||
CONFIG_SOC_TI81XX=y
|
||||
# CONFIG_MACH_CM_T35 is not set
|
||||
# CONFIG_MACH_DEVKIT8000 is not set
|
||||
# CONFIG_SOC_TI81XX is not set
|
||||
# CONFIG_MACH_NOKIA_RX51 is not set
|
||||
# CONFIG_MACH_OMAP_LDP is not set
|
||||
# CONFIG_MACH_OMAP3_BEAGLE is not set
|
||||
# CONFIG_MACH_OMAP3517EVM is not set
|
||||
# CONFIG_MACH_OMAP3530_LV_SOM is not set
|
||||
# CONFIG_MACH_OMAP3_PANDORA is not set
|
||||
# CONFIG_MACH_OMAP3_TORPEDO is not set
|
||||
# CONFIG_MACH_OVERO is not set
|
||||
# CONFIG_MACH_SBC3530 is not set
|
||||
# CONFIG_MACH_TOUCHBOOK is not set
|
||||
|
||||
CONFIG_SOC_HAS_REALTIME_COUNTER=y
|
||||
CONFIG_OMAP_RESET_CLOCKS=y
|
||||
|
@ -102,14 +42,16 @@ CONFIG_DMA_OMAP=m
|
|||
CONFIG_OMAP_IOMMU=y
|
||||
CONFIG_HWSPINLOCK_OMAP=m
|
||||
# CONFIG_OMAP3_SDRC_AC_TIMING is not set
|
||||
# CONFIG_PHY_DM816X_USB is not set
|
||||
|
||||
CONFIG_SERIAL_OMAP=y
|
||||
CONFIG_SERIAL_OMAP_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_OMAP=m
|
||||
|
||||
# Needed by omap_hsmmc for card detect on at least the am33xx (BBone) platforms (changed in 4.2)
|
||||
CONFIG_GPIO_OMAP=y
|
||||
CONFIG_GPIO_TWL4030=m
|
||||
CONFIG_GPIO_TWL6040=m
|
||||
CONFIG_GPIO_PCF857X=m
|
||||
CONFIG_I2C_OMAP=m
|
||||
CONFIG_CHARGER_TWL4030=m
|
||||
CONFIG_CHARGER_ISP1704=m
|
||||
|
@ -120,6 +62,9 @@ CONFIG_TWL4030_MADC=m
|
|||
CONFIG_TWL4030_POWER=y
|
||||
CONFIG_TWL4030_WATCHDOG=m
|
||||
CONFIG_BATTERY_TWL4030_MADC=m
|
||||
CONFIG_BATTERY_BQ27XXX=m
|
||||
CONFIG_BATTERY_BQ27XXX_I2C=y
|
||||
CONFIG_BATTERY_BQ27XXX_PLATFORM=y
|
||||
CONFIG_OMAP_USB2=m
|
||||
CONFIG_OMAP_CONTROL_PHY=m
|
||||
CONFIG_TI_PIPE3=m
|
||||
|
@ -138,9 +83,9 @@ CONFIG_USB_EHCI_HCD_OMAP=m
|
|||
CONFIG_USB_OHCI_HCD_OMAP3=m
|
||||
CONFIG_USB_MUSB_AM35X=m
|
||||
CONFIG_USB_MUSB_OMAP2PLUS=m
|
||||
CONFIG_USB_INVENTRA_DMA=y
|
||||
CONFIG_USB_DWC3_OMAP=m
|
||||
CONFIG_MMC_OMAP=m
|
||||
CONFIG_MMC_OMAP_HS=y
|
||||
CONFIG_RTC_DRV_MAX8907=m
|
||||
# CONFIG_RTC_DRV_TWL92330 is not set
|
||||
CONFIG_RTC_DRV_TWL4030=y
|
||||
|
@ -259,7 +204,10 @@ CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m
|
|||
CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m
|
||||
CONFIG_SND_OMAP_SOC_RX51=m
|
||||
CONFIG_SND_SOC_TLV320AIC23=m
|
||||
CONFIG_SND_SOC_TLV320AIC23_I2C=m
|
||||
CONFIG_SND_SOC_TLV320AIC23_SPI=m
|
||||
CONFIG_SND_SOC_TLV320AIC3X=m
|
||||
CONFIG_SND_SOC_TLV320AIC31XX=m
|
||||
CONFIG_SND_SOC_TPA6130A2=m
|
||||
CONFIG_SND_SOC_TWL4030=m
|
||||
CONFIG_SND_SOC_TWL6040=m
|
||||
|
@ -291,10 +239,10 @@ CONFIG_TI_CPSW=m
|
|||
CONFIG_TI_CPSW_PHY_SEL=y
|
||||
CONFIG_TI_CPSW_ALE=m
|
||||
CONFIG_TI_CPTS=y
|
||||
# Builtin needed for BBone White
|
||||
CONFIG_REGULATOR_TPS65217=y
|
||||
CONFIG_TI_EMIF=m
|
||||
CONFIG_DRM_TILCDC=m
|
||||
# We only need this until the BBB dts is actually updated
|
||||
CONFIG_DRM_TILCDC_SLAVE_COMPAT=y
|
||||
CONFIG_SPI_DAVINCI=m
|
||||
CONFIG_SND_DAVINCI_SOC=m
|
||||
CONFIG_SND_DAVINCI_SOC_I2S=m
|
||||
|
@ -309,7 +257,20 @@ CONFIG_TI_AM335X_ADC=m
|
|||
CONFIG_PWM_TIPWMSS=y
|
||||
CONFIG_MFD_TPS65218=m
|
||||
CONFIG_REGULATOR_TPS65218=m
|
||||
CONFIG_INPUT_TPS65218_PWRBUTTON=m
|
||||
CONFIG_VIDEO_AM437X_VPFE=m
|
||||
CONFIG_UIO_PRUSS=m
|
||||
CONFIG_WKUP_M3_RPROC=m
|
||||
|
||||
# Builtin needed for BBone White
|
||||
CONFIG_MFD_TPS65217=y
|
||||
CONFIG_REGULATOR_TPS65217=y
|
||||
CONFOG_CHARGER_TPS65217=m
|
||||
CONFIG_BACKLIGHT_TPS65217=m
|
||||
CONFIG_REGULATOR_TPS65217=m
|
||||
|
||||
CONFIG_CAN_C_CAN=m
|
||||
CONFIG_CAN_C_CAN_PLATFORM=m
|
||||
|
||||
# QCom
|
||||
CONFIG_ARCH_MSM8X60=y
|
||||
|
@ -317,20 +278,23 @@ CONFIG_ARCH_MSM8960=y
|
|||
CONFIG_ARCH_MSM8974=y
|
||||
CONFIG_SERIAL_MSM=y
|
||||
CONFIG_SERIAL_MSM_CONSOLE=y
|
||||
CONFIG_SERIAL_MSM_HS=m
|
||||
CONFIG_PINCTRL_APQ8064=m
|
||||
CONFIG_PINCTRL_APQ8084=m
|
||||
CONFIG_PINCTRL_IPQ8064=m
|
||||
CONFIG_PINCTRL_MSM8660=m
|
||||
CONFIG_PINCTRL_MSM8960=m
|
||||
CONFIG_PINCTRL_MSM8X74=m
|
||||
CONFIG_PINCTRL_MSM8916=m
|
||||
CONFIG_PINCTRL_QCOM_SPMI_PMIC=m
|
||||
CONFIG_PINCTRL_QCOM_SSBI_PMIC=m
|
||||
CONFIG_COMMON_CLK_QCOM=m
|
||||
# CONFIG_MSM_GCC_8916 is not set
|
||||
# CONFIG_IPQ_LCC_806X is not set
|
||||
# CONFIG_MSM_LCC_8960 is not set
|
||||
CONFIG_MFD_QCOM_RPM=m
|
||||
CONFIG_MFD_PM8921_CORE=m
|
||||
CONFIG_REGULATOR_QCOM_RPM=m
|
||||
CONFIG_REGULATOR_QCOM_SPMI=m
|
||||
CONFIG_APQ_GCC_8084=m
|
||||
CONFIG_APQ_MMCC_8084=m
|
||||
CONFIG_IPQ_GCC_806X=m
|
||||
|
@ -349,11 +313,12 @@ CONFIG_MMC_SDHCI_MSM=m
|
|||
CONFIG_MMC_QCOM_DML=m
|
||||
CONFIG_QCOM_BAM_DMA=m
|
||||
CONFIG_QCOM_GSBI=m
|
||||
CONFIG_QCOM_PM=y
|
||||
CONFIG_PHY_QCOM_APQ8064_SATA=m
|
||||
CONFIG_PHY_QCOM_IPQ806X_SATA=m
|
||||
CONFIG_USB_DWC3_QCOM=m
|
||||
CONFIG_DWMAC_IPQ806X=m
|
||||
CONFIG_CRYPTO_DEV_QCE=m
|
||||
# CONFIG_MSM_IOMMU is not set
|
||||
CONFIG_DRM_MSM=m
|
||||
CONFIG_DRM_MSM_FBDEV=y
|
||||
CONFIG_USB_EHCI_MSM=m
|
||||
|
@ -361,6 +326,7 @@ CONFIG_MFD_PM8XXX=m
|
|||
CONFIG_KEYBOARD_PMIC8XXX=m
|
||||
CONFIG_INPUT_PM8XXX_VIBRATOR=m
|
||||
CONFIG_INPUT_PMIC8XXX_PWRKEY=m
|
||||
CONFIG_INPUT_PM8941_PWRKEY=m
|
||||
CONFIG_RTC_DRV_PM8XXX=m
|
||||
# CONFIG_DRM_MSM_REGISTER_LOGGING is not set
|
||||
CONFIG_QCOM_WDT=m
|
||||
|
@ -369,15 +335,34 @@ CONFIG_SPMI=m
|
|||
CONFIG_SPMI_MSM_PMIC_ARB=m
|
||||
CONFIG_QCOM_SPMI_IADC=m
|
||||
CONFIG_QCOM_SPMI_VADC=m
|
||||
CONFIG_LEDS_PM8941_WLED=m
|
||||
CONFIG_SND_SOC_QCOM=m
|
||||
CONFIG_SND_SOC_LPASS_CPU=m
|
||||
CONFIG_SND_SOC_LPASS_PLATFORM=m
|
||||
CONFIG_SND_SOC_STORM=m
|
||||
CONFIG_PHY_QCOM_UFS=m
|
||||
CONFIG_HWSPINLOCK_QCOM=m
|
||||
CONFIG_QCOM_COINCELL=m
|
||||
CONFIG_USB_QCOM_8X16_PHY=m
|
||||
CONFIG_QCOM_SMD=m
|
||||
CONFIG_QCOM_SMD_RPM=m
|
||||
CONFIG_QCOM_SMEM=m
|
||||
CONFIG_REGULATOR_QCOM_SMD_RPM=m
|
||||
# CONFIG_QCOM_SMEM is not set
|
||||
CONFIG_QCOM_SMEM=m
|
||||
CONFIG_QCOM_QFPROM=m
|
||||
|
||||
# i.MX
|
||||
# CONFIG_MXC_DEBUG_BOARD is not set
|
||||
CONFIG_SOC_IMX50=y
|
||||
CONFIG_SOC_IMX51=y
|
||||
CONFIG_SOC_IMX53=y
|
||||
CONFIG_SOC_IMX6=y
|
||||
CONFIG_SOC_IMX6Q=y
|
||||
CONFIG_SOC_IMX6SL=y
|
||||
CONFIG_SOC_IMX6SX=y
|
||||
CONFIG_SOC_IMX6UL=y
|
||||
CONFIG_SOC_IMX7D=y
|
||||
# CONFIG_SOC_LS1021A is not set
|
||||
# CONFIG_SOC_VF610 is not set
|
||||
CONFIG_ARM_IMX6Q_CPUFREQ=m
|
||||
|
@ -396,7 +381,11 @@ CONFIG_USB_CHIPIDEA_HOST=y
|
|||
# CONFIG_USB_CHIPIDEA_DEBUG is not set
|
||||
CONFIG_USB_FSL_USB2=m
|
||||
CONFIG_NET_VENDOR_FREESCALE=y
|
||||
# CONFIG_GIANFAR is not set
|
||||
CONFIG_FEC=m
|
||||
# CONFIG_FSL_PQ_MDIO is not set
|
||||
# CONFIG_FSL_XGMAC_MDIO is not set
|
||||
CONFIG_KEYBOARD_SNVS_PWRKEY=m
|
||||
CONFIG_KEYBOARD_IMX=m
|
||||
CONFIG_KEYBOARD_STMPE=m
|
||||
CONFIG_TOUCHSCREEN_STMPE=m
|
||||
|
@ -416,10 +405,23 @@ CONFIG_IMX_WEIM=y
|
|||
CONFIG_IMX2_WDT=m
|
||||
CONFIG_HW_RANDOM_MXC_RNGA=m
|
||||
CONFIG_CRYPTO_DEV_SAHARA=m
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM=m
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM_JR=m
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=3
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM_INTC=y
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD=8
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD=8192
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=m
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=m
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=m
|
||||
# CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set
|
||||
# CONFIG_CRYPTO_DEV_MXS_DCP is not set
|
||||
CONFIG_RTC_DRV_SNVS=m
|
||||
CONFIG_FB_MXS=m
|
||||
# CONFIG_FB_MX3 is not set
|
||||
# CONFIG_FB_IMX is not set
|
||||
# CONFIG_FB_MXS is not set
|
||||
CONFIG_TOUCHSCREEN_IMX6UL_TSC=m
|
||||
CONFIG_NVMEM_IMX_OCOTP=m
|
||||
|
||||
CONFIG_SND_IMX_SOC=m
|
||||
CONFIG_SND_SOC_FSL_ASOC_CARD=m
|
||||
|
@ -509,8 +511,6 @@ CONFIG_ARCH_EXYNOS4=y
|
|||
CONFIG_SOC_EXYNOS4212=y
|
||||
CONFIG_SOC_EXYNOS4412=y
|
||||
CONFIG_SOC_EXYNOS4415=y
|
||||
CONFIG_ARM_EXYNOS4210_CPUFREQ=y
|
||||
CONFIG_ARM_EXYNOS4X12_CPUFREQ=y
|
||||
CONFIG_AK8975=m
|
||||
CONFIG_CM36651=m
|
||||
CONFIG_KEYBOARD_SAMSUNG=m
|
||||
|
@ -555,17 +555,6 @@ CONFIG_SENSORS_AB8500=m
|
|||
CONFIG_STE_MODEM_RPROC=m
|
||||
CONFIG_STIH415_RESET=y
|
||||
|
||||
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
|
||||
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
|
||||
CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
|
||||
CONFIG_IIO_ST_MAGN_SPI_3AXIS=m
|
||||
CONFIG_IIO_ST_PRESS=m
|
||||
CONFIG_IIO_ST_PRESS_I2C=m
|
||||
CONFIG_IIO_ST_PRESS_SPI=m
|
||||
CONFIG_IIO_ST_SENSORS_I2C=m
|
||||
CONFIG_IIO_ST_SENSORS_SPI=m
|
||||
CONFIG_IIO_ST_SENSORS_CORE=m
|
||||
|
||||
# Allwinner
|
||||
CONFIG_MACH_SUN4I=y
|
||||
CONFIG_MACH_SUN5I=y
|
||||
|
@ -609,7 +598,7 @@ CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
|
|||
CONFIG_COMMON_CLK_AXI_CLKGEN=m
|
||||
CONFIG_COMMON_CLK_SI570=m
|
||||
CONFIG_COMMON_CLK_XLNX_CLKWZRD=m
|
||||
CONFIG_ARM_ZYNQ_CPUIDLE=y
|
||||
# CONFIG_ARM_ZYNQ_CPUIDLE is not set
|
||||
CONFIG_LATTICE_ECP3_CONFIG=m
|
||||
CONFIG_NET_VENDOR_XILINX=y
|
||||
CONFIG_XILINX_EMACLITE=m
|
||||
|
@ -618,7 +607,6 @@ CONFIG_GPIO_ZYNQ=m
|
|||
CONFIG_I2C_XILINX=m
|
||||
CONFIG_SPI_XILINX=m
|
||||
CONFIG_SPI_CADENCE=m
|
||||
CONFIG_MMC_SDHCI_OF_ARASAN=m
|
||||
CONFIG_I2C_CADENCE=m
|
||||
CONFIG_XILINX_WATCHDOG=m
|
||||
CONFIG_XILINX_XADC=m
|
||||
|
@ -636,6 +624,7 @@ CONFIG_CADENCE_WATCHDOG=m
|
|||
CONFIG_REGULATOR_ISL9305=m
|
||||
CONFIG_EDAC_SYNOPSYS=m
|
||||
CONFIG_PINCTRL_ZYNQ=y
|
||||
CONFIG_AXI_DMAC=m
|
||||
|
||||
# Multi function devices
|
||||
CONFIG_MFD_88PM800=m
|
||||
|
@ -660,4 +649,3 @@ CONFIG_REGULATOR_MAX8649=m
|
|||
CONFIG_REGULATOR_MAX8660=m
|
||||
CONFIG_REGULATOR_MAX8907=m
|
||||
CONFIG_REGULATOR_MAX8952=m
|
||||
CONFIG_REGULATOR_MAX8973=m
|
||||
|
|
|
@ -14,7 +14,6 @@ CONFIG_VFP=y
|
|||
CONFIG_VFPv3=y
|
||||
CONFIG_NEON=y
|
||||
CONFIG_IWMMXT=y
|
||||
CONFIG_KERNEL_MODE_NEON=y
|
||||
|
||||
CONFIG_ARM_UNWIND=y
|
||||
CONFIG_ARM_THUMB=y
|
||||
|
@ -34,6 +33,7 @@ CONFIG_XZ_DEC_ARMTHUMB=y
|
|||
CONFIG_ARCH_HAS_TICK_BROADCAST=y
|
||||
CONFIG_IRQ_CROSSBAR=y
|
||||
CONFIG_IOMMU_IO_PGTABLE_LPAE=y
|
||||
CONFIG_CPU_SW_DOMAIN_PAN=y
|
||||
|
||||
# CONFIG_MCPM is not set
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
|
@ -50,7 +50,6 @@ CONFIG_IOMMU_IO_PGTABLE_LPAE=y
|
|||
# Platforms enabled/disabled globally on ARMv7
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_HIGHBANK=y
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_ARCH_SUNXI=y
|
||||
CONFIG_ARCH_TEGRA=y
|
||||
CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y
|
||||
|
@ -72,6 +71,11 @@ CONFIG_ARCH_VIRT=y
|
|||
# CONFIG_ARCH_VEXPRESS_SPC is not set
|
||||
# CONFIG_ARCH_WM8850 is not set
|
||||
# CONFIG_ARCH_DIGICOLOR is not set
|
||||
# CONFIG_ARCH_ALPINE is not set
|
||||
# CONFIG_ARCH_AT91 is not set
|
||||
# CONFIG_ARCH_UNIPHIER is not set
|
||||
# CONFIG_ARCH_ZX is not set
|
||||
# CONFIG_SOC_BRCMSTB is not set
|
||||
|
||||
# errata
|
||||
# v5/v6
|
||||
|
@ -107,6 +111,7 @@ CONFIG_PJ4B_ERRATA_4742=y
|
|||
CONFIG_SMP_ON_UP=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
# CONFIG_ARM_MODULE_PLTS is not set
|
||||
|
||||
CONFIG_SCHED_MC=y
|
||||
CONFIG_SCHED_SMT=y
|
||||
|
@ -116,19 +121,16 @@ CONFIG_RCU_FANOUT=32
|
|||
CONFIG_CHECKPOINT_RESTORE=y
|
||||
|
||||
# Power management / thermal / cpu scaling
|
||||
CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
|
||||
|
||||
CONFIG_PM_OPP=y
|
||||
CONFIG_ARM_CPU_SUSPEND=y
|
||||
CONFIG_ARM_PSCI=y
|
||||
CONFIG_THERMAL=y
|
||||
CONFIG_CLOCK_THERMAL=y
|
||||
CONFIG_CPUFREQ_DT=y
|
||||
# CONFIG_DEVFREQ_THERMAL is not set
|
||||
CONFIG_CPUFREQ_DT=m
|
||||
# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
|
||||
CONFIG_PM_DEVFREQ=y
|
||||
CONFIG_PM_DEVFREQ_EVENT=y
|
||||
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
|
||||
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
|
||||
CONFIG_DEVFREQ_GOV_POWERSAVE=y
|
||||
|
@ -139,10 +141,10 @@ CONFIG_LSM_MMAP_MIN_ADDR=32768
|
|||
|
||||
CONFIG_XZ_DEC_ARM=y
|
||||
|
||||
CONFIG_UACCESS_WITH_MEMCPY=y
|
||||
|
||||
CONFIG_PCI_HOST_GENERIC=y
|
||||
# CONFIG_PCI_LAYERSCAPE is not set
|
||||
# Do NOT enable this, it breaks stuff and makes things go slow
|
||||
# CONFIG_UACCESS_WITH_MEMCPY is not set
|
||||
|
||||
CONFIG_LBDAF=y
|
||||
|
||||
|
@ -155,21 +157,15 @@ CONFIG_ARM_ATAG_DTB_COMPAT=y
|
|||
CONFIG_ARM_APPENDED_DTB=y
|
||||
|
||||
# General vexpress ARM drivers
|
||||
CONFIG_ARM_TIMER_SP804=y
|
||||
|
||||
CONFIG_SERIO_AMBAKMI=m
|
||||
CONFIG_SERIAL_AMBA_PL010=y
|
||||
CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
|
||||
|
||||
CONFIG_RTC_DRV_PL030=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
|
||||
CONFIG_PL330_DMA=m
|
||||
CONFIG_AMBA_PL08X=y
|
||||
CONFIG_GPIO_PL061=y
|
||||
CONFIG_PL320_MBOX=y
|
||||
CONFIG_SND_ARMAACI=m
|
||||
CONFIG_USB_ISP1760=m
|
||||
|
||||
CONFIG_EDAC=y
|
||||
|
||||
# highbank
|
||||
CONFIG_EDAC_HIGHBANK_MC=m
|
||||
|
@ -177,6 +173,8 @@ CONFIG_EDAC_HIGHBANK_L2=m
|
|||
CONFIG_SATA_HIGHBANK=m
|
||||
CONFIG_ARM_HIGHBANK_CPUFREQ=m
|
||||
# CONFIG_ARM_HIGHBANK_CPUIDLE is not set
|
||||
CONFIG_PL320_MBOX=y
|
||||
CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET=m
|
||||
|
||||
# AllWinner
|
||||
# CONFIG_MACH_SUN4I is not set
|
||||
|
@ -185,31 +183,46 @@ CONFIG_MACH_SUN6I=y
|
|||
CONFIG_MACH_SUN7I=y
|
||||
CONFIG_MACH_SUN8I=y
|
||||
# CONFIG_MACH_SUN9I is not set
|
||||
CONFIG_SUNXI_SRAM=y
|
||||
CONFIG_DMA_SUN4I=m
|
||||
CONFIG_DMA_SUN6I=m
|
||||
CONFIG_SUNXI_WATCHDOG=m
|
||||
CONFIG_NET_VENDOR_ALLWINNER=y
|
||||
CONFIG_STMMAC_PLATFORM=m
|
||||
CONFIG_EEPROM_SUNXI_SID=m
|
||||
CONFIG_RTC_DRV_SUNXI=m
|
||||
CONFIG_PHY_SUN4I_USB=m
|
||||
# CONFIG_PHY_SUN9I_USB is not set
|
||||
CONFIG_AHCI_SUNXI=m
|
||||
CONFIG_SPI_SUN4I=m
|
||||
CONFIG_SPI_SUN6I=m
|
||||
CONFIG_MMC_SUNXI=m
|
||||
CONFIG_I2C_SUN6I_P2WI=m
|
||||
CONFIG_GPIO_PCA953X=m
|
||||
CONFIG_GPIO_PCF857X=m
|
||||
CONFIG_TOUCHSCREEN_SUN4I=m
|
||||
CONFIG_MFD_AXP20X=y
|
||||
CONFIG_AXP20X_POWER=m
|
||||
CONFIG_INPUT_AXP20X_PEK=m
|
||||
CONFIG_REGULATOR_AXP20X=m
|
||||
CONFIG_AXP288_FUEL_GAUGE=m
|
||||
CONFIG_AXP288_ADC=m
|
||||
CONFIG_EXTCON_AXP288=m
|
||||
CONFIG_AXP288_CHARGER=m
|
||||
CONFIG_TOUCHSCREEN_CHIPONE_ICN8318=m
|
||||
CONFIG_IR_SUNXI=m
|
||||
CONFIG_MDIO_SUN4I=m
|
||||
CONFIG_DWMAC_SUNXI=m
|
||||
CONFIG_SUN4I_EMAC=m
|
||||
CONFIG_RTC_DRV_SUN6I=m
|
||||
CONFIG_AXP288_ADC=m
|
||||
CONFIG_MTD_NAND_SUNXI=m
|
||||
CONFIG_SERIO_SUN4I_PS2=m
|
||||
CONFIG_KEYBOARD_SUN4I_LRADC=m
|
||||
CONFIG_PWM_SUN4I=m
|
||||
CONFIG_USB_MUSB_SUNXI=m
|
||||
CONFIG_CRYPTO_DEV_SUN4I_SS=m
|
||||
CONFIG_SND_SUN4I_CODEC=m
|
||||
CONFIG_SUNXI_RSB=m
|
||||
CONFIG_NVMEM_SUNXI_SID=m
|
||||
|
||||
# Exynos
|
||||
CONFIG_ARCH_EXYNOS3=y
|
||||
|
@ -224,13 +237,12 @@ CONFIG_SOC_EXYNOS5410=y
|
|||
CONFIG_SOC_EXYNOS5800=y
|
||||
CONFIG_SERIAL_SAMSUNG=y
|
||||
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
|
||||
CONFIG_ARM_EXYNOS5250_CPUFREQ=y
|
||||
CONFIG_ARM_EXYNOS5440_CPUFREQ=y
|
||||
CONFIG_ARM_EXYNOS5440_CPUFREQ=m
|
||||
CONFIG_ARM_EXYNOS_CPU_FREQ_BOOST_SW=y
|
||||
CONFIG_ARM_EXYNOS_CPUIDLE=y
|
||||
# CONFIG_ARM_EXYNOS_CPUIDLE is not set
|
||||
CONFIG_ARM_EXYNOS5_BUS_DEVFREQ=m
|
||||
# CONFIG_EXYNOS5420_MCPM not set
|
||||
CONFIG_ARM_EXYNOS_CPUFREQ=m
|
||||
CONFIG_DEVFREQ_EVENT_EXYNOS_PPMU=y
|
||||
|
||||
CONFIG_I2C_EXYNOS5=m
|
||||
CONFIG_I2C_S3C2410=m
|
||||
|
@ -240,7 +252,7 @@ CONFIG_EXYNOS_ADC=m
|
|||
CONFIG_MMC_SDHCI_S3C=m
|
||||
CONFIG_MMC_SDHCI_S3C_DMA=y
|
||||
CONFIG_MMC_DW_EXYNOS=m
|
||||
CONFIG_EXYNOS_IOMMU=y
|
||||
# CONFIG_EXYNOS_IOMMU is not set
|
||||
CONFIG_PCI_EXYNOS=y
|
||||
CONFIG_PHY_EXYNOS5_USBDRD=m
|
||||
CONFIG_PHY_SAMSUNG_USB2=m
|
||||
|
@ -270,14 +282,17 @@ CONFIG_DRM_EXYNOS_DPI=y
|
|||
CONFIG_DRM_EXYNOS_DSI=y
|
||||
CONFIG_DRM_EXYNOS_FIMC=y
|
||||
CONFIG_DRM_EXYNOS_FIMD=y
|
||||
CONFIG_DRM_EXYNOS5433_DECON=y
|
||||
CONFIG_DRM_EXYNOS_MIC=y
|
||||
CONFIG_DRM_EXYNOS7_DECON=y
|
||||
CONFIG_DRM_EXYNOS_G2D=y
|
||||
CONFIG_DRM_EXYNOS_GSC=y
|
||||
CONFIG_DRM_EXYNOS_HDMI=y
|
||||
CONFIG_DRM_EXYNOS_IOMMU=y
|
||||
# CONFIG_DRM_EXYNOS_IOMMU is not set
|
||||
CONFIG_DRM_EXYNOS_IPP=y
|
||||
CONFIG_DRM_EXYNOS_ROTATOR=y
|
||||
CONFIG_DRM_EXYNOS_VIDI=y
|
||||
CONFIG_DRM_EXYNOS_MIXER=y
|
||||
CONFIG_PHY_EXYNOS_DP_VIDEO=m
|
||||
# CONFIG_FB_S3C is not set
|
||||
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
|
||||
|
@ -320,30 +335,8 @@ CONFIG_LEDS_MAX8997=m
|
|||
CONFIG_RTC_DRV_MAX8997=m
|
||||
CONFIG_RTC_DRV_MAX77686=m
|
||||
CONFIG_RTC_DRV_MAX77802=m
|
||||
CONFIG_RTC_DRV_RK808=m
|
||||
CONFIG_EXTCON_MAX8997=m
|
||||
|
||||
# Rockchips
|
||||
CONFIG_I2C_RK3X=m
|
||||
CONFIG_SPI_ROCKCHIP=m
|
||||
CONFIG_PWM_ROCKCHIP=m
|
||||
CONFIG_ROCKCHIP_SARADC=m
|
||||
CONFIG_ROCKCHIP_IODOMAIN=m
|
||||
CONFIG_MMC_DW_ROCKCHIP=m
|
||||
CONFIG_EMAC_ROCKCHIP=m
|
||||
CONFIG_MFD_RK808=m
|
||||
CONFIG_COMMON_CLK_RK808=m
|
||||
CONFIG_REGULATOR_RK808=m
|
||||
CONFIG_RTC_DRV_HYM8563=m
|
||||
CONFIG_ROCKCHIP_SARADC=m
|
||||
CONFIG_ROCKCHIP_IOMMU=y
|
||||
CONFIG_SND_SOC_ROCKCHIP=m
|
||||
CONFIG_SND_SOC_ROCKCHIP_I2S=m
|
||||
CONFIG_ROCKCHIP_THERMAL=m
|
||||
CONFIG_DRM_ROCKCHIP=m
|
||||
CONFIG_ROCKCHIP_DW_HDMI=m
|
||||
CONFIG_PHY_ROCKCHIP_USB=m
|
||||
|
||||
# Tegra
|
||||
CONFIG_ARCH_TEGRA_114_SOC=y
|
||||
CONFIG_ARCH_TEGRA_124_SOC=y
|
||||
|
@ -382,7 +375,10 @@ CONFIG_AD525X_DPOT_I2C=m
|
|||
CONFIG_AD525X_DPOT_SPI=m
|
||||
CONFIG_TEGRA_SOCTHERM=m
|
||||
CONFIG_TEGRA_MC=y
|
||||
CONFIG_TEGRA124_EMC=y
|
||||
CONFIG_ARM_TEGRA_DEVFREQ=m
|
||||
# CONFIG_ARM_TEGRA20_CPUFREQ is not set
|
||||
CONFIG_ARM_TEGRA124_CPUFREQ=m
|
||||
|
||||
# Jetson TK1
|
||||
CONFIG_PINCTRL_AS3722=y
|
||||
|
@ -394,6 +390,62 @@ CONFIG_RTC_DRV_AS3722=y
|
|||
# TI Generic
|
||||
CONFIG_TI_SOC_THERMAL=m
|
||||
CONFIG_TI_THERMAL=y
|
||||
# CONFIG_OMAP3_THERMAL is not set
|
||||
CONFIG_MMC_OMAP_HS=m
|
||||
|
||||
# mvebu
|
||||
CONFIG_ARCH_MVEBU=y
|
||||
CONFIG_MACH_ARMADA_370=y
|
||||
CONFIG_MACH_ARMADA_375=y
|
||||
CONFIG_MACH_ARMADA_38X=y
|
||||
CONFIG_MACH_ARMADA_39X=y
|
||||
CONFIG_MACH_ARMADA_XP=y
|
||||
CONFIG_MACH_DOVE=y
|
||||
|
||||
CONFIG_MVEBU_DEVBUS=y
|
||||
CONFIG_PCI_MVEBU=y
|
||||
CONFIG_CACHE_TAUROS2=y
|
||||
CONFIG_MV_XOR=y
|
||||
CONFIG_CRYPTO_DEV_MV_CESA=m
|
||||
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
|
||||
CONFIG_MV643XX_ETH=m
|
||||
CONFIG_PINCTRL_MVEBU=y
|
||||
CONFIG_PINCTRL_ARMADA_370=y
|
||||
CONFIG_PINCTRL_ARMADA_XP=y
|
||||
# CONFIG_ARM_MVEBU_V7_CPUIDLE is not set
|
||||
CONFIG_PINCTRL_DOVE=y
|
||||
CONFIG_EDAC_MV64X60=m
|
||||
CONFIG_RTC_DRV_S35390A=m
|
||||
CONFIG_RTC_DRV_88PM80X=m
|
||||
CONFIG_RTC_DRV_ISL12057=m
|
||||
CONFIG_RTC_DRV_MV=m
|
||||
CONFIG_RTC_DRV_ARMADA38X=m
|
||||
CONFIG_MVNETA=m
|
||||
CONFIG_GPIO_MVEBU=y
|
||||
CONFIG_MVEBU_CLK_CORE=y
|
||||
CONFIG_MVEBU_CLK_COREDIV=y
|
||||
CONFIG_MMC_MVSDIO=m
|
||||
CONFIG_MMC_SDHCI_DOVE=m
|
||||
CONFIG_SPI_ORION=m
|
||||
CONFIG_USB_MV_UDC=m
|
||||
CONFIG_MVEBU_MBUS=y
|
||||
CONFIG_USB_XHCI_MVEBU=m
|
||||
CONFIG_PHY_MVEBU_SATA=y
|
||||
CONFIG_AHCI_MVEBU=m
|
||||
CONFIG_ARMADA_THERMAL=m
|
||||
CONFIG_DOVE_THERMAL=m
|
||||
CONFIG_DRM_ARMADA=m
|
||||
CONFIG_ORION_WATCHDOG=m
|
||||
CONFIG_SND_KIRKWOOD_SOC=m
|
||||
CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB=m
|
||||
CONFIG_USB_EHCI_HCD_ORION=m
|
||||
CONFIG_MMC_SDHCI_PXAV3=m
|
||||
CONFIG_MVPP2=m
|
||||
CONFIG_COMMON_CLK_SI5351=m
|
||||
CONFIG_RTC_DRV_ARMADA38X=m
|
||||
# CONFIG_CACHE_FEROCEON_L2 is not set
|
||||
# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set
|
||||
CONFIG_LEDS_NS2=m
|
||||
|
||||
# DRM panels
|
||||
CONFIG_DRM_PANEL=y
|
||||
|
@ -401,7 +453,11 @@ CONFIG_DRM_PANEL_SIMPLE=m
|
|||
CONFIG_DRM_PANEL_LD9040=m
|
||||
CONFIG_DRM_PANEL_S6E8AA0=m
|
||||
CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
|
||||
CONFIG_DRM_PANEL_LG_LG4573=m
|
||||
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
|
||||
CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
|
||||
CONFIG_DRM_DW_HDMI=m
|
||||
# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
|
||||
|
||||
# regmap
|
||||
CONFIG_REGMAP_SPI=m
|
||||
|
@ -423,8 +479,7 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
|
|||
CONFIG_USB_MUSB_HDRC=m
|
||||
CONFIG_USB_MUSB_DUAL_ROLE=y
|
||||
CONFIG_USB_MUSB_DSPS=m
|
||||
# Use PIO on musb as upstream doesn't support multiple DMA engines yet :-/
|
||||
CONFIG_MUSB_PIO_ONLY=y
|
||||
# CONFIG_MUSB_PIO_ONLY is not set
|
||||
# CONFIG_USB_MUSB_TUSB6010 is not set
|
||||
# CONFIG_USB_MUSB_UX500 is not set
|
||||
CONFIG_USB_GPIO_VBUS=m
|
||||
|
@ -445,6 +500,7 @@ CONFIG_USB_CONFIGFS_SERIAL=y
|
|||
# CONFIG_USB_CONFIGFS_F_MIDI is not set
|
||||
# CONFIG_USB_CONFIGFS_F_HID is not set
|
||||
# CONFIG_USB_CONFIGFS_F_UVC is not set
|
||||
# CONFIG_USB_CONFIGFS_F_PRINTER is not set
|
||||
|
||||
# CONFIG_USB_GADGET_DEBUG is not set
|
||||
# CONFIG_USB_GADGET_DEBUG_FILES is not set
|
||||
|
@ -467,7 +523,6 @@ CONFIG_USB_CONFIGFS_SERIAL=y
|
|||
|
||||
# Multifunction Devices
|
||||
CONFIG_MFD_TPS65090=y
|
||||
CONFIG_MFD_TPS65217=y
|
||||
CONFIG_MFD_TPS65910=y
|
||||
CONFIG_MFD_TPS65912=y
|
||||
CONFIG_MFD_TPS65912_I2C=y
|
||||
|
@ -488,11 +543,7 @@ CONFIG_MFD_TPS65912_SPI=y
|
|||
#
|
||||
|
||||
# Pin stuff
|
||||
CONFIG_PINMUX=y
|
||||
CONFIG_PINCONF=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_PINCTRL_SINGLE=y
|
||||
CONFIG_GENERIC_PINCONF=y
|
||||
# CONFIG_PINCTRL_AMD is not set
|
||||
# CONFIG_PINCTRL_SAMSUNG is not set
|
||||
# CONFIG_PINCTRL_MSM8X74 is not set
|
||||
# CONFIG_PINCTRL_BCM281XX is not set
|
||||
|
@ -500,6 +551,7 @@ CONFIG_GENERIC_PINCONF=y
|
|||
# CONFIG_PINCTRL_APQ8084 is not set
|
||||
# CONFIG_PINCTRL_IPQ8064 is not set
|
||||
# CONFIG_PINCTRL_MSM8960 is not set
|
||||
# CONFIG_PINCTRL_MSM8660 is not set
|
||||
|
||||
# GPIO
|
||||
# CONFIG_GPIO_EM is not set
|
||||
|
@ -518,8 +570,6 @@ CONFIG_INPUT_GPIO=m
|
|||
CONFIG_INPUT_GPIO_BEEPER=m
|
||||
CONFIG_INPUT_GPIO_TILT_POLLED=m
|
||||
CONFIG_INPUT_MATRIXKMAP=m
|
||||
CONFIG_KEYBOARD_GPIO=m
|
||||
CONFIG_KEYBOARD_GPIO_POLLED=m
|
||||
CONFIG_KEYBOARD_MATRIX=m
|
||||
# CONFIG_GPIO_RCAR is not set
|
||||
CONFIG_W1_MASTER_GPIO=m
|
||||
|
@ -540,35 +590,23 @@ CONFIG_SPI_TLE62X0=m
|
|||
CONFIG_SPI_XCOMM=m
|
||||
# CONFIG_SPI_FSL_SPI is not set
|
||||
# CONFIG_SPI_CADENCE is not set
|
||||
# CONFIG_SPI_ZYNQMP_GQSPI is not set
|
||||
|
||||
CONFIG_NFC_NCI_SPI=y
|
||||
|
||||
# i2c
|
||||
CONFIG_I2C_DESIGNWARE_CORE=m
|
||||
CONFIG_I2C_DESIGNWARE_PLATFORM=m
|
||||
CONFIG_I2C_MV64XXX=m
|
||||
|
||||
# HW crypto and rng
|
||||
CONFIG_CRYPTO_SHA1_ARM=m
|
||||
CONFIG_CRYPTO_AES_ARM=m
|
||||
# CONFIG_CRYPTO_AES_ARM_BS is not set
|
||||
CONFIG_CRYPTO_SHA1_ARM_NEON=m
|
||||
CONFIG_CRYPTO_SHA512_ARM_NEON=m
|
||||
# CONFIG_CRYPTO_SHA1_ARM_CE is not set
|
||||
# CONFIG_CRYPTO_SHA2_ARM_CE is not set
|
||||
# CONFIG_CRYPTO_AES_ARM_CE is not set
|
||||
# CONFIG_CRYPTO_GHASH_ARM_CE is not set
|
||||
|
||||
# DMA
|
||||
CONFIG_TI_PRIV_EDMA=y
|
||||
CONFIG_TI_EDMA=y
|
||||
|
||||
# EDAC
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=m
|
||||
CONFIG_EDAC_LEGACY_SYSFS=y
|
||||
|
||||
# Watchdog
|
||||
|
||||
# Mailbox
|
||||
CONFIG_MAILBOX=y
|
||||
|
||||
# MTD
|
||||
# CONFIG_MG_DISK is not set
|
||||
CONFIG_MTD_DATAFLASH=m
|
||||
|
@ -589,6 +627,7 @@ CONFIG_MTD_NAND_PLATFORM=m
|
|||
CONFIG_MTD_NAND_PXA3xx=m
|
||||
CONFIG_MTD_NAND_RICOH=m
|
||||
CONFIG_MTD_NAND_TMIO=m
|
||||
# CONFIG_MTD_NAND_BRCMNAND is not set
|
||||
CONFIG_MTD_SPI_NOR=m
|
||||
# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
|
||||
CONFIG_MTD_SPINAND_MT29F=m
|
||||
|
@ -601,9 +640,7 @@ CONFIG_EEPROM_93XX46=m
|
|||
# Sound
|
||||
CONFIG_SND_ARM=y
|
||||
CONFIG_SND_SOC_AC97_BUS=y
|
||||
|
||||
# Displays
|
||||
CONFIG_BACKLIGHT_TPS65217=m
|
||||
CONFIG_SND_SOC_AC97_CODEC=y
|
||||
|
||||
# RTC
|
||||
CONFIG_RTC_DRV_DS1305=m
|
||||
|
@ -662,6 +699,7 @@ CONFIG_REGULATOR_DA9211=m
|
|||
CONFIG_REGULATOR_ISL9305=m
|
||||
CONFIG_REGULATOR_MAX77802=m
|
||||
CONFIG_REGULATOR_PWM=m
|
||||
# CONFIG_REGULATOR_MT6311 is not set
|
||||
CONFIG_SENSORS_LTC2978_REGULATOR=y
|
||||
|
||||
CONFIG_POWER_AVS=y
|
||||
|
@ -680,9 +718,11 @@ CONFIG_TMP006=m
|
|||
CONFIG_BMP085=y
|
||||
CONFIG_BMP085_I2C=m
|
||||
CONFIG_BMP085_SPI=m
|
||||
CONFIG_BMP280=m
|
||||
CONFIG_SENSORS_AD7314=m
|
||||
CONFIG_SENSORS_ADCXX=m
|
||||
CONFIG_SENSORS_ADS7871=m
|
||||
CONFIG_SENSORS_BH1780=m
|
||||
CONFIG_SENSORS_GPIO_FAN=m
|
||||
CONFIG_SENSORS_HTU21=m
|
||||
CONFIG_SENSORS_ISL29018=m
|
||||
|
@ -690,6 +730,11 @@ CONFIG_SENSORS_ISL29028=m
|
|||
CONFIG_SENSORS_LIS3_SPI=m
|
||||
CONFIG_SENSORS_LM70=m
|
||||
CONFIG_SENSORS_MAX1111=m
|
||||
CONFIG_MPL115=m
|
||||
CONFIG_MPL3115=m
|
||||
CONFIG_DHT11=m
|
||||
CONFIG_SI7005=m
|
||||
CONFIG_SI7020=m
|
||||
|
||||
CONFIG_LCD_L4F00242T03=m
|
||||
CONFIG_LCD_LMS283GF05=m
|
||||
|
@ -708,7 +753,6 @@ CONFIG_LCD_HX8357=m
|
|||
CONFIG_INPUT_GP2A=m
|
||||
CONFIG_INPUT_ARIZONA_HAPTICS=m
|
||||
CONFIG_INPUT_MC13783_PWRBUTTON=m
|
||||
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
|
||||
|
||||
CONFIG_TOUCHSCREEN_ADS7846=m
|
||||
CONFIG_TOUCHSCREEN_AD7877=m
|
||||
|
@ -735,7 +779,6 @@ CONFIG_LIBERTAS_SPI=m
|
|||
CONFIG_P54_SPI=m
|
||||
CONFIG_P54_SPI_DEFAULT_EEPROM=n
|
||||
CONFIG_MICREL_KS8995MA=m
|
||||
CONFIG_IEEE802154_AT86RF230=m
|
||||
CONFIG_IEEE802154_MRF24J40=m
|
||||
|
||||
CONFIG_ARM_KPROBES_TEST=m
|
||||
|
@ -760,9 +803,6 @@ CONFIG_UBIFS_FS_ADVANCED_COMPR=y
|
|||
CONFIG_UBIFS_FS_LZO=y
|
||||
CONFIG_UBIFS_FS_ZLIB=y
|
||||
|
||||
# Sensors
|
||||
CONFIG_SENSORS_HTU21=m
|
||||
|
||||
# Chromebook
|
||||
CONFIG_MFD_CROS_EC=m
|
||||
CONFIG_MFD_CROS_EC_I2C=m
|
||||
|
@ -770,6 +810,27 @@ CONFIG_MFD_CROS_EC_SPI=m
|
|||
CONFIG_KEYBOARD_CROS_EC=m
|
||||
CONFIG_I2C_CROS_EC_TUNNEL=m
|
||||
CONFIG_SND_SOC_TS3A227E=m
|
||||
CONFIG_CROS_EC_CHARDEV=m
|
||||
CONFIG_CROS_EC_PROTO=y
|
||||
|
||||
# This newly introduced mess needs to be fixed upstream :-(
|
||||
CONFIG_STMMAC_PLATFORM=m
|
||||
CONFIG_DWMAC_GENERIC=m
|
||||
# CONFIG_DWMAC_IPQ806X is not set
|
||||
# CONFIG_DWMAC_LPC18XX is not set
|
||||
# CONFIG_DWMAC_MESON is not set
|
||||
# CONFIG_DWMAC_SOCFPGA is not set
|
||||
# CONFIG_DWMAC_STI is not set
|
||||
|
||||
CONFIG_R8188EU=m
|
||||
|
||||
# CONFIG_88EU_AP_MODE is not set
|
||||
|
||||
# CAN drivers
|
||||
# CONFIG_CAN_TI_HECC is not set
|
||||
# CONFIG_CAN_FLEXCAN is not set
|
||||
# CONFIG_CAN_RCAR is not set
|
||||
# CONFIG_CAN_MCP251X is not set
|
||||
|
||||
# Needs work/investigation
|
||||
# CONFIG_ARM_KPROBES_TEST is not set
|
||||
|
@ -778,6 +839,7 @@ CONFIG_SND_SOC_TS3A227E=m
|
|||
# CONFIG_DRM_TILCDC is not set
|
||||
# CONFIG_DRM_IMX is not set
|
||||
# CONFIG_DRM_STI is not set
|
||||
# CONFIG_DRM_FSL_DCU is not set
|
||||
# CONFIG_AHCI_IMX is not set
|
||||
# CONFIG_IMX_THERMAL is not set
|
||||
# CONFIG_TI_DAC7512 is not set
|
||||
|
@ -800,6 +862,7 @@ CONFIG_SND_SOC_TS3A227E=m
|
|||
# CONFIG_SERIAL_MAX310X is not set
|
||||
# CONFIG_SERIAL_IFX6X60 is not set
|
||||
# CONFIG_SERIAL_BCM63XX is not set
|
||||
# CONFIG_SERIAL_STM32 is not set
|
||||
# CONFIG_FB_XILINX is not set
|
||||
# CONFIG_USB_GADGET_XILINX is not set
|
||||
# CONFIG_BRCMSTB_GISB_ARB is not set
|
||||
|
@ -810,7 +873,6 @@ CONFIG_SND_SOC_TS3A227E=m
|
|||
# CONFIG_SCSI_ACARD is not set
|
||||
# CONFIG_SFC is not set
|
||||
# CONFIG_SND_ALI5451 is not set
|
||||
# CONFIG_MLX4_EN is not set
|
||||
# CONFIG_POWER_RESET_QNAP is not set
|
||||
# CONFIG_MMC_TMIO is not set
|
||||
# CONFIG_PINCTRL_IMX35 is not set
|
||||
|
@ -826,10 +888,13 @@ CONFIG_SND_SOC_TS3A227E=m
|
|||
# CONFIG_PMIC_DA903X is not set
|
||||
# CONFIG_PMIC_ADP5520 is not set
|
||||
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
|
||||
# CONFIG_INPUT_AXP20X_PEK is not set
|
||||
# CONFIG_POWER_RESET_BRCMSTB is not set
|
||||
# CONFIG_INPUT_TPS65218_PWRBUTTON is not set
|
||||
# CONFIG_CLK_QORIQ is not set
|
||||
# CONFIG_QORIQ_CPUFREQ is not set
|
||||
# CONFIG_QCOM_SPMI_TEMP_ALARM is not set
|
||||
# CONFIG_SND_SOC_APQ8016_SBC is not set
|
||||
# CONFIG_SND_SOC_TAS571X is not set
|
||||
|
||||
# Debug options. We need to deal with them at some point like x86
|
||||
# CONFIG_DEBUG_USER is not set
|
||||
|
@ -841,3 +906,8 @@ CONFIG_SND_SOC_TS3A227E=m
|
|||
# CONFIG_CRYPTO_DEV_UX500_DEBUG is not set
|
||||
# CONFIG_AB8500_DEBUG is not set
|
||||
# CONFIG_ARM_KERNMEM_PERMS is not set
|
||||
|
||||
# CONFIG_VFIO_PLATFORM_AMDXGBE_RESET is not set
|
||||
|
||||
# Altera?
|
||||
# CONFIG_PCIE_ALTERA is not set
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
# ARM A15 lpae unified arch kernel
|
||||
CONFIG_ARCH_KEYSTONE=y
|
||||
|
||||
# CONFIG_ARCH_MVEBU is not set
|
||||
# CONFIG_ARCH_MXC is not set
|
||||
# CONFIG_ARCH_OMAP3 is not set
|
||||
# CONFIG_ARCH_OMAP4 is not set
|
||||
|
@ -13,10 +12,10 @@ CONFIG_ARCH_KEYSTONE=y
|
|||
# CONFIG_ARCH_AXXIA is not set
|
||||
|
||||
CONFIG_ARM_LPAE=y
|
||||
# CONFIG_CPU_SW_DOMAIN_PAN is not set
|
||||
CONFIG_SYS_SUPPORTS_HUGETLBFS=y
|
||||
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_ARM_VIRT_EXT=y
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8
|
||||
|
||||
CONFIG_CMA_SIZE_SEL_MBYTES=y
|
||||
|
@ -29,7 +28,6 @@ CONFIG_ARM_ERRATA_773022=y
|
|||
CONFIG_KVM=y
|
||||
CONFIG_KVM_ARM_HOST=y
|
||||
CONFIG_KVM_ARM_MAX_VCPUS=8
|
||||
CONFIG_KVM_ARM_TIMER=y
|
||||
|
||||
# CONFIG_XEN is not set
|
||||
CONFIG_XEN_FBDEV_FRONTEND=y
|
||||
|
@ -54,7 +52,7 @@ CONFIG_XEN_WDT=m
|
|||
CONFIG_KEYSTONE_USB_PHY=m
|
||||
CONFIG_USB_DWC3_KEYSTONE=m
|
||||
CONFIG_GPIO_DAVINCI=y
|
||||
CONFIG_I2C_DAVINCI=m
|
||||
# CONFIG_I2C_DAVINCI is not set
|
||||
CONFIG_TI_AEMIF=m
|
||||
CONFIG_POWER_RESET_KEYSTONE=y
|
||||
CONFIG_DAVINCI_WATCHDOG=m
|
||||
|
|
|
@ -31,7 +31,7 @@ CONFIG_LOCK_STAT=y
|
|||
CONFIG_DEBUG_STACK_USAGE=y
|
||||
|
||||
CONFIG_ACPI_DEBUG=y
|
||||
|
||||
# CONFIG_ACPI_DEBUGGER is not set
|
||||
CONFIG_DEBUG_SG=y
|
||||
CONFIG_DEBUG_PI_LIST=y
|
||||
|
||||
|
@ -90,7 +90,7 @@ CONFIG_RTLWIFI_DEBUG=y
|
|||
CONFIG_DEBUG_OBJECTS_WORK=y
|
||||
|
||||
CONFIG_DMADEVICES_DEBUG=y
|
||||
CONFIG_DMADEVICES_VDEBUG=y
|
||||
# CONFIG_DMADEVICES_VDEBUG is not set
|
||||
|
||||
CONFIG_PM_ADVANCED_DEBUG=y
|
||||
|
||||
|
@ -126,5 +126,3 @@ CONFIG_EDAC_DEBUG=y
|
|||
CONFIG_SPI_DEBUG=y
|
||||
|
||||
CONFIG_X86_DEBUG_STATIC_CPU_HAS=y
|
||||
CONFIG_LATENCYTOP=y
|
||||
CONFIG_SCHEDSTATS=y
|
||||
|
|
425
config-generic
425
config-generic
File diff suppressed because it is too large
Load Diff
|
@ -31,6 +31,7 @@ CONFIG_CPUMASK_OFFSTACK=y
|
|||
# CONFIG_DEBUG_STACK_USAGE is not set
|
||||
|
||||
# CONFIG_ACPI_DEBUG is not set
|
||||
# CONFIG_ACPI_DEBUGGER is not set
|
||||
|
||||
# CONFIG_DEBUG_SG is not set
|
||||
# CONFIG_DEBUG_PI_LIST is not set
|
||||
|
@ -126,7 +127,3 @@ CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
|
|||
# CONFIG_SPI_DEBUG is not set
|
||||
|
||||
# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
|
||||
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_LATENCYTOP is not set
|
||||
|
||||
|
|
281
config-powerpc64
281
config-powerpc64
|
@ -1,186 +1,109 @@
|
|||
CONFIG_WINDFARM_PM81=y
|
||||
CONFIG_WINDFARM_PM91=y
|
||||
CONFIG_WINDFARM_PM121=y
|
||||
CONFIG_WINDFARM_PM72=y
|
||||
CONFIG_WINDFARM_RM31=y
|
||||
# CONFIG_CPU_LITTLE_ENDIAN is not set
|
||||
|
||||
CONFIG_PPC_PMAC64=y
|
||||
CONFIG_PPC_MAPLE=y
|
||||
# CONFIG_PPC_CELL is not set
|
||||
# CONFIG_PPC_IBM_CELL_BLADE is not set
|
||||
CONFIG_PPC_PSERIES=y
|
||||
CONFIG_PPC_PMAC=y
|
||||
CONFIG_PPC_POWERNV=y
|
||||
CONFIG_PPC_POWERNV_RTAS=y
|
||||
CONFIG_SENSORS_IBMPOWERNV=y
|
||||
CONFIG_HW_RANDOM_POWERNV=m
|
||||
CONFIG_POWERNV_CPUFREQ=m
|
||||
CONFIG_IPMI_POWERNV=m
|
||||
CONFIG_SCOM_DEBUGFS=y
|
||||
# CONFIG_PPC_PASEMI is not set
|
||||
# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set
|
||||
# CONFIG_PPC_PS3 is not set
|
||||
# CONFIG_PPC_CELLEB is not set
|
||||
# CONFIG_PPC_CELL_QPACE is not set
|
||||
CONFIG_PMAC_RACKMETER=m
|
||||
CONFIG_IBMEBUS=y
|
||||
CONFIG_RTAS_FLASH=y
|
||||
# CONFIG_UDBG_RTAS_CONSOLE is not set
|
||||
CONFIG_PPC_SPLPAR=y
|
||||
CONFIG_SCANLOG=y
|
||||
CONFIG_LPARCFG=y
|
||||
CONFIG_SERIAL_ICOM=m
|
||||
CONFIG_HVCS=m
|
||||
CONFIG_HVC_CONSOLE=y
|
||||
# CONFIG_HVC_OLD_HVSI is not set
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
CONFIG_IBMVETH=m
|
||||
CONFIG_SCSI_IBMVSCSI=m
|
||||
# CONFIG_HOTPLUG_PCI_CPCI is not set
|
||||
CONFIG_HOTPLUG_PCI_SHPC=m
|
||||
CONFIG_HOTPLUG_PCI_RPA=m
|
||||
CONFIG_HOTPLUG_PCI_RPA_DLPAR=y
|
||||
CONFIG_PPC_PMAC64=y
|
||||
|
||||
#
|
||||
# Please see Documentation/ide.txt for help/info on IDE drives
|
||||
#
|
||||
CONFIG_IDE=y
|
||||
CONFIG_BLK_DEV_IDE=y
|
||||
# CONFIG_BLK_DEV_IDE_SATA is not set
|
||||
# CONFIG_BLK_DEV_IDECS is not set
|
||||
CONFIG_BLK_DEV_IDECD=m
|
||||
# CONFIG_BLK_DEV_IDETAPE is not set
|
||||
CONFIG_BLK_DEV_IDEDMA=y
|
||||
CONFIG_BLK_DEV_GENERIC=y
|
||||
CONFIG_BLK_DEV_DELKIN=m
|
||||
CONFIG_IDE_TASK_IOCTL=y
|
||||
CONFIG_IDE_PROC_FS=y
|
||||
# CONFIG_IDEPCI_PCIBUS_ORDER is not set
|
||||
|
||||
#
|
||||
# IDE chipset support/bugfixes
|
||||
#
|
||||
# CONFIG_IDE_GENERIC is not set
|
||||
# CONFIG_BLK_DEV_IDEPNP is not set
|
||||
# CONFIG_BLK_DEV_IDEPCI is not set
|
||||
# CONFIG_BLK_DEV_AEC62XX is not set
|
||||
# CONFIG_BLK_DEV_ALI15X3 is not set
|
||||
# CONFIG_BLK_DEV_CMD64X is not set
|
||||
# CONFIG_BLK_DEV_TRIFLEX is not set
|
||||
# CONFIG_BLK_DEV_CY82C693 is not set
|
||||
# CONFIG_BLK_DEV_CS5520 is not set
|
||||
# CONFIG_BLK_DEV_CS5530 is not set
|
||||
# CONFIG_BLK_DEV_HPT366 is not set
|
||||
# CONFIG_BLK_DEV_JMICRON is not set
|
||||
# CONFIG_BLK_DEV_SC1200 is not set
|
||||
# CONFIG_BLK_DEV_PIIX is not set
|
||||
# CONFIG_BLK_DEV_IT821X is not set
|
||||
# CONFIG_BLK_DEV_NS87415 is not set
|
||||
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
|
||||
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
|
||||
# CONFIG_BLK_DEV_SVWKS is not set
|
||||
# CONFIG_BLK_DEV_SIIMAGE is not set
|
||||
# CONFIG_BLK_DEV_SL82C105 is not set
|
||||
# CONFIG_BLK_DEV_SLC90E66 is not set
|
||||
# CONFIG_BLK_DEV_TRM290 is not set
|
||||
# CONFIG_BLK_DEV_VIA82CXXX is not set
|
||||
# CONFIG_BLK_DEV_IDE_PMAC is not set
|
||||
# CONFIG_BLK_DEV_AMD74XX is not set
|
||||
# CONFIG_BLK_DEV_OPTI621 is not set
|
||||
# CONFIG_BLK_DEV_OFFBOARD is not set
|
||||
# CONFIG_BLK_DEV_IT8213 is not set
|
||||
# CONFIG_BLK_DEV_TC86C001 is not set
|
||||
|
||||
CONFIG_IDE_GD=y
|
||||
CONFIG_IDE_GD_ATA=y
|
||||
CONFIG_IDE_GD_ATAPI=y
|
||||
|
||||
CONFIG_PATA_PLATFORM=m
|
||||
CONFIG_PATA_OF_PLATFORM=m
|
||||
|
||||
# Power970 / G5
|
||||
CONFIG_EDAC_CPC925=m
|
||||
|
||||
# Maple
|
||||
CONFIG_CPU_FREQ_MAPLE=y
|
||||
CONFIG_EDAC_AMD8111=m
|
||||
CONFIG_EDAC_AMD8131=m
|
||||
CONFIG_HW_RANDOM_AMD=m
|
||||
CONFIG_MMIO_NVRAM=y
|
||||
|
||||
# Apple G5
|
||||
CONFIG_MACINTOSH_DRIVERS=y
|
||||
CONFIG_ADB=y
|
||||
CONFIG_ADB_PMU=y
|
||||
CONFIG_ADB_PMU_LED=y
|
||||
CONFIG_ADB_PMU_LED_IDE=y
|
||||
CONFIG_PMAC_SMU=y
|
||||
CONFIG_CPU_FREQ_PMAC64=y
|
||||
CONFIG_CPU_FREQ_MAPLE=y
|
||||
CONFIG_SCSI_IPR=m
|
||||
CONFIG_SCSI_IPR_TRACE=y
|
||||
CONFIG_SCSI_IPR_DUMP=y
|
||||
CONFIG_HVC_RTAS=y
|
||||
CONFIG_HVC_OPAL=y
|
||||
|
||||
# iSeries device drivers
|
||||
#
|
||||
|
||||
CONFIG_PASEMI_MAC=m
|
||||
CONFIG_SERIAL_OF_PLATFORM=m
|
||||
|
||||
CONFIG_SERIAL_TXX9=y
|
||||
CONFIG_SERIAL_TXX9_NR_UARTS=6
|
||||
CONFIG_SERIAL_TXX9_CONSOLE=y
|
||||
|
||||
CONFIG_HVC_BEAT=y
|
||||
|
||||
CONFIG_PPC_PMI=m
|
||||
|
||||
CONFIG_PATA_SCC=m
|
||||
|
||||
CONFIG_I2C_POWERMAC=y
|
||||
CONFIG_PMAC_RACKMETER=m
|
||||
CONFIG_PMAC_APM_EMU=m
|
||||
CONFIG_APM_EMULATION=m
|
||||
CONFIG_PMAC_SMU=y
|
||||
CONFIG_APPLE_AIRPORT=m
|
||||
CONFIG_SND_POWERMAC=m
|
||||
CONFIG_SND_POWERMAC_AUTO_DRC=y
|
||||
CONFIG_MAC_EMUMOUSEBTN=y
|
||||
CONFIG_PATA_MACIO=y
|
||||
CONFIG_WINDFARM=y
|
||||
CONFIG_WINDFARM_RM31=y
|
||||
CONFIG_WINDFARM_PM72=y
|
||||
CONFIG_WINDFARM_PM81=y
|
||||
CONFIG_WINDFARM_PM91=y
|
||||
CONFIG_WINDFARM_PM112=y
|
||||
CONFIG_WINDFARM_PM121=y
|
||||
CONFIG_CPU_FREQ_PMAC64=y
|
||||
CONFIG_SERIAL_PMACZILOG=m
|
||||
# CONFIG_SERIAL_PMACZILOG_TTYS is not set
|
||||
CONFIG_AGP_UNINORTH=y
|
||||
# CONFIG_PMAC_BACKLIGHT_LEGACY is not set
|
||||
|
||||
CONFIG_PPC64=y
|
||||
CONFIG_VIRT_CPU_ACCOUNTING=y
|
||||
CONFIG_NR_CPUS=1024
|
||||
# CONFIG_FB_PLATINUM is not set
|
||||
# CONFIG_FB_VALKYRIE is not set
|
||||
# CONFIG_FB_CT65550 is not set
|
||||
# CONFIG_FB_VGA16 is not set
|
||||
# CONFIG_FB_ATY128 is not set
|
||||
# CONFIG_FB_ATY is not set
|
||||
|
||||
|
||||
CONFIG_RTAS_PROC=y
|
||||
CONFIG_NUMA=y
|
||||
CONFIG_NUMA_BALANCING=y
|
||||
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
|
||||
CONFIG_PPC_64K_PAGES=y
|
||||
CONFIG_PPC_SUBPAGE_PROT=y
|
||||
CONFIG_SCHED_SMT=y
|
||||
|
||||
CONFIG_HZ=100
|
||||
CONFIG_HZ_100=y
|
||||
# CONFIG_HZ_1000 is not set
|
||||
|
||||
CONFIG_MEMORY_HOTREMOVE=y
|
||||
|
||||
CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE=y
|
||||
|
||||
CONFIG_CGROUP_HUGETLB=y
|
||||
|
||||
# CONFIG_MV643XX_ETH is not set
|
||||
CONFIG_IRQSTACKS=y
|
||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
# CONFIG_INPUT_PCSPKR is not set
|
||||
|
||||
CONFIG_EHEA=m
|
||||
CONFIG_INFINIBAND_EHCA=m
|
||||
|
||||
# CONFIG_HCALL_STATS is not set
|
||||
|
||||
CONFIG_XMON_DISASSEMBLY=y
|
||||
|
||||
|
||||
# CONFIG_TUNE_CELL is not set
|
||||
# CONFIG_BLK_DEV_PLATFORM is not set
|
||||
|
||||
|
||||
CONFIG_EDAC_CPC925=m
|
||||
CONFIG_FRAME_WARN=2048
|
||||
|
||||
CONFIG_FORCE_MAX_ZONEORDER=9
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
|
||||
CONFIG_VSX=y
|
||||
|
||||
CONFIG_SCSI_IBMVFC=m
|
||||
# CONFIG_SCSI_IBMVFC_TRACE is not set
|
||||
CONFIG_IBM_BSR=m
|
||||
|
||||
CONFIG_CRASH_DUMP=y
|
||||
CONFIG_FA_DUMP=y
|
||||
CONFIG_RELOCATABLE=y
|
||||
|
||||
CONFIG_RCU_FANOUT=64
|
||||
|
||||
CONFIG_CMA=y
|
||||
# CONFIG_CMA_DEBUG is not set
|
||||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_KVM_BOOK3S_64=m
|
||||
CONFIG_KVM_BOOK3S_64_HV=m
|
||||
CONFIG_KVM_BOOK3S_64_PR=m
|
||||
# CONFIG_KVM_EXIT_TIMING is not set
|
||||
CONFIG_KVM_XICS=y
|
||||
|
||||
#-- bz#607175
|
||||
#-- active memory sharing
|
||||
CONFIG_PPC_SMLPAR=y
|
||||
CONFIG_CMM=y
|
||||
CONFIG_HV_PERF_CTRS=y
|
||||
#-- DLPAR memory remove
|
||||
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||
|
||||
# CONFIG_COMPACTION is not set
|
||||
|
||||
CONFIG_PSERIES_ENERGY=m
|
||||
|
||||
CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_PSERIES_CPUIDLE=y
|
||||
CONFIG_POWERNV_CPUIDLE=y
|
||||
|
||||
CONFIG_PPC_ICSWX=y
|
||||
CONFIG_IO_EVENT_IRQ=y
|
||||
CONFIG_HW_RANDOM_AMD=m
|
||||
|
||||
CONFIG_UIO_PDRV=m
|
||||
|
||||
CONFIG_I2C_OPAL=m
|
||||
CONFIG_RTC_DRV_OPAL=m
|
||||
|
||||
CONFIG_HW_RANDOM_PSERIES=m
|
||||
CONFIG_CRYPTO_DEV_NX=y
|
||||
CONFIG_CRYPTO_842=m
|
||||
CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS=m
|
||||
|
||||
CONFIG_CXL=m
|
||||
|
||||
# CONFIG_PPC_ICSWX_PID is not set
|
||||
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
# CONFIG_SND_HDA_INTEL is not set
|
||||
CONFIG_BLK_DEV_RSXX=m
|
||||
CONFIG_PPC_TRANSACTIONAL_MEM=y
|
||||
|
||||
# CONFIG_CARL9170 is not set
|
||||
CONFIG_SND_AOA=m
|
||||
CONFIG_SND_AOA_SOUNDBUS=m
|
||||
CONFIG_SND_AOA_FABRIC_LAYOUT=m
|
||||
CONFIG_SND_AOA_ONYX=m
|
||||
CONFIG_SND_AOA_TAS=m
|
||||
CONFIG_SND_AOA_TOONIE=m
|
||||
CONFIG_SND_AOA_SOUNDBUS_I2S=m
|
||||
|
|
|
@ -1,14 +1,151 @@
|
|||
# Most PowerPC kernels we build are SMP
|
||||
CONFIG_IRQ_ALL_CPUS=y
|
||||
CONFIG_PPC=y
|
||||
CONFIG_WATCHDOG_RTAS=m
|
||||
CONFIG_DEBUGGER=y
|
||||
CONFIG_GENERIC_NVRAM=y
|
||||
CONFIG_ALTIVEC=y
|
||||
CONFIG_PPC64=y
|
||||
|
||||
CONFIG_TAU=y
|
||||
# CONFIG_TAU_INT is not set
|
||||
CONFIG_TAU_AVERAGE=y
|
||||
CONFIG_PPC_POWERNV=y
|
||||
CONFIG_PPC_PSERIES=y
|
||||
# CONFIG_PPC_82xx is not set
|
||||
# CONFIG_PPC_83xx is not set
|
||||
# CONFIG_PPC_86xx is not set
|
||||
# CONFIG_PPC_CELL is not set
|
||||
# CONFIG_PPC_CELL_QPACE is not set
|
||||
# CONFIG_PPC_IBM_CELL_BLADE is not set
|
||||
# CONFIG_PPC_MAPLE is not set
|
||||
# CONFIG_PPC_PASEMI is not set
|
||||
# CONFIG_PPC_PMAC is not set
|
||||
# CONFIG_PPC_PMAC64 is not set
|
||||
# CONFIG_PPC_PS3 is not set
|
||||
CONFIG_HIBERNATION=n
|
||||
|
||||
CONFIG_EXTRA_TARGETS=""
|
||||
|
||||
CONFIG_NR_CPUS=1024
|
||||
|
||||
CONFIG_NR_IRQS=512
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_IRQ_ALL_CPUS=y
|
||||
CONFIG_IRQSTACKS=y
|
||||
|
||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
CONFIG_DEBUGGER=y
|
||||
CONFIG_PPC_DENORMALISATION=y
|
||||
# CONFIG_PPC_EARLY_DEBUG is not set
|
||||
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
|
||||
|
||||
CONFIG_FRAME_WARN=2048
|
||||
|
||||
CONFIG_FORCE_MAX_ZONEORDER=9
|
||||
|
||||
CONFIG_XMON=y
|
||||
# CONFIG_XMON_DEFAULT is not set
|
||||
CONFIG_XMON_DISASSEMBLY=y
|
||||
|
||||
CONFIG_BOOTX_TEXT=y
|
||||
|
||||
CONFIG_ALTIVEC=y
|
||||
CONFIG_VSX=y
|
||||
|
||||
CONFIG_HZ=100
|
||||
CONFIG_HZ_100=y
|
||||
# CONFIG_HZ_1000 is not set
|
||||
|
||||
CONFIG_NUMA=y
|
||||
CONFIG_NUMA_BALANCING=y
|
||||
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
|
||||
CONFIG_PPC_64K_PAGES=y
|
||||
CONFIG_PPC_SUBPAGE_PROT=y
|
||||
CONFIG_SCHED_SMT=y
|
||||
# CONFIG_TUNE_CELL is not set
|
||||
CONFIG_MEMORY_HOTPLUG=y
|
||||
CONFIG_MEMORY_HOTREMOVE=y
|
||||
CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE=y
|
||||
|
||||
CONFIG_CGROUP_HUGETLB=y
|
||||
|
||||
CONFIG_RCU_FANOUT=64
|
||||
CONFIG_RCU_FANOUT_LEAF=16
|
||||
|
||||
CONFIG_FA_DUMP=y
|
||||
CONFIG_RELOCATABLE=y
|
||||
|
||||
CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_POWERNV_CPUIDLE=y
|
||||
CONFIG_PSERIES_CPUIDLE=y
|
||||
|
||||
CONFIG_HW_RANDOM_PSERIES=m
|
||||
CONFIG_CRYPTO_DEV_NX=y
|
||||
CONFIG_CRYPTO_842=m
|
||||
CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS_CRYPTO=m
|
||||
CONFIG_CRYPTO_DEV_VMX=y
|
||||
# CONFIG_CRYPTO_DEV_VMX_ENCRYPT is not set
|
||||
|
||||
CONFIG_XZ_DEC_POWERPC=y
|
||||
|
||||
# HW Virt
|
||||
CONFIG_CMA=y
|
||||
# CONFIG_CMA_DEBUG is not set
|
||||
# CONFIG_CMA_DEBUGFS is not set
|
||||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_KVM_GUEST=y
|
||||
CONFIG_KVM_BOOK3S_64=m
|
||||
CONFIG_KVM_BOOK3S_64_HV=m
|
||||
CONFIG_KVM_BOOK3S_64_PR=m
|
||||
# CONFIG_KVM_BOOK3S_HV_EXIT_TIMING is not set
|
||||
# CONFIG_KVM_EXIT_TIMING is not set
|
||||
CONFIG_KVM_XICS=y
|
||||
# CONFIG_HCALL_STATS is not set
|
||||
CONFIG_PPC_SPLPAR=y
|
||||
CONFIG_LPARCFG=y
|
||||
#-- active memory sharing
|
||||
CONFIG_PPC_SMLPAR=y
|
||||
CONFIG_CMM=y
|
||||
CONFIG_HV_PERF_CTRS=y
|
||||
#-- DLPAR memory remove
|
||||
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||
|
||||
# Power NV
|
||||
CONFIG_HVC_CONSOLE=y
|
||||
CONFIG_HVCS=m
|
||||
CONFIG_HVC_RTAS=y
|
||||
CONFIG_HVC_OPAL=y
|
||||
CONFIG_I2C_OPAL=m
|
||||
CONFIG_RTC_DRV_OPAL=m
|
||||
CONFIG_SENSORS_IBMPOWERNV=y
|
||||
CONFIG_HW_RANDOM_POWERNV=m
|
||||
CONFIG_POWERNV_CPUFREQ=m
|
||||
CONFIG_IPMI_POWERNV=m
|
||||
CONFIG_RTAS_FLASH=y
|
||||
CONFIG_OPAL_PRD=m
|
||||
CONFIG_MTD_POWERNV_FLASH=m
|
||||
|
||||
# Power 7 and later
|
||||
CONFIG_PPC_TRANSACTIONAL_MEM=y
|
||||
CONFIG_BLK_DEV_RSXX=m
|
||||
CONFIG_CXL=m
|
||||
CONFIG_CXLFLASH=m
|
||||
CONFIG_IBMEBUS=y
|
||||
CONFIG_EHEA=m
|
||||
CONFIG_INFINIBAND_EHCA=m
|
||||
CONFIG_PPC_ICSWX=y
|
||||
# CONFIG_PPC_ICSWX_PID is not set
|
||||
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
|
||||
|
||||
# pSeries
|
||||
# CONFIG_SCSI_IBMVFC_TRACE is not set
|
||||
CONFIG_IBM_BSR=m
|
||||
CONFIG_IBMVETH=m
|
||||
CONFIG_PSERIES_ENERGY=m
|
||||
# CONFIG_HVC_OLD_HVSI is not set
|
||||
CONFIG_SCOM_DEBUGFS=y
|
||||
CONFIG_SCANLOG=y
|
||||
CONFIG_RTAS_PROC=y
|
||||
CONFIG_WATCHDOG_RTAS=m
|
||||
# CONFIG_UDBG_RTAS_CONSOLE is not set
|
||||
CONFIG_IO_EVENT_IRQ=y
|
||||
|
||||
# CONFIG_RTC is not set
|
||||
# CONFIG_GEN_RTC is not set
|
||||
|
@ -16,59 +153,51 @@ CONFIG_TAU_AVERAGE=y
|
|||
CONFIG_RTC_DRV_GENERIC=y
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
|
||||
CONFIG_ADB=y
|
||||
CONFIG_ADB_PMU=y
|
||||
CONFIG_WINDFARM=y
|
||||
CONFIG_WINDFARM_PM112=y
|
||||
CONFIG_I2C_POWERMAC=y
|
||||
CONFIG_APPLE_AIRPORT=m
|
||||
CONFIG_SERIAL_PMACZILOG=m
|
||||
# CONFIG_SERIAL_PMACZILOG_TTYS is not set
|
||||
CONFIG_AGP_UNINORTH=y
|
||||
CONFIG_HOTPLUG_PCI_SHPC=m
|
||||
CONFIG_HOTPLUG_PCI_RPA=m
|
||||
CONFIG_HOTPLUG_PCI_RPA_DLPAR=y
|
||||
|
||||
CONFIG_SCSI_IBMVFC=m
|
||||
CONFIG_SCSI_IBMVSCSI=m
|
||||
CONFIG_SCSI_IPR=m
|
||||
CONFIG_SCSI_IPR_TRACE=y
|
||||
CONFIG_SCSI_IPR_DUMP=y
|
||||
|
||||
CONFIG_SERIAL_ICOM=m
|
||||
# CONFIG_SERIAL_8250 is not set
|
||||
|
||||
# Things we might want to review for newer architectures
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
|
||||
CONFIG_FB_OF=y
|
||||
# CONFIG_FB_CONTROL is not set
|
||||
# CONFIG_FB_CT65550 is not set
|
||||
CONFIG_FB_IBM_GXT4500=y
|
||||
CONFIG_FB_MATROX=y
|
||||
CONFIG_FB_MATROX_G=y
|
||||
# CONFIG_FB_VGA16 is not set
|
||||
CONFIG_FB_ATY128_BACKLIGHT=y
|
||||
CONFIG_FB_ATY_BACKLIGHT=y
|
||||
CONFIG_FB_RIVA_BACKLIGHT=y
|
||||
# CONFIG_FB_MB862XX is not set
|
||||
# CONFIG_FB_MB862XX_PCI_GDC is not set
|
||||
# CONFIG_FB_MB862XX_LIME is not set
|
||||
# CONFIG_FB_MB862XX_I2C is not set
|
||||
# CONFIG_FB_PLATINUM is not set
|
||||
# CONFIG_FB_VALKYRIE is not set
|
||||
# CONFIG_FB_VGA16 is not set
|
||||
# CONFIG_FB_ATY128 is not set
|
||||
# CONFIG_FB_ATY is not set
|
||||
|
||||
|
||||
CONFIG_SND_POWERMAC=m
|
||||
CONFIG_SND_POWERMAC_AUTO_DRC=y
|
||||
CONFIG_SND_AOA=m
|
||||
CONFIG_SND_AOA_SOUNDBUS=m
|
||||
CONFIG_SND_AOA_FABRIC_LAYOUT=m
|
||||
CONFIG_SND_AOA_ONYX=m
|
||||
CONFIG_SND_AOA_TAS=m
|
||||
CONFIG_SND_AOA_TOONIE=m
|
||||
CONFIG_SND_AOA_SOUNDBUS_I2S=m
|
||||
# CONFIG_SND_SOC is not set
|
||||
# CONFIG_INPUT_PCSPKR is not set
|
||||
# CONFIG_SND_HDA_INTEL is not set
|
||||
|
||||
CONFIG_XMON=y
|
||||
# CONFIG_XMON_DEFAULT is not set
|
||||
CONFIG_XMON_DISASSEMBLY=y
|
||||
|
||||
CONFIG_BOOTX_TEXT=y
|
||||
CONFIG_MAC_EMUMOUSEBTN=y
|
||||
CONFIG_CAPI_EICON=y
|
||||
|
||||
CONFIG_NVRAM=y
|
||||
|
||||
# CONFIG_SCSI_AHA1542 is not set
|
||||
# CONFIG_SCSI_IN2000 is not set
|
||||
# CONFIG_SCSI_IPS is not set
|
||||
# CONFIG_NI65 is not set
|
||||
# CONFIG_LANCE is not set
|
||||
# CONFIG_3C515 is not set
|
||||
|
||||
CONFIG_MEMORY_HOTPLUG=y
|
||||
# CONFIG_BLK_DEV_PLATFORM is not set
|
||||
|
||||
# Stuff which wants bus_to_virt() or virt_to_bus()
|
||||
# CONFIG_BLK_CPQ_DA is not set
|
||||
|
@ -78,106 +207,31 @@ CONFIG_MEMORY_HOTPLUG=y
|
|||
# CONFIG_ATM_AMBASSADOR is not set
|
||||
# CONFIG_SCSI_BUSLOGIC is not set
|
||||
|
||||
|
||||
# CONFIG_PPC_EARLY_DEBUG is not set
|
||||
|
||||
# CONFIG_PMAC_BACKLIGHT_LEGACY is not set
|
||||
CONFIG_LEDS_TRIGGER_TIMER=m
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
|
||||
CONFIG_LEDS_TRIGGER_GPIO=m
|
||||
CONFIG_LEDS_POWERNV=m
|
||||
|
||||
CONFIG_PPC_EFIKA=y
|
||||
CONFIG_PPC_MEDIA5200=y
|
||||
|
||||
# CONFIG_PPC_LITE5200 is not set
|
||||
CONFIG_PPC_BESTCOMM=y
|
||||
CONFIG_PMAC_RACKMETER=m
|
||||
CONFIG_USB_EHCI_HCD_PPC_OF=y
|
||||
CONFIG_USB_OHCI_HCD_PCI=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
|
||||
|
||||
CONFIG_SERIAL_UARTLITE=m
|
||||
CONFIG_SERIAL_UARTLITE_CONSOLE=y
|
||||
# CONFIG_PATA_PLATFORM is not set
|
||||
# CONFIG_MACINTOSH_DRIVERS is not set
|
||||
# CONFIG_EDAC_CPC925 is not set
|
||||
|
||||
CONFIG_SENSORS_AMS=m
|
||||
CONFIG_SENSORS_AMS_PMU=y
|
||||
CONFIG_SENSORS_AMS_I2C=y
|
||||
|
||||
CONFIG_IDE=y
|
||||
CONFIG_BLK_DEV_IDE=y
|
||||
|
||||
#
|
||||
# Please see Documentation/ide.txt for help/info on IDE drives
|
||||
#
|
||||
# CONFIG_BLK_DEV_IDE_SATA is not set
|
||||
# CONFIG_BLK_DEV_IDECS is not set
|
||||
CONFIG_BLK_DEV_IDECD=m
|
||||
# CONFIG_BLK_DEV_IDETAPE is not set
|
||||
CONFIG_IDE_TASK_IOCTL=y
|
||||
#
|
||||
# IDE chipset support/bugfixes
|
||||
#
|
||||
# CONFIG_IDE_GENERIC is not set
|
||||
# CONFIG_BLK_DEV_IDEPNP is not set
|
||||
# CONFIG_BLK_DEV_IDEPCI is not set
|
||||
# CONFIG_BLK_DEV_AEC62XX is not set
|
||||
# CONFIG_BLK_DEV_ALI15X3 is not set
|
||||
# CONFIG_BLK_DEV_CMD64X is not set
|
||||
# CONFIG_BLK_DEV_TRIFLEX is not set
|
||||
# CONFIG_BLK_DEV_CY82C693 is not set
|
||||
# CONFIG_BLK_DEV_CS5520 is not set
|
||||
# CONFIG_BLK_DEV_CS5530 is not set
|
||||
# CONFIG_BLK_DEV_HPT366 is not set
|
||||
# CONFIG_BLK_DEV_JMICRON is not set
|
||||
# CONFIG_BLK_DEV_SC1200 is not set
|
||||
# CONFIG_BLK_DEV_PIIX is not set
|
||||
# CONFIG_BLK_DEV_IT821X is not set
|
||||
# CONFIG_BLK_DEV_NS87415 is not set
|
||||
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
|
||||
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
|
||||
# CONFIG_BLK_DEV_SVWKS is not set
|
||||
# CONFIG_BLK_DEV_SIIMAGE is not set
|
||||
# CONFIG_BLK_DEV_SL82C105 is not set
|
||||
# CONFIG_BLK_DEV_SLC90E66 is not set
|
||||
# CONFIG_BLK_DEV_TRM290 is not set
|
||||
# CONFIG_BLK_DEV_VIA82CXXX is not set
|
||||
# CONFIG_BLK_DEV_IDE_PMAC is not set
|
||||
# CONFIG_BLK_DEV_AMD74XX is not set
|
||||
# CONFIG_BLK_DEV_OPTI621 is not set
|
||||
# CONFIG_BLK_DEV_OFFBOARD is not set
|
||||
CONFIG_BLK_DEV_DELKIN=m
|
||||
# CONFIG_BLK_DEV_IT8213 is not set
|
||||
# CONFIG_BLK_DEV_TC86C001 is not set
|
||||
CONFIG_BLK_DEV_IDEDMA=y
|
||||
CONFIG_BLK_DEV_GENERIC=y
|
||||
# CONFIG_BLK_DEV_HD is not set
|
||||
# CONFIG_USB_STORAGE_ISD200 is not set
|
||||
CONFIG_MTD_PHYSMAP_OF=m
|
||||
CONFIG_IDE_PROC_FS=y
|
||||
CONFIG_MACINTOSH_DRIVERS=y
|
||||
|
||||
CONFIG_PPC_PASEMI_MDIO=m
|
||||
CONFIG_SPU_FS_64K_LS=y
|
||||
CONFIG_PPC_PASEMI_CPUFREQ=y
|
||||
CONFIG_PMAC_APM_EMU=m
|
||||
CONFIG_HW_RANDOM_PASEMI=m
|
||||
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=m
|
||||
CONFIG_EDAC_PASEMI=m
|
||||
CONFIG_EDAC_AMD8131=m
|
||||
CONFIG_EDAC_AMD8111=m
|
||||
CONFIG_EDAC_LEGACY_SYSFS=y
|
||||
|
||||
# CONFIG_AXON_RAM is not set
|
||||
# CONFIG_OPROFILE_CELL is not set
|
||||
|
||||
CONFIG_SUSPEND_FREEZER=y
|
||||
# CONFIG_IDEPCI_PCIBUS_ORDER is not set
|
||||
CONFIG_PATA_PLATFORM=m
|
||||
CONFIG_PATA_OF_PLATFORM=m
|
||||
CONFIG_USB_EHCI_HCD_PPC_OF=y
|
||||
|
||||
# CONFIG_MPC5121_ADS is not set
|
||||
CONFIG_MTD_OF_PARTS=y
|
||||
|
@ -191,10 +245,6 @@ CONFIG_DMADEVICES=y
|
|||
|
||||
CONFIG_SND_PPC=y
|
||||
|
||||
# CONFIG_PPC_82xx is not set
|
||||
# CONFIG_PPC_83xx is not set
|
||||
# CONFIG_PPC_86xx is not set
|
||||
CONFIG_EXTRA_TARGETS=""
|
||||
# CONFIG_CODE_PATCHING_SELFTEST is not set
|
||||
# CONFIG_FTR_FIXUP_SELFTEST is not set
|
||||
|
||||
|
@ -209,9 +259,6 @@ CONFIG_EXTRA_TARGETS=""
|
|||
|
||||
CONFIG_NET_VENDOR_IBM=y
|
||||
|
||||
CONFIG_MLX4_EN=m
|
||||
CONFIG_MLX4_EN_DCB=y
|
||||
|
||||
# CONFIG_SERIO_XILINX_XPS_PS2 is not set
|
||||
|
||||
# CONFIG_PPC_SMLPAR is not set
|
||||
|
@ -221,21 +268,10 @@ CONFIG_MLX4_EN_DCB=y
|
|||
# CONFIG_GEF_PPC9A is not set
|
||||
# CONFIG_GEF_SBC310 is not set
|
||||
|
||||
# CONFIG_QUICC_ENGINE is not set
|
||||
# CONFIG_QE_GPIO is not set
|
||||
|
||||
CONFIG_IDE_GD=y
|
||||
CONFIG_IDE_GD_ATA=y
|
||||
CONFIG_IDE_GD_ATAPI=y
|
||||
|
||||
# CONFIG_MCU_MPC8349EMITX is not set
|
||||
|
||||
# CONFIG_GPIO_XILINX is not set
|
||||
|
||||
CONFIG_PMIC_DA903X=y
|
||||
CONFIG_BACKLIGHT_DA903X=m
|
||||
CONFIG_LEDS_DA903X=m
|
||||
|
||||
CONFIG_MSI_BITMAP_SELFTEST=y
|
||||
|
||||
CONFIG_RELOCATABLE=y
|
||||
|
@ -243,11 +279,10 @@ CONFIG_RELOCATABLE=y
|
|||
# CONFIG_HVC_UDBG is not set
|
||||
CONFIG_PRINT_STACK_DEPTH=64
|
||||
|
||||
CONFIG_BATTERY_DA9030=m
|
||||
# CONFIG_PMIC_DA903X is not set
|
||||
# CONFIG_TWL4030_CORE is not set
|
||||
|
||||
CONFIG_BLK_DEV_IT8172=m
|
||||
CONFIG_TOUCHSCREEN_DA9034=m
|
||||
|
||||
CONFIG_SIMPLE_GPIO=y
|
||||
|
||||
|
@ -255,6 +290,7 @@ CONFIG_SIMPLE_GPIO=y
|
|||
|
||||
# CONFIG_PS3_VRAM is not set
|
||||
CONFIG_MDIO_GPIO=m
|
||||
CONFIG_SERIAL_OF_PLATFORM=m
|
||||
# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
|
||||
# CONFIG_DEBUG_GPIO is not set
|
||||
CONFIG_GPIO_PCA953X=m
|
||||
|
@ -265,22 +301,18 @@ CONFIG_GPIO_PCF857X=m
|
|||
|
||||
# CONFIG_AMIGAONE is not set
|
||||
|
||||
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
|
||||
|
||||
CONFIG_DTL=y
|
||||
|
||||
CONFIG_MMC_SDHCI_OF=m
|
||||
|
||||
# CONFIG_CONSISTENT_SIZE_BOOL is not set
|
||||
|
||||
|
||||
CONFIG_PPC_EMULATED_STATS=y
|
||||
|
||||
CONFIG_SWIOTLB=y
|
||||
|
||||
# CONFIG_RDS is not set
|
||||
|
||||
CONFIG_PPC_DISABLE_WERROR=y
|
||||
# CONFIG_STRICT_MM_TYPECHECKS is not set
|
||||
|
||||
# CONFIG_XILINX_LL_TEMAC is not set
|
||||
# CONFIG_XILINX_EMACLITE is not set
|
||||
|
@ -289,21 +321,15 @@ CONFIG_GPIO_WM831X=m
|
|||
# CONFIG_GPIO_UCB1400 is not set
|
||||
# CONFIG_EDAC_MPC85XX is not set
|
||||
|
||||
CONFIG_NR_IRQS=512
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
|
||||
# CONFIG_PPC_MPC5200_LPBFIFO is not set
|
||||
# CONFIG_CAN_MSCAN is not set
|
||||
# CONFIG_CAN_MPC5XXX is not set
|
||||
CONFIG_PATA_MACIO=y
|
||||
CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m
|
||||
# CONFIG_PMIC_ADP5520 is not set
|
||||
# CONFIG_MFD_MAX8997 is not set
|
||||
# CONFIG_MFD_TPS65910 is not set
|
||||
# CONFIG_MFD_TPS65912_I2C is not set
|
||||
# CONFIG_MFD_WL1273_CORE is not set
|
||||
# CONFIG_XPS_USB_HCD_XILINX is not set
|
||||
# CONFIG_MMC_SDHCI_OF_ESDHC is not set
|
||||
# CONFIG_MMC_SDHCI_OF_HLWD is not set
|
||||
|
||||
# CONFIG_MFD_AAT2870_CORE is not set
|
||||
|
@ -311,13 +337,6 @@ CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m
|
|||
# CONFIG_GPIO_SCH is not set
|
||||
# CONFIG_GPIO_74XX_MMIO is not set
|
||||
|
||||
# CONFIG_PPC_MPC512x is not set
|
||||
# CONFIG_RTC_DRV_MPC5121 is not set
|
||||
|
||||
# CONFIG_MPC512X_DMA is not set
|
||||
|
||||
CONFIG_KVM_GUEST=y
|
||||
|
||||
CONFIG_I2C_MPC=m
|
||||
|
||||
# CONFIG_IMA is not set
|
||||
|
@ -325,6 +344,7 @@ CONFIG_I2C_MPC=m
|
|||
|
||||
# CONFIG_CRYPTO_DEV_FSL_CAAM is not set
|
||||
# CONFIG_CRYPTO_SHA1_PPC is not set
|
||||
# CONFIG_CRYPTO_MD5_PPC is not set
|
||||
|
||||
# CONFIG_CAN_FLEXCAN is not set
|
||||
# CONFIG_NET_VENDOR_XILINX is not set
|
||||
|
@ -333,15 +353,14 @@ CONFIG_I2C_MPC=m
|
|||
# CONFIG_NET_VENDOR_PASEMI is not set
|
||||
# CONFIG_NET_VENDOR_TOSHIBA is not set
|
||||
|
||||
# CONFIG_CPU_IDLE is not set
|
||||
CONFIG_MDIO_OCTEON=m
|
||||
|
||||
# CONFIG_OF_UNITTEST is not set
|
||||
# CONFIG_OF_OVERLAY is not set
|
||||
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
|
||||
# CONFIG_INPUT_GP2A is not set
|
||||
# CONFIG_INPUT_GPIO_TILT_POLLED is not set
|
||||
|
||||
CONFIG_RCU_FANOUT_LEAF=16
|
||||
|
||||
# CONFIG_IRQ_DOMAIN_DEBUG is not set
|
||||
# CONFIG_MPIC_MSGR is not set
|
||||
# CONFIG_FA_DUMP is not set
|
||||
|
@ -351,21 +370,14 @@ CONFIG_RCU_FANOUT_LEAF=16
|
|||
# CONFIG_SPAPR_TCE_IOMMU is not set
|
||||
# CONFIG_TRANSPARENT_HUGEPAGE is not set
|
||||
|
||||
CONFIG_PPC_DENORMALISATION=y
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
# CONFIG_MFD_SYSCON is not set
|
||||
# CONFIG_ASYMMETRIC_KEY_TYPE is not set
|
||||
|
||||
|
||||
# CONFIG_CPU_LITTLE_ENDIAN is not set
|
||||
# CONFIG_WINDFARM is not set
|
||||
|
||||
CONFIG_POWER_RESET_GPIO=y
|
||||
CONFIG_POWER_RESET_GPIO_RESTART=y
|
||||
CONFIG_FB_SSD1307=m
|
||||
CONFIG_INPUT_PWM_BEEPER=m
|
||||
CONFIG_BACKLIGHT_PWM=m
|
||||
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=n
|
||||
|
||||
CONFIG_XZ_DEC_POWERPC=y
|
||||
|
||||
CONFIG_CRASH=m
|
|
@ -1 +1,6 @@
|
|||
CONFIG_CPU_LITTLE_ENDIAN=y
|
||||
|
||||
CONFIG_POWER7_CPU=y
|
||||
|
||||
# https://fedoraproject.org/wiki/Features/Checkpoint_Restore
|
||||
CONFIG_CHECKPOINT_RESTORE=y
|
||||
|
|
|
@ -1,174 +1,3 @@
|
|||
# CONFIG_CPU_LITTLE_ENDIAN is not set
|
||||
|
||||
CONFIG_POWER7_CPU=y
|
||||
# CONFIG_PPC_PMAC64 is not set
|
||||
# CONFIG_PPC_MAPLE is not set
|
||||
# CONFIG_PPC_CELL is not set
|
||||
# CONFIG_PPC_IBM_CELL_BLADE is not set
|
||||
CONFIG_PPC_PSERIES=y
|
||||
# CONFIG_PPC_PMAC is not set
|
||||
CONFIG_PPC_POWERNV=y
|
||||
CONFIG_PPC_POWERNV_RTAS=y
|
||||
CONFIG_HW_RANDOM_POWERNV=m
|
||||
CONFIG_SENSORS_IBMPOWERNV=y
|
||||
CONFIG_POWERNV_CPUFREQ=m
|
||||
CONFIG_IPMI_POWERNV=m
|
||||
CONFIG_SCOM_DEBUGFS=y
|
||||
# CONFIG_PPC_PASEMI is not set
|
||||
# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set
|
||||
# CONFIG_PPC_PS3 is not set
|
||||
# CONFIG_PPC_CELLEB is not set
|
||||
# CONFIG_PPC_CELL_QPACE is not set
|
||||
CONFIG_IBMEBUS=y
|
||||
CONFIG_RTAS_FLASH=y
|
||||
# CONFIG_UDBG_RTAS_CONSOLE is not set
|
||||
CONFIG_PPC_SPLPAR=y
|
||||
CONFIG_SCANLOG=y
|
||||
CONFIG_LPARCFG=y
|
||||
CONFIG_SERIAL_ICOM=m
|
||||
CONFIG_HVCS=m
|
||||
CONFIG_HVC_CONSOLE=y
|
||||
# CONFIG_HVC_OLD_HVSI is not set
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
CONFIG_IBMVETH=m
|
||||
CONFIG_SCSI_IBMVSCSI=m
|
||||
# CONFIG_HOTPLUG_PCI_CPCI is not set
|
||||
CONFIG_HOTPLUG_PCI_SHPC=m
|
||||
CONFIG_HOTPLUG_PCI_RPA=m
|
||||
CONFIG_HOTPLUG_PCI_RPA_DLPAR=y
|
||||
CONFIG_ADB_PMU_LED=y
|
||||
CONFIG_ADB_PMU_LED_IDE=y
|
||||
CONFIG_SCSI_IPR=m
|
||||
CONFIG_SCSI_IPR_TRACE=y
|
||||
CONFIG_SCSI_IPR_DUMP=y
|
||||
CONFIG_HVC_RTAS=y
|
||||
CONFIG_HVC_OPAL=y
|
||||
|
||||
# iSeries device drivers
|
||||
#
|
||||
|
||||
CONFIG_SERIAL_OF_PLATFORM=m
|
||||
|
||||
CONFIG_SERIAL_TXX9=y
|
||||
CONFIG_SERIAL_TXX9_NR_UARTS=6
|
||||
CONFIG_SERIAL_TXX9_CONSOLE=y
|
||||
|
||||
CONFIG_HVC_BEAT=y
|
||||
|
||||
CONFIG_PPC_PMI=m
|
||||
|
||||
CONFIG_PATA_SCC=m
|
||||
|
||||
CONFIG_APM_EMULATION=m
|
||||
|
||||
CONFIG_PPC64=y
|
||||
CONFIG_VIRT_CPU_ACCOUNTING=y
|
||||
CONFIG_NR_CPUS=1024
|
||||
# CONFIG_FB_PLATINUM is not set
|
||||
# CONFIG_FB_VALKYRIE is not set
|
||||
# CONFIG_FB_CT65550 is not set
|
||||
# CONFIG_FB_VGA16 is not set
|
||||
# CONFIG_FB_ATY128 is not set
|
||||
# CONFIG_FB_ATY is not set
|
||||
|
||||
|
||||
CONFIG_RTAS_PROC=y
|
||||
CONFIG_NUMA=y
|
||||
CONFIG_NUMA_BALANCING=y
|
||||
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
|
||||
CONFIG_PPC_64K_PAGES=y
|
||||
CONFIG_PPC_SUBPAGE_PROT=y
|
||||
CONFIG_SCHED_SMT=y
|
||||
|
||||
CONFIG_HZ=100
|
||||
CONFIG_HZ_100=y
|
||||
# CONFIG_HZ_1000 is not set
|
||||
|
||||
CONFIG_MEMORY_HOTREMOVE=y
|
||||
|
||||
CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE=y
|
||||
|
||||
CONFIG_CGROUP_HUGETLB=y
|
||||
|
||||
# CONFIG_MV643XX_ETH is not set
|
||||
CONFIG_IRQSTACKS=y
|
||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
# CONFIG_INPUT_PCSPKR is not set
|
||||
|
||||
CONFIG_EHEA=m
|
||||
CONFIG_INFINIBAND_EHCA=m
|
||||
|
||||
# CONFIG_HCALL_STATS is not set
|
||||
|
||||
CONFIG_XMON_DISASSEMBLY=y
|
||||
|
||||
|
||||
# CONFIG_TUNE_CELL is not set
|
||||
# CONFIG_BLK_DEV_PLATFORM is not set
|
||||
|
||||
|
||||
CONFIG_EDAC_CPC925=m
|
||||
CONFIG_FRAME_WARN=2048
|
||||
|
||||
CONFIG_FORCE_MAX_ZONEORDER=9
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
|
||||
CONFIG_VSX=y
|
||||
|
||||
CONFIG_SCSI_IBMVFC=m
|
||||
# CONFIG_SCSI_IBMVFC_TRACE is not set
|
||||
CONFIG_IBM_BSR=m
|
||||
|
||||
CONFIG_CRASH_DUMP=y
|
||||
CONFIG_FA_DUMP=y
|
||||
CONFIG_RELOCATABLE=y
|
||||
|
||||
CONFIG_RCU_FANOUT=64
|
||||
|
||||
CONFIG_CMA=y
|
||||
# CONFIG_CMA_DEBUG is not set
|
||||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_KVM_BOOK3S_64=m
|
||||
CONFIG_KVM_BOOK3S_64_HV=m
|
||||
CONFIG_KVM_BOOK3S_64_PR=m
|
||||
# CONFIG_KVM_EXIT_TIMING is not set
|
||||
CONFIG_KVM_XICS=y
|
||||
|
||||
#-- bz#607175
|
||||
#-- active memory sharing
|
||||
CONFIG_PPC_SMLPAR=y
|
||||
CONFIG_CMM=y
|
||||
CONFIG_HV_PERF_CTRS=y
|
||||
#-- DLPAR memory remove
|
||||
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||
|
||||
# CONFIG_COMPACTION is not set
|
||||
|
||||
CONFIG_PSERIES_ENERGY=m
|
||||
|
||||
CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_PSERIES_CPUIDLE=y
|
||||
CONFIG_POWERNV_CPUIDLE=y
|
||||
|
||||
CONFIG_PPC_ICSWX=y
|
||||
CONFIG_IO_EVENT_IRQ=y
|
||||
CONFIG_HW_RANDOM_AMD=m
|
||||
|
||||
CONFIG_UIO_PDRV=m
|
||||
|
||||
CONFIG_I2C_OPAL=m
|
||||
CONFIG_RTC_DRV_OPAL=m
|
||||
|
||||
CONFIG_HW_RANDOM_PSERIES=m
|
||||
CONFIG_CRYPTO_DEV_NX=y
|
||||
CONFIG_CRYPTO_842=m
|
||||
CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS=m
|
||||
|
||||
CONFIG_CXL=m
|
||||
|
||||
# CONFIG_PPC_ICSWX_PID is not set
|
||||
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
# CONFIG_SND_HDA_INTEL is not set
|
||||
CONFIG_BLK_DEV_RSXX=m
|
||||
CONFIG_PPC_TRANSACTIONAL_MEM=y
|
||||
|
|
35
config-s390x
35
config-s390x
|
@ -1,5 +1,4 @@
|
|||
CONFIG_64BIT=y
|
||||
# CONFIG_MARCH_G5 is not set
|
||||
# CONFIG_MARCH_Z900 is not set
|
||||
CONFIG_MARCH_Z9_109=y
|
||||
# CONFIG_MARCH_Z990 is not set
|
||||
|
@ -15,6 +14,8 @@ CONFIG_HZ_100=y
|
|||
|
||||
CONFIG_LOG_BUF_SHIFT=16
|
||||
|
||||
CONFIG_IRQ_DOMAIN_DEBUG=y
|
||||
|
||||
#
|
||||
# I/O subsystem configuration
|
||||
#
|
||||
|
@ -128,10 +129,12 @@ CONFIG_MSDOS_PARTITION=y
|
|||
#
|
||||
# S390 crypto hw
|
||||
#
|
||||
CONFIG_CRYPTO_AES_S390=m
|
||||
CONFIG_CRYPTO_DES_S390=m
|
||||
CONFIG_CRYPTO_GHASH_S390=m
|
||||
CONFIG_CRYPTO_SHA1_S390=m
|
||||
CONFIG_CRYPTO_SHA256_S390=m
|
||||
CONFIG_CRYPTO_DES_S390=m
|
||||
CONFIG_CRYPTO_AES_S390=m
|
||||
CONFIG_CRYPTO_SHA512_S390=m
|
||||
|
||||
#
|
||||
# Kernel hacking
|
||||
|
@ -147,10 +150,6 @@ CONFIG_DIAG288_WATCHDOG=m
|
|||
CONFIG_VMLOGRDR=m
|
||||
CONFIG_MONREADER=m
|
||||
|
||||
CONFIG_VIRT_CPU_ACCOUNTING=y
|
||||
|
||||
# CONFIG_CLAW is not set
|
||||
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
# CONFIG_MII is not set
|
||||
|
@ -175,8 +174,7 @@ CONFIG_S390_VMUR=m
|
|||
CONFIG_CTCM=m
|
||||
CONFIG_QETH_L2=m
|
||||
CONFIG_QETH_L3=m
|
||||
CONFIG_CRYPTO_SHA512_S390=m
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
|
||||
CONFIG_KVM=m
|
||||
# CONFIG_KVM_S390_UCONTROL is not set
|
||||
CONFIG_S390_GUEST=y
|
||||
|
@ -207,11 +205,10 @@ CONFIG_VMCP=y
|
|||
CONFIG_SCHED_MC=y
|
||||
CONFIG_SCHED_BOOK=y
|
||||
CONFIG_SCHED_TOPOLOGY=y
|
||||
# CONFIG_NUMA is not set
|
||||
|
||||
# CONFIG_WARN_DYNAMIC_STACK is not set
|
||||
|
||||
CONFIG_CRYPTO_GHASH_S390=m
|
||||
|
||||
# CONFIG_TRANSPARENT_HUGEPAGE is not set
|
||||
CONFIG_SCM_BUS=y
|
||||
CONFIG_EADM_SCH=m
|
||||
|
@ -223,7 +220,6 @@ CONFIG_SCM_BLOCK_CLUSTER_WRITE=y
|
|||
CONFIG_PCI=y
|
||||
CONFIG_PCI_NR_FUNCTIONS=64
|
||||
CONFIG_PCI_NR_MSI=256
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
CONFIG_HOTPLUG_PCI_CPCI=y
|
||||
CONFIG_HOTPLUG_PCI_SHPC=y
|
||||
CONFIG_HOTPLUG_PCI_S390=y
|
||||
|
@ -297,17 +293,6 @@ CONFIG_HOTPLUG_PCI_S390=y
|
|||
# CONFIG_SH_ETH is not set
|
||||
# CONFIG_NET_VENDOR_VIA is not set
|
||||
# CONFIG_IEEE802154_DRIVERS is not set
|
||||
|
||||
# CONFIG_MDIO_OCTEON is not set
|
||||
# CONFIG_FMC is not set
|
||||
|
||||
CONFIG_MLX4_EN=m
|
||||
CONFIG_MLX4_EN_DCB=y
|
||||
CONFIG_INFINIBAND=m
|
||||
CONFIG_INFINIBAND_USER_ACCESS=m
|
||||
CONFIG_MLX4_INFINIBAND=m
|
||||
CONFIG_RDS=m
|
||||
CONFIG_RDS_RDMA=m
|
||||
CONFIG_RDS_TCP=m
|
||||
CONFIG_IRQ_DOMAIN_DEBUG=y
|
||||
|
||||
CONFIG_CRASH=m
|
||||
# CONFIG_OF is not set
|
||||
|
|
|
@ -83,7 +83,6 @@ CONFIG_X86_LONGRUN=y
|
|||
|
||||
CONFIG_X86_HT=y
|
||||
|
||||
|
||||
# CONFIG_4KSTACKS is not set
|
||||
|
||||
CONFIG_PCI_DIRECT=y
|
||||
|
@ -198,6 +197,7 @@ CONFIG_BACKLIGHT_PWM=m
|
|||
|
||||
# CONFIG_EDAC_SBRIDGE is not set
|
||||
|
||||
CONFIG_OF=y
|
||||
# CONFIG_OF_UNITTEST is not set
|
||||
# CONFIG_OF_OVERLAY is not set
|
||||
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
|
||||
|
@ -219,3 +219,4 @@ CONFIG_BACKLIGHT_PWM=m
|
|||
# CONFIG_COMMON_CLK_SI570 is not set
|
||||
# CONFIG_COMMON_CLK_QCOM is not set
|
||||
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
|
||||
# CONFIG_KEYBOARD_BCM is not set
|
||||
|
|
|
@ -4,6 +4,8 @@ CONFIG_X86_EXTENDED_PLATFORM=y
|
|||
|
||||
CONFIG_X86_GENERIC=y
|
||||
|
||||
# CONFIG_X86_LEGACY_VM86 is not set
|
||||
|
||||
CONFIG_HPET=y
|
||||
CONFIG_HPET_TIMER=y
|
||||
# CONFIG_HPET_MMAP is not set
|
||||
|
@ -34,21 +36,19 @@ CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
|
|||
CONFIG_X86_PAT=y
|
||||
CONFIG_X86_PM_TIMER=y
|
||||
|
||||
# This requires changes to binutils and the compiler. Plus you can't actually
|
||||
# buy hardware with MPX yet. So... leave it off until all of that seems set.
|
||||
# CONFIG_X86_INTEL_MPX is not set
|
||||
CONFIG_X86_INTEL_MPX=y
|
||||
|
||||
CONFIG_EFI=y
|
||||
CONFIG_EFI_STUB=y
|
||||
# CONFIG_EFI_MIXED is not set
|
||||
CONFIG_EFI_VARS=y
|
||||
# CONFIG_EFI_VARS is not set
|
||||
CONFIG_EFIVAR_FS=y
|
||||
CONFIG_EFI_VARS_PSTORE=y
|
||||
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
|
||||
# CONFIG_EFI_VARS_PSTORE is not set
|
||||
# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
|
||||
CONFIG_EFI_PCDP=y
|
||||
CONFIG_FB_EFI=y
|
||||
CONFIG_EARLY_PRINTK_EFI=y
|
||||
CONFIG_EFI_RUNTIME_MAP=y
|
||||
# CONFIG_EFI_FAKE_MEMMAP is not set
|
||||
# needs FB_SIMPLE to work correctly
|
||||
# CONFIG_X86_SYSFB is not set
|
||||
|
||||
|
@ -58,6 +58,7 @@ CONFIG_EFI_RUNTIME_MAP=y
|
|||
CONFIG_INTEL_IOMMU=y
|
||||
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
|
||||
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
|
||||
CONFIG_INTEL_IOMMU_SVM=y
|
||||
CONFIG_SCSI_ADVANSYS=m
|
||||
|
||||
CONFIG_CAPI_EICON=y
|
||||
|
@ -67,9 +68,12 @@ CONFIG_CAPI_EICON=y
|
|||
#
|
||||
CONFIG_X86_MPPARSE=y
|
||||
# CONFIG_X86_VERBOSE_BOOTUP is not set
|
||||
CONFIG_MMIOTRACE=y
|
||||
# CONFIG_MMIOTRACE_TEST is not set
|
||||
# CONFIG_DEBUG_PER_CPU_MAPS is not set
|
||||
CONFIG_DEBUG_RODATA=y
|
||||
# Generating too many warnings while waiting for fixes
|
||||
# CONFIG_DEBUG_WX is not set
|
||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
|
||||
CONFIG_ACPI=y
|
||||
|
@ -102,8 +106,17 @@ CONFIG_ACPI_IPMI=m
|
|||
CONFIG_ACPI_CUSTOM_METHOD=m
|
||||
CONFIG_ACPI_BGRT=y
|
||||
# CONFIG_ACPI_EXTLOG is not set
|
||||
# CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set
|
||||
|
||||
CONFIG_INTEL_SOC_PMIC=y
|
||||
CONFIG_PMIC_OPREGION=y
|
||||
CONFIG_CRC_PMIC_OPREGION=y
|
||||
CONFIG_XPOWER_PMIC_OPREGION=y
|
||||
CONFIG_GPIO_CRYSTAL_COVE=y
|
||||
CONFIG_AXP288_ADC=y
|
||||
CONFIG_AXP288_FUEL_GAUGE=y
|
||||
# CONFIG_PWM_CRC is not set
|
||||
|
||||
# CONFIG_PMIC_OPREGION is not set
|
||||
|
||||
CONFIG_X86_INTEL_PSTATE=y
|
||||
CONFIG_X86_ACPI_CPUFREQ=m
|
||||
|
@ -125,17 +138,16 @@ CONFIG_CRYPTO_DEV_CCP=y
|
|||
CONFIG_CRYPTO_DEV_CCP_DD=m
|
||||
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
|
||||
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
|
||||
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
|
||||
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
|
||||
CONFIG_PCI_MMCONFIG=y
|
||||
CONFIG_PCI_BIOS=y
|
||||
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
CONFIG_HOTPLUG_PCI_COMPAQ=m
|
||||
# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
|
||||
CONFIG_HOTPLUG_PCI_IBM=m
|
||||
# CONFIG_HOTPLUG_PCI_CPCI is not set
|
||||
|
||||
CONFIG_IPW2100=m
|
||||
CONFIG_IPW2100_MONITOR=y
|
||||
|
@ -212,7 +224,7 @@ CONFIG_AMILO_RFKILL=m
|
|||
CONFIG_ASUS_LAPTOP=m
|
||||
CONFIG_COMPAL_LAPTOP=m
|
||||
CONFIG_DELL_LAPTOP=m
|
||||
CONFIG_CHROME_PLATFORMS=y
|
||||
CONFIG_DELL_RBTN=m
|
||||
CONFIG_CHROMEOS_LAPTOP=m
|
||||
CONFIG_CHROMEOS_PSTORE=m
|
||||
CONFIG_EEEPC_LAPTOP=m
|
||||
|
@ -235,6 +247,7 @@ CONFIG_ASUS_NB_WMI=m
|
|||
CONFIG_HP_WIRELESS=m
|
||||
CONFIG_HP_WMI=m
|
||||
# CONFIG_INTEL_SCU_IPC is not set
|
||||
# CONFIG_INTEL_PMC_IPC is not set
|
||||
CONFIG_DELL_WMI=m
|
||||
CONFIG_DELL_WMI_AIO=m
|
||||
CONFIG_DELL_SMO8800=m
|
||||
|
@ -254,11 +267,8 @@ CONFIG_TOUCHSCREEN_GOODIX=m
|
|||
CONFIG_VIA_WDT=m
|
||||
CONFIG_IE6XX_WDT=m
|
||||
|
||||
CONFIG_CRASH_DUMP=y
|
||||
CONFIG_PROC_VMCORE=y
|
||||
CONFIG_CRASH=m
|
||||
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
CONFIG_KVM=m
|
||||
CONFIG_KVM_INTEL=m
|
||||
CONFIG_KVM_AMD=m
|
||||
|
@ -304,6 +314,16 @@ CONFIG_XEN_PCIDEV_BACKEND=m
|
|||
CONFIG_XEN_ACPI_PROCESSOR=m
|
||||
# CONFIG_XEN_SCSI_FRONTEND is not set
|
||||
# CONFIG_XEN_SCSI_BACKEND is not set
|
||||
CONFIG_XEN_SYMS=y
|
||||
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_MASTER=y
|
||||
CONFIG_SPI_PXA2XX=m
|
||||
# CONFIG_CAN_MCP251X is not set
|
||||
# CONFIG_SPI_CADENCE is not set
|
||||
# CONFIG_SPI_ZYNQMP_GQSPI is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
|
||||
# CONFIG_DRM_PANEL_LG_LG4573 is not set
|
||||
|
||||
CONFIG_MTD_ESB2ROM=m
|
||||
CONFIG_MTD_CK804XROM=m
|
||||
|
@ -331,11 +351,13 @@ CONFIG_ISCSI_IBFT=m
|
|||
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_INTEL_IOATDMA=m
|
||||
CONFIG_INTEL_IDMA64=m
|
||||
|
||||
CONFIG_SENSORS_I5K_AMB=m
|
||||
CONFIG_SENSORS_FAM15H_POWER=m
|
||||
CONFIG_SENSORS_ACPI_POWER=m
|
||||
CONFIG_SENSORS_I5500=m
|
||||
CONFIG_SENSORS_DELL_SMM=m
|
||||
|
||||
# CONFIG_CPA_DEBUG is not set
|
||||
|
||||
|
@ -354,6 +376,7 @@ CONFIG_HP_ILO=m
|
|||
|
||||
CONFIG_BACKLIGHT_APPLE=m
|
||||
|
||||
CONFIG_X86_PMEM_LEGACY=y
|
||||
|
||||
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
|
||||
|
||||
|
@ -381,6 +404,7 @@ CONFIG_ACPI_CMPC=m
|
|||
CONFIG_MSI_WMI=m
|
||||
CONFIG_TOSHIBA_BT_RFKILL=m
|
||||
CONFIG_TOSHIBA_HAPS=m
|
||||
CONFIG_TOSHIBA_WMI=m
|
||||
|
||||
CONFIG_VGA_SWITCHEROO=y
|
||||
CONFIG_LPC_SCH=m
|
||||
|
@ -428,7 +452,6 @@ CONFIG_INTEL_IDLE=y
|
|||
CONFIG_F71808E_WDT=m
|
||||
CONFIG_HPWDT_NMI_DECODING=y
|
||||
# CONFIG_MFD_TPS6586X is not set
|
||||
# CONFIG_INTEL_MID_DMAC is not set
|
||||
# CONFIG_GPIO_INTEL_MID is not set
|
||||
CONFIG_PCH_DMA=m
|
||||
CONFIG_INTEL_IPS=m
|
||||
|
@ -450,6 +473,8 @@ CONFIG_CRYPTO_CRC32_PCLMUL=m
|
|||
|
||||
CONFIG_HP_ACCEL=m
|
||||
|
||||
CONFIG_SURFACE_PRO3_BUTTON=m
|
||||
|
||||
# CONFIG_RAPIDIO is not set
|
||||
|
||||
CONFIG_SCHED_SMT=y
|
||||
|
@ -485,13 +510,19 @@ CONFIG_NFC_PN544_MEI=m
|
|||
CONFIG_NFC_MICROREAD_MEI=m
|
||||
|
||||
# Maybe enable in debug kernels?
|
||||
# CONFIG_DEBUG_ENTRY is not set
|
||||
# CONFIG_DEBUG_NMI_SELFTEST is not set
|
||||
|
||||
# CONFIG_X86_GOLDFISH is not set
|
||||
|
||||
CONFIG_X86_INTEL_LPSS=y
|
||||
CONFIG_IDMA64=m
|
||||
|
||||
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
|
||||
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
|
||||
|
||||
CONFIG_MFD_INTEL_LPSS_ACPI=m
|
||||
CONFIG_MFD_INTEL_LPSS_PCI=m
|
||||
|
||||
CONFIG_IOSF_MBI=m
|
||||
# CONFIG_IOSF_MBI_DEBUG is not set
|
||||
|
@ -500,7 +531,10 @@ CONFIG_PWM_LPSS_PCI=m
|
|||
CONFIG_PWM_LPSS_PLATFORM=m
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_PINCTRL_BAYTRAIL=y
|
||||
CONFIG_PINCTRL_CHERRYVIEW=m
|
||||
CONFIG_PINCTRL_CHERRYVIEW=y
|
||||
# CONFIG_PINCTRL_AMD is not set
|
||||
CONFIG_PINCTRL_SUNRISEPOINT=m
|
||||
CONFIG_PINCTRL_BROXTON=m
|
||||
|
||||
#baytrail/cherrytrail stuff
|
||||
CONFIG_KEYBOARD_GPIO=m
|
||||
|
@ -515,17 +549,22 @@ CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m
|
|||
CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
|
||||
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_SKL_RT286_MACH=m
|
||||
CONFIG_SND_SOC_AC97_CODEC=m
|
||||
# CONFIG_SND_SOC_TAS571X is not set
|
||||
# CONFIG_SND_SUN4I_CODEC is not set
|
||||
|
||||
# CONFIG_INTEL_POWERCLAMP is not set
|
||||
CONFIG_X86_PKG_TEMP_THERMAL=m
|
||||
CONFIG_INTEL_SOC_DTS_THERMAL=m
|
||||
CONFIG_INT340X_THERMAL=m
|
||||
CONFIG_INTEL_RAPL=m
|
||||
CONFIG_INTEL_PCH_THERMAL=m
|
||||
|
||||
CONFIG_VMWARE_VMCI=m
|
||||
CONFIG_VMWARE_VMCI_VSOCKETS=m
|
||||
CONFIG_MOUSE_PS2_VMMOUSE=y
|
||||
|
||||
CONFIG_XZ_DEC_X86=y
|
||||
|
||||
|
@ -540,6 +579,8 @@ CONFIG_MODULE_SIG_ALL=y
|
|||
# CONFIG_MODULE_SIG_SHA1 is not set
|
||||
CONFIG_MODULE_SIG_SHA256=y
|
||||
# CONFIG_MODULE_SIG_FORCE is not set
|
||||
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
|
||||
CONFIG_SYSTEM_TRUSTED_KEYS=""
|
||||
CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE=y
|
||||
CONFIG_EFI_SIGNATURE_LIST_PARSER=y
|
||||
|
||||
|
@ -549,6 +590,11 @@ CONFIG_EFI_SIGNATURE_LIST_PARSER=y
|
|||
CONFIG_MODULE_SIG_UEFI=y
|
||||
|
||||
CONFIG_VMXNET3=m
|
||||
CONFIG_FUJITSU_ES=m
|
||||
CONFIG_VFIO_PCI_VGA=y
|
||||
|
||||
# CONFIG_NTB is not set
|
||||
CONFIG_PCH_CAN=m
|
||||
|
||||
# CONFIG_X86_DEBUG_FPU is not set
|
||||
# CONFIG_PUNIT_ATOM_DEBUG is not set
|
||||
# CONFIG_AMD_MCE_INJ is not set
|
||||
|
|
|
@ -11,8 +11,10 @@ CONFIG_UV_MMTIMER=m
|
|||
CONFIG_NUMA=y
|
||||
CONFIG_AMD_NUMA=y
|
||||
CONFIG_X86_64_ACPI_NUMA=y
|
||||
CONFIG_ACPI_NFIT=m
|
||||
# CONFIG_ACPI_NFIT_DEBUG is not set
|
||||
# CONFIG_NUMA_EMU is not set
|
||||
# CONFIG_X86_NUMACHIP is not set
|
||||
CONFIG_X86_NUMACHIP=y
|
||||
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
|
||||
CONFIG_NUMA_BALANCING=y
|
||||
|
||||
|
@ -24,6 +26,9 @@ CONFIG_PHYSICAL_ALIGN=0x1000000
|
|||
# https://lists.fedoraproject.org/pipermail/kernel/2013-December/004753.html
|
||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
|
||||
|
||||
# enable the 32-bit entry point for Baytrail
|
||||
CONFIG_EFI_MIXED=y
|
||||
|
||||
CONFIG_IA32_EMULATION=y
|
||||
# CONFIG_IA32_AOUT is not set
|
||||
|
||||
|
@ -49,10 +54,14 @@ CONFIG_ACPI_HOTPLUG_MEMORY=y
|
|||
|
||||
# CONFIG_INTEL_SCU_IPC is not set
|
||||
|
||||
CONFIG_SCIF_BUS=m
|
||||
CONFIG_SCIF=m
|
||||
|
||||
CONFIG_INTEL_MIC_HOST=m
|
||||
CONFIG_INTEL_MIC_CARD=m
|
||||
CONFIG_INTEL_MIC_BUS=m
|
||||
CONFIG_INTEL_MIC_X100_DMA=m
|
||||
CONFIG_MIC_COSM=m
|
||||
|
||||
# SHPC has half-arsed PCI probing, which makes it load on too many systems
|
||||
CONFIG_HOTPLUG_PCI_SHPC=m
|
||||
|
@ -78,6 +87,8 @@ CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
|
|||
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
|
||||
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
|
||||
CONFIG_CRYPTO_DES3_EDE_X86_64=m
|
||||
CONFIG_CRYPTO_POLY1305_X86_64=m
|
||||
CONFIG_CRYPTO_CHACHA20_X86_64=m
|
||||
# staging crypto
|
||||
# CONFIG_CRYPTO_SKEIN is not set
|
||||
|
||||
|
@ -103,6 +114,7 @@ CONFIG_SPARSEMEM_VMEMMAP=y
|
|||
CONFIG_MEMORY_HOTPLUG=y
|
||||
# CONFIG_ARCH_MEMORY_PROBE is not set
|
||||
# CONFIG_MEMORY_HOTREMOVE is not set
|
||||
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
|
||||
|
||||
# CONFIG_BLK_DEV_CMD640 is not set
|
||||
# CONFIG_BLK_DEV_RZ1000 is not set
|
||||
|
@ -124,7 +136,8 @@ CONFIG_XEN_DEV_EVTCHN=m
|
|||
CONFIG_XEN_SYS_HYPERVISOR=y
|
||||
# CONFIG_XEN_MCE_LOG is not set
|
||||
# CONFIG_XEN_STUB is not set
|
||||
# CONFIG_XEN_PVH is not set
|
||||
CONFIG_XEN_PVH=y
|
||||
CONFIG_XEN_512GB=y
|
||||
|
||||
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
|
||||
|
||||
|
@ -147,6 +160,7 @@ CONFIG_RCU_FANOUT=64
|
|||
|
||||
CONFIG_INTEL_TXT=y
|
||||
|
||||
# CONFIG_OF is not set
|
||||
|
||||
CONFIG_FUNCTION_GRAPH_TRACER=y
|
||||
|
||||
|
@ -162,24 +176,39 @@ CONFIG_THUNDERBOLT=m
|
|||
|
||||
CONFIG_NTB=m
|
||||
CONFIG_NTB_NETDEV=m
|
||||
CONFIG_NTB_INTEL=m
|
||||
CONFIG_NTB_PINGPONG=m
|
||||
CONFIG_NTB_TOOL=m
|
||||
CONFIG_NTB_TRANSPORT=m
|
||||
|
||||
# 10GigE
|
||||
#
|
||||
CONFIG_IP1000=m
|
||||
CONFIG_MLX4_EN=m
|
||||
CONFIG_MLX4_EN_DCB=y
|
||||
# CONFIG_MLX4_DEBUG is not set
|
||||
CONFIG_SFC=m
|
||||
CONFIG_SFC_MCDI_MON=y
|
||||
CONFIG_SFC_SRIOV=y
|
||||
CONFIG_SFC_MTD=y
|
||||
# CONFIG_SFC_MCDI_LOGGING is not set
|
||||
# Override MTD stuff because SFC_MTD needs it
|
||||
CONFIG_MTD_BLOCK=m
|
||||
|
||||
CONFIG_HSA_AMD=m
|
||||
|
||||
CONFIG_LIBNVDIMM=m
|
||||
CONFIG_BTT=y
|
||||
CONFIG_ND_BTT=m
|
||||
CONFIG_ND_BLK=m
|
||||
|
||||
CONFIG_MDIO_OCTEON=m
|
||||
|
||||
CONFIG_NO_HZ_FULL=y
|
||||
# CONFIG_NO_HZ_IDLE is not set
|
||||
# CONFIG_NO_HZ_FULL_ALL is not set
|
||||
# CONFIG_NO_HZ_FULL_SYSIDLE is not set
|
||||
# CONFIG_CONTEXT_TRACKING_FORCE is not set
|
||||
|
||||
# Turn on CONFIG_CMA for THP
|
||||
CONFIG_CMA=y
|
||||
# CONFIG_CMA_DEBUG is not set
|
||||
# CONFIG_CMA_DEBUGFS is not set
|
||||
CONFIG_CMA_AREAS=7
|
||||
|
|
|
@ -148,7 +148,7 @@ index 000000000000..404bcb93c112
|
|||
+
|
||||
+#endif /* _ASM_IA64_CRASH_H */
|
||||
diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c
|
||||
index 5b7791dd3965..aee4b870c763 100644
|
||||
index 096731049538..e88887827906 100644
|
||||
--- a/arch/ia64/kernel/ia64_ksyms.c
|
||||
+++ b/arch/ia64/kernel/ia64_ksyms.c
|
||||
@@ -84,6 +84,9 @@ EXPORT_SYMBOL(ia64_save_scratch_fpregs);
|
||||
|
@ -240,10 +240,10 @@ index 000000000000..552be5e2c571
|
|||
+
|
||||
+#endif /* _S390_CRASH_H */
|
||||
diff --git a/arch/s390/mm/maccess.c b/arch/s390/mm/maccess.c
|
||||
index 2eb34bdfc613..11ce5c98462c 100644
|
||||
index 8a993a53fcd6..8f511795b52e 100644
|
||||
--- a/arch/s390/mm/maccess.c
|
||||
+++ b/arch/s390/mm/maccess.c
|
||||
@@ -193,6 +193,7 @@ void *xlate_dev_mem_ptr(phys_addr_t addr)
|
||||
@@ -197,6 +197,7 @@ void *xlate_dev_mem_ptr(phys_addr_t addr)
|
||||
put_online_cpus();
|
||||
return bounce;
|
||||
}
|
||||
|
@ -251,7 +251,7 @@ index 2eb34bdfc613..11ce5c98462c 100644
|
|||
|
||||
/*
|
||||
* Free converted buffer for /dev/mem access (if necessary)
|
||||
@@ -202,3 +203,4 @@ void unxlate_dev_mem_ptr(phys_addr_t addr, void *buf)
|
||||
@@ -206,3 +207,4 @@ void unxlate_dev_mem_ptr(phys_addr_t addr, void *buf)
|
||||
if ((void *) addr != buf)
|
||||
free_page((unsigned long) buf);
|
||||
}
|
||||
|
@ -269,7 +269,7 @@ index 000000000000..fd4736ec99f5
|
|||
+
|
||||
+#endif /* _X86_CRASH_H */
|
||||
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
|
||||
index a4af8221751e..193f1a7c2ce5 100644
|
||||
index a043107da2af..b272397f306a 100644
|
||||
--- a/drivers/char/Kconfig
|
||||
+++ b/drivers/char/Kconfig
|
||||
@@ -4,6 +4,9 @@
|
||||
|
@ -283,10 +283,10 @@ index a4af8221751e..193f1a7c2ce5 100644
|
|||
|
||||
config DEVMEM
|
||||
diff --git a/drivers/char/Makefile b/drivers/char/Makefile
|
||||
index d06cde26031b..0832636fd9bc 100644
|
||||
index d8a7579300d2..31c83630f593 100644
|
||||
--- a/drivers/char/Makefile
|
||||
+++ b/drivers/char/Makefile
|
||||
@@ -62,3 +62,5 @@ js-rtc-y = rtc.o
|
||||
@@ -60,3 +60,5 @@ js-rtc-y = rtc.o
|
||||
|
||||
obj-$(CONFIG_TILE_SROM) += tile-srom.o
|
||||
obj-$(CONFIG_XILLYBUS) += xillybus/
|
||||
|
@ -504,6 +504,3 @@ index 000000000000..25ab9869d566
|
|||
+#endif /* __KERNEL__ */
|
||||
+
|
||||
+#endif /* __CRASH_H__ */
|
||||
--
|
||||
2.1.0
|
||||
|
||||
|
|
|
@ -9,27 +9,24 @@ Upstream-status: Fedora mustard
|
|||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/init/Kconfig b/init/Kconfig
|
||||
index 9a782b02e4d5..d97b5032d4b0 100644
|
||||
index 648bb79d6b73..860ca236975f 100644
|
||||
--- a/init/Kconfig
|
||||
+++ b/init/Kconfig
|
||||
@@ -1135,7 +1135,7 @@ config DEBUG_BLK_CGROUP
|
||||
@@ -1137,7 +1137,7 @@ config CGROUP_WRITEBACK
|
||||
endif # CGROUPS
|
||||
|
||||
config CHECKPOINT_RESTORE
|
||||
- bool "Checkpoint/restore support" if EXPERT
|
||||
+ bool "Checkpoint/restore support"
|
||||
select PROC_CHILDREN
|
||||
default n
|
||||
help
|
||||
Enables additional kernel features in a sake of checkpoint/restore.
|
||||
@@ -1146,7 +1146,7 @@ config CHECKPOINT_RESTORE
|
||||
@@ -1149,7 +1149,7 @@ config CHECKPOINT_RESTORE
|
||||
If unsure, say N here.
|
||||
|
||||
menuconfig NAMESPACES
|
||||
- bool "Namespaces support" if EXPERT
|
||||
+ bool "Namespaces support"
|
||||
depends on MULTIUSER
|
||||
default !EXPERT
|
||||
help
|
||||
Provides the way to make tasks work with different objects using
|
||||
--
|
||||
2.1.0
|
||||
|
||||
|
|
|
@ -27,6 +27,3 @@ index a08cda955285..e320e1e679cf 100644
|
|||
|
||||
#else
|
||||
|
||||
--
|
||||
2.1.0
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
From 31e64826785b5bafef7a6361516c060be2bca253 Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Thu, 20 May 2010 10:30:31 -0400
|
||||
Subject: [PATCH] disable i8042 check on apple mac
|
||||
|
@ -17,11 +18,11 @@ Signed-off-by: Bastien Nocera <hadess@hadess.net>
|
|||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
|
||||
index bfb0b2280df0..06b10fe7e65b 100644
|
||||
index c9c98f0ab284..5137185e14a9 100644
|
||||
--- a/drivers/input/serio/i8042.c
|
||||
+++ b/drivers/input/serio/i8042.c
|
||||
@@ -1484,6 +1484,22 @@ static struct platform_driver i8042_driver = {
|
||||
.shutdown = i8042_shutdown,
|
||||
@@ -1540,6 +1540,22 @@ static struct notifier_block i8042_kbd_bind_notifier_block = {
|
||||
.notifier_call = i8042_kbd_bind_notifier,
|
||||
};
|
||||
|
||||
+#ifdef CONFIG_DMI
|
||||
|
@ -43,7 +44,7 @@ index bfb0b2280df0..06b10fe7e65b 100644
|
|||
static int __init i8042_init(void)
|
||||
{
|
||||
struct platform_device *pdev;
|
||||
@@ -1491,6 +1507,12 @@ static int __init i8042_init(void)
|
||||
@@ -1547,6 +1563,12 @@ static int __init i8042_init(void)
|
||||
|
||||
dbg_init();
|
||||
|
||||
|
@ -57,5 +58,5 @@ index bfb0b2280df0..06b10fe7e65b 100644
|
|||
if (err)
|
||||
return err;
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
From 02f47b49ab1cdbe62ceb71b658e2c469799ae368 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Wed, 13 Nov 2013 10:17:24 -0500
|
||||
Subject: [PATCH] drm/i915: hush check crtc state
|
||||
|
@ -14,18 +15,18 @@ Upstream-status: http://lists.freedesktop.org/archives/intel-gfx/2013-November/0
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
|
||||
index 9943c20a741d..bfac247e6d2c 100644
|
||||
index ca9278be49f7..308ac0539a87 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_display.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_display.c
|
||||
@@ -10886,7 +10886,7 @@ check_crtc_state(struct drm_device *dev)
|
||||
|
||||
if (active &&
|
||||
!intel_pipe_config_compare(dev, crtc->config, &pipe_config)) {
|
||||
@@ -12688,7 +12688,7 @@ check_crtc_state(struct drm_device *dev, struct drm_atomic_state *old_state)
|
||||
sw_config = to_intel_crtc_state(crtc->state);
|
||||
if (!intel_pipe_config_compare(dev, sw_config,
|
||||
pipe_config, false)) {
|
||||
- I915_STATE_WARN(1, "pipe state doesn't match!\n");
|
||||
+ DRM_DEBUG_KMS("pipe state doesn't match!\n");
|
||||
intel_dump_pipe_config(crtc, &pipe_config,
|
||||
intel_dump_pipe_config(intel_crtc, pipe_config,
|
||||
"[hw state]");
|
||||
intel_dump_pipe_config(crtc, crtc->config,
|
||||
intel_dump_pipe_config(intel_crtc, sw_config,
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
From: Dave Airlie <airlied@redhat.com>
|
||||
Date: Thu, 4 Jun 2015 07:12:20 -0400
|
||||
Subject: [PATCH] drm: i915: turn off wc mmaps
|
||||
|
||||
---
|
||||
drivers/gpu/drm/i915/i915_dma.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
|
||||
index d2df321ba634..775a5b11a366 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_dma.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_dma.c
|
||||
@@ -151,7 +151,7 @@ static int i915_getparam(struct drm_device *dev, void *data,
|
||||
value = 1;
|
||||
break;
|
||||
case I915_PARAM_MMAP_VERSION:
|
||||
- value = 1;
|
||||
+ value = 0;
|
||||
break;
|
||||
case I915_PARAM_SUBSLICE_TOTAL:
|
||||
value = INTEL_INFO(dev)->subslice_total;
|
|
@ -0,0 +1,60 @@
|
|||
From a19afebb883f2a02ecf4b8d5a114ce6957a59238 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Hellstrom <thellstrom@vmware.com>
|
||||
Date: Wed, 26 Aug 2015 05:49:21 -0700
|
||||
Subject: [PATCH 2/2] drm/vmwgfx: Allow dropped masters render-node like access
|
||||
on legacy nodes v2
|
||||
|
||||
Applications like gnome-shell may try to render after dropping master
|
||||
privileges. Since the driver should now be safe against this scenario,
|
||||
allow those applications to use their legacy node like a render node.
|
||||
|
||||
v2: Add missing return statement.
|
||||
|
||||
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
||||
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
|
||||
---
|
||||
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 7 ++++++-
|
||||
drivers/gpu/drm/vmwgfx/vmwgfx_surface.c | 6 ++++++
|
||||
2 files changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
|
||||
index a4766acd0ea2..d022b509f1ac 100644
|
||||
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
|
||||
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
|
||||
@@ -993,10 +993,15 @@ static struct vmw_master *vmw_master_check(struct drm_device *dev,
|
||||
}
|
||||
|
||||
/*
|
||||
- * Check if we were previously master, but now dropped.
|
||||
+ * Check if we were previously master, but now dropped. In that
|
||||
+ * case, allow at least render node functionality.
|
||||
*/
|
||||
if (vmw_fp->locked_master) {
|
||||
mutex_unlock(&dev->master_mutex);
|
||||
+
|
||||
+ if (flags & DRM_RENDER_ALLOW)
|
||||
+ return NULL;
|
||||
+
|
||||
DRM_ERROR("Dropped master trying to access ioctl that "
|
||||
"requires authentication.\n");
|
||||
return ERR_PTR(-EACCES);
|
||||
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c b/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
|
||||
index 4d0c98edeb6a..7fc3e8abd0c4 100644
|
||||
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
|
||||
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
|
||||
@@ -906,6 +906,12 @@ vmw_surface_handle_reference(struct vmw_private *dev_priv,
|
||||
"surface reference.\n");
|
||||
return -EACCES;
|
||||
}
|
||||
+ if (ACCESS_ONCE(vmw_fpriv(file_priv)->locked_master)) {
|
||||
+ DRM_ERROR("Locked master refused legacy "
|
||||
+ "surface reference.\n");
|
||||
+ return -EACCES;
|
||||
+ }
|
||||
+
|
||||
handle = u_handle;
|
||||
}
|
||||
|
||||
--
|
||||
2.4.3
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
From c01ff700ea4192ae04b306fef725d62189550236 Mon Sep 17 00:00:00 2001
|
||||
From: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
Date: Tue, 27 Aug 2013 13:33:03 -0400
|
||||
Subject: [PATCH] efi: Add EFI_SECURE_BOOT bit
|
||||
Subject: [PATCH 13/20] efi: Add EFI_SECURE_BOOT bit
|
||||
|
||||
UEFI machines can be booted in Secure Boot mode. Add a EFI_SECURE_BOOT bit
|
||||
for use with efi_enabled.
|
||||
|
@ -12,10 +13,10 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
|
|||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
|
||||
index 26741d24797e..64a123acb97f 100644
|
||||
index f3b804f..a401ff8 100644
|
||||
--- a/arch/x86/kernel/setup.c
|
||||
+++ b/arch/x86/kernel/setup.c
|
||||
@@ -1167,7 +1167,9 @@ void __init setup_arch(char **cmdline_p)
|
||||
@@ -1145,7 +1145,9 @@ void __init setup_arch(char **cmdline_p)
|
||||
|
||||
#ifdef CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE
|
||||
if (boot_params.secure_boot) {
|
||||
|
@ -26,17 +27,17 @@ index 26741d24797e..64a123acb97f 100644
|
|||
#endif
|
||||
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index cf7e431cbc73..c74cbd892032 100644
|
||||
index 569b5a8..4dc970e 100644
|
||||
--- a/include/linux/efi.h
|
||||
+++ b/include/linux/efi.h
|
||||
@@ -942,6 +942,7 @@ extern int __init efi_setup_pcdp_console(char *);
|
||||
#define EFI_64BIT 5 /* Is the firmware 64-bit? */
|
||||
#define EFI_PARAVIRT 6 /* Access is via a paravirt interface */
|
||||
@@ -980,6 +980,7 @@ extern int __init efi_setup_pcdp_console(char *);
|
||||
#define EFI_ARCH_1 7 /* First arch-specific bit */
|
||||
+#define EFI_SECURE_BOOT 8 /* Are we in Secure Boot mode? */
|
||||
#define EFI_DBG 8 /* Print additional debug info at runtime */
|
||||
#define EFI_NX_PE_DATA 9 /* Can runtime data regions be mapped non-executable? */
|
||||
+#define EFI_SECURE_BOOT 10 /* Are we in Secure Boot mode? */
|
||||
|
||||
#ifdef CONFIG_EFI
|
||||
/*
|
||||
--
|
||||
2.1.0
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,767 +0,0 @@
|
|||
From: Peter Jones <pjones@redhat.com>
|
||||
Date: Tue, 18 Nov 2014 10:18:22 -0500
|
||||
Subject: [PATCH] efi: Add esrt support.
|
||||
|
||||
Add sysfs files for the EFI System Resource Table (ESRT) under
|
||||
/sys/firmware/efi/esrt and for each EFI System Resource Entry under
|
||||
entries/ as a subdir.
|
||||
|
||||
The EFI System Resource Table (ESRT) provides a read-only catalog of
|
||||
system components for which the system accepts firmware upgrades via
|
||||
UEFI's "Capsule Update" feature. This module allows userland utilities
|
||||
to evaluate what firmware updates can be applied to this system, and
|
||||
potentially arrange for those updates to occur.
|
||||
|
||||
The ESRT is described as part of the UEFI specification, in version 2.5
|
||||
which should be available from http://uefi.org/specifications in early
|
||||
2015. If you're a member of the UEFI Forum, information about its
|
||||
addition to the standard is available as UEFI Mantis 1090.
|
||||
|
||||
For some hardware platforms, additional restrictions may be found at
|
||||
http://msdn.microsoft.com/en-us/library/windows/hardware/jj128256.aspx ,
|
||||
and additional documentation may be found at
|
||||
http://download.microsoft.com/download/5/F/5/5F5D16CD-2530-4289-8019-94C6A20BED3C/windows-uefi-firmware-update-platform.docx
|
||||
.
|
||||
|
||||
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||
---
|
||||
Documentation/ABI/testing/sysfs-firmware-efi-esrt | 81 ++++
|
||||
arch/x86/platform/efi/efi.c | 2 +
|
||||
drivers/firmware/efi/Makefile | 2 +-
|
||||
drivers/firmware/efi/efi.c | 66 ++-
|
||||
drivers/firmware/efi/esrt.c | 464 ++++++++++++++++++++++
|
||||
include/linux/efi.h | 8 +
|
||||
6 files changed, 621 insertions(+), 2 deletions(-)
|
||||
create mode 100644 Documentation/ABI/testing/sysfs-firmware-efi-esrt
|
||||
create mode 100644 drivers/firmware/efi/esrt.c
|
||||
|
||||
diff --git a/Documentation/ABI/testing/sysfs-firmware-efi-esrt b/Documentation/ABI/testing/sysfs-firmware-efi-esrt
|
||||
new file mode 100644
|
||||
index 000000000000..6e431d1a4e79
|
||||
--- /dev/null
|
||||
+++ b/Documentation/ABI/testing/sysfs-firmware-efi-esrt
|
||||
@@ -0,0 +1,81 @@
|
||||
+What: /sys/firmware/efi/esrt/
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: Provides userland access to read the EFI System Resource Table
|
||||
+ (ESRT), a catalog of firmware for which can be updated with
|
||||
+ the UEFI UpdateCapsule mechanism described in section 7.5 of
|
||||
+ the UEFI Standard.
|
||||
+Users: fwupdate - https://github.com/rhinstaller/fwupdate
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/fw_resource_count
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The number of entries in the ESRT
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/fw_resource_count_max
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The maximum number of entries that /could/ be registered
|
||||
+ in the allocation the table is currently in. This is
|
||||
+ really only useful to the system firmware itself.
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/fw_resource_version
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The version of the ESRT structure provided by the firmware.
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: Each ESRT entry is identified by a GUID, and each gets a
|
||||
+ subdirectory under entries/ .
|
||||
+ example: /sys/firmware/efi/esrt/entries/entry0/
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/fw_type
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: What kind of firmware entry this is:
|
||||
+ 0 - Unknown
|
||||
+ 1 - System Firmware
|
||||
+ 2 - Device Firmware
|
||||
+ 3 - UEFI Driver
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/fw_class
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: This is the entry's guid, and will match the directory name.
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/fw_version
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The version of the firmware currently installed. This is a
|
||||
+ 32-bit unsigned integer.
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/lowest_supported_fw_version
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The lowest version of the firmware that can be installed.
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/capsule_flags
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: Flags that must be passed to UpdateCapsule()
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/last_attempt_version
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The last firmware version for which an update was attempted.
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/last_attempt_status
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The result of the last firmware update attempt for the
|
||||
+ firmware resource entry.
|
||||
+ 0 - Success
|
||||
+ 1 - Insufficient resources
|
||||
+ 2 - Incorrect version
|
||||
+ 3 - Invalid format
|
||||
+ 4 - Authentication error
|
||||
+ 5 - AC power event
|
||||
+ 6 - Battery power event
|
||||
+
|
||||
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
|
||||
index dbc8627a5cdf..b4c9fbbc9270 100644
|
||||
--- a/arch/x86/platform/efi/efi.c
|
||||
+++ b/arch/x86/platform/efi/efi.c
|
||||
@@ -492,6 +492,8 @@ void __init efi_init(void)
|
||||
return;
|
||||
|
||||
print_efi_memmap();
|
||||
+
|
||||
+ efi_esrt_init();
|
||||
}
|
||||
|
||||
void __init efi_late_init(void)
|
||||
diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile
|
||||
index d8be608a9f3b..26eabbc55341 100644
|
||||
--- a/drivers/firmware/efi/Makefile
|
||||
+++ b/drivers/firmware/efi/Makefile
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# Makefile for linux kernel
|
||||
#
|
||||
-obj-$(CONFIG_EFI) += efi.o vars.o reboot.o
|
||||
+obj-$(CONFIG_EFI) += efi.o esrt.o vars.o reboot.o
|
||||
obj-$(CONFIG_EFI_VARS) += efivars.o
|
||||
obj-$(CONFIG_EFI_VARS_PSTORE) += efi-pstore.o
|
||||
obj-$(CONFIG_UEFI_CPER) += cper.o
|
||||
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
|
||||
index 3061bb8629dc..e54ea20dfb42 100644
|
||||
--- a/drivers/firmware/efi/efi.c
|
||||
+++ b/drivers/firmware/efi/efi.c
|
||||
@@ -39,6 +39,7 @@ struct efi __read_mostly efi = {
|
||||
.fw_vendor = EFI_INVALID_TABLE_ADDR,
|
||||
.runtime = EFI_INVALID_TABLE_ADDR,
|
||||
.config_table = EFI_INVALID_TABLE_ADDR,
|
||||
+ .esrt = EFI_INVALID_TABLE_ADDR,
|
||||
};
|
||||
EXPORT_SYMBOL(efi);
|
||||
|
||||
@@ -64,7 +65,7 @@ static int __init parse_efi_cmdline(char *str)
|
||||
}
|
||||
early_param("efi", parse_efi_cmdline);
|
||||
|
||||
-static struct kobject *efi_kobj;
|
||||
+struct kobject *efi_kobj;
|
||||
static struct kobject *efivars_kobj;
|
||||
|
||||
/*
|
||||
@@ -232,6 +233,68 @@ err_put:
|
||||
|
||||
subsys_initcall(efisubsys_init);
|
||||
|
||||
+/*
|
||||
+ * Find the efi memory descriptor for a given physical address. Given a
|
||||
+ * physicall address, determine if it exists within an EFI Memory Map entry,
|
||||
+ * and if so, populate the supplied memory descriptor with the appropriate
|
||||
+ * data.
|
||||
+ */
|
||||
+int __init efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md)
|
||||
+{
|
||||
+ struct efi_memory_map *map = efi.memmap;
|
||||
+ void *p, *e;
|
||||
+
|
||||
+ if (!efi_enabled(EFI_MEMMAP)) {
|
||||
+ pr_err_once("EFI_MEMMAP is not enabled.\n");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ if (!map) {
|
||||
+ pr_err_once("efi.memmap is not set.\n");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+ if (!out_md) {
|
||||
+ pr_err_once("out_md is null.\n");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+ if (WARN_ON_ONCE(!map->phys_map))
|
||||
+ return -EINVAL;
|
||||
+ if (WARN_ON_ONCE(map->nr_map == 0) || WARN_ON_ONCE(map->desc_size == 0))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ e = map->phys_map + map->nr_map * map->desc_size;
|
||||
+ for (p = map->phys_map; p < e; p += map->desc_size) {
|
||||
+ /*
|
||||
+ * If a driver calls this after efi_free_boot_services,
|
||||
+ * ->map will be NULL.
|
||||
+ * So just always get our own virtual map on the CPU.
|
||||
+ */
|
||||
+ efi_memory_desc_t *md = phys_to_virt((phys_addr_t)p);
|
||||
+ u64 size = md->num_pages << EFI_PAGE_SHIFT;
|
||||
+ u64 end = md->phys_addr + size;
|
||||
+
|
||||
+ if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
|
||||
+ md->type != EFI_BOOT_SERVICES_DATA &&
|
||||
+ md->type != EFI_RUNTIME_SERVICES_DATA)
|
||||
+ continue;
|
||||
+ if (phys_addr >= md->phys_addr && phys_addr < end) {
|
||||
+ memcpy(out_md, md, sizeof(*out_md));
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+ pr_err_once("requested map not found.\n");
|
||||
+ return -ENOENT;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Calculate the highest address of an efi memory descriptor.
|
||||
+ */
|
||||
+u64 __init efi_mem_desc_end(efi_memory_desc_t *md)
|
||||
+{
|
||||
+ u64 size = md->num_pages << EFI_PAGE_SHIFT;
|
||||
+ u64 end = md->phys_addr + size;
|
||||
+ return end;
|
||||
+}
|
||||
|
||||
/*
|
||||
* We can't ioremap data in EFI boot services RAM, because we've already mapped
|
||||
@@ -274,6 +337,7 @@ static __initdata efi_config_table_type_t common_tables[] = {
|
||||
{SMBIOS_TABLE_GUID, "SMBIOS", &efi.smbios},
|
||||
{SMBIOS3_TABLE_GUID, "SMBIOS 3.0", &efi.smbios3},
|
||||
{UGA_IO_PROTOCOL_GUID, "UGA", &efi.uga},
|
||||
+ {EFI_SYSTEM_RESOURCE_TABLE_GUID, "ESRT", &efi.esrt},
|
||||
{NULL_GUID, NULL, NULL},
|
||||
};
|
||||
|
||||
diff --git a/drivers/firmware/efi/esrt.c b/drivers/firmware/efi/esrt.c
|
||||
new file mode 100644
|
||||
index 000000000000..20c0cbdb1c60
|
||||
--- /dev/null
|
||||
+++ b/drivers/firmware/efi/esrt.c
|
||||
@@ -0,0 +1,464 @@
|
||||
+/*
|
||||
+ * esrt.c
|
||||
+ *
|
||||
+ * This module exports EFI System Resource Table (ESRT) entries into userspace
|
||||
+ * through the sysfs file system. The ESRT provides a read-only catalog of
|
||||
+ * system components for which the system accepts firmware upgrades via UEFI's
|
||||
+ * "Capsule Update" feature. This module allows userland utilities to evaluate
|
||||
+ * what firmware updates can be applied to this system, and potentially arrange
|
||||
+ * for those updates to occur.
|
||||
+ *
|
||||
+ * Data is currently found below /sys/firmware/efi/esrt/...
|
||||
+ */
|
||||
+#define pr_fmt(fmt) "esrt: " fmt
|
||||
+
|
||||
+#include <linux/capability.h>
|
||||
+#include <linux/device.h>
|
||||
+#include <linux/efi.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/kobject.h>
|
||||
+#include <linux/list.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/slab.h>
|
||||
+#include <linux/types.h>
|
||||
+
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/early_ioremap.h>
|
||||
+
|
||||
+struct efi_system_resource_entry_v1 {
|
||||
+ efi_guid_t fw_class;
|
||||
+ u32 fw_type;
|
||||
+ u32 fw_version;
|
||||
+ u32 lowest_supported_fw_version;
|
||||
+ u32 capsule_flags;
|
||||
+ u32 last_attempt_version;
|
||||
+ u32 last_attempt_status;
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+ * _count and _version are what they seem like. _max is actually just
|
||||
+ * accounting info for the firmware when creating the table; it should never
|
||||
+ * have been exposed to us. To wit, the spec says:
|
||||
+ * The maximum number of resource array entries that can be within the
|
||||
+ * table without reallocating the table, must not be zero.
|
||||
+ * Since there's no guidance about what that means in terms of memory layout,
|
||||
+ * it means nothing to us.
|
||||
+ */
|
||||
+struct efi_system_resource_table {
|
||||
+ u32 fw_resource_count;
|
||||
+ u32 fw_resource_count_max;
|
||||
+ u64 fw_resource_version;
|
||||
+ u8 entries[];
|
||||
+};
|
||||
+
|
||||
+static phys_addr_t esrt_data;
|
||||
+static size_t esrt_data_size;
|
||||
+
|
||||
+static struct efi_system_resource_table *esrt;
|
||||
+
|
||||
+struct esre_entry {
|
||||
+ union {
|
||||
+ struct efi_system_resource_entry_v1 *esre1;
|
||||
+ } esre;
|
||||
+
|
||||
+ struct kobject kobj;
|
||||
+ struct list_head list;
|
||||
+};
|
||||
+
|
||||
+/* global list of esre_entry. */
|
||||
+static LIST_HEAD(entry_list);
|
||||
+
|
||||
+/* entry attribute */
|
||||
+struct esre_attribute {
|
||||
+ struct attribute attr;
|
||||
+ ssize_t (*show)(struct esre_entry *entry, char *buf);
|
||||
+ ssize_t (*store)(struct esre_entry *entry,
|
||||
+ const char *buf, size_t count);
|
||||
+};
|
||||
+
|
||||
+static struct esre_entry *to_entry(struct kobject *kobj)
|
||||
+{
|
||||
+ return container_of(kobj, struct esre_entry, kobj);
|
||||
+}
|
||||
+
|
||||
+static struct esre_attribute *to_attr(struct attribute *attr)
|
||||
+{
|
||||
+ return container_of(attr, struct esre_attribute, attr);
|
||||
+}
|
||||
+
|
||||
+static ssize_t esre_attr_show(struct kobject *kobj,
|
||||
+ struct attribute *_attr, char *buf)
|
||||
+{
|
||||
+ struct esre_entry *entry = to_entry(kobj);
|
||||
+ struct esre_attribute *attr = to_attr(_attr);
|
||||
+
|
||||
+ /* Don't tell normal users what firmware versions we've got... */
|
||||
+ if (!capable(CAP_SYS_ADMIN))
|
||||
+ return -EACCES;
|
||||
+
|
||||
+ return attr->show(entry, buf);
|
||||
+}
|
||||
+
|
||||
+static const struct sysfs_ops esre_attr_ops = {
|
||||
+ .show = esre_attr_show,
|
||||
+};
|
||||
+
|
||||
+/* Generic ESRT Entry ("ESRE") support. */
|
||||
+static ssize_t esre_fw_class_show(struct esre_entry *entry, char *buf)
|
||||
+{
|
||||
+ char *str = buf;
|
||||
+
|
||||
+ efi_guid_to_str(&entry->esre.esre1->fw_class, str);
|
||||
+ str += strlen(str);
|
||||
+ str += sprintf(str, "\n");
|
||||
+
|
||||
+ return str - buf;
|
||||
+}
|
||||
+
|
||||
+static struct esre_attribute esre_fw_class = __ATTR(fw_class, 0400,
|
||||
+ esre_fw_class_show, NULL);
|
||||
+
|
||||
+#define esre_attr_decl(name, size, fmt) \
|
||||
+static ssize_t esre_##name##_show(struct esre_entry *entry, char *buf) \
|
||||
+{ \
|
||||
+ return sprintf(buf, fmt "\n", \
|
||||
+ le##size##_to_cpu(entry->esre.esre1->name)); \
|
||||
+} \
|
||||
+\
|
||||
+static struct esre_attribute esre_##name = __ATTR(name, 0400, \
|
||||
+ esre_##name##_show, NULL)
|
||||
+
|
||||
+esre_attr_decl(fw_type, 32, "%u");
|
||||
+esre_attr_decl(fw_version, 32, "%u");
|
||||
+esre_attr_decl(lowest_supported_fw_version, 32, "%u");
|
||||
+esre_attr_decl(capsule_flags, 32, "0x%x");
|
||||
+esre_attr_decl(last_attempt_version, 32, "%u");
|
||||
+esre_attr_decl(last_attempt_status, 32, "%u");
|
||||
+
|
||||
+static struct attribute *esre1_attrs[] = {
|
||||
+ &esre_fw_class.attr,
|
||||
+ &esre_fw_type.attr,
|
||||
+ &esre_fw_version.attr,
|
||||
+ &esre_lowest_supported_fw_version.attr,
|
||||
+ &esre_capsule_flags.attr,
|
||||
+ &esre_last_attempt_version.attr,
|
||||
+ &esre_last_attempt_status.attr,
|
||||
+ NULL
|
||||
+};
|
||||
+static void esre_release(struct kobject *kobj)
|
||||
+{
|
||||
+ struct esre_entry *entry = to_entry(kobj);
|
||||
+
|
||||
+ list_del(&entry->list);
|
||||
+ kfree(entry);
|
||||
+}
|
||||
+
|
||||
+static struct kobj_type esre1_ktype = {
|
||||
+ .release = esre_release,
|
||||
+ .sysfs_ops = &esre_attr_ops,
|
||||
+ .default_attrs = esre1_attrs,
|
||||
+};
|
||||
+
|
||||
+
|
||||
+static struct kobject *esrt_kobj;
|
||||
+static struct kset *esrt_kset;
|
||||
+
|
||||
+static int esre_create_sysfs_entry(void *esre, int entry_num)
|
||||
+{
|
||||
+ int rc = 0;
|
||||
+ struct esre_entry *entry;
|
||||
+ char name[20];
|
||||
+
|
||||
+ entry = kzalloc(sizeof(*entry), GFP_KERNEL);
|
||||
+ if (!entry)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ sprintf(name, "entry%d", entry_num);
|
||||
+
|
||||
+ entry->kobj.kset = esrt_kset;
|
||||
+
|
||||
+ if (esrt->fw_resource_version == 1) {
|
||||
+ entry->esre.esre1 = esre;
|
||||
+ rc = kobject_init_and_add(&entry->kobj, &esre1_ktype, NULL,
|
||||
+ "%s", name);
|
||||
+ }
|
||||
+ if (rc) {
|
||||
+ kfree(entry);
|
||||
+ return rc;
|
||||
+ }
|
||||
+
|
||||
+ list_add_tail(&entry->list, &entry_list);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+/* support for displaying ESRT fields at the top level */
|
||||
+#define esrt_attr_decl(name, size, fmt) \
|
||||
+static ssize_t esrt_##name##_show(struct kobject *kobj, \
|
||||
+ struct kobj_attribute *attr, char *buf)\
|
||||
+{ \
|
||||
+ return sprintf(buf, fmt "\n", le##size##_to_cpu(esrt->name)); \
|
||||
+} \
|
||||
+\
|
||||
+static struct kobj_attribute esrt_##name = __ATTR(name, 0400, \
|
||||
+ esrt_##name##_show, NULL)
|
||||
+
|
||||
+esrt_attr_decl(fw_resource_count, 32, "%u");
|
||||
+esrt_attr_decl(fw_resource_count_max, 32, "%u");
|
||||
+esrt_attr_decl(fw_resource_version, 64, "%llu");
|
||||
+
|
||||
+static struct attribute *esrt_attrs[] = {
|
||||
+ &esrt_fw_resource_count.attr,
|
||||
+ &esrt_fw_resource_count_max.attr,
|
||||
+ &esrt_fw_resource_version.attr,
|
||||
+ NULL,
|
||||
+};
|
||||
+
|
||||
+static inline int esrt_table_exists(void)
|
||||
+{
|
||||
+ if (!efi_enabled(EFI_CONFIG_TABLES))
|
||||
+ return 0;
|
||||
+ if (efi.esrt == EFI_INVALID_TABLE_ADDR)
|
||||
+ return 0;
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+static umode_t esrt_attr_is_visible(struct kobject *kobj,
|
||||
+ struct attribute *attr, int n)
|
||||
+{
|
||||
+ if (!esrt_table_exists())
|
||||
+ return 0;
|
||||
+ return attr->mode;
|
||||
+}
|
||||
+
|
||||
+static struct attribute_group esrt_attr_group = {
|
||||
+ .attrs = esrt_attrs,
|
||||
+ .is_visible = esrt_attr_is_visible,
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+ * remap the table, copy it to kmalloced pages, and unmap it.
|
||||
+ */
|
||||
+void __init efi_esrt_init(void)
|
||||
+{
|
||||
+ void *va;
|
||||
+ struct efi_system_resource_table tmpesrt;
|
||||
+ struct efi_system_resource_entry_v1 *v1_entries;
|
||||
+ size_t size, max, entry_size, entries_size;
|
||||
+ efi_memory_desc_t md;
|
||||
+ int rc;
|
||||
+
|
||||
+ pr_debug("esrt-init: loading.\n");
|
||||
+ if (!esrt_table_exists())
|
||||
+ return;
|
||||
+
|
||||
+ rc = efi_mem_desc_lookup(efi.esrt, &md);
|
||||
+ if (rc < 0) {
|
||||
+ pr_err("ESRT header is not in the memory map.\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ max = efi_mem_desc_end(&md);
|
||||
+ if (max < efi.esrt) {
|
||||
+ pr_err("EFI memory descriptor is invalid. (esrt: %p max: %p)\n",
|
||||
+ (void *)efi.esrt, (void *)max);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ size = sizeof(*esrt);
|
||||
+ max -= efi.esrt;
|
||||
+
|
||||
+ if (max < size) {
|
||||
+ pr_err("ESRT header doen't fit on single memory map entry. (size: %zu max: %zu)\n",
|
||||
+ size, max);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ va = early_memremap(efi.esrt, size);
|
||||
+ if (!va) {
|
||||
+ pr_err("early_memremap(%p, %zu) failed.\n", (void *)efi.esrt,
|
||||
+ size);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ memcpy(&tmpesrt, va, sizeof(tmpesrt));
|
||||
+
|
||||
+ if (tmpesrt.fw_resource_version == 1) {
|
||||
+ entry_size = sizeof (*v1_entries);
|
||||
+ } else {
|
||||
+ pr_err("Unsupported ESRT version %lld.\n",
|
||||
+ tmpesrt.fw_resource_version);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (tmpesrt.fw_resource_count > 0 && max - size < entry_size) {
|
||||
+ pr_err("ESRT memory map entry can only hold the header. (max: %zu size: %zu)\n",
|
||||
+ max - size, entry_size);
|
||||
+ goto err_memunmap;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * The format doesn't really give us any boundary to test here,
|
||||
+ * so I'm making up 128 as the max number of individually updatable
|
||||
+ * components we support.
|
||||
+ * 128 should be pretty excessive, but there's still some chance
|
||||
+ * somebody will do that someday and we'll need to raise this.
|
||||
+ */
|
||||
+ if (tmpesrt.fw_resource_count > 128) {
|
||||
+ pr_err("ESRT says fw_resource_count has very large value %d.\n",
|
||||
+ tmpesrt.fw_resource_count);
|
||||
+ goto err_memunmap;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * We know it can't be larger than N * sizeof() here, and N is limited
|
||||
+ * by the previous test to a small number, so there's no overflow.
|
||||
+ */
|
||||
+ entries_size = tmpesrt.fw_resource_count * entry_size;
|
||||
+ if (max < size + entries_size) {
|
||||
+ pr_err("ESRT does not fit on single memory map entry (size: %zu max: %zu)\n",
|
||||
+ size, max);
|
||||
+ goto err_memunmap;
|
||||
+ }
|
||||
+
|
||||
+ /* remap it with our (plausible) new pages */
|
||||
+ early_memunmap(va, size);
|
||||
+ size += entries_size;
|
||||
+ va = early_memremap(efi.esrt, size);
|
||||
+ if (!va) {
|
||||
+ pr_err("early_memremap(%p, %zu) failed.\n", (void *)efi.esrt,
|
||||
+ size);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ esrt_data = (phys_addr_t)efi.esrt;
|
||||
+ esrt_data_size = size;
|
||||
+
|
||||
+ pr_info("Reserving ESRT space from %p to %p.\n", (void *)esrt_data,
|
||||
+ (char *)esrt_data + size);
|
||||
+ memblock_reserve(esrt_data, esrt_data_size);
|
||||
+
|
||||
+ pr_debug("esrt-init: loaded.\n");
|
||||
+err_memunmap:
|
||||
+ early_memunmap(va, size);
|
||||
+}
|
||||
+
|
||||
+static int __init register_entries(void)
|
||||
+{
|
||||
+ struct efi_system_resource_entry_v1 *v1_entries = (void *)esrt->entries;
|
||||
+ int i, rc;
|
||||
+
|
||||
+ if (!esrt_table_exists())
|
||||
+ return 0;
|
||||
+
|
||||
+ for (i = 0; i < le32_to_cpu(esrt->fw_resource_count); i++) {
|
||||
+ void *entry;
|
||||
+ if (esrt->fw_resource_version == 1) {
|
||||
+ entry = &v1_entries[i];
|
||||
+ }
|
||||
+ rc = esre_create_sysfs_entry(entry, i);
|
||||
+ if (rc < 0) {
|
||||
+ pr_err("ESRT entry creation failed with error %d.\n",
|
||||
+ rc);
|
||||
+ return rc;
|
||||
+ }
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void cleanup_entry_list(void)
|
||||
+{
|
||||
+ struct esre_entry *entry, *next;
|
||||
+
|
||||
+ list_for_each_entry_safe(entry, next, &entry_list, list) {
|
||||
+ kobject_put(&entry->kobj);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static int __init esrt_sysfs_init(void)
|
||||
+{
|
||||
+ int error;
|
||||
+ struct efi_system_resource_table __iomem *ioesrt;
|
||||
+
|
||||
+ pr_debug("esrt-sysfs: loading.\n");
|
||||
+ if (!esrt_data || !esrt_data_size)
|
||||
+ return -ENOSYS;
|
||||
+
|
||||
+ ioesrt = ioremap(esrt_data, esrt_data_size);
|
||||
+ if (!ioesrt) {
|
||||
+ pr_err("ioremap(%p, %zu) failed.\n", (void *)esrt_data,
|
||||
+ esrt_data_size);
|
||||
+ return -ENOMEM;
|
||||
+ }
|
||||
+
|
||||
+ esrt = kmalloc(esrt_data_size, GFP_KERNEL);
|
||||
+ if (!esrt) {
|
||||
+ pr_err("kmalloc failed. (wanted %zu bytes)\n", esrt_data_size);
|
||||
+ iounmap(ioesrt);
|
||||
+ return -ENOMEM;
|
||||
+ }
|
||||
+
|
||||
+ memcpy_fromio(esrt, ioesrt, esrt_data_size);
|
||||
+
|
||||
+ esrt_kobj = kobject_create_and_add("esrt", efi_kobj);
|
||||
+ if (!esrt_kobj) {
|
||||
+ pr_err("Firmware table registration failed.\n");
|
||||
+ error = -ENOMEM;
|
||||
+ goto err;
|
||||
+ }
|
||||
+
|
||||
+ error = sysfs_create_group(esrt_kobj, &esrt_attr_group);
|
||||
+ if (error) {
|
||||
+ pr_err("Sysfs attribute export failed with error %d.\n",
|
||||
+ error);
|
||||
+ goto err_remove_esrt;
|
||||
+ }
|
||||
+
|
||||
+ esrt_kset = kset_create_and_add("entries", NULL, esrt_kobj);
|
||||
+ if (!esrt_kset) {
|
||||
+ pr_err("kset creation failed.\n");
|
||||
+ error = -ENOMEM;
|
||||
+ goto err_remove_group;
|
||||
+ }
|
||||
+
|
||||
+ error = register_entries();
|
||||
+ if (error)
|
||||
+ goto err_cleanup_list;
|
||||
+
|
||||
+ memblock_remove(esrt_data, esrt_data_size);
|
||||
+
|
||||
+ pr_debug("esrt-sysfs: loaded.\n");
|
||||
+
|
||||
+ return 0;
|
||||
+err_cleanup_list:
|
||||
+ cleanup_entry_list();
|
||||
+ kset_unregister(esrt_kset);
|
||||
+err_remove_group:
|
||||
+ sysfs_remove_group(esrt_kobj, &esrt_attr_group);
|
||||
+err_remove_esrt:
|
||||
+ kobject_put(esrt_kobj);
|
||||
+err:
|
||||
+ kfree(esrt);
|
||||
+ esrt = NULL;
|
||||
+ return error;
|
||||
+}
|
||||
+
|
||||
+static void __exit esrt_sysfs_exit(void)
|
||||
+{
|
||||
+ pr_debug("esrt-sysfs: unloading.\n");
|
||||
+ cleanup_entry_list();
|
||||
+ kset_unregister(esrt_kset);
|
||||
+ sysfs_remove_group(esrt_kobj, &esrt_attr_group);
|
||||
+ kfree(esrt);
|
||||
+ esrt = NULL;
|
||||
+ kobject_del(esrt_kobj);
|
||||
+ kobject_put(esrt_kobj);
|
||||
+}
|
||||
+
|
||||
+module_init(esrt_sysfs_init);
|
||||
+module_exit(esrt_sysfs_exit);
|
||||
+
|
||||
+MODULE_AUTHOR("Peter Jones <pjones@redhat.com>");
|
||||
+MODULE_DESCRIPTION("EFI System Resource Table support");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index 470e8dfcb517..ed0d0c09d45c 100644
|
||||
--- a/include/linux/efi.h
|
||||
+++ b/include/linux/efi.h
|
||||
@@ -589,6 +589,9 @@ void efi_native_runtime_setup(void);
|
||||
#define DEVICE_TREE_GUID \
|
||||
EFI_GUID( 0xb1b621d5, 0xf19c, 0x41a5, 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 )
|
||||
|
||||
+#define EFI_SYSTEM_RESOURCE_TABLE_GUID \
|
||||
+ EFI_GUID( 0xb122a263, 0x3661, 0x4f68, 0x99, 0x29, 0x78, 0xf8, 0xb0, 0xd6, 0x21, 0x80 )
|
||||
+
|
||||
#define EFI_CERT_SHA256_GUID \
|
||||
EFI_GUID( 0xc1c41626, 0x504c, 0x4092, 0xac, 0xa9, 0x41, 0xf9, 0x36, 0x93, 0x43, 0x28 )
|
||||
|
||||
@@ -849,6 +852,7 @@ extern struct efi {
|
||||
unsigned long fw_vendor; /* fw_vendor */
|
||||
unsigned long runtime; /* runtime table */
|
||||
unsigned long config_table; /* config tables */
|
||||
+ unsigned long esrt; /* ESRT table */
|
||||
efi_get_time_t *get_time;
|
||||
efi_set_time_t *set_time;
|
||||
efi_get_wakeup_time_t *get_wakeup_time;
|
||||
@@ -901,6 +905,7 @@ static inline efi_status_t efi_query_variable_store(u32 attributes, unsigned lon
|
||||
#endif
|
||||
extern void __iomem *efi_lookup_mapped_addr(u64 phys_addr);
|
||||
extern int efi_config_init(efi_config_table_type_t *arch_tables);
|
||||
+extern void __init efi_esrt_init(void);
|
||||
extern int efi_config_parse_tables(void *config_tables, int count, int sz,
|
||||
efi_config_table_type_t *arch_tables);
|
||||
extern u64 efi_get_iobase (void);
|
||||
@@ -908,12 +913,15 @@ extern u32 efi_mem_type (unsigned long phys_addr);
|
||||
extern u64 efi_mem_attributes (unsigned long phys_addr);
|
||||
extern u64 efi_mem_attribute (unsigned long phys_addr, unsigned long size);
|
||||
extern int __init efi_uart_console_only (void);
|
||||
+extern u64 efi_mem_desc_end(efi_memory_desc_t *md);
|
||||
+extern int efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md);
|
||||
extern void efi_initialize_iomem_resources(struct resource *code_resource,
|
||||
struct resource *data_resource, struct resource *bss_resource);
|
||||
extern void efi_get_time(struct timespec *now);
|
||||
extern void efi_reserve_boot_services(void);
|
||||
extern int efi_get_fdt_params(struct efi_fdt_params *params, int verbose);
|
||||
extern struct efi_memory_map memmap;
|
||||
+extern struct kobject *efi_kobj;
|
||||
|
||||
extern int efi_reboot_quirk_mode;
|
||||
extern bool efi_poweroff_required(void);
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
From 9ef94251448aa463c5937ee8e8e27d6fd9529509 Mon Sep 17 00:00:00 2001
|
||||
From: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
Date: Tue, 5 Feb 2013 19:25:05 -0500
|
||||
Subject: [PATCH] efi: Disable secure boot if shim is in insecure mode
|
||||
Subject: [PATCH 11/20] efi: Disable secure boot if shim is in insecure mode
|
||||
|
||||
A user can manually tell the shim boot loader to disable validation of
|
||||
images it loads. When a user does this, it creates a UEFI variable called
|
||||
|
@ -14,7 +15,7 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
|
|||
1 file changed, 19 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
|
||||
index 105e7360d747..83fc4e9888ee 100644
|
||||
index b4de3faa3f29..5cc2ef570390 100644
|
||||
--- a/arch/x86/boot/compressed/eboot.c
|
||||
+++ b/arch/x86/boot/compressed/eboot.c
|
||||
@@ -830,8 +830,9 @@ out:
|
||||
|
@ -53,5 +54,5 @@ index 105e7360d747..83fc4e9888ee 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
From 0081083434db41c15b72eced975da0bd9b80566b Mon Sep 17 00:00:00 2001
|
||||
From: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
Date: Tue, 27 Aug 2013 13:28:43 -0400
|
||||
Subject: [PATCH] efi: Make EFI_SECURE_BOOT_SIG_ENFORCE depend on EFI
|
||||
Subject: [PATCH 12/20] efi: Make EFI_SECURE_BOOT_SIG_ENFORCE depend on EFI
|
||||
|
||||
The functionality of the config option is dependent upon the platform being
|
||||
UEFI based. Reflect this in the config deps.
|
||||
|
@ -11,10 +12,10 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
|
|||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
|
||||
index ab403a636357..5dac78119fa7 100644
|
||||
index 14db458f4774..f6ff0a86d841 100644
|
||||
--- a/arch/x86/Kconfig
|
||||
+++ b/arch/x86/Kconfig
|
||||
@@ -1696,7 +1696,8 @@ config EFI_MIXED
|
||||
@@ -1735,7 +1735,8 @@ config EFI_MIXED
|
||||
If unsure, say N.
|
||||
|
||||
config EFI_SECURE_BOOT_SIG_ENFORCE
|
||||
|
@ -25,5 +26,5 @@ index ab403a636357..5dac78119fa7 100644
|
|||
---help---
|
||||
UEFI Secure Boot provides a mechanism for ensuring that the
|
||||
--
|
||||
2.1.0
|
||||
2.4.3
|
||||
|
||||
|
|
|
@ -1,78 +0,0 @@
|
|||
From: Lukas Czerner <lczerner@redhat.com>
|
||||
Date: Wed, 18 Feb 2015 17:49:28 +0100
|
||||
Subject: [PATCH] ext4: Allocate entire range in zero range
|
||||
|
||||
Currently there is a bug in zero range code which causes zero range
|
||||
calls to only allocate block aligned portion of the range, while
|
||||
ignoring the rest in some cases.
|
||||
|
||||
In some cases, namely if the end of the range is past isize, we do
|
||||
attempt to preallocate the last nonaligned block. However this might
|
||||
cause kernel to BUG() in some carefully designed zero range requests on
|
||||
setups where page size > block size.
|
||||
|
||||
Fix this problem by first preallocating the entire range, including the
|
||||
nonaligned edges and converting the written extents to unwritten in the
|
||||
next step. This approach will also give us the advantage of having the
|
||||
range to be as linearly contiguous as possible.
|
||||
|
||||
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
|
||||
---
|
||||
fs/ext4/extents.c | 31 +++++++++++++++++++------------
|
||||
1 file changed, 19 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
|
||||
index bed43081720f..aa522429b751 100644
|
||||
--- a/fs/ext4/extents.c
|
||||
+++ b/fs/ext4/extents.c
|
||||
@@ -4803,12 +4803,6 @@ static long ext4_zero_range(struct file *file, loff_t offset,
|
||||
else
|
||||
max_blocks -= lblk;
|
||||
|
||||
- flags = EXT4_GET_BLOCKS_CREATE_UNWRIT_EXT |
|
||||
- EXT4_GET_BLOCKS_CONVERT_UNWRITTEN |
|
||||
- EXT4_EX_NOCACHE;
|
||||
- if (mode & FALLOC_FL_KEEP_SIZE)
|
||||
- flags |= EXT4_GET_BLOCKS_KEEP_SIZE;
|
||||
-
|
||||
mutex_lock(&inode->i_mutex);
|
||||
|
||||
/*
|
||||
@@ -4825,15 +4819,28 @@ static long ext4_zero_range(struct file *file, loff_t offset,
|
||||
ret = inode_newsize_ok(inode, new_size);
|
||||
if (ret)
|
||||
goto out_mutex;
|
||||
- /*
|
||||
- * If we have a partial block after EOF we have to allocate
|
||||
- * the entire block.
|
||||
- */
|
||||
- if (partial_end)
|
||||
- max_blocks += 1;
|
||||
}
|
||||
|
||||
+ flags = EXT4_GET_BLOCKS_CREATE_UNWRIT_EXT;
|
||||
+ if (mode & FALLOC_FL_KEEP_SIZE)
|
||||
+ flags |= EXT4_GET_BLOCKS_KEEP_SIZE;
|
||||
+
|
||||
+ /* Preallocate the range including the unaligned edges */
|
||||
+ if (partial_begin || partial_end) {
|
||||
+ ret = ext4_alloc_file_blocks(file,
|
||||
+ round_down(offset, 1 << blkbits) >> blkbits,
|
||||
+ (round_up((offset + len), 1 << blkbits) -
|
||||
+ round_down(offset, 1 << blkbits)) >> blkbits,
|
||||
+ new_size, flags, mode);
|
||||
+ if (ret)
|
||||
+ goto out_mutex;
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ /* Zero range excluding the unaligned edges */
|
||||
if (max_blocks > 0) {
|
||||
+ flags |= (EXT4_GET_BLOCKS_CONVERT_UNWRITTEN |
|
||||
+ EXT4_EX_NOCACHE);
|
||||
|
||||
/* Now release the pages and zero block aligned part of pages*/
|
||||
truncate_pagecache_range(inode, start, end - 1);
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,135 +0,0 @@
|
|||
From: Ben Skeggs <bskeggs@redhat.com>
|
||||
Date: Tue, 27 Jan 2015 15:09:39 +1000
|
||||
Subject: [PATCH] fifo/nv04: remove the loop from the interrupt handler
|
||||
|
||||
Complete bong hit (and not the last...), the hardware will reassert the
|
||||
interrupt to PMC if it's necessary.
|
||||
|
||||
Also potentially harmful in the face of interrupts such as the non-stall
|
||||
interrupt, which remain active in NV_PFIFO_INTR even when we don't care
|
||||
about servicing it.
|
||||
|
||||
It appears (hopefully, fdo#87244), that under certain loads, the methods
|
||||
may pass quickly enough to hit the "100 spins and kill PFIFO" thing that
|
||||
we had going on. Not ideal ;)
|
||||
|
||||
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
||||
---
|
||||
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c | 85 ++++++++++---------------
|
||||
1 file changed, 35 insertions(+), 50 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
|
||||
index b038b6eb51db..043e4296084c 100644
|
||||
--- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
|
||||
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
|
||||
@@ -502,72 +502,57 @@ nv04_fifo_intr(struct nvkm_subdev *subdev)
|
||||
{
|
||||
struct nvkm_device *device = nv_device(subdev);
|
||||
struct nv04_fifo_priv *priv = (void *)subdev;
|
||||
- uint32_t status, reassign;
|
||||
- int cnt = 0;
|
||||
+ u32 mask = nv_rd32(priv, NV03_PFIFO_INTR_EN_0);
|
||||
+ u32 stat = nv_rd32(priv, NV03_PFIFO_INTR_0) & mask;
|
||||
+ u32 reassign, chid, get, sem;
|
||||
|
||||
reassign = nv_rd32(priv, NV03_PFIFO_CACHES) & 1;
|
||||
- while ((status = nv_rd32(priv, NV03_PFIFO_INTR_0)) && (cnt++ < 100)) {
|
||||
- uint32_t chid, get;
|
||||
-
|
||||
- nv_wr32(priv, NV03_PFIFO_CACHES, 0);
|
||||
-
|
||||
- chid = nv_rd32(priv, NV03_PFIFO_CACHE1_PUSH1) & priv->base.max;
|
||||
- get = nv_rd32(priv, NV03_PFIFO_CACHE1_GET);
|
||||
+ nv_wr32(priv, NV03_PFIFO_CACHES, 0);
|
||||
|
||||
- if (status & NV_PFIFO_INTR_CACHE_ERROR) {
|
||||
- nv04_fifo_cache_error(device, priv, chid, get);
|
||||
- status &= ~NV_PFIFO_INTR_CACHE_ERROR;
|
||||
- }
|
||||
+ chid = nv_rd32(priv, NV03_PFIFO_CACHE1_PUSH1) & priv->base.max;
|
||||
+ get = nv_rd32(priv, NV03_PFIFO_CACHE1_GET);
|
||||
|
||||
- if (status & NV_PFIFO_INTR_DMA_PUSHER) {
|
||||
- nv04_fifo_dma_pusher(device, priv, chid);
|
||||
- status &= ~NV_PFIFO_INTR_DMA_PUSHER;
|
||||
- }
|
||||
+ if (stat & NV_PFIFO_INTR_CACHE_ERROR) {
|
||||
+ nv04_fifo_cache_error(device, priv, chid, get);
|
||||
+ stat &= ~NV_PFIFO_INTR_CACHE_ERROR;
|
||||
+ }
|
||||
|
||||
- if (status & NV_PFIFO_INTR_SEMAPHORE) {
|
||||
- uint32_t sem;
|
||||
+ if (stat & NV_PFIFO_INTR_DMA_PUSHER) {
|
||||
+ nv04_fifo_dma_pusher(device, priv, chid);
|
||||
+ stat &= ~NV_PFIFO_INTR_DMA_PUSHER;
|
||||
+ }
|
||||
|
||||
- status &= ~NV_PFIFO_INTR_SEMAPHORE;
|
||||
- nv_wr32(priv, NV03_PFIFO_INTR_0,
|
||||
- NV_PFIFO_INTR_SEMAPHORE);
|
||||
+ if (stat & NV_PFIFO_INTR_SEMAPHORE) {
|
||||
+ stat &= ~NV_PFIFO_INTR_SEMAPHORE;
|
||||
+ nv_wr32(priv, NV03_PFIFO_INTR_0, NV_PFIFO_INTR_SEMAPHORE);
|
||||
|
||||
- sem = nv_rd32(priv, NV10_PFIFO_CACHE1_SEMAPHORE);
|
||||
- nv_wr32(priv, NV10_PFIFO_CACHE1_SEMAPHORE, sem | 0x1);
|
||||
+ sem = nv_rd32(priv, NV10_PFIFO_CACHE1_SEMAPHORE);
|
||||
+ nv_wr32(priv, NV10_PFIFO_CACHE1_SEMAPHORE, sem | 0x1);
|
||||
|
||||
- nv_wr32(priv, NV03_PFIFO_CACHE1_GET, get + 4);
|
||||
- nv_wr32(priv, NV04_PFIFO_CACHE1_PULL0, 1);
|
||||
- }
|
||||
+ nv_wr32(priv, NV03_PFIFO_CACHE1_GET, get + 4);
|
||||
+ nv_wr32(priv, NV04_PFIFO_CACHE1_PULL0, 1);
|
||||
+ }
|
||||
|
||||
- if (device->card_type == NV_50) {
|
||||
- if (status & 0x00000010) {
|
||||
- status &= ~0x00000010;
|
||||
- nv_wr32(priv, 0x002100, 0x00000010);
|
||||
- }
|
||||
-
|
||||
- if (status & 0x40000000) {
|
||||
- nv_wr32(priv, 0x002100, 0x40000000);
|
||||
- nvkm_fifo_uevent(&priv->base);
|
||||
- status &= ~0x40000000;
|
||||
- }
|
||||
+ if (device->card_type == NV_50) {
|
||||
+ if (stat & 0x00000010) {
|
||||
+ stat &= ~0x00000010;
|
||||
+ nv_wr32(priv, 0x002100, 0x00000010);
|
||||
}
|
||||
|
||||
- if (status) {
|
||||
- nv_warn(priv, "unknown intr 0x%08x, ch %d\n",
|
||||
- status, chid);
|
||||
- nv_wr32(priv, NV03_PFIFO_INTR_0, status);
|
||||
- status = 0;
|
||||
+ if (stat & 0x40000000) {
|
||||
+ nv_wr32(priv, 0x002100, 0x40000000);
|
||||
+ nvkm_fifo_uevent(&priv->base);
|
||||
+ stat &= ~0x40000000;
|
||||
}
|
||||
-
|
||||
- nv_wr32(priv, NV03_PFIFO_CACHES, reassign);
|
||||
}
|
||||
|
||||
- if (status) {
|
||||
- nv_error(priv, "still angry after %d spins, halt\n", cnt);
|
||||
- nv_wr32(priv, 0x002140, 0);
|
||||
- nv_wr32(priv, 0x000140, 0);
|
||||
+ if (stat) {
|
||||
+ nv_warn(priv, "unknown intr 0x%08x\n", stat);
|
||||
+ nv_mask(priv, NV03_PFIFO_INTR_EN_0, stat, 0x00000000);
|
||||
+ nv_wr32(priv, NV03_PFIFO_INTR_0, stat);
|
||||
}
|
||||
|
||||
- nv_wr32(priv, 0x000100, 0x00000100);
|
||||
+ nv_wr32(priv, NV03_PFIFO_CACHES, reassign);
|
||||
}
|
||||
|
||||
static int
|
||||
--
|
||||
2.1.0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue