summaryrefslogtreecommitdiffstats
path: root/freed-ora/current/f19
diff options
context:
space:
mode:
authorAlexandre Oliva <lxoliva@fsfla.org>2014-02-22 13:17:34 +0000
committerAlexandre Oliva <lxoliva@fsfla.org>2014-02-22 13:17:34 +0000
commit3a21bee1ead8d31f22f5c6dd0d8f2a4dd0ec6622 (patch)
treeba3729a183ef0aa65e30ab24e4dc286287650c5e /freed-ora/current/f19
parent20d1eb3468d34d8e60dbe1e1c8a2885e35596b58 (diff)
downloadlinux-libre-raptor-3a21bee1ead8d31f22f5c6dd0d8f2a4dd0ec6622.tar.gz
linux-libre-raptor-3a21bee1ead8d31f22f5c6dd0d8f2a4dd0ec6622.zip
3.13.3-100.fc19.gnu
Diffstat (limited to 'freed-ora/current/f19')
-rw-r--r--freed-ora/current/f19/0001-Input-wacom-make-sure-touch_max-is-set-for-touch-dev.patch56
-rw-r--r--freed-ora/current/f19/0001-lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch38
-rw-r--r--freed-ora/current/f19/0002-Input-wacom-add-support-for-three-new-Intuos-devices.patch216
-rw-r--r--freed-ora/current/f19/0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch98
-rw-r--r--freed-ora/current/f19/0003-Input-wacom-add-reporting-of-SW_MUTE_DEVICE-events.patch155
-rw-r--r--freed-ora/current/f19/Input-ALPS-add-support-for-Dolphin-devices.patch30
-rw-r--r--freed-ora/current/f19/Revert-userns-Allow-unprivileged-users-to-create-use.patch44
-rw-r--r--freed-ora/current/f19/arm-am33xx-arm-soc-upstream.patch2468
-rw-r--r--freed-ora/current/f19/arm-am33xx-cpsw.patch23
-rw-r--r--freed-ora/current/f19/config-arm-generic27
-rw-r--r--freed-ora/current/f19/config-armv769
-rw-r--r--freed-ora/current/f19/config-armv7-generic55
-rw-r--r--freed-ora/current/f19/config-armv7-lpae4
-rw-r--r--freed-ora/current/f19/config-debug1
-rw-r--r--freed-ora/current/f19/config-generic76
-rw-r--r--freed-ora/current/f19/config-nodebug1
-rw-r--r--freed-ora/current/f19/config-powerpc-generic1
-rw-r--r--freed-ora/current/f19/config-powerpc645
-rw-r--r--freed-ora/current/f19/config-powerpc64p75
-rw-r--r--freed-ora/current/f19/config-x86-32-generic2
-rw-r--r--freed-ora/current/f19/config-x86-generic9
-rw-r--r--freed-ora/current/f19/config-x86_64-generic11
-rw-r--r--freed-ora/current/f19/cpufreq-powernow-k8-Initialize-per-cpu-data-structures-properly.patch138
-rwxr-xr-xfreed-ora/current/f19/deblob-3.13 (renamed from freed-ora/current/f19/deblob-3.12)42
-rwxr-xr-xfreed-ora/current/f19/deblob-check9
-rw-r--r--freed-ora/current/f19/dell-laptop.patch1017
-rw-r--r--freed-ora/current/f19/dm-cache-policy-mq_fix-large-scale-table-allocation-bug.patch24
-rw-r--r--freed-ora/current/f19/drm-i915-hush-check-crtc-state.patch20
-rw-r--r--freed-ora/current/f19/drm-qxl-backport-fixes-for-Fedora.patch213
-rw-r--r--freed-ora/current/f19/ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch390
-rw-r--r--freed-ora/current/f19/kernel.spec164
-rw-r--r--freed-ora/current/f19/linux-libre-3.12-gnu.tar.xz.sign7
-rw-r--r--freed-ora/current/f19/linux-libre-3.12-gnu.xdelta.xzbin90976 -> 0 bytes
-rw-r--r--freed-ora/current/f19/linux-libre-3.12-gnu.xdelta.xz.sign7
-rw-r--r--freed-ora/current/f19/linux-libre-3.13-gnu.tar.xz.sign7
-rw-r--r--freed-ora/current/f19/linux-libre-3.13-gnu.xdelta.xzbin0 -> 91180 bytes
-rw-r--r--freed-ora/current/f19/linux-libre-3.13-gnu.xdelta.xz.sign7
-rw-r--r--freed-ora/current/f19/nfs-check-gssd-running-before-krb5i-auth.patch29
-rw-r--r--freed-ora/current/f19/patch-3.12-gnu-3.12.11-gnu.xz.sign7
-rw-r--r--freed-ora/current/f19/patch-3.13-gnu-3.13.3-gnu.xz.sign7
-rw-r--r--freed-ora/current/f19/secure-modules.patch113
-rw-r--r--freed-ora/current/f19/silence-acpi-blacklist.patch25
-rw-r--r--freed-ora/current/f19/sources4
-rw-r--r--freed-ora/current/f19/tg3-Add-support-for-new-577xx-device-ids.patch80
-rw-r--r--freed-ora/current/f19/x86-allow-1024-cpus.patch13
45 files changed, 1165 insertions, 4552 deletions
diff --git a/freed-ora/current/f19/0001-Input-wacom-make-sure-touch_max-is-set-for-touch-dev.patch b/freed-ora/current/f19/0001-Input-wacom-make-sure-touch_max-is-set-for-touch-dev.patch
new file mode 100644
index 000000000..f86cc1ff3
--- /dev/null
+++ b/freed-ora/current/f19/0001-Input-wacom-make-sure-touch_max-is-set-for-touch-dev.patch
@@ -0,0 +1,56 @@
+Bugzilla: 1046238
+Upstream-status: Queued for 3.14
+
+From 1d0d6df02750b4a6f466768cbfbf860e24f4c8d4 Mon Sep 17 00:00:00 2001
+From: Ping Cheng <pinglinux@gmail.com>
+Date: Mon, 25 Nov 2013 18:43:45 -0800
+Subject: [PATCH] Input: wacom - make sure touch_max is set for touch devices
+
+Old single touch Tablet PCs do not have touch_max set at
+wacom_features. Since touch device at lease supports one
+finger, assign touch_max to 1 when touch usage is defined
+in its HID Descriptor and touch_max is not pre-defined.
+
+Tested-by: Jason Gerecke <killertofu@gmail.com>
+Signed-off-by: Ping Cheng <pingc@wacom.com>
+Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+---
+ drivers/input/tablet/wacom_sys.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
+index 8a90da1..3d71b60 100644
+--- a/drivers/input/tablet/wacom_sys.c
++++ b/drivers/input/tablet/wacom_sys.c
+@@ -304,7 +304,7 @@ static int wacom_parse_hid(struct usb_interface *intf,
+ struct usb_device *dev = interface_to_usbdev(intf);
+ char limit = 0;
+ /* result has to be defined as int for some devices */
+- int result = 0;
++ int result = 0, touch_max = 0;
+ int i = 0, usage = WCM_UNDEFINED, finger = 0, pen = 0;
+ unsigned char *report;
+
+@@ -351,7 +351,8 @@ static int wacom_parse_hid(struct usb_interface *intf,
+ if (usage == WCM_DESKTOP) {
+ if (finger) {
+ features->device_type = BTN_TOOL_FINGER;
+-
++ /* touch device at least supports one touch point */
++ touch_max = 1;
+ switch (features->type) {
+ case TABLETPC2FG:
+ features->pktlen = WACOM_PKGLEN_TPC2FG;
+@@ -504,6 +505,8 @@ static int wacom_parse_hid(struct usb_interface *intf,
+ }
+
+ out:
++ if (!features->touch_max && touch_max)
++ features->touch_max = touch_max;
+ result = 0;
+ kfree(report);
+ return result;
+--
+1.8.4.2
+
diff --git a/freed-ora/current/f19/0001-lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch b/freed-ora/current/f19/0001-lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
new file mode 100644
index 000000000..d25452268
--- /dev/null
+++ b/freed-ora/current/f19/0001-lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
@@ -0,0 +1,38 @@
+Bugzilla: N/A
+Upstream-status: Nak'd, supposedly replacement coming to auto-select
+
+From 0f3f5c5b4ca2eb1f41947c50bedb9b17aa1a1f80 Mon Sep 17 00:00:00 2001
+From: Josh Boyer <jwboyer@fedoraproject.org>
+Date: Mon, 11 Nov 2013 08:39:16 -0500
+Subject: [PATCH] lib/cpumask: Make CPUMASK_OFFSTACK usable without debug
+ dependency
+
+When CPUMASK_OFFSTACK was added in 2008, it was dependent upon
+DEBUG_PER_CPU_MAPS being enabled, or an architecture could select it.
+The debug dependency adds additional overhead that isn't required for
+operation of the feature, and we need CPUMASK_OFFSTACK to increase the
+NR_CPUS value beyond 512 on x86. We drop the current dependency and make
+sure SMP is set.
+
+Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
+---
+ lib/Kconfig | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lib/Kconfig b/lib/Kconfig
+index b3c8be0..50b47cd 100644
+--- a/lib/Kconfig
++++ b/lib/Kconfig
+@@ -342,7 +342,8 @@ config CHECK_SIGNATURE
+ bool
+
+ config CPUMASK_OFFSTACK
+- bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
++ bool "Force CPU masks off stack"
++ depends on SMP
+ help
+ Use dynamic allocation for cpumask_var_t, instead of putting
+ them on the stack. This is a bit more expensive, but avoids
+--
+1.8.3.1
+
diff --git a/freed-ora/current/f19/0002-Input-wacom-add-support-for-three-new-Intuos-devices.patch b/freed-ora/current/f19/0002-Input-wacom-add-support-for-three-new-Intuos-devices.patch
new file mode 100644
index 000000000..0c2161f11
--- /dev/null
+++ b/freed-ora/current/f19/0002-Input-wacom-add-support-for-three-new-Intuos-devices.patch
@@ -0,0 +1,216 @@
+Bugzilla: 1046238
+Upstream-status: Queued for 3.14
+
+From b5fd2a3e92ca5c8c1f3c20d31ac5daed3ec4d604 Mon Sep 17 00:00:00 2001
+From: Ping Cheng <pinglinux@gmail.com>
+Date: Mon, 25 Nov 2013 18:44:55 -0800
+Subject: [PATCH] Input: wacom - add support for three new Intuos devices
+
+Two tablets in this series support both pen and touch. One (Intuos S)
+only supports pen. This patch also updates the driver to process wireless
+devices that do not support touch interface.
+
+Tested-by: Jason Gerecke <killertofu@gmail.com>
+Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
+Signed-off-by: Ping Cheng <pingc@wacom.com>
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+---
+ drivers/input/tablet/wacom_sys.c | 6 ++--
+ drivers/input/tablet/wacom_wac.c | 61 ++++++++++++++++++++++++++++++----------
+ drivers/input/tablet/wacom_wac.h | 2 ++
+ 3 files changed, 51 insertions(+), 18 deletions(-)
+
+diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
+index 3d71b60..3a7d99c 100644
+--- a/drivers/input/tablet/wacom_sys.c
++++ b/drivers/input/tablet/wacom_sys.c
+@@ -1198,7 +1198,8 @@ static void wacom_wireless_work(struct work_struct *work)
+ goto fail;
+
+ /* Touch interface */
+- if (wacom_wac1->features.touch_max) {
++ if (wacom_wac1->features.touch_max ||
++ wacom_wac1->features.type == INTUOSHT) {
+ wacom_wac2->features =
+ *((struct wacom_features *)id->driver_info);
+ wacom_wac2->features.pktlen = WACOM_PKGLEN_BBTOUCH3;
+@@ -1321,7 +1322,7 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i
+ * HID descriptor. If this is the touch interface (wMaxPacketSize
+ * of WACOM_PKGLEN_BBTOUCH3), override the table values.
+ */
+- if (features->type >= INTUOS5S && features->type <= INTUOSPL) {
++ if (features->type >= INTUOS5S && features->type <= INTUOSHT) {
+ if (endpoint->wMaxPacketSize == WACOM_PKGLEN_BBTOUCH3) {
+ features->device_type = BTN_TOOL_FINGER;
+ features->pktlen = WACOM_PKGLEN_BBTOUCH3;
+@@ -1391,7 +1392,6 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i
+ goto fail5;
+ }
+ }
+-
+ return 0;
+
+ fail5: wacom_destroy_leds(wacom);
+diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
+index 3f75f1d..eb60a28 100644
+--- a/drivers/input/tablet/wacom_wac.c
++++ b/drivers/input/tablet/wacom_wac.c
+@@ -1176,10 +1176,16 @@ static void wacom_bpt3_touch_msg(struct wacom_wac *wacom, unsigned char *data)
+ static void wacom_bpt3_button_msg(struct wacom_wac *wacom, unsigned char *data)
+ {
+ struct input_dev *input = wacom->input;
++ struct wacom_features *features = &wacom->features;
+
+- input_report_key(input, BTN_LEFT, (data[1] & 0x08) != 0);
++ if (features->type == INTUOSHT) {
++ input_report_key(input, BTN_LEFT, (data[1] & 0x02) != 0);
++ input_report_key(input, BTN_BACK, (data[1] & 0x08) != 0);
++ } else {
++ input_report_key(input, BTN_BACK, (data[1] & 0x02) != 0);
++ input_report_key(input, BTN_LEFT, (data[1] & 0x08) != 0);
++ }
+ input_report_key(input, BTN_FORWARD, (data[1] & 0x04) != 0);
+- input_report_key(input, BTN_BACK, (data[1] & 0x02) != 0);
+ input_report_key(input, BTN_RIGHT, (data[1] & 0x01) != 0);
+ }
+
+@@ -1217,7 +1223,7 @@ static int wacom_bpt_pen(struct wacom_wac *wacom)
+ unsigned char *data = wacom->data;
+ int prox = 0, x = 0, y = 0, p = 0, d = 0, pen = 0, btn1 = 0, btn2 = 0;
+
+- if (data[0] != 0x02)
++ if (data[0] != WACOM_REPORT_PENABLED)
+ return 0;
+
+ prox = (data[1] & 0x20) == 0x20;
+@@ -1297,7 +1303,7 @@ static int wacom_wireless_irq(struct wacom_wac *wacom, size_t len)
+ unsigned char *data = wacom->data;
+ int connected;
+
+- if (len != WACOM_PKGLEN_WIRELESS || data[0] != 0x80)
++ if (len != WACOM_PKGLEN_WIRELESS || data[0] != WACOM_REPORT_WL)
+ return 0;
+
+ connected = data[1] & 0x01;
+@@ -1391,6 +1397,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len)
+ break;
+
+ case BAMBOO_PT:
++ case INTUOSHT:
+ sync = wacom_bpt_irq(wacom_wac, len);
+ break;
+
+@@ -1459,7 +1466,7 @@ void wacom_setup_device_quirks(struct wacom_features *features)
+
+ /* these device have multiple inputs */
+ if (features->type >= WIRELESS ||
+- (features->type >= INTUOS5S && features->type <= INTUOSPL) ||
++ (features->type >= INTUOS5S && features->type <= INTUOSHT) ||
+ (features->oVid && features->oPid))
+ features->quirks |= WACOM_QUIRK_MULTI_INPUT;
+
+@@ -1771,33 +1778,43 @@ int wacom_setup_input_capabilities(struct input_dev *input_dev,
+ __set_bit(INPUT_PROP_POINTER, input_dev->propbit);
+ break;
+
++ case INTUOSHT:
+ case BAMBOO_PT:
+ __clear_bit(ABS_MISC, input_dev->absbit);
+
+- __set_bit(INPUT_PROP_POINTER, input_dev->propbit);
+-
+ if (features->device_type == BTN_TOOL_FINGER) {
+- unsigned int flags = INPUT_MT_POINTER;
+
+ __set_bit(BTN_LEFT, input_dev->keybit);
+ __set_bit(BTN_FORWARD, input_dev->keybit);
+ __set_bit(BTN_BACK, input_dev->keybit);
+ __set_bit(BTN_RIGHT, input_dev->keybit);
+
+- if (features->pktlen == WACOM_PKGLEN_BBTOUCH3) {
+- input_set_abs_params(input_dev,
++ if (features->touch_max) {
++ /* touch interface */
++ unsigned int flags = INPUT_MT_POINTER;
++
++ __set_bit(INPUT_PROP_POINTER, input_dev->propbit);
++ if (features->pktlen == WACOM_PKGLEN_BBTOUCH3) {
++ input_set_abs_params(input_dev,
+ ABS_MT_TOUCH_MAJOR,
+ 0, features->x_max, 0, 0);
+- input_set_abs_params(input_dev,
++ input_set_abs_params(input_dev,
+ ABS_MT_TOUCH_MINOR,
+ 0, features->y_max, 0, 0);
++ } else {
++ __set_bit(BTN_TOOL_FINGER, input_dev->keybit);
++ __set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit);
++ flags = 0;
++ }
++ input_mt_init_slots(input_dev, features->touch_max, flags);
+ } else {
+- __set_bit(BTN_TOOL_FINGER, input_dev->keybit);
+- __set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit);
+- flags = 0;
++ /* buttons/keys only interface */
++ __clear_bit(ABS_X, input_dev->absbit);
++ __clear_bit(ABS_Y, input_dev->absbit);
++ __clear_bit(BTN_TOUCH, input_dev->keybit);
+ }
+- input_mt_init_slots(input_dev, features->touch_max, flags);
+ } else if (features->device_type == BTN_TOOL_PEN) {
++ __set_bit(INPUT_PROP_POINTER, input_dev->propbit);
+ __set_bit(BTN_TOOL_RUBBER, input_dev->keybit);
+ __set_bit(BTN_TOOL_PEN, input_dev->keybit);
+ __set_bit(BTN_STYLUS, input_dev->keybit);
+@@ -2194,6 +2211,17 @@ static const struct wacom_features wacom_features_0x300 =
+ static const struct wacom_features wacom_features_0x301 =
+ { "Wacom Bamboo One M", WACOM_PKGLEN_BBPEN, 21648, 13530, 1023,
+ 31, BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
++static const struct wacom_features wacom_features_0x302 =
++ { "Wacom Intuos PT S", WACOM_PKGLEN_BBPEN, 15200, 9500, 1023,
++ 31, INTUOSHT, WACOM_INTUOS_RES, WACOM_INTUOS_RES,
++ .touch_max = 16 };
++static const struct wacom_features wacom_features_0x303 =
++ { "Wacom Intuos PT M", WACOM_PKGLEN_BBPEN, 21600, 13500, 1023,
++ 31, INTUOSHT, WACOM_INTUOS_RES, WACOM_INTUOS_RES,
++ .touch_max = 16 };
++static const struct wacom_features wacom_features_0x30E =
++ { "Wacom Intuos S", WACOM_PKGLEN_BBPEN, 15200, 9500, 1023,
++ 31, INTUOSHT, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
+ static const struct wacom_features wacom_features_0x6004 =
+ { "ISD-V4", WACOM_PKGLEN_GRAPHIRE, 12800, 8000, 255,
+ 0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
+@@ -2329,6 +2357,9 @@ const struct usb_device_id wacom_ids[] = {
+ { USB_DEVICE_WACOM(0x10D) },
+ { USB_DEVICE_WACOM(0x300) },
+ { USB_DEVICE_WACOM(0x301) },
++ { USB_DEVICE_DETAILED(0x302, USB_CLASS_HID, 0, 0) },
++ { USB_DEVICE_DETAILED(0x303, USB_CLASS_HID, 0, 0) },
++ { USB_DEVICE_DETAILED(0x30E, USB_CLASS_HID, 0, 0) },
+ { USB_DEVICE_WACOM(0x304) },
+ { USB_DEVICE_DETAILED(0x314, USB_CLASS_HID, 0, 0) },
+ { USB_DEVICE_DETAILED(0x315, USB_CLASS_HID, 0, 0) },
+diff --git a/drivers/input/tablet/wacom_wac.h b/drivers/input/tablet/wacom_wac.h
+index fd23a37..854cceb 100644
+--- a/drivers/input/tablet/wacom_wac.h
++++ b/drivers/input/tablet/wacom_wac.h
+@@ -54,6 +54,7 @@
+ #define WACOM_REPORT_TPCST 16
+ #define WACOM_REPORT_TPC1FGE 18
+ #define WACOM_REPORT_24HDT 1
++#define WACOM_REPORT_WL 128
+
+ /* device quirks */
+ #define WACOM_QUIRK_MULTI_INPUT 0x0001
+@@ -81,6 +82,7 @@ enum {
+ INTUOSPS,
+ INTUOSPM,
+ INTUOSPL,
++ INTUOSHT,
+ WACOM_21UX2,
+ WACOM_22HD,
+ DTK,
+--
+1.8.4.2
+
diff --git a/freed-ora/current/f19/0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch b/freed-ora/current/f19/0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch
deleted file mode 100644
index 499c34a63..000000000
--- a/freed-ora/current/f19/0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 3efd689c41080b0d4a9cc263a51f2868e3d5a37b Mon Sep 17 00:00:00 2001
-From: Stanislaw Gruszka <sgruszka@redhat.com>
-Date: Wed, 9 Oct 2013 15:03:57 +0200
-Subject: [PATCH] iwlwifi: don't WARN on bad firmware state
-
-When we restart firmware is possible and hance firmware is marked as not
-alive, we can still get calls from mac80211. Don't WARN on in this
-situation as this triggers automatic bug reports with no valuable
-information.
-
-This extend change from:
-
-commit 8ca95995e64f5d270889badb3e449dca91106a2b
-Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-Date: Sun Sep 15 11:37:17 2013 +0300
-
- iwlwifi: don't WARN on host commands sent when firmware is dead
-
-which remove WARN_ONCE from one place, but those warnings are also
-triggered from other functions.
-
-Patch adds also unlikely() statement.
-
-Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
----
- drivers/net/wireless/iwlwifi/iwl-trans.h | 22 +++++++++++-----------
- 1 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/drivers/net/wireless/iwlwifi/iwl-trans.h b/drivers/net/wireless/iwlwifi/iwl-trans.h
-index 80b4750..c6bac7c 100644
---- a/drivers/net/wireless/iwlwifi/iwl-trans.h
-+++ b/drivers/net/wireless/iwlwifi/iwl-trans.h
-@@ -601,7 +601,7 @@ static inline int iwl_trans_send_cmd(struct iwl_trans *trans,
- {
- int ret;
-
-- if (trans->state != IWL_TRANS_FW_ALIVE) {
-+ if (unlikely(trans->state != IWL_TRANS_FW_ALIVE)) {
- IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);
- return -EIO;
- }
-@@ -640,8 +640,8 @@ static inline void iwl_trans_free_tx_cmd(struct iwl_trans *trans,
- static inline int iwl_trans_tx(struct iwl_trans *trans, struct sk_buff *skb,
- struct iwl_device_cmd *dev_cmd, int queue)
- {
-- WARN_ONCE(trans->state != IWL_TRANS_FW_ALIVE,
-- "%s bad state = %d", __func__, trans->state);
-+ if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
-+ IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);
-
- return trans->ops->tx(trans, skb, dev_cmd, queue);
- }
-@@ -649,16 +649,16 @@ static inline int iwl_trans_tx(struct iwl_trans *trans, struct sk_buff *skb,
- static inline void iwl_trans_reclaim(struct iwl_trans *trans, int queue,
- int ssn, struct sk_buff_head *skbs)
- {
-- WARN_ONCE(trans->state != IWL_TRANS_FW_ALIVE,
-- "%s bad state = %d", __func__, trans->state);
-+ if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
-+ IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);
-
- trans->ops->reclaim(trans, queue, ssn, skbs);
- }
-
- static inline void iwl_trans_txq_disable(struct iwl_trans *trans, int queue)
- {
-- WARN_ONCE(trans->state != IWL_TRANS_FW_ALIVE,
-- "%s bad state = %d", __func__, trans->state);
-+ if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
-+ IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);
-
- trans->ops->txq_disable(trans, queue);
- }
-@@ -669,8 +669,8 @@ static inline void iwl_trans_txq_enable(struct iwl_trans *trans, int queue,
- {
- might_sleep();
-
-- WARN_ONCE(trans->state != IWL_TRANS_FW_ALIVE,
-- "%s bad state = %d", __func__, trans->state);
-+ if (unlikely((trans->state != IWL_TRANS_FW_ALIVE)))
-+ IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);
-
- trans->ops->txq_enable(trans, queue, fifo, sta_id, tid,
- frame_limit, ssn);
-@@ -685,8 +685,8 @@ static inline void iwl_trans_ac_txq_enable(struct iwl_trans *trans, int queue,
-
- static inline int iwl_trans_wait_tx_queue_empty(struct iwl_trans *trans)
- {
-- WARN_ONCE(trans->state != IWL_TRANS_FW_ALIVE,
-- "%s bad state = %d", __func__, trans->state);
-+ if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
-+ IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);
-
- return trans->ops->wait_tx_queue_empty(trans);
- }
---
-1.7.1
-
diff --git a/freed-ora/current/f19/0003-Input-wacom-add-reporting-of-SW_MUTE_DEVICE-events.patch b/freed-ora/current/f19/0003-Input-wacom-add-reporting-of-SW_MUTE_DEVICE-events.patch
new file mode 100644
index 000000000..ad433639d
--- /dev/null
+++ b/freed-ora/current/f19/0003-Input-wacom-add-reporting-of-SW_MUTE_DEVICE-events.patch
@@ -0,0 +1,155 @@
+Bugzilla: 1046238
+Upstream-status: Queued for 3.14
+
+From 961794a00eab03f4344b7d5e825e8e789e55da87 Mon Sep 17 00:00:00 2001
+From: Ping Cheng <pinglinux@gmail.com>
+Date: Thu, 5 Dec 2013 12:54:53 -0800
+Subject: [PATCH] Input: wacom - add reporting of SW_MUTE_DEVICE events
+
+New Intuos series models added a hardware switch to turn touch
+data on/off. The state of the switch is reported periodically
+from the tablet. To report the state the driver will emit SW_MUTE_DEVICE
+events.
+
+Reviewed_by: Chris Bagwell <chris@cnpbagwell.com>
+Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
+Tested-by: Jason Gerecke <killertofu@gmail.com>
+Signed-off-by: Ping Cheng <pingc@wacom.com>
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+---
+ drivers/input/tablet/wacom_sys.c | 12 ++++++++++++
+ drivers/input/tablet/wacom_wac.c | 30 +++++++++++++++++++++++++++---
+ drivers/input/tablet/wacom_wac.h | 5 +++++
+ 3 files changed, 44 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
+index 8318826..b16ebef 100644
+--- a/drivers/input/tablet/wacom_sys.c
++++ b/drivers/input/tablet/wacom_sys.c
+@@ -1197,6 +1197,8 @@ static void wacom_wireless_work(struct work_struct *work)
+ wacom_wac1->features.device_type = BTN_TOOL_PEN;
+ snprintf(wacom_wac1->name, WACOM_NAME_MAX, "%s (WL) Pen",
+ wacom_wac1->features.name);
++ wacom_wac1->shared->touch_max = wacom_wac1->features.touch_max;
++ wacom_wac1->shared->type = wacom_wac1->features.type;
+ error = wacom_register_input(wacom1);
+ if (error)
+ goto fail;
+@@ -1218,6 +1220,10 @@ static void wacom_wireless_work(struct work_struct *work)
+ error = wacom_register_input(wacom2);
+ if (error)
+ goto fail;
++
++ if (wacom_wac1->features.type == INTUOSHT &&
++ wacom_wac1->features.touch_max)
++ wacom_wac->shared->touch_input = wacom_wac2->input;
+ }
+
+ error = wacom_initialize_battery(wacom);
+@@ -1396,6 +1402,12 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i
+ goto fail5;
+ }
+ }
++
++ if (wacom_wac->features.type == INTUOSHT && wacom_wac->features.touch_max) {
++ if (wacom_wac->features.device_type == BTN_TOOL_FINGER)
++ wacom_wac->shared->touch_input = wacom_wac->input;
++ }
++
+ return 0;
+
+ fail5: wacom_destroy_leds(wacom);
+diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
+index 7655088..048e5b3 100644
+--- a/drivers/input/tablet/wacom_wac.c
++++ b/drivers/input/tablet/wacom_wac.c
+@@ -1219,13 +1219,23 @@ static int wacom_bpt3_touch(struct wacom_wac *wacom)
+
+ static int wacom_bpt_pen(struct wacom_wac *wacom)
+ {
++ struct wacom_features *features = &wacom->features;
+ struct input_dev *input = wacom->input;
+ unsigned char *data = wacom->data;
+ int prox = 0, x = 0, y = 0, p = 0, d = 0, pen = 0, btn1 = 0, btn2 = 0;
+
+- if (data[0] != WACOM_REPORT_PENABLED)
++ if (data[0] != WACOM_REPORT_PENABLED && data[0] != WACOM_REPORT_USB)
+ return 0;
+
++ if (data[0] == WACOM_REPORT_USB) {
++ if (features->type == INTUOSHT && features->touch_max) {
++ input_report_switch(wacom->shared->touch_input,
++ SW_MUTE_DEVICE, data[8] & 0x40);
++ input_sync(wacom->shared->touch_input);
++ }
++ return 0;
++ }
++
+ prox = (data[1] & 0x20) == 0x20;
+
+ /*
+@@ -1258,8 +1268,8 @@ static int wacom_bpt_pen(struct wacom_wac *wacom)
+ * touching and applying pressure; do not report negative
+ * distance.
+ */
+- if (data[8] <= wacom->features.distance_max)
+- d = wacom->features.distance_max - data[8];
++ if (data[8] <= features->distance_max)
++ d = features->distance_max - data[8];
+
+ pen = data[1] & 0x01;
+ btn1 = data[1] & 0x02;
+@@ -1310,6 +1320,13 @@ static int wacom_wireless_irq(struct wacom_wac *wacom, size_t len)
+ if (connected) {
+ int pid, battery;
+
++ if ((wacom->shared->type == INTUOSHT) &&
++ wacom->shared->touch_max) {
++ input_report_switch(wacom->shared->touch_input,
++ SW_MUTE_DEVICE, data[5] & 0x40);
++ input_sync(wacom->shared->touch_input);
++ }
++
+ pid = get_unaligned_be16(&data[6]);
+ battery = data[5] & 0x3f;
+ if (wacom->pid != pid) {
+@@ -1779,6 +1796,13 @@ int wacom_setup_input_capabilities(struct input_dev *input_dev,
+ break;
+
+ case INTUOSHT:
++ if (features->touch_max &&
++ features->device_type == BTN_TOOL_FINGER) {
++ input_dev->evbit[0] |= BIT_MASK(EV_SW);
++ __set_bit(SW_MUTE_DEVICE, input_dev->swbit);
++ }
++ /* fall through */
++
+ case BAMBOO_PT:
+ __clear_bit(ABS_MISC, input_dev->absbit);
+
+diff --git a/drivers/input/tablet/wacom_wac.h b/drivers/input/tablet/wacom_wac.h
+index 854cceb..3600cf7 100644
+--- a/drivers/input/tablet/wacom_wac.h
++++ b/drivers/input/tablet/wacom_wac.h
+@@ -55,6 +55,7 @@
+ #define WACOM_REPORT_TPC1FGE 18
+ #define WACOM_REPORT_24HDT 1
+ #define WACOM_REPORT_WL 128
++#define WACOM_REPORT_USB 192
+
+ /* device quirks */
+ #define WACOM_QUIRK_MULTI_INPUT 0x0001
+@@ -131,6 +132,10 @@ struct wacom_features {
+ struct wacom_shared {
+ bool stylus_in_proximity;
+ bool touch_down;
++ /* for wireless device to access USB interfaces */
++ unsigned touch_max;
++ int type;
++ struct input_dev *touch_input;
+ };
+
+ struct wacom_wac {
+--
+1.8.4.2
+
diff --git a/freed-ora/current/f19/Input-ALPS-add-support-for-Dolphin-devices.patch b/freed-ora/current/f19/Input-ALPS-add-support-for-Dolphin-devices.patch
index a1f60b442..1bdc0cbf8 100644
--- a/freed-ora/current/f19/Input-ALPS-add-support-for-Dolphin-devices.patch
+++ b/freed-ora/current/f19/Input-ALPS-add-support-for-Dolphin-devices.patch
@@ -1,7 +1,7 @@
Bugzilla: 953211
Upstream-status: Queued for 3.14
-From 3d3ce020cb0335e1fe5074f009cdb5818ecbc50e Mon Sep 17 00:00:00 2001
+From 4081924b7b6ce876fdb8e8049f1a5ba9c1496483 Mon Sep 17 00:00:00 2001
From: Yunkang Tang <tommywill2011@gmail.com>
Date: Thu, 26 Dec 2013 14:54:19 -0800
Subject: [PATCH] Input: ALPS - add support for "Dolphin" devices
@@ -17,10 +17,10 @@ Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2 files changed, 179 insertions(+), 42 deletions(-)
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
-index 7c5d72a..a914d8a 100644
+index 5cf62e3..fb15c64 100644
--- a/drivers/input/mouse/alps.c
+++ b/drivers/input/mouse/alps.c
-@@ -257,6 +257,57 @@ static void alps_process_packet_v1_v2(struct psmouse *psmouse)
+@@ -277,6 +277,57 @@ static void alps_process_packet_v1_v2(struct psmouse *psmouse)
}
/*
@@ -78,7 +78,7 @@ index 7c5d72a..a914d8a 100644
* Process bitmap data from v3 and v4 protocols. Returns the number of
* fingers detected. A return value of 0 means at least one of the
* bitmaps was empty.
-@@ -461,7 +512,8 @@ static void alps_decode_buttons_v3(struct alps_fields *f, unsigned char *p)
+@@ -481,7 +532,8 @@ static void alps_decode_buttons_v3(struct alps_fields *f, unsigned char *p)
f->ts_middle = !!(p[3] & 0x40);
}
@@ -88,7 +88,7 @@ index 7c5d72a..a914d8a 100644
{
f->first_mp = !!(p[4] & 0x40);
f->is_mp = !!(p[0] & 0x40);
-@@ -482,48 +534,61 @@ static void alps_decode_pinnacle(struct alps_fields *f, unsigned char *p)
+@@ -502,48 +554,61 @@ static void alps_decode_pinnacle(struct alps_fields *f, unsigned char *p)
alps_decode_buttons_v3(f, p);
}
@@ -171,7 +171,7 @@ index 7c5d72a..a914d8a 100644
/*
* There's no single feature of touchpad position and bitmap packets
-@@ -540,19 +605,38 @@ static void alps_process_touchpad_packet_v3(struct psmouse *psmouse)
+@@ -560,19 +625,38 @@ static void alps_process_touchpad_packet_v3(struct psmouse *psmouse)
*/
if (f.is_mp) {
fingers = f.fingers;
@@ -223,7 +223,7 @@ index 7c5d72a..a914d8a 100644
} else {
priv->multi_packet = 0;
}
-@@ -642,7 +726,7 @@ static void alps_process_packet_v3(struct psmouse *psmouse)
+@@ -662,7 +746,7 @@ static void alps_process_packet_v3(struct psmouse *psmouse)
return;
}
@@ -231,8 +231,8 @@ index 7c5d72a..a914d8a 100644
+ alps_process_touchpad_packet_v3_v5(psmouse);
}
- static void alps_process_packet_v4(struct psmouse *psmouse)
-@@ -1519,6 +1603,52 @@ error:
+ static void alps_process_packet_v6(struct psmouse *psmouse)
+@@ -1709,6 +1793,52 @@ error:
return -1;
}
@@ -285,7 +285,7 @@ index 7c5d72a..a914d8a 100644
static int alps_hw_init_dolphin_v1(struct psmouse *psmouse)
{
struct ps2dev *ps2dev = &psmouse->ps2dev;
-@@ -1571,13 +1701,13 @@ static void alps_set_defaults(struct alps_data *priv)
+@@ -1763,13 +1893,13 @@ static void alps_set_defaults(struct alps_data *priv)
break;
case ALPS_PROTO_V5:
priv->hw_init = alps_hw_init_dolphin_v1;
@@ -301,7 +301,7 @@ index 7c5d72a..a914d8a 100644
priv->flags = 0;
priv->x_max = 1360;
priv->y_max = 660;
-@@ -1645,11 +1775,13 @@ static int alps_identify(struct psmouse *psmouse, struct alps_data *priv)
+@@ -1845,11 +1975,13 @@ static int alps_identify(struct psmouse *psmouse, struct alps_data *priv)
if (alps_match_table(psmouse, priv, e7, ec) == 0) {
return 0;
} else if (e7[0] == 0x73 && e7[1] == 0x03 && e7[2] == 0x50 &&
@@ -319,12 +319,12 @@ index 7c5d72a..a914d8a 100644
priv->proto_version = ALPS_PROTO_V3;
alps_set_defaults(priv);
diff --git a/drivers/input/mouse/alps.h b/drivers/input/mouse/alps.h
-index eee5985..c5c53f4 100644
+index 704f0f9..03f88b6 100644
--- a/drivers/input/mouse/alps.h
+++ b/drivers/input/mouse/alps.h
-@@ -18,6 +18,10 @@
- #define ALPS_PROTO_V4 4
+@@ -19,6 +19,10 @@
#define ALPS_PROTO_V5 5
+ #define ALPS_PROTO_V6 6
+#define DOLPHIN_COUNT_PER_ELECTRODE 64
+#define DOLPHIN_PROFILE_XOFFSET 8 /* x-electrode offset */
@@ -333,7 +333,7 @@ index eee5985..c5c53f4 100644
/**
* struct alps_model_info - touchpad ID table
* @signature: E7 response string to match.
-@@ -145,7 +149,8 @@ struct alps_data {
+@@ -146,7 +150,8 @@ struct alps_data {
int (*hw_init)(struct psmouse *psmouse);
void (*process_packet)(struct psmouse *psmouse);
diff --git a/freed-ora/current/f19/Revert-userns-Allow-unprivileged-users-to-create-use.patch b/freed-ora/current/f19/Revert-userns-Allow-unprivileged-users-to-create-use.patch
new file mode 100644
index 000000000..cea6bff01
--- /dev/null
+++ b/freed-ora/current/f19/Revert-userns-Allow-unprivileged-users-to-create-use.patch
@@ -0,0 +1,44 @@
+Bugzilla: 917708
+Upstream-status: Fedora mustard
+
+From e3da68be55914bfeedb8866f191cc0958579611d Mon Sep 17 00:00:00 2001
+From: Josh Boyer <jwboyer@fedoraproject.org>
+Date: Wed, 13 Nov 2013 10:21:18 -0500
+Subject: [PATCH] Revert "userns: Allow unprivileged users to create user
+ namespaces."
+
+This reverts commit 5eaf563e53294d6696e651466697eb9d491f3946.
+
+Conflicts:
+ kernel/fork.c
+---
+ kernel/fork.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/kernel/fork.c b/kernel/fork.c
+index f6d11fc..e04c9a7 100644
+--- a/kernel/fork.c
++++ b/kernel/fork.c
+@@ -1573,6 +1573,19 @@ long do_fork(unsigned long clone_flags,
+ long nr;
+
+ /*
++ * Do some preliminary argument and permissions checking before we
++ * actually start allocating stuff
++ */
++ if (clone_flags & CLONE_NEWUSER) {
++ /* hopefully this check will go away when userns support is
++ * complete
++ */
++ if (!capable(CAP_SYS_ADMIN) || !capable(CAP_SETUID) ||
++ !capable(CAP_SETGID))
++ return -EPERM;
++ }
++
++ /*
+ * Determine whether and which event to report to ptracer. When
+ * called from kernel_thread or CLONE_UNTRACED is explicitly
+ * requested, no event is reported; otherwise, report if the event
+--
+1.8.3.1
+
diff --git a/freed-ora/current/f19/arm-am33xx-arm-soc-upstream.patch b/freed-ora/current/f19/arm-am33xx-arm-soc-upstream.patch
deleted file mode 100644
index 3129c1a7a..000000000
--- a/freed-ora/current/f19/arm-am33xx-arm-soc-upstream.patch
+++ /dev/null
@@ -1,2468 +0,0 @@
-Bugzilla: 1012025
-Upstream-status: Landed in 3.13-rc1
-
-From 9096ef3ab805b2e9fda732f3128a761810c1dea4 Mon Sep 17 00:00:00 2001
-From: Alexandre Belloni <alexandre.belloni@free-electrons.com>
-Date: Sat, 3 Aug 2013 20:00:54 +0200
-Subject: [PATCH 01/15] ARM: dts: AM33XX: Add PMU support
-
-ARM Performance Monitor Units are available on the am33xx,
-add the support in the dtsi.
-
-Tested with perf and oprofile on a regular beaglebone.
-
-Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am33xx.dtsi | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
-index f9c5da9..4d1c632 100644
---- a/arch/arm/boot/dts/am33xx.dtsi
-+++ b/arch/arm/boot/dts/am33xx.dtsi
-@@ -57,6 +57,11 @@
- };
- };
-
-+ pmu {
-+ compatible = "arm,cortex-a8-pmu";
-+ interrupts = <3>;
-+ };
-+
- /*
- * The soc node represents the soc top level view. It is uses for IPs
- * that are not memory mapped in the MPU view or for the MPU itself.
---
-1.8.4.rc3
-
-From 41bae5a6301ff1cd48fd0c4ff32146059b8e1b73 Mon Sep 17 00:00:00 2001
-From: Lars Poeschel <poeschel@lemonage.de>
-Date: Wed, 7 Aug 2013 13:06:32 +0200
-Subject: [PATCH 02/15] ARM: dts: AM33xx: Correct gpio #interrupt-cells
- property
-
-Following commit ff5c9059 and therefore other omap platforms using
-the gpio-omap driver correct the #interrupt-cells property on am33xx
-too. The omap gpio binding documentaion also states that
-the #interrupt-cells property should be 2.
-
-Signed-off-by: Lars Poeschel <poeschel@lemonage.de>
-Reviewed-by: Javier Martinez Canillas <javier@dowhile0.org>
-Acked-by: Mark Rutland <mark.rutland@arm.com>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am33xx.dtsi | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
-index 4d1c632..a7731ea 100644
---- a/arch/arm/boot/dts/am33xx.dtsi
-+++ b/arch/arm/boot/dts/am33xx.dtsi
-@@ -111,7 +111,7 @@
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
-- #interrupt-cells = <1>;
-+ #interrupt-cells = <2>;
- reg = <0x44e07000 0x1000>;
- interrupts = <96>;
- };
-@@ -122,7 +122,7 @@
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
-- #interrupt-cells = <1>;
-+ #interrupt-cells = <2>;
- reg = <0x4804c000 0x1000>;
- interrupts = <98>;
- };
-@@ -133,7 +133,7 @@
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
-- #interrupt-cells = <1>;
-+ #interrupt-cells = <2>;
- reg = <0x481ac000 0x1000>;
- interrupts = <32>;
- };
-@@ -144,7 +144,7 @@
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
-- #interrupt-cells = <1>;
-+ #interrupt-cells = <2>;
- reg = <0x481ae000 0x1000>;
- interrupts = <62>;
- };
---
-1.8.4.rc3
-
-From 200835d6072367d401cc6eb76b05fef2a2919291 Mon Sep 17 00:00:00 2001
-From: Matt Porter <mdp@ti.com>
-Date: Tue, 10 Sep 2013 14:24:37 -0500
-Subject: [PATCH 03/15] ARM: dts: AM33XX: Add EDMA support
-
-Adds AM33XX EDMA support to the am33xx.dtsi as documented in
-Documentation/devicetree/bindings/dma/ti-edma.txt
-
-[Joel Fernandes <joelf@ti.com>]
-Drop DT entries that are non-hardware-description as discussed in [1]
-
-[1] https://patchwork.kernel.org/patch/2226761/
-
-Signed-off-by: Matt Porter <mporter@ti.com>
-Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am33xx.dtsi | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
-index a7731ea..7a53e07 100644
---- a/arch/arm/boot/dts/am33xx.dtsi
-+++ b/arch/arm/boot/dts/am33xx.dtsi
-@@ -105,6 +105,18 @@
- reg = <0x48200000 0x1000>;
- };
-
-+ edma: edma@49000000 {
-+ compatible = "ti,edma3";
-+ ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
-+ reg = <0x49000000 0x10000>,
-+ <0x44e10f90 0x10>;
-+ interrupts = <12 13 14>;
-+ #dma-cells = <1>;
-+ dma-channels = <64>;
-+ ti,edma-regions = <4>;
-+ ti,edma-slots = <256>;
-+ };
-+
- gpio0: gpio@44e07000 {
- compatible = "ti,omap4-gpio";
- ti,hwmods = "gpio1";
---
-1.8.4.rc3
-
-From 62ca70c0e2dfc1a4e9225b801cd769fd92f6de7c Mon Sep 17 00:00:00 2001
-From: Matt Porter <mporter@ti.com>
-Date: Tue, 10 Sep 2013 14:24:38 -0500
-Subject: [PATCH 04/15] ARM: dts: AM33XX: Add SPI DMA support
-
-Adds DMA resources to the AM33XX SPI nodes.
-
-Signed-off-by: Matt Porter <mporter@ti.com>
-Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am33xx.dtsi | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
-index 7a53e07..9cd60bf 100644
---- a/arch/arm/boot/dts/am33xx.dtsi
-+++ b/arch/arm/boot/dts/am33xx.dtsi
-@@ -340,6 +340,11 @@
- interrupts = <65>;
- ti,spi-num-cs = <2>;
- ti,hwmods = "spi0";
-+ dmas = <&edma 16
-+ &edma 17
-+ &edma 18
-+ &edma 19>;
-+ dma-names = "tx0", "rx0", "tx1", "rx1";
- status = "disabled";
- };
-
-@@ -351,6 +356,11 @@
- interrupts = <125>;
- ti,spi-num-cs = <2>;
- ti,hwmods = "spi1";
-+ dmas = <&edma 42
-+ &edma 43
-+ &edma 44
-+ &edma 45>;
-+ dma-names = "tx0", "rx0", "tx1", "rx1";
- status = "disabled";
- };
-
---
-1.8.4.rc3
-
-From de80038efb2254fd72e77f848eb867fc193b5a74 Mon Sep 17 00:00:00 2001
-From: Matt Porter <mporter@ti.com>
-Date: Tue, 10 Sep 2013 14:24:39 -0500
-Subject: [PATCH 05/15] ARM: dts: AM33XX: Add MMC support and documentation
-
-Adds AM33XX MMC support for am335x-bone, am335x-evm and am335x-evmsk boards.
-
-Also added is the DMA binding definitions based on the generic DMA request
-binding.
-
-Additional changes made to DTS:
-* Interrupt, reg and compatible properties added
-* ti,needs-special-hs-handling added
-
-Signed-off-by: Matt Porter <mporter@ti.com>
-Acked-by: Tony Lindgren <tony@atomide.com>
-Signed-off-by: Joel Fernandes <joelf@ti.com>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- .../devicetree/bindings/mmc/ti-omap-hsmmc.txt | 26 ++++++++++++++-
- arch/arm/boot/dts/am335x-bone.dts | 11 +++++++
- arch/arm/boot/dts/am335x-evm.dts | 7 ++++
- arch/arm/boot/dts/am335x-evmsk.dts | 7 ++++
- arch/arm/boot/dts/am33xx.dtsi | 38 ++++++++++++++++++++++
- 5 files changed, 88 insertions(+), 1 deletion(-)
-
-diff --git a/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt b/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
-index ed271fc..8c8908a 100644
---- a/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
-+++ b/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
-@@ -20,8 +20,29 @@ ti,dual-volt: boolean, supports dual voltage cards
- ti,non-removable: non-removable slot (like eMMC)
- ti,needs-special-reset: Requires a special softreset sequence
- ti,needs-special-hs-handling: HSMMC IP needs special setting for handling High Speed
-+dmas: List of DMA specifiers with the controller specific format
-+as described in the generic DMA client binding. A tx and rx
-+specifier is required.
-+dma-names: List of DMA request names. These strings correspond
-+1:1 with the DMA specifiers listed in dmas. The string naming is
-+to be "rx" and "tx" for RX and TX DMA requests, respectively.
-+
-+Examples:
-+
-+[hwmod populated DMA resources]
-+
-+ mmc1: mmc@0x4809c000 {
-+ compatible = "ti,omap4-hsmmc";
-+ reg = <0x4809c000 0x400>;
-+ ti,hwmods = "mmc1";
-+ ti,dual-volt;
-+ bus-width = <4>;
-+ vmmc-supply = <&vmmc>; /* phandle to regulator node */
-+ ti,non-removable;
-+ };
-+
-+[generic DMA request binding]
-
--Example:
- mmc1: mmc@0x4809c000 {
- compatible = "ti,omap4-hsmmc";
- reg = <0x4809c000 0x400>;
-@@ -30,4 +51,7 @@ Example:
- bus-width = <4>;
- vmmc-supply = <&vmmc>; /* phandle to regulator node */
- ti,non-removable;
-+ dmas = <&edma 24
-+ &edma 25>;
-+ dma-names = "tx", "rx";
- };
-diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts
-index 7993c48..d5f43fe 100644
---- a/arch/arm/boot/dts/am335x-bone.dts
-+++ b/arch/arm/boot/dts/am335x-bone.dts
-@@ -9,3 +9,14 @@
-
- #include "am33xx.dtsi"
- #include "am335x-bone-common.dtsi"
-+
-+&ldo3_reg {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-always-on;
-+};
-+
-+&mmc1 {
-+ status = "okay";
-+ vmmc-supply = <&ldo3_reg>;
-+};
-diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
-index e8ec875..bc4a69d 100644
---- a/arch/arm/boot/dts/am335x-evm.dts
-+++ b/arch/arm/boot/dts/am335x-evm.dts
-@@ -477,6 +477,8 @@
- };
-
- vmmc_reg: regulator@12 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <3300000>;
- regulator-always-on;
- };
- };
-@@ -517,3 +519,8 @@
- ti,adc-channels = <4 5 6 7>;
- };
- };
-+
-+&mmc1 {
-+ status = "okay";
-+ vmmc-supply = <&vmmc_reg>;
-+};
-diff --git a/arch/arm/boot/dts/am335x-evmsk.dts b/arch/arm/boot/dts/am335x-evmsk.dts
-index 4f339fa..55fd194 100644
---- a/arch/arm/boot/dts/am335x-evmsk.dts
-+++ b/arch/arm/boot/dts/am335x-evmsk.dts
-@@ -393,6 +393,8 @@
- };
-
- vmmc_reg: regulator@12 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <3300000>;
- regulator-always-on;
- };
- };
-@@ -419,3 +421,8 @@
- phy_id = <&davinci_mdio>, <1>;
- phy-mode = "rgmii-txid";
- };
-+
-+&mmc1 {
-+ status = "okay";
-+ vmmc-supply = <&vmmc_reg>;
-+};
-diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
-index 9cd60bf..553adc6 100644
---- a/arch/arm/boot/dts/am33xx.dtsi
-+++ b/arch/arm/boot/dts/am33xx.dtsi
-@@ -245,6 +245,44 @@
- status = "disabled";
- };
-
-+ mmc1: mmc@48060000 {
-+ compatible = "ti,omap4-hsmmc";
-+ ti,hwmods = "mmc1";
-+ ti,dual-volt;
-+ ti,needs-special-reset;
-+ ti,needs-special-hs-handling;
-+ dmas = <&edma 24
-+ &edma 25>;
-+ dma-names = "tx", "rx";
-+ interrupts = <64>;
-+ interrupt-parent = <&intc>;
-+ reg = <0x48060000 0x1000>;
-+ status = "disabled";
-+ };
-+
-+ mmc2: mmc@481d8000 {
-+ compatible = "ti,omap4-hsmmc";
-+ ti,hwmods = "mmc2";
-+ ti,needs-special-reset;
-+ dmas = <&edma 2
-+ &edma 3>;
-+ dma-names = "tx", "rx";
-+ interrupts = <28>;
-+ interrupt-parent = <&intc>;
-+ reg = <0x481d8000 0x1000>;
-+ status = "disabled";
-+ };
-+
-+ mmc3: mmc@47810000 {
-+ compatible = "ti,omap4-hsmmc";
-+ ti,hwmods = "mmc3";
-+ ti,needs-special-reset;
-+ interrupts = <29>;
-+ interrupt-parent = <&intc>;
-+ reg = <0x47810000 0x1000>;
-+ status = "disabled";
-+ };
-+
- wdt2: wdt@44e35000 {
- compatible = "ti,omap3-wdt";
- ti,hwmods = "wd_timer2";
---
-1.8.4.rc3
-
-From 889d5b18a88681d7d1e5a1d1b5d2ffda07c506df Mon Sep 17 00:00:00 2001
-From: Alexander Holler <holler@ahsoftware.de>
-Date: Thu, 12 Sep 2013 20:35:32 +0200
-Subject: [PATCH 06/15] ARM: dts: am335x-bone: add CD for mmc1
-
-This enables the use of MMC cards even when no card was inserted at boot.
-
-Signed-off-by: Alexander Holler <holler@ahsoftware.de>
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-Tested-by: Kevin Hilman <khilman@linaro.org>
-Reviewed-by: Nishanth Menon <nm@ti.com>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am335x-bone-common.dtsi | 14 ++++++++++++++
- arch/arm/boot/dts/am335x-bone.dts | 1 -
- 2 files changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
-index 2f66ded..0d95d54 100644
---- a/arch/arm/boot/dts/am335x-bone-common.dtsi
-+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
-@@ -107,6 +107,12 @@
- 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
- >;
- };
-+
-+ mmc1_pins: pinmux_mmc1_pins {
-+ pinctrl-single,pins = <
-+ 0x160 (PIN_INPUT | MUX_MODE7) /* GPIO0_6 */
-+ >;
-+ };
- };
-
- ocp {
-@@ -260,3 +266,11 @@
- pinctrl-0 = <&davinci_mdio_default>;
- pinctrl-1 = <&davinci_mdio_sleep>;
- };
-+
-+&mmc1 {
-+ status = "okay";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc1_pins>;
-+ cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
-+ cd-inverted;
-+};
-diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts
-index d5f43fe..0d63348 100644
---- a/arch/arm/boot/dts/am335x-bone.dts
-+++ b/arch/arm/boot/dts/am335x-bone.dts
-@@ -17,6 +17,5 @@
- };
-
- &mmc1 {
-- status = "okay";
- vmmc-supply = <&ldo3_reg>;
- };
---
-1.8.4.rc3
-
-From 7e60fa2391c2e89f07452c2037209235dee67aee Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Thu, 12 Sep 2013 20:35:33 +0200
-Subject: [PATCH 07/15] ARM: dts: am335x-boneblack: add eMMC DT entry
-
-The pinmux is specified in am335x-bone-common.dtsi to be
-reused by the eMMC cape.
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-Tested-by: Kevin Hilman <khilman@linaro.org>
-Reviewed-by: Nishanth Menon <nm@ti.com>
-[bcousson@baylibre.com: Fix traling spaces and useless comments]
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am335x-bone-common.dtsi | 22 ++++++++++++++++++++++
- arch/arm/boot/dts/am335x-boneblack.dts | 13 +++++++++++++
- 2 files changed, 35 insertions(+)
-
-diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
-index 0d95d54..c560cb7 100644
---- a/arch/arm/boot/dts/am335x-bone-common.dtsi
-+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
-@@ -113,6 +113,21 @@
- 0x160 (PIN_INPUT | MUX_MODE7) /* GPIO0_6 */
- >;
- };
-+
-+ emmc_pins: pinmux_emmc_pins {
-+ pinctrl-single,pins = <
-+ 0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
-+ 0x84 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_csn2.mmc1_cmd */
-+ 0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
-+ 0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
-+ 0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
-+ 0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
-+ 0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
-+ 0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
-+ 0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
-+ 0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
-+ >;
-+ };
- };
-
- ocp {
-@@ -242,6 +257,13 @@
- regulator-always-on;
- };
- };
-+
-+ vmmcsd_fixed: fixedregulator@0 {
-+ compatible = "regulator-fixed";
-+ regulator-name = "vmmcsd_fixed";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ };
- };
-
- &cpsw_emac0 {
-diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts
-index 197cadf..16b3bea 100644
---- a/arch/arm/boot/dts/am335x-boneblack.dts
-+++ b/arch/arm/boot/dts/am335x-boneblack.dts
-@@ -15,3 +15,16 @@
- regulator-max-microvolt = <1800000>;
- regulator-always-on;
- };
-+
-+&mmc1 {
-+ vmmc-supply = <&vmmcsd_fixed>;
-+};
-+
-+&mmc2 {
-+ vmmc-supply = <&vmmcsd_fixed>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&emmc_pins>;
-+ bus-width = <8>;
-+ status = "okay";
-+ ti,vcc-aux-disable-is-sleep;
-+};
---
-1.8.4.rc3
-
-From 2b3a35fea12469734e2216a06c7fea6d5cb0d4d8 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Thu, 12 Sep 2013 20:35:34 +0200
-Subject: [PATCH 08/15] ARM: dts: am335x-bone-common: switch mmc1 to 4-bit mode
-
-The micro-SD slot hooks up all four data pins so lets' use them.
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-Tested-by: Kevin Hilman <khilman@linaro.org>
-Reviewed-by: Nishanth Menon <nm@ti.com>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am335x-bone-common.dtsi | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
-index c560cb7..fbb11dd 100644
---- a/arch/arm/boot/dts/am335x-bone-common.dtsi
-+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
-@@ -291,6 +291,7 @@
-
- &mmc1 {
- status = "okay";
-+ bus-width = <0x4>;
- pinctrl-names = "default";
- pinctrl-0 = <&mmc1_pins>;
- cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
---
-1.8.4.rc3
-
-From 387d315741b4126f228ee788094f9a00ecf8fde0 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Thu, 12 Sep 2013 20:35:35 +0200
-Subject: [PATCH 09/15] ARM: dts: am335x-bone-common: add cpu0 and mmc1
- triggers
-
-This matches the vendor 3.8.x configuration that is shipping
-with the boards.
-
-The LED layout is now:
- USR0: heartbeat
- USR1: mmc0 (micro-SD slot)
- USR2: cpu0
- USR3: mmc1 (eMMC)
-
-The cpu0 triggers was put in between the mmc triggers to make
-is easier to see where the disk activity is.
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-Tested-by: Kevin Hilman <khilman@linaro.org>
-Reviewed-by: Nishanth Menon <nm@ti.com>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am335x-bone-common.dtsi | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
-index fbb11dd..56361ce 100644
---- a/arch/arm/boot/dts/am335x-bone-common.dtsi
-+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
-@@ -204,12 +204,14 @@
- led@4 {
- label = "beaglebone:green:usr2";
- gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
-+ linux,default-trigger = "cpu0";
- default-state = "off";
- };
-
- led@5 {
- label = "beaglebone:green:usr3";
- gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
-+ linux,default-trigger = "mmc1";
- default-state = "off";
- };
- };
---
-1.8.4.rc3
-
-From 28d36734db6d9682208ced9032de9ebda568da96 Mon Sep 17 00:00:00 2001
-From: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
-Date: Fri, 20 Sep 2013 17:00:00 +0200
-Subject: [PATCH 10/15] ARM: dts: AM33XX: use pinmux node defined in included
- file
-
-am33xx boards DTS include the am33xx.dtsi Device Tree
-source file that already define a pinmux device node for
-the AM33XX SoC Pin Multiplex.
-
-Redefining this for each board makes the Device Tree files
-harder to modify and maintain so let's just use what is
-already defined in the included .dtsi file.
-
-Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am335x-bone-common.dtsi | 218 ++++++++++++-------------
- arch/arm/boot/dts/am335x-evm.dts | 254 ++++++++++++++---------------
- arch/arm/boot/dts/am335x-evmsk.dts | 258 +++++++++++++++---------------
- 3 files changed, 365 insertions(+), 365 deletions(-)
-
-diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
-index 56361ce..29799ac 100644
---- a/arch/arm/boot/dts/am335x-bone-common.dtsi
-+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
-@@ -21,115 +21,6 @@
- reg = <0x80000000 0x10000000>; /* 256 MB */
- };
-
-- am33xx_pinmux: pinmux@44e10800 {
-- pinctrl-names = "default";
-- pinctrl-0 = <&clkout2_pin>;
--
-- user_leds_s0: user_leds_s0 {
-- pinctrl-single,pins = <
-- 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_21 */
-- 0x58 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a6.gpio1_22 */
-- 0x5c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a7.gpio1_23 */
-- 0x60 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a8.gpio1_24 */
-- >;
-- };
--
-- i2c0_pins: pinmux_i2c0_pins {
-- pinctrl-single,pins = <
-- 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
-- 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
-- >;
-- };
--
-- uart0_pins: pinmux_uart0_pins {
-- pinctrl-single,pins = <
-- 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
-- 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
-- >;
-- };
--
-- clkout2_pin: pinmux_clkout2_pin {
-- pinctrl-single,pins = <
-- 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
-- >;
-- };
--
-- cpsw_default: cpsw_default {
-- pinctrl-single,pins = <
-- /* Slave 1 */
-- 0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxerr.mii1_rxerr */
-- 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txen.mii1_txen */
-- 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxdv.mii1_rxdv */
-- 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd3.mii1_txd3 */
-- 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd2.mii1_txd2 */
-- 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd1.mii1_txd1 */
-- 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd0.mii1_txd0 */
-- 0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_txclk.mii1_txclk */
-- 0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxclk.mii1_rxclk */
-- 0x134 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd3.mii1_rxd3 */
-- 0x138 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd2.mii1_rxd2 */
-- 0x13c (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd1.mii1_rxd1 */
-- 0x140 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd0.mii1_rxd0 */
-- >;
-- };
--
-- cpsw_sleep: cpsw_sleep {
-- pinctrl-single,pins = <
-- /* Slave 1 reset value */
-- 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- >;
-- };
--
-- davinci_mdio_default: davinci_mdio_default {
-- pinctrl-single,pins = <
-- /* MDIO */
-- 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
-- 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
-- >;
-- };
--
-- davinci_mdio_sleep: davinci_mdio_sleep {
-- pinctrl-single,pins = <
-- /* MDIO reset value */
-- 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- >;
-- };
--
-- mmc1_pins: pinmux_mmc1_pins {
-- pinctrl-single,pins = <
-- 0x160 (PIN_INPUT | MUX_MODE7) /* GPIO0_6 */
-- >;
-- };
--
-- emmc_pins: pinmux_emmc_pins {
-- pinctrl-single,pins = <
-- 0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
-- 0x84 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_csn2.mmc1_cmd */
-- 0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
-- 0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
-- 0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
-- 0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
-- 0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
-- 0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
-- 0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
-- 0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
-- >;
-- };
-- };
--
- ocp {
- uart0: serial@44e09000 {
- pinctrl-names = "default";
-@@ -217,6 +108,115 @@
- };
- };
-
-+&am33xx_pinmux {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&clkout2_pin>;
-+
-+ user_leds_s0: user_leds_s0 {
-+ pinctrl-single,pins = <
-+ 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_21 */
-+ 0x58 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a6.gpio1_22 */
-+ 0x5c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a7.gpio1_23 */
-+ 0x60 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a8.gpio1_24 */
-+ >;
-+ };
-+
-+ i2c0_pins: pinmux_i2c0_pins {
-+ pinctrl-single,pins = <
-+ 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
-+ 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
-+ >;
-+ };
-+
-+ uart0_pins: pinmux_uart0_pins {
-+ pinctrl-single,pins = <
-+ 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
-+ 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
-+ >;
-+ };
-+
-+ clkout2_pin: pinmux_clkout2_pin {
-+ pinctrl-single,pins = <
-+ 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
-+ >;
-+ };
-+
-+ cpsw_default: cpsw_default {
-+ pinctrl-single,pins = <
-+ /* Slave 1 */
-+ 0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxerr.mii1_rxerr */
-+ 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txen.mii1_txen */
-+ 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxdv.mii1_rxdv */
-+ 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd3.mii1_txd3 */
-+ 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd2.mii1_txd2 */
-+ 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd1.mii1_txd1 */
-+ 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd0.mii1_txd0 */
-+ 0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_txclk.mii1_txclk */
-+ 0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxclk.mii1_rxclk */
-+ 0x134 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd3.mii1_rxd3 */
-+ 0x138 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd2.mii1_rxd2 */
-+ 0x13c (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd1.mii1_rxd1 */
-+ 0x140 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd0.mii1_rxd0 */
-+ >;
-+ };
-+
-+ cpsw_sleep: cpsw_sleep {
-+ pinctrl-single,pins = <
-+ /* Slave 1 reset value */
-+ 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ >;
-+ };
-+
-+ davinci_mdio_default: davinci_mdio_default {
-+ pinctrl-single,pins = <
-+ /* MDIO */
-+ 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
-+ 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
-+ >;
-+ };
-+
-+ davinci_mdio_sleep: davinci_mdio_sleep {
-+ pinctrl-single,pins = <
-+ /* MDIO reset value */
-+ 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ >;
-+ };
-+
-+ mmc1_pins: pinmux_mmc1_pins {
-+ pinctrl-single,pins = <
-+ 0x160 (PIN_INPUT | MUX_MODE7) /* GPIO0_6 */
-+ >;
-+ };
-+
-+ emmc_pins: pinmux_emmc_pins {
-+ pinctrl-single,pins = <
-+ 0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
-+ 0x84 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_csn2.mmc1_cmd */
-+ 0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
-+ 0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
-+ 0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
-+ 0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
-+ 0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
-+ 0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
-+ 0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
-+ 0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
-+ >;
-+ };
-+};
-+
- /include/ "tps65217.dtsi"
-
- &tps {
-diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
-index bc4a69d..1525cd6 100644
---- a/arch/arm/boot/dts/am335x-evm.dts
-+++ b/arch/arm/boot/dts/am335x-evm.dts
-@@ -24,133 +24,6 @@
- reg = <0x80000000 0x10000000>; /* 256 MB */
- };
-
-- am33xx_pinmux: pinmux@44e10800 {
-- pinctrl-names = "default";
-- pinctrl-0 = <&matrix_keypad_s0 &volume_keys_s0 &clkout2_pin>;
--
-- matrix_keypad_s0: matrix_keypad_s0 {
-- pinctrl-single,pins = <
-- 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_21 */
-- 0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a6.gpio1_22 */
-- 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a9.gpio1_25 */
-- 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a10.gpio1_26 */
-- 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a11.gpio1_27 */
-- >;
-- };
--
-- volume_keys_s0: volume_keys_s0 {
-- pinctrl-single,pins = <
-- 0x150 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* spi0_sclk.gpio0_2 */
-- 0x154 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* spi0_d0.gpio0_3 */
-- >;
-- };
--
-- i2c0_pins: pinmux_i2c0_pins {
-- pinctrl-single,pins = <
-- 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
-- 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
-- >;
-- };
--
-- i2c1_pins: pinmux_i2c1_pins {
-- pinctrl-single,pins = <
-- 0x158 (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_d1.i2c1_sda */
-- 0x15c (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_cs0.i2c1_scl */
-- >;
-- };
--
-- uart0_pins: pinmux_uart0_pins {
-- pinctrl-single,pins = <
-- 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
-- 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
-- >;
-- };
--
-- clkout2_pin: pinmux_clkout2_pin {
-- pinctrl-single,pins = <
-- 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
-- >;
-- };
--
-- nandflash_pins_s0: nandflash_pins_s0 {
-- pinctrl-single,pins = <
-- 0x0 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad0.gpmc_ad0 */
-- 0x4 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad1.gpmc_ad1 */
-- 0x8 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad2.gpmc_ad2 */
-- 0xc (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad3.gpmc_ad3 */
-- 0x10 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad4.gpmc_ad4 */
-- 0x14 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad5.gpmc_ad5 */
-- 0x18 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad6.gpmc_ad6 */
-- 0x1c (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad7.gpmc_ad7 */
-- 0x70 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0.gpmc_wait0 */
-- 0x74 (PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_wpn.gpio0_30 */
-- 0x7c (PIN_OUTPUT | MUX_MODE0) /* gpmc_csn0.gpmc_csn0 */
-- 0x90 (PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale.gpmc_advn_ale */
-- 0x94 (PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren.gpmc_oen_ren */
-- 0x98 (PIN_OUTPUT | MUX_MODE0) /* gpmc_wen.gpmc_wen */
-- 0x9c (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */
-- >;
-- };
--
-- ecap0_pins: backlight_pins {
-- pinctrl-single,pins = <
-- 0x164 0x0 /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
-- >;
-- };
--
-- cpsw_default: cpsw_default {
-- pinctrl-single,pins = <
-- /* Slave 1 */
-- 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
-- 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
-- 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_td3 */
-- 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_td2 */
-- 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
-- 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
-- 0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */
-- 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rgmii1_rclk */
-- 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd3.rgmii1_rd3 */
-- 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd2.rgmii1_rd2 */
-- 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */
-- 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */
-- >;
-- };
--
-- cpsw_sleep: cpsw_sleep {
-- pinctrl-single,pins = <
-- /* Slave 1 reset value */
-- 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- >;
-- };
--
-- davinci_mdio_default: davinci_mdio_default {
-- pinctrl-single,pins = <
-- /* MDIO */
-- 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
-- 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
-- >;
-- };
--
-- davinci_mdio_sleep: davinci_mdio_sleep {
-- pinctrl-single,pins = <
-- /* MDIO reset value */
-- 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- >;
-- };
-- };
--
- ocp {
- uart0: serial@44e09000 {
- pinctrl-names = "default";
-@@ -405,6 +278,133 @@
- };
- };
-
-+&am33xx_pinmux {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&matrix_keypad_s0 &volume_keys_s0 &clkout2_pin>;
-+
-+ matrix_keypad_s0: matrix_keypad_s0 {
-+ pinctrl-single,pins = <
-+ 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_21 */
-+ 0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a6.gpio1_22 */
-+ 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a9.gpio1_25 */
-+ 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a10.gpio1_26 */
-+ 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a11.gpio1_27 */
-+ >;
-+ };
-+
-+ volume_keys_s0: volume_keys_s0 {
-+ pinctrl-single,pins = <
-+ 0x150 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* spi0_sclk.gpio0_2 */
-+ 0x154 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* spi0_d0.gpio0_3 */
-+ >;
-+ };
-+
-+ i2c0_pins: pinmux_i2c0_pins {
-+ pinctrl-single,pins = <
-+ 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
-+ 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
-+ >;
-+ };
-+
-+ i2c1_pins: pinmux_i2c1_pins {
-+ pinctrl-single,pins = <
-+ 0x158 (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_d1.i2c1_sda */
-+ 0x15c (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_cs0.i2c1_scl */
-+ >;
-+ };
-+
-+ uart0_pins: pinmux_uart0_pins {
-+ pinctrl-single,pins = <
-+ 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
-+ 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
-+ >;
-+ };
-+
-+ clkout2_pin: pinmux_clkout2_pin {
-+ pinctrl-single,pins = <
-+ 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
-+ >;
-+ };
-+
-+ nandflash_pins_s0: nandflash_pins_s0 {
-+ pinctrl-single,pins = <
-+ 0x0 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad0.gpmc_ad0 */
-+ 0x4 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad1.gpmc_ad1 */
-+ 0x8 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad2.gpmc_ad2 */
-+ 0xc (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad3.gpmc_ad3 */
-+ 0x10 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad4.gpmc_ad4 */
-+ 0x14 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad5.gpmc_ad5 */
-+ 0x18 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad6.gpmc_ad6 */
-+ 0x1c (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad7.gpmc_ad7 */
-+ 0x70 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0.gpmc_wait0 */
-+ 0x74 (PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_wpn.gpio0_30 */
-+ 0x7c (PIN_OUTPUT | MUX_MODE0) /* gpmc_csn0.gpmc_csn0 */
-+ 0x90 (PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale.gpmc_advn_ale */
-+ 0x94 (PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren.gpmc_oen_ren */
-+ 0x98 (PIN_OUTPUT | MUX_MODE0) /* gpmc_wen.gpmc_wen */
-+ 0x9c (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */
-+ >;
-+ };
-+
-+ ecap0_pins: backlight_pins {
-+ pinctrl-single,pins = <
-+ 0x164 0x0 /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
-+ >;
-+ };
-+
-+ cpsw_default: cpsw_default {
-+ pinctrl-single,pins = <
-+ /* Slave 1 */
-+ 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
-+ 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
-+ 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_td3 */
-+ 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_td2 */
-+ 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
-+ 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
-+ 0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */
-+ 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rgmii1_rclk */
-+ 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd3.rgmii1_rd3 */
-+ 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd2.rgmii1_rd2 */
-+ 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */
-+ 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */
-+ >;
-+ };
-+
-+ cpsw_sleep: cpsw_sleep {
-+ pinctrl-single,pins = <
-+ /* Slave 1 reset value */
-+ 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ >;
-+ };
-+
-+ davinci_mdio_default: davinci_mdio_default {
-+ pinctrl-single,pins = <
-+ /* MDIO */
-+ 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
-+ 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
-+ >;
-+ };
-+
-+ davinci_mdio_sleep: davinci_mdio_sleep {
-+ pinctrl-single,pins = <
-+ /* MDIO reset value */
-+ 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ >;
-+ };
-+};
-+
- #include "tps65910.dtsi"
-
- &tps {
-diff --git a/arch/arm/boot/dts/am335x-evmsk.dts b/arch/arm/boot/dts/am335x-evmsk.dts
-index 55fd194..f0066fe 100644
---- a/arch/arm/boot/dts/am335x-evmsk.dts
-+++ b/arch/arm/boot/dts/am335x-evmsk.dts
-@@ -31,135 +31,6 @@
- reg = <0x80000000 0x10000000>; /* 256 MB */
- };
-
-- am33xx_pinmux: pinmux@44e10800 {
-- pinctrl-names = "default";
-- pinctrl-0 = <&gpio_keys_s0 &clkout2_pin>;
--
-- user_leds_s0: user_leds_s0 {
-- pinctrl-single,pins = <
-- 0x10 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad4.gpio1_4 */
-- 0x14 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad5.gpio1_5 */
-- 0x18 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad6.gpio1_6 */
-- 0x1c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad7.gpio1_7 */
-- >;
-- };
--
-- gpio_keys_s0: gpio_keys_s0 {
-- pinctrl-single,pins = <
-- 0x94 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_oen_ren.gpio2_3 */
-- 0x90 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_advn_ale.gpio2_2 */
-- 0x70 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_wait0.gpio0_30 */
-- 0x9c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ben0_cle.gpio2_5 */
-- >;
-- };
--
-- i2c0_pins: pinmux_i2c0_pins {
-- pinctrl-single,pins = <
-- 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
-- 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
-- >;
-- };
--
-- uart0_pins: pinmux_uart0_pins {
-- pinctrl-single,pins = <
-- 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
-- 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
-- >;
-- };
--
-- clkout2_pin: pinmux_clkout2_pin {
-- pinctrl-single,pins = <
-- 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
-- >;
-- };
--
-- ecap2_pins: backlight_pins {
-- pinctrl-single,pins = <
-- 0x19c 0x4 /* mcasp0_ahclkr.ecap2_in_pwm2_out MODE4 */
-- >;
-- };
--
-- cpsw_default: cpsw_default {
-- pinctrl-single,pins = <
-- /* Slave 1 */
-- 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
-- 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
-- 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_td3 */
-- 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_td2 */
-- 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
-- 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
-- 0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */
-- 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rgmii1_rclk */
-- 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd3.rgmii1_rd3 */
-- 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd2.rgmii1_rd2 */
-- 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */
-- 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */
--
-- /* Slave 2 */
-- 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a0.rgmii2_tctl */
-- 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a1.rgmii2_rctl */
-- 0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a2.rgmii2_td3 */
-- 0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a3.rgmii2_td2 */
-- 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a4.rgmii2_td1 */
-- 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a5.rgmii2_td0 */
-- 0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a6.rgmii2_tclk */
-- 0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a7.rgmii2_rclk */
-- 0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */
-- 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */
-- 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */
-- 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */
-- >;
-- };
--
-- cpsw_sleep: cpsw_sleep {
-- pinctrl-single,pins = <
-- /* Slave 1 reset value */
-- 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
--
-- /* Slave 2 reset value*/
-- 0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- >;
-- };
--
-- davinci_mdio_default: davinci_mdio_default {
-- pinctrl-single,pins = <
-- /* MDIO */
-- 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
-- 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
-- >;
-- };
--
-- davinci_mdio_sleep: davinci_mdio_sleep {
-- pinctrl-single,pins = <
-- /* MDIO reset value */
-- 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-- >;
-- };
-- };
--
- ocp {
- uart0: serial@44e09000 {
- pinctrl-names = "default";
-@@ -321,6 +192,135 @@
- };
- };
-
-+&am33xx_pinmux {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&gpio_keys_s0 &clkout2_pin>;
-+
-+ user_leds_s0: user_leds_s0 {
-+ pinctrl-single,pins = <
-+ 0x10 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad4.gpio1_4 */
-+ 0x14 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad5.gpio1_5 */
-+ 0x18 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad6.gpio1_6 */
-+ 0x1c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad7.gpio1_7 */
-+ >;
-+ };
-+
-+ gpio_keys_s0: gpio_keys_s0 {
-+ pinctrl-single,pins = <
-+ 0x94 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_oen_ren.gpio2_3 */
-+ 0x90 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_advn_ale.gpio2_2 */
-+ 0x70 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_wait0.gpio0_30 */
-+ 0x9c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ben0_cle.gpio2_5 */
-+ >;
-+ };
-+
-+ i2c0_pins: pinmux_i2c0_pins {
-+ pinctrl-single,pins = <
-+ 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
-+ 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
-+ >;
-+ };
-+
-+ uart0_pins: pinmux_uart0_pins {
-+ pinctrl-single,pins = <
-+ 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
-+ 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
-+ >;
-+ };
-+
-+ clkout2_pin: pinmux_clkout2_pin {
-+ pinctrl-single,pins = <
-+ 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
-+ >;
-+ };
-+
-+ ecap2_pins: backlight_pins {
-+ pinctrl-single,pins = <
-+ 0x19c 0x4 /* mcasp0_ahclkr.ecap2_in_pwm2_out MODE4 */
-+ >;
-+ };
-+
-+ cpsw_default: cpsw_default {
-+ pinctrl-single,pins = <
-+ /* Slave 1 */
-+ 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
-+ 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
-+ 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_td3 */
-+ 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_td2 */
-+ 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
-+ 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
-+ 0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */
-+ 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rgmii1_rclk */
-+ 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd3.rgmii1_rd3 */
-+ 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd2.rgmii1_rd2 */
-+ 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */
-+ 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */
-+
-+ /* Slave 2 */
-+ 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a0.rgmii2_tctl */
-+ 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a1.rgmii2_rctl */
-+ 0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a2.rgmii2_td3 */
-+ 0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a3.rgmii2_td2 */
-+ 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a4.rgmii2_td1 */
-+ 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a5.rgmii2_td0 */
-+ 0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a6.rgmii2_tclk */
-+ 0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a7.rgmii2_rclk */
-+ 0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */
-+ 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */
-+ 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */
-+ 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */
-+ >;
-+ };
-+
-+ cpsw_sleep: cpsw_sleep {
-+ pinctrl-single,pins = <
-+ /* Slave 1 reset value */
-+ 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+
-+ /* Slave 2 reset value*/
-+ 0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ >;
-+ };
-+
-+ davinci_mdio_default: davinci_mdio_default {
-+ pinctrl-single,pins = <
-+ /* MDIO */
-+ 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
-+ 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
-+ >;
-+ };
-+
-+ davinci_mdio_sleep: davinci_mdio_sleep {
-+ pinctrl-single,pins = <
-+ /* MDIO reset value */
-+ 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-+ >;
-+ };
-+};
-+
- #include "tps65910.dtsi"
-
- &tps {
---
-1.8.4.rc3
-
-From ff7a46710ffc245a5c8e32cf1843aa3fea7aa1ff Mon Sep 17 00:00:00 2001
-From: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
-Date: Fri, 20 Sep 2013 17:42:19 +0200
-Subject: [PATCH 11/15] ARM: dts: AM33XX: don't redefine OCP bus and device
- nodes
-
-The On Chip Peripherals (OCP) device node is a simplified
-representation of the AM33XX SoC interconnect. An OCP dev
-node is already defined in the am33xx.dtsi Device Tree
-source file included by am33xx based boards so there is
-no need to redefine this on each board DT file.
-
-Also, the OCP and IP modules directly connected to it are SoC
-internal details that is better to keep outside of board files.
-
-Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am335x-bone-common.dtsi | 100 ++++----
- arch/arm/boot/dts/am335x-evm.dts | 380 +++++++++++++++---------------
- arch/arm/boot/dts/am335x-evmsk.dts | 148 ++++++------
- 3 files changed, 311 insertions(+), 317 deletions(-)
-
-diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
-index 29799ac..ff5c3ca 100644
---- a/arch/arm/boot/dts/am335x-bone-common.dtsi
-+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
-@@ -21,57 +21,6 @@
- reg = <0x80000000 0x10000000>; /* 256 MB */
- };
-
-- ocp {
-- uart0: serial@44e09000 {
-- pinctrl-names = "default";
-- pinctrl-0 = <&uart0_pins>;
--
-- status = "okay";
-- };
--
-- musb: usb@47400000 {
-- status = "okay";
--
-- control@44e10000 {
-- status = "okay";
-- };
--
-- usb-phy@47401300 {
-- status = "okay";
-- };
--
-- usb-phy@47401b00 {
-- status = "okay";
-- };
--
-- usb@47401000 {
-- status = "okay";
-- };
--
-- usb@47401800 {
-- status = "okay";
-- dr_mode = "host";
-- };
--
-- dma-controller@07402000 {
-- status = "okay";
-- };
-- };
--
-- i2c0: i2c@44e0b000 {
-- pinctrl-names = "default";
-- pinctrl-0 = <&i2c0_pins>;
--
-- status = "okay";
-- clock-frequency = <400000>;
--
-- tps: tps@24 {
-- reg = <0x24>;
-- };
--
-- };
-- };
--
- leds {
- pinctrl-names = "default";
- pinctrl-0 = <&user_leds_s0>;
-@@ -217,6 +166,55 @@
- };
- };
-
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_pins>;
-+
-+ status = "okay";
-+};
-+
-+&usb {
-+ status = "okay";
-+
-+ control@44e10000 {
-+ status = "okay";
-+ };
-+
-+ usb-phy@47401300 {
-+ status = "okay";
-+ };
-+
-+ usb-phy@47401b00 {
-+ status = "okay";
-+ };
-+
-+ usb@47401000 {
-+ status = "okay";
-+ };
-+
-+ usb@47401800 {
-+ status = "okay";
-+ dr_mode = "host";
-+ };
-+
-+ dma-controller@07402000 {
-+ status = "okay";
-+ };
-+};
-+
-+&i2c0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&i2c0_pins>;
-+
-+ status = "okay";
-+ clock-frequency = <400000>;
-+
-+ tps: tps@24 {
-+ reg = <0x24>;
-+ };
-+
-+};
-+
- /include/ "tps65217.dtsi"
-
- &tps {
-diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
-index 1525cd6..23b0a3e 100644
---- a/arch/arm/boot/dts/am335x-evm.dts
-+++ b/arch/arm/boot/dts/am335x-evm.dts
-@@ -24,197 +24,6 @@
- reg = <0x80000000 0x10000000>; /* 256 MB */
- };
-
-- ocp {
-- uart0: serial@44e09000 {
-- pinctrl-names = "default";
-- pinctrl-0 = <&uart0_pins>;
--
-- status = "okay";
-- };
--
-- i2c0: i2c@44e0b000 {
-- pinctrl-names = "default";
-- pinctrl-0 = <&i2c0_pins>;
--
-- status = "okay";
-- clock-frequency = <400000>;
--
-- tps: tps@2d {
-- reg = <0x2d>;
-- };
-- };
--
-- musb: usb@47400000 {
-- status = "okay";
--
-- control@44e10000 {
-- status = "okay";
-- };
--
-- usb-phy@47401300 {
-- status = "okay";
-- };
--
-- usb-phy@47401b00 {
-- status = "okay";
-- };
--
-- usb@47401000 {
-- status = "okay";
-- };
--
-- usb@47401800 {
-- status = "okay";
-- dr_mode = "host";
-- };
--
-- dma-controller@07402000 {
-- status = "okay";
-- };
-- };
--
-- i2c1: i2c@4802a000 {
-- pinctrl-names = "default";
-- pinctrl-0 = <&i2c1_pins>;
--
-- status = "okay";
-- clock-frequency = <100000>;
--
-- lis331dlh: lis331dlh@18 {
-- compatible = "st,lis331dlh", "st,lis3lv02d";
-- reg = <0x18>;
-- Vdd-supply = <&lis3_reg>;
-- Vdd_IO-supply = <&lis3_reg>;
--
-- st,click-single-x;
-- st,click-single-y;
-- st,click-single-z;
-- st,click-thresh-x = <10>;
-- st,click-thresh-y = <10>;
-- st,click-thresh-z = <10>;
-- st,irq1-click;
-- st,irq2-click;
-- st,wakeup-x-lo;
-- st,wakeup-x-hi;
-- st,wakeup-y-lo;
-- st,wakeup-y-hi;
-- st,wakeup-z-lo;
-- st,wakeup-z-hi;
-- st,min-limit-x = <120>;
-- st,min-limit-y = <120>;
-- st,min-limit-z = <140>;
-- st,max-limit-x = <550>;
-- st,max-limit-y = <550>;
-- st,max-limit-z = <750>;
-- };
--
-- tsl2550: tsl2550@39 {
-- compatible = "taos,tsl2550";
-- reg = <0x39>;
-- };
--
-- tmp275: tmp275@48 {
-- compatible = "ti,tmp275";
-- reg = <0x48>;
-- };
-- };
--
-- elm: elm@48080000 {
-- status = "okay";
-- };
--
-- epwmss0: epwmss@48300000 {
-- status = "okay";
--
-- ecap0: ecap@48300100 {
-- status = "okay";
-- pinctrl-names = "default";
-- pinctrl-0 = <&ecap0_pins>;
-- };
-- };
--
-- gpmc: gpmc@50000000 {
-- status = "okay";
-- pinctrl-names = "default";
-- pinctrl-0 = <&nandflash_pins_s0>;
-- ranges = <0 0 0x08000000 0x10000000>; /* CS0: NAND */
-- nand@0,0 {
-- reg = <0 0 0>; /* CS0, offset 0 */
-- nand-bus-width = <8>;
-- ti,nand-ecc-opt = "bch8";
-- gpmc,device-nand = "true";
-- gpmc,device-width = <1>;
-- gpmc,sync-clk-ps = <0>;
-- gpmc,cs-on-ns = <0>;
-- gpmc,cs-rd-off-ns = <44>;
-- gpmc,cs-wr-off-ns = <44>;
-- gpmc,adv-on-ns = <6>;
-- gpmc,adv-rd-off-ns = <34>;
-- gpmc,adv-wr-off-ns = <44>;
-- gpmc,we-on-ns = <0>;
-- gpmc,we-off-ns = <40>;
-- gpmc,oe-on-ns = <0>;
-- gpmc,oe-off-ns = <54>;
-- gpmc,access-ns = <64>;
-- gpmc,rd-cycle-ns = <82>;
-- gpmc,wr-cycle-ns = <82>;
-- gpmc,wait-on-read = "true";
-- gpmc,wait-on-write = "true";
-- gpmc,bus-turnaround-ns = <0>;
-- gpmc,cycle2cycle-delay-ns = <0>;
-- gpmc,clk-activation-ns = <0>;
-- gpmc,wait-monitoring-ns = <0>;
-- gpmc,wr-access-ns = <40>;
-- gpmc,wr-data-mux-bus-ns = <0>;
--
-- #address-cells = <1>;
-- #size-cells = <1>;
-- elm_id = <&elm>;
--
-- /* MTD partition table */
-- partition@0 {
-- label = "SPL1";
-- reg = <0x00000000 0x000020000>;
-- };
--
-- partition@1 {
-- label = "SPL2";
-- reg = <0x00020000 0x00020000>;
-- };
--
-- partition@2 {
-- label = "SPL3";
-- reg = <0x00040000 0x00020000>;
-- };
--
-- partition@3 {
-- label = "SPL4";
-- reg = <0x00060000 0x00020000>;
-- };
--
-- partition@4 {
-- label = "U-boot";
-- reg = <0x00080000 0x001e0000>;
-- };
--
-- partition@5 {
-- label = "environment";
-- reg = <0x00260000 0x00020000>;
-- };
--
-- partition@6 {
-- label = "Kernel";
-- reg = <0x00280000 0x00500000>;
-- };
--
-- partition@7 {
-- label = "File-System";
-- reg = <0x00780000 0x0F880000>;
-- };
-- };
-- };
-- };
--
- vbat: fixedregulator@0 {
- compatible = "regulator-fixed";
- regulator-name = "vbat";
-@@ -405,6 +214,195 @@
- };
- };
-
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_pins>;
-+
-+ status = "okay";
-+};
-+
-+&i2c0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&i2c0_pins>;
-+
-+ status = "okay";
-+ clock-frequency = <400000>;
-+
-+ tps: tps@2d {
-+ reg = <0x2d>;
-+ };
-+};
-+
-+&usb {
-+ status = "okay";
-+
-+ control@44e10000 {
-+ status = "okay";
-+ };
-+
-+ usb-phy@47401300 {
-+ status = "okay";
-+ };
-+
-+ usb-phy@47401b00 {
-+ status = "okay";
-+ };
-+
-+ usb@47401000 {
-+ status = "okay";
-+ };
-+
-+ usb@47401800 {
-+ status = "okay";
-+ dr_mode = "host";
-+ };
-+
-+ dma-controller@07402000 {
-+ status = "okay";
-+ };
-+};
-+
-+&i2c1 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&i2c1_pins>;
-+
-+ status = "okay";
-+ clock-frequency = <100000>;
-+
-+ lis331dlh: lis331dlh@18 {
-+ compatible = "st,lis331dlh", "st,lis3lv02d";
-+ reg = <0x18>;
-+ Vdd-supply = <&lis3_reg>;
-+ Vdd_IO-supply = <&lis3_reg>;
-+
-+ st,click-single-x;
-+ st,click-single-y;
-+ st,click-single-z;
-+ st,click-thresh-x = <10>;
-+ st,click-thresh-y = <10>;
-+ st,click-thresh-z = <10>;
-+ st,irq1-click;
-+ st,irq2-click;
-+ st,wakeup-x-lo;
-+ st,wakeup-x-hi;
-+ st,wakeup-y-lo;
-+ st,wakeup-y-hi;
-+ st,wakeup-z-lo;
-+ st,wakeup-z-hi;
-+ st,min-limit-x = <120>;
-+ st,min-limit-y = <120>;
-+ st,min-limit-z = <140>;
-+ st,max-limit-x = <550>;
-+ st,max-limit-y = <550>;
-+ st,max-limit-z = <750>;
-+ };
-+
-+ tsl2550: tsl2550@39 {
-+ compatible = "taos,tsl2550";
-+ reg = <0x39>;
-+ };
-+
-+ tmp275: tmp275@48 {
-+ compatible = "ti,tmp275";
-+ reg = <0x48>;
-+ };
-+};
-+
-+&elm {
-+ status = "okay";
-+};
-+
-+&epwmss0 {
-+ status = "okay";
-+
-+ ecap0: ecap@48300100 {
-+ status = "okay";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&ecap0_pins>;
-+ };
-+};
-+
-+&gpmc {
-+ status = "okay";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&nandflash_pins_s0>;
-+ ranges = <0 0 0x08000000 0x10000000>; /* CS0: NAND */
-+ nand@0,0 {
-+ reg = <0 0 0>; /* CS0, offset 0 */
-+ nand-bus-width = <8>;
-+ ti,nand-ecc-opt = "bch8";
-+ gpmc,device-nand = "true";
-+ gpmc,device-width = <1>;
-+ gpmc,sync-clk-ps = <0>;
-+ gpmc,cs-on-ns = <0>;
-+ gpmc,cs-rd-off-ns = <44>;
-+ gpmc,cs-wr-off-ns = <44>;
-+ gpmc,adv-on-ns = <6>;
-+ gpmc,adv-rd-off-ns = <34>;
-+ gpmc,adv-wr-off-ns = <44>;
-+ gpmc,we-on-ns = <0>;
-+ gpmc,we-off-ns = <40>;
-+ gpmc,oe-on-ns = <0>;
-+ gpmc,oe-off-ns = <54>;
-+ gpmc,access-ns = <64>;
-+ gpmc,rd-cycle-ns = <82>;
-+ gpmc,wr-cycle-ns = <82>;
-+ gpmc,wait-on-read = "true";
-+ gpmc,wait-on-write = "true";
-+ gpmc,bus-turnaround-ns = <0>;
-+ gpmc,cycle2cycle-delay-ns = <0>;
-+ gpmc,clk-activation-ns = <0>;
-+ gpmc,wait-monitoring-ns = <0>;
-+ gpmc,wr-access-ns = <40>;
-+ gpmc,wr-data-mux-bus-ns = <0>;
-+
-+ #address-cells = <1>;
-+ #size-cells = <1>;
-+ elm_id = <&elm>;
-+
-+ /* MTD partition table */
-+ partition@0 {
-+ label = "SPL1";
-+ reg = <0x00000000 0x000020000>;
-+ };
-+
-+ partition@1 {
-+ label = "SPL2";
-+ reg = <0x00020000 0x00020000>;
-+ };
-+
-+ partition@2 {
-+ label = "SPL3";
-+ reg = <0x00040000 0x00020000>;
-+ };
-+
-+ partition@3 {
-+ label = "SPL4";
-+ reg = <0x00060000 0x00020000>;
-+ };
-+
-+ partition@4 {
-+ label = "U-boot";
-+ reg = <0x00080000 0x001e0000>;
-+ };
-+
-+ partition@5 {
-+ label = "environment";
-+ reg = <0x00260000 0x00020000>;
-+ };
-+
-+ partition@6 {
-+ label = "Kernel";
-+ reg = <0x00280000 0x00500000>;
-+ };
-+
-+ partition@7 {
-+ label = "File-System";
-+ reg = <0x00780000 0x0F880000>;
-+ };
-+ };
-+};
-+
- #include "tps65910.dtsi"
-
- &tps {
-diff --git a/arch/arm/boot/dts/am335x-evmsk.dts b/arch/arm/boot/dts/am335x-evmsk.dts
-index f0066fe..bc93895 100644
---- a/arch/arm/boot/dts/am335x-evmsk.dts
-+++ b/arch/arm/boot/dts/am335x-evmsk.dts
-@@ -31,81 +31,6 @@
- reg = <0x80000000 0x10000000>; /* 256 MB */
- };
-
-- ocp {
-- uart0: serial@44e09000 {
-- pinctrl-names = "default";
-- pinctrl-0 = <&uart0_pins>;
--
-- status = "okay";
-- };
--
-- i2c0: i2c@44e0b000 {
-- pinctrl-names = "default";
-- pinctrl-0 = <&i2c0_pins>;
--
-- status = "okay";
-- clock-frequency = <400000>;
--
-- tps: tps@2d {
-- reg = <0x2d>;
-- };
--
-- lis331dlh: lis331dlh@18 {
-- compatible = "st,lis331dlh", "st,lis3lv02d";
-- reg = <0x18>;
-- Vdd-supply = <&lis3_reg>;
-- Vdd_IO-supply = <&lis3_reg>;
--
-- st,click-single-x;
-- st,click-single-y;
-- st,click-single-z;
-- st,click-thresh-x = <10>;
-- st,click-thresh-y = <10>;
-- st,click-thresh-z = <10>;
-- st,irq1-click;
-- st,irq2-click;
-- st,wakeup-x-lo;
-- st,wakeup-x-hi;
-- st,wakeup-y-lo;
-- st,wakeup-y-hi;
-- st,wakeup-z-lo;
-- st,wakeup-z-hi;
-- st,min-limit-x = <120>;
-- st,min-limit-y = <120>;
-- st,min-limit-z = <140>;
-- st,max-limit-x = <550>;
-- st,max-limit-y = <550>;
-- st,max-limit-z = <750>;
-- };
-- };
--
-- musb: usb@47400000 {
-- status = "okay";
--
-- control@44e10000 {
-- status = "okay";
-- };
--
-- usb-phy@47401300 {
-- status = "okay";
-- };
--
-- usb@47401000 {
-- status = "okay";
-- };
-- };
--
-- epwmss2: epwmss@48304000 {
-- status = "okay";
--
-- ecap2: ecap@48304100 {
-- status = "okay";
-- pinctrl-names = "default";
-- pinctrl-0 = <&ecap2_pins>;
-- };
-- };
-- };
--
- vbat: fixedregulator@0 {
- compatible = "regulator-fixed";
- regulator-name = "vbat";
-@@ -321,6 +246,79 @@
- };
- };
-
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_pins>;
-+
-+ status = "okay";
-+};
-+
-+&i2c0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&i2c0_pins>;
-+
-+ status = "okay";
-+ clock-frequency = <400000>;
-+
-+ tps: tps@2d {
-+ reg = <0x2d>;
-+ };
-+
-+ lis331dlh: lis331dlh@18 {
-+ compatible = "st,lis331dlh", "st,lis3lv02d";
-+ reg = <0x18>;
-+ Vdd-supply = <&lis3_reg>;
-+ Vdd_IO-supply = <&lis3_reg>;
-+
-+ st,click-single-x;
-+ st,click-single-y;
-+ st,click-single-z;
-+ st,click-thresh-x = <10>;
-+ st,click-thresh-y = <10>;
-+ st,click-thresh-z = <10>;
-+ st,irq1-click;
-+ st,irq2-click;
-+ st,wakeup-x-lo;
-+ st,wakeup-x-hi;
-+ st,wakeup-y-lo;
-+ st,wakeup-y-hi;
-+ st,wakeup-z-lo;
-+ st,wakeup-z-hi;
-+ st,min-limit-x = <120>;
-+ st,min-limit-y = <120>;
-+ st,min-limit-z = <140>;
-+ st,max-limit-x = <550>;
-+ st,max-limit-y = <550>;
-+ st,max-limit-z = <750>;
-+ };
-+};
-+
-+&usb {
-+ status = "okay";
-+
-+ control@44e10000 {
-+ status = "okay";
-+ };
-+
-+ usb-phy@47401300 {
-+ status = "okay";
-+ };
-+
-+ usb@47401000 {
-+ status = "okay";
-+ };
-+};
-+
-+&epwmss2 {
-+ status = "okay";
-+
-+ ecap2: ecap@48304100 {
-+ status = "okay";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&ecap2_pins>;
-+ };
-+};
-+
- #include "tps65910.dtsi"
-
- &tps {
---
-1.8.4.rc3
-
-From a9a966a91ca0304de63c03ef5131c08b1d19f60d Mon Sep 17 00:00:00 2001
-From: Dan Murphy <dmurphy@ti.com>
-Date: Wed, 2 Oct 2013 12:58:33 -0500
-Subject: [PATCH 12/15] ARM: dts: AM33XX: add ethernet alias's for am33xx
-
-Set the alias for ethernet0 and ethernet1 so that uBoot
-can set the MAC address appropriately.
-
-Currently u-boot cannot find the alias and there for does
-not set the MAC address.
-
-Signed-off-by: Dan Murphy <dmurphy@ti.com>
-Tested-by: Mugunthan V N <mugunthanvnm@ti.com>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am33xx.dtsi | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
-index 553adc6..8aabaa0 100644
---- a/arch/arm/boot/dts/am33xx.dtsi
-+++ b/arch/arm/boot/dts/am33xx.dtsi
-@@ -30,6 +30,8 @@
- usb1 = &usb1;
- phy0 = &usb0_phy;
- phy1 = &usb1_phy;
-+ ethernet0 = &cpsw_emac0;
-+ ethernet1 = &cpsw_emac1;
- };
-
- cpus {
---
-1.8.4.rc3
-
-From 5339e0ba31b312715a5542a53c6a46c3e9a5f53b Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm@ti.com>
-Date: Mon, 30 Sep 2013 09:40:16 -0500
-Subject: [PATCH 13/15] ARM: dts: am335x-boneblack: move fixed regulator to
- board level
-
-3.3V fixed regulator does not belong to TPS node - as a result
-the fixed regulator is never probed and MMC is continually deferred
-due to lack of regulator.
-
-Move the fixed regulator to be at root of platform.
-
-Cc: Joel Fernandes <joelf@ti.com>
-Cc: Sekhar Nori <nsekhar@ti.com>
-Cc: Koen Kooi <koen@dominion.thruhere.net>
-Signed-off-by: Nishanth Menon <nm@ti.com>
-Tested-by: Felipe Balbi <balbi@ti.com>
-Tested-by: Balaji T K <balajitk@ti.com>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am335x-bone-common.dtsi | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
-index ff5c3ca..b3e6fcf 100644
---- a/arch/arm/boot/dts/am335x-bone-common.dtsi
-+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
-@@ -55,6 +55,13 @@
- default-state = "off";
- };
- };
-+
-+ vmmcsd_fixed: fixedregulator@0 {
-+ compatible = "regulator-fixed";
-+ regulator-name = "vmmcsd_fixed";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ };
- };
-
- &am33xx_pinmux {
-@@ -257,13 +264,6 @@
- regulator-always-on;
- };
- };
--
-- vmmcsd_fixed: fixedregulator@0 {
-- compatible = "regulator-fixed";
-- regulator-name = "vmmcsd_fixed";
-- regulator-min-microvolt = <3300000>;
-- regulator-max-microvolt = <3300000>;
-- };
- };
-
- &cpsw_emac0 {
---
-1.8.4.rc3
-
-From 085e4e139ae508aab69c568d6bf2a6860a0bd607 Mon Sep 17 00:00:00 2001
-From: Balaji T K <balajitk@ti.com>
-Date: Fri, 27 Sep 2013 17:05:09 +0530
-Subject: [PATCH 14/15] ARM: dts: am335x-bone-common: correct mux mode for cmd
- line
-
-Set pinmux_emmc_pins mux mode for cmd line to MODE2 in order
-to detect eMMC on BBB and BBW + eMMC cape.
-
-Signed-off-by: Balaji T K <balajitk@ti.com>
-Tested-by: Felipe Balbi <balbi@ti.com>
-Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
----
- arch/arm/boot/dts/am335x-bone-common.dtsi | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
-index b3e6fcf..e3f27ec 100644
---- a/arch/arm/boot/dts/am335x-bone-common.dtsi
-+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
-@@ -160,7 +160,7 @@
- emmc_pins: pinmux_emmc_pins {
- pinctrl-single,pins = <
- 0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
-- 0x84 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_csn2.mmc1_cmd */
-+ 0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
- 0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
- 0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
- 0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
---
-1.8.4.rc3
-
-commit d6cfc1e266d34d5b1f8a26bb272d2d2c466d89b8
-Author: Benoit Parrot <bparrot@ti.com>
-Date: Thu Aug 8 18:28:14 2013 -0500
-
- ARM: dts: AM33XX: Add LCDC info into am335x-evm
-
- Add LCDC device node in DT for am33xx
- Add LCDC and Panel info in DT for am335x-evm
-
- Changes:
- - remove redundant/unnecessary SoC specific setting in the board dts
- - resolved conflicts on for_3.13/dts
-
- Signed-off-by: Benoit Parrot <bparrot@ti.com>
- Signed-off-by: Joel Fernandes <joelf@ti.com>
- Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
-
-diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
-index ff834ad..eabacf9 100644
---- a/arch/arm/boot/dts/am335x-evm.dts
-+++ b/arch/arm/boot/dts/am335x-evm.dts
-@@ -85,6 +85,40 @@
- brightness-levels = <0 51 53 56 62 75 101 152 255>;
- default-brightness-level = <8>;
- };
-+
-+ panel {
-+ compatible = "ti,tilcdc,panel";
-+ status = "okay";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&lcd_pins_s0>;
-+ panel-info {
-+ ac-bias = <255>;
-+ ac-bias-intrpt = <0>;
-+ dma-burst-sz = <16>;
-+ bpp = <32>;
-+ fdd = <0x80>;
-+ sync-edge = <0>;
-+ sync-ctrl = <1>;
-+ raster-order = <0>;
-+ fifo-th = <0>;
-+ };
-+
-+ display-timings {
-+ 800x480p62 {
-+ clock-frequency = <30000000>;
-+ hactive = <800>;
-+ vactive = <480>;
-+ hfront-porch = <39>;
-+ hback-porch = <39>;
-+ hsync-len = <47>;
-+ vback-porch = <29>;
-+ vfront-porch = <13>;
-+ vsync-len = <2>;
-+ hsync-active = <1>;
-+ vsync-active = <1>;
-+ };
-+ };
-+ };
- };
-
- &am33xx_pinmux {
-@@ -212,6 +246,39 @@
- 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
- >;
- };
-+
-+ lcd_pins_s0: lcd_pins_s0 {
-+ pinctrl-single,pins = <
-+ 0x20 0x01 /* gpmc_ad8.lcd_data16, OUTPUT | MODE1 */
-+ 0x24 0x01 /* gpmc_ad9.lcd_data17, OUTPUT | MODE1 */
-+ 0x28 0x01 /* gpmc_ad10.lcd_data18, OUTPUT | MODE1 */
-+ 0x2c 0x01 /* gpmc_ad11.lcd_data19, OUTPUT | MODE1 */
-+ 0x30 0x01 /* gpmc_ad12.lcd_data20, OUTPUT | MODE1 */
-+ 0x34 0x01 /* gpmc_ad13.lcd_data21, OUTPUT | MODE1 */
-+ 0x38 0x01 /* gpmc_ad14.lcd_data22, OUTPUT | MODE1 */
-+ 0x3c 0x01 /* gpmc_ad15.lcd_data23, OUTPUT | MODE1 */
-+ 0xa0 0x00 /* lcd_data0.lcd_data0, OUTPUT | MODE0 */
-+ 0xa4 0x00 /* lcd_data1.lcd_data1, OUTPUT | MODE0 */
-+ 0xa8 0x00 /* lcd_data2.lcd_data2, OUTPUT | MODE0 */
-+ 0xac 0x00 /* lcd_data3.lcd_data3, OUTPUT | MODE0 */
-+ 0xb0 0x00 /* lcd_data4.lcd_data4, OUTPUT | MODE0 */
-+ 0xb4 0x00 /* lcd_data5.lcd_data5, OUTPUT | MODE0 */
-+ 0xb8 0x00 /* lcd_data6.lcd_data6, OUTPUT | MODE0 */
-+ 0xbc 0x00 /* lcd_data7.lcd_data7, OUTPUT | MODE0 */
-+ 0xc0 0x00 /* lcd_data8.lcd_data8, OUTPUT | MODE0 */
-+ 0xc4 0x00 /* lcd_data9.lcd_data9, OUTPUT | MODE0 */
-+ 0xc8 0x00 /* lcd_data10.lcd_data10, OUTPUT | MODE0 */
-+ 0xcc 0x00 /* lcd_data11.lcd_data11, OUTPUT | MODE0 */
-+ 0xd0 0x00 /* lcd_data12.lcd_data12, OUTPUT | MODE0 */
-+ 0xd4 0x00 /* lcd_data13.lcd_data13, OUTPUT | MODE0 */
-+ 0xd8 0x00 /* lcd_data14.lcd_data14, OUTPUT | MODE0 */
-+ 0xdc 0x00 /* lcd_data15.lcd_data15, OUTPUT | MODE0 */
-+ 0xe0 0x00 /* lcd_vsync.lcd_vsync, OUTPUT | MODE0 */
-+ 0xe4 0x00 /* lcd_hsync.lcd_hsync, OUTPUT | MODE0 */
-+ 0xe8 0x00 /* lcd_pclk.lcd_pclk, OUTPUT | MODE0 */
-+ 0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OUTPUT | MODE0 */
-+ >;
-+ };
- };
-
- &uart0 {
-@@ -308,6 +375,10 @@
- };
- };
-
-+&lcdc {
-+ status = "okay";
-+};
-+
- &elm {
- status = "okay";
- };
-diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
-index c87bf4b..7db3c81 100644
---- a/arch/arm/boot/dts/am33xx.dtsi
-+++ b/arch/arm/boot/dts/am33xx.dtsi
-@@ -684,6 +684,15 @@
- status = "disabled";
- };
-
-+ lcdc: lcdc@4830e000 {
-+ compatible = "ti,am33xx-tilcdc";
-+ reg = <0x4830e000 0x1000>;
-+ interrupt-parent = <&intc>;
-+ interrupts = <36>;
-+ ti,hwmods = "lcdc";
-+ status = "disabled";
-+ };
-+
- tscadc: tscadc@44e0d000 {
- compatible = "ti,am3359-tscadc";
- reg = <0x44e0d000 0x1000>;
-commit 559a08e89350e269a4bba93629f39da5dd8e4fef
-Author: Darren Etheridge <detheridge@ti.com>
-Date: Fri Sep 20 15:01:42 2013 -0500
-
- ARM: dts: AM33XX beagle black: add pinmux and hdmi node to enable display
-
- Enable the hdmi output and the LCD Controller on BeagleBone
- Black. Also configure the correct pinmux for output of
- video data from the SoC to the HDMI encoder.
-
- Signed-off-by: Darren Etheridge <detheridge@ti.com>
- Signed-off-by: Joel Fernandes <joelf@ti.com>
- Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
-
-diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts
-index 16b3bea..6b71ad9 100644
---- a/arch/arm/boot/dts/am335x-boneblack.dts
-+++ b/arch/arm/boot/dts/am335x-boneblack.dts
-@@ -28,3 +28,51 @@
- status = "okay";
- ti,vcc-aux-disable-is-sleep;
- };
-+
-+&am33xx_pinmux {
-+ nxp_hdmi_bonelt_pins: nxp_hdmi_bonelt_pins {
-+ pinctrl-single,pins = <
-+ 0x1b0 0x03 /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */
-+ 0xa0 0x08 /* lcd_data0.lcd_data0, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xa4 0x08 /* lcd_data1.lcd_data1, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xa8 0x08 /* lcd_data2.lcd_data2, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xac 0x08 /* lcd_data3.lcd_data3, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xb0 0x08 /* lcd_data4.lcd_data4, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xb4 0x08 /* lcd_data5.lcd_data5, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xb8 0x08 /* lcd_data6.lcd_data6, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xbc 0x08 /* lcd_data7.lcd_data7, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xc0 0x08 /* lcd_data8.lcd_data8, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xc4 0x08 /* lcd_data9.lcd_data9, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xc8 0x08 /* lcd_data10.lcd_data10, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xcc 0x08 /* lcd_data11.lcd_data11, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xd0 0x08 /* lcd_data12.lcd_data12, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xd4 0x08 /* lcd_data13.lcd_data13, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xd8 0x08 /* lcd_data14.lcd_data14, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xdc 0x08 /* lcd_data15.lcd_data15, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
-+ 0xe0 0x00 /* lcd_vsync.lcd_vsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
-+ 0xe4 0x00 /* lcd_hsync.lcd_hsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
-+ 0xe8 0x00 /* lcd_pclk.lcd_pclk, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
-+ 0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
-+ >;
-+ };
-+ nxp_hdmi_bonelt_off_pins: nxp_hdmi_bonelt_off_pins {
-+ pinctrl-single,pins = <
-+ 0x1b0 0x03 /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */
-+ >;
-+ };
-+};
-+
-+&lcdc {
-+ status = "okay";
-+};
-+
-+/ {
-+ hdmi {
-+ compatible = "ti,tilcdc,slave";
-+ i2c = <&i2c0>;
-+ pinctrl-names = "default", "off";
-+ pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
-+ pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;
-+ status = "okay";
-+ };
-+};
-commit d4cbe80db468dcfaa058f9f00a332784e5dff316
-Author: Suman Anna <s-anna@ti.com>
-Date: Thu Oct 10 16:15:35 2013 -0500
-
- ARM: dts: AM33XX: Add hwspinlock node
-
- Add the hwspinlock device tree node for AM33xx family
- of SoCs.
-
- Signed-off-by: Suman Anna <s-anna@ti.com>
- Signed-off-by: Tony Lindgren <tony@atomide.com>
-
-diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
-index 0ca13ad..9ae258e 100644
---- a/arch/arm/boot/dts/am33xx.dtsi
-+++ b/arch/arm/boot/dts/am33xx.dtsi
-@@ -288,6 +288,12 @@
- status = "disabled";
- };
-
-+ hwspinlock: spinlock@480ca000 {
-+ compatible = "ti,omap4-hwspinlock";
-+ reg = <0x480ca000 0x1000>;
-+ ti,hwmods = "spinlock";
-+ };
-+
- wdt2: wdt@44e35000 {
- compatible = "ti,omap3-wdt";
- ti,hwmods = "wd_timer2";
diff --git a/freed-ora/current/f19/arm-am33xx-cpsw.patch b/freed-ora/current/f19/arm-am33xx-cpsw.patch
deleted file mode 100644
index 1a38cdd2b..000000000
--- a/freed-ora/current/f19/arm-am33xx-cpsw.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Bugzilla: 1012025
-Upstream-status: An initial work around for the cpsw driver issue trying to access HW registers
-with clock disabled. Upstream is working on a proper fix with the hope to land it in 3.13.
-
---- linux-3.12.4-1.fc20.x86_64/drivers/net/ethernet/ti/cpsw.c.orig 2013-12-11 20:52:41.576478796 +0000
-+++ linux-3.12.4-1.fc20.x86_64/drivers/net/ethernet/ti/cpsw.c 2013-12-11 20:55:14.418692261 +0000
-@@ -2001,6 +2001,8 @@
- goto clean_cpsw_iores_ret;
- }
- priv->regs = ss_regs;
-+
-+ pm_runtime_get_sync(&pdev->dev);
- priv->version = __raw_readl(&priv->regs->id_ver);
- priv->host_port = HOST_PORT_NUM;
-
-@@ -2161,6 +2163,7 @@
- goto clean_irq_ret;
- }
- }
-+ pm_runtime_put_sync(&pdev->dev);
-
- return 0;
-
diff --git a/freed-ora/current/f19/config-arm-generic b/freed-ora/current/f19/config-arm-generic
index a0cf6e6f8..3c2f27c44 100644
--- a/freed-ora/current/f19/config-arm-generic
+++ b/freed-ora/current/f19/config-arm-generic
@@ -6,8 +6,12 @@ CONFIG_FB_SSD1307=m
CONFIG_HW_PERF_EVENTS=y
CONFIG_MMC=y
CONFIG_NFS_FS=y
+
# CONFIG_PID_IN_CONTEXTIDR is not set
+# CONFIG_CPU_BIG_ENDIAN is not set
+# CONFIG_BIG_LITTLE is not set
+
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
@@ -20,10 +24,17 @@ CONFIG_BACKLIGHT_PWM=m
CONFIG_INPUT_PWM_BEEPER=m
CONFIG_ARM_SP805_WATCHDOG=m
CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
# CONFIG_ARM_DT_BL_CPUFREQ is not set
CONFIG_NR_CPUS=8
+
CONFIG_ARM_DMA_USE_IOMMU=y
+CONFIG_SWIOTLB=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_FB_SIMPLE=y
+
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
# ARM AMBA generic HW
CONFIG_ARM_AMBA=y
@@ -88,10 +99,12 @@ CONFIG_MTD_PHYSMAP_OF=m
# GPIO
CONFIG_GPIO_DEVRES=y
CONFIG_GPIO_GENERIC=m
+CONFIG_GPIO_GENERIC_PLATFORM=m
CONFIG_GPIOLIB=y
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_MDIO_GPIO=m
+CONFIG_BACKLIGHT_GPIO=m
CONFIG_POWER_RESET_GPIO=y
CONFIG_POWER_RESET_RESTART=y
@@ -108,17 +121,24 @@ CONFIG_I2C_MUX_PCA9541=m
CONFIG_SENSORS_IIO_HWMON=m
CONFIG_IIO_SYSFS_TRIGGER=m
+# PHY framework
+CONFIG_GENERIC_PHY=m
+
# MFD
CONFIG_MFD_CORE=m
CONFIG_SMC91X=m
CONFIG_SMC911X=m
+CONFIG_THERMAL_GOV_USER_SPACE=y
+
# CONFIG_CRYPTO_TEST is not set
# CONFIG_TRANSPARENT_HUGEPAGE is not set
# CONFIG_XEN is not set
# CONFIG_DRM_RCAR_DU is not set
+# CONFIG_I2C_RCAR is not set
# CONFIG_DRM_SHMOBILE is not set
+# CONFIG_I2C_SH_MOBILE is not set
# CONFIG_MMC_DW_SOCFPGA is not set
# CONFIG_ARM_SMMU is not set
# CONFIG_I2C_NOMADIK is not set
@@ -126,6 +146,10 @@ CONFIG_SMC911X=m
# CONFIG_LEDS_RENESAS_TPU is not set
# CONFIG_LOCK_STAT is not set
+# CONFIG_DRM_ARMADA is not set
+# CONFIG_DRM_TEGRA is not set
+# CONFIG_SHMOBILE_IOMMU is not set
+
### turn off things which make no sense on embedded SoC
# core
@@ -150,4 +174,7 @@ CONFIG_SMC911X=m
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
+# serial
+# CONFIG_SERIAL_SH_SCI is not set
+
CONFIG_CRASH=m
diff --git a/freed-ora/current/f19/config-armv7 b/freed-ora/current/f19/config-armv7
index 5df800c14..95cdcd1fe 100644
--- a/freed-ora/current/f19/config-armv7
+++ b/freed-ora/current/f19/config-armv7
@@ -4,7 +4,9 @@
# CONFIG_ARCH_KEYSTONE is not set
CONFIG_ARCH_MVEBU=y
CONFIG_ARCH_MXC=y
-CONFIG_ARCH_OMAP2PLUS=y
+# CONFIG_ARCH_OMAP2 is not set
+CONFIG_ARCH_OMAP3=y
+CONFIG_ARCH_OMAP4=y
CONFIG_ARCH_PICOXCELL=y
CONFIG_ARCH_ROCKCHIP=y
CONFIG_ARCH_SOCFPGA=y
@@ -48,41 +50,33 @@ CONFIG_SPI_ORION=m
CONFIG_USB_MV_UDC=m
CONFIG_MVEBU_MBUS=y
CONFIG_ARMADA_THERMAL=m
+CONFIG_DRM_ARMADA=m
# omap
CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
-# CONFIG_ARCH_OMAP2 is not set
-CONFIG_ARCH_OMAP3=y
-CONFIG_ARCH_OMAP4=y
CONFIG_SOC_OMAP5=y
# CONFIG_SOC_DRA7XX is not set
-# CONFIG_SOC_OMAP2420 is not set
-# CONFIG_SOC_OMAP2430 is not set
CONFIG_SOC_OMAP3430=y
CONFIG_SOC_TI81XX=y
-CONFIG_MACH_OMAP_GENERIC=y
-CONFIG_MACH_OMAP3_BEAGLE=y
+CONFIG_MACH_CRANEBOARD=y
CONFIG_MACH_DEVKIT8000=y
+# CONFIG_MACH_NOKIA_RX51 is not set
+CONFIG_MACH_OMAP_3630SDP=y
+CONFIG_MACH_OMAP_GENERIC=y
CONFIG_MACH_OMAP_LDP=y
-CONFIG_MACH_OMAP3530_LV_SOM=y
-CONFIG_MACH_OMAP3_TORPEDO=y
-CONFIG_MACH_OVERO=y
+CONFIG_MACH_OMAP3_BEAGLE=y
# CONFIG_MACH_OMAP3EVM is not set
+CONFIG_MACH_OMAP_3430SDP=y
+CONFIG_MACH_OMAP3530_LV_SOM=y
# CONFIG_MACH_OMAP3517EVM is not set
-CONFIG_MACH_CRANEBOARD=y
CONFIG_MACH_OMAP3_PANDORA=y
+CONFIG_MACH_OMAP3_TORPEDO=y
+CONFIG_MACH_OVERO=y
CONFIG_MACH_TOUCHBOOK=y
-CONFIG_MACH_OMAP_3430SDP=y
-# CONFIG_MACH_NOKIA_N8X0 is not set
-# CONFIG_MACH_NOKIA_RM680 is not set
-# CONFIG_MACH_NOKIA_RX51 is not set
-CONFIG_MACH_OMAP_ZOOM2=y
-CONFIG_MACH_OMAP_ZOOM3=y
CONFIG_MACH_CM_T35=y
CONFIG_MACH_CM_T3517=y
CONFIG_MACH_IGEP0030=y
CONFIG_MACH_SBC3530=y
-CONFIG_MACH_OMAP_3630SDP=y
# CONFIG_MACH_TI8168EVM is not set
# CONFIG_MACH_TI8148EVM is not set
@@ -107,7 +101,6 @@ CONFIG_HWSPINLOCK_OMAP=m
CONFIG_OMAP3_EMU=y
# CONFIG_OMAP3_SDRC_AC_TIMING is not set
CONFIG_OMAP_WATCHDOG=m
-CONFIG_TWL4030_WATCHDOG=m
CONFIG_SERIAL_OMAP=y
CONFIG_SERIAL_OMAP_CONSOLE=y
@@ -138,7 +131,7 @@ CONFIG_BACKLIGHT_PANDORA=m
CONFIG_OMAP_OCP2SCP=m
CONFIG_USB_EHCI_HCD_OMAP=m
CONFIG_USB_OHCI_HCD_PLATFORM=m
-CONFIG_USB_OHCI_HCD_OMAP3=y
+CONFIG_USB_OHCI_HCD_OMAP3=m
CONFIG_USB_MUSB_AM35X=m
CONFIG_USB_MUSB_OMAP2PLUS=m
CONFIG_OMAP_CONTROL_USB=m
@@ -182,7 +175,7 @@ CONFIG_TOUCHSCREEN_TI_TSCADC=m
# OMAP thermal temp. Can likely be built as module but doesn't autoload so build in to ensure performance on PandaES
CONFIG_OMAP_BANDGAP=y
-CONFIG_TI_SOC_THERMAL=m
+CONFIG_TI_SOC_THERMAL=y
CONFIG_TI_THERMAL=y
CONFIG_OMAP4_THERMAL=y
CONFIG_OMAP5_THERMAL=y
@@ -192,7 +185,7 @@ CONFIG_POWER_AVS=y
CONFIG_POWER_AVS_OMAP=y
CONFIG_POWER_AVS_OMAP_CLASS3=y
-CONFIG_ARM_OMAP2PLUS_CPUFREQ=y
+# CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set
CONFIG_PWM_TIECAP=m
CONFIG_PWM_TIEHRPWM=m
@@ -202,6 +195,7 @@ CONFIG_PWM_TWL_LED=m
CONFIG_CRYPTO_DEV_OMAP_SHAM=m
CONFIG_CRYPTO_DEV_OMAP_AES=m
CONFIG_HW_RANDOM_OMAP=m
+CONFIG_HW_RANDOM_OMAP3_ROM=m
CONFIG_DRM_OMAP=m
CONFIG_DRM_OMAP_NUM_CRTCS=2
@@ -237,6 +231,7 @@ CONFIG_DISPLAY_PANEL_LGPHILIPS_LB035Q02=m
CONFIG_DISPLAY_PANEL_SHARP_LS037V7DW01=m
CONFIG_DISPLAY_PANEL_TPO_TD043MTEA1=m
CONFIG_DISPLAY_PANEL_NEC_NL8048HL11=m
+CONFIG_DISPLAY_PANEL_TPO_TD028TTEC1=m
# Enable V4L2 drivers for OMAP2+
CONFIG_MEDIA_CONTROLLER=y
@@ -301,29 +296,28 @@ CONFIG_SOC_AM33XX=y
CONFIG_SOC_AM43XX=y
CONFIG_AM335X_CONTROL_USB=m
CONFIG_AM335X_PHY_USB=m
-CONFIG_USB_MUSB_AM335X_CHILD=y
+CONFIG_USB_MUSB_AM335X_CHILD=m
+CONFIG_TI_CPPI41=m
+CONFIG_USB_TI_CPPI41_DMA=y
CONFIG_MFD_TI_AM335X_TSCADC=m
CONFIG_TI_ST=m
CONFIG_TI_DAC7512=m
+CONFIG_TI_DAVINCI_CPDMA=m
CONFIG_TI_DAVINCI_EMAC=m
CONFIG_TI_DAVINCI_MDIO=m
-CONFIG_TI_DAVINCI_CPDMA=m
CONFIG_TI_CPSW=m
-CONFIG_TI_CPTS=y
+CONFIG_TI_CPSW_PHY_SEL=y
+# CONFIG_TI_CPTS is not set
CONFIG_TI_EMIF=m
CONFIG_DRM_TILCDC=m
CONFIG_SPI_DAVINCI=m
+CONFIG_SND_DAVINCI_SOC=m
CONFIG_REGULATOR_TI_ABB=m
-CONFIG_TI_PRIV_EDMA=y
-CONFIG_TI_EDMA=y
-# Terribly unstable so disable for now
-# CONFIG_USB_TI_CPPI41_DMA is not set
-# CONFIG_TI_CPPI41 is not set
-CONFIG_MFD_TI_AM335X_TSCADC=m
-CONFIG_CHARGER_BQ24190=m
CONFIG_TI_ADC081C=m
CONFIG_TI_AM335X_ADC=m
CONFIG_PWM_TIPWMSS=y
+CONFIG_SND_AM33XX_SOC_EVM=m
+CONFIG_SND_AM335X_SOC_NXPTDA_EVM=m
# Allwinner a1x
CONFIG_PINCTRL_SUNXI=y
@@ -331,6 +325,7 @@ CONFIG_SUNXI_WATCHDOG=m
CONFIG_MDIO_SUN4I=m
CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_SUN4I_EMAC=m
+CONFIG_EEPROM_SUNXI_SID=m
# i.MX
CONFIG_MXC_IRQ_PRIOR=y
@@ -344,6 +339,7 @@ CONFIG_MACH_IMX51_DT=y
CONFIG_ARM_IMX6Q_CPUFREQ=m
CONFIG_IMX_THERMAL=m
CONFIG_PATA_IMX=m
+CONFIG_PCI_IMX6=y
CONFIG_USB_CHIPIDEA=m
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
@@ -502,6 +498,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m
CONFIG_ARCH_TEGRA_2x_SOC=y
CONFIG_ARCH_TEGRA_3x_SOC=y
# CONFIG_ARCH_TEGRA_114_SOC is not set
+# CONFIG_ARCH_TEGRA_124_SOC is not set
CONFIG_ARM_TEGRA_CPUFREQ=y
CONFIG_TEGRA20_MC=y
CONFIG_TEGRA30_MC=y
@@ -542,6 +539,10 @@ CONFIG_SND_SOC_TEGRA20_AC97=m
CONFIG_SND_SOC_TEGRA30_AHUB=m
CONFIG_SND_SOC_TEGRA30_I2S=m
+# bool only, upstream aiming for modular in 3.14
+# https://lkml.org/lkml/2013/11/18/47
+# CONFIG_DRM_TEGRA is not set
+
# AC100 (PAZ00)
CONFIG_MFD_NVEC=y
CONFIG_MFD_TPS80031=y
@@ -566,7 +567,6 @@ CONFIG_DRM_TEGRA=y
CONFIG_CRYPTO_DEV_TEGRA_AES=m
-CONFIG_LEDS_RENESAS_TPU=y
CONFIG_GPIO_PCA953X=m
# OLPC XO
@@ -625,7 +625,6 @@ CONFIG_REGULATOR_MAX8973=m
# CONFIG_BATTERY_RX51 is not set
# CONFIG_IR_RX51 is not set
-# CONFIG_GENERIC_CPUFREQ_CPU0 is not set
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_LP8788 is not set
diff --git a/freed-ora/current/f19/config-armv7-generic b/freed-ora/current/f19/config-armv7-generic
index 7800af27f..8215e6055 100644
--- a/freed-ora/current/f19/config-armv7-generic
+++ b/freed-ora/current/f19/config-armv7-generic
@@ -8,6 +8,7 @@ CONFIG_ARM=y
CONFIG_ARCH_MULTI_V7=y
CONFIG_CMDLINE=""
+CONFIG_CMDLINE_FROM_BOOTLOADER=y
CONFIG_HAVE_ARM_ARCH_TIMER=y
CONFIG_HAVE_ARM_TWD=y
CONFIG_AEABI=y
@@ -51,6 +52,7 @@ CONFIG_ALWAYS_USE_PERSISTENT_CLOCK=y
CONFIG_ARCH_HIGHBANK=y
CONFIG_ARCH_VEXPRESS_CA9X4=y
CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y
+# CONFIG_ARCH_VEXPRESS_SPC is not set
# CONFIG_ARCH_BCM is not set
# CONFIG_PLAT_SPEAR is not set
# CONFIG_ARCH_STI is not set
@@ -60,12 +62,11 @@ CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y
# CONFIG_ARCH_SHMOBILE_MULTI is not set
# highbank
-# 2013/04/19 - stability issues
CONFIG_EDAC_HIGHBANK_MC=m
CONFIG_EDAC_HIGHBANK_L2=m
CONFIG_SATA_HIGHBANK=m
CONFIG_ARM_HIGHBANK_CPUFREQ=m
-CONFIG_ARM_HIGHBANK_CPUIDLE=y
+# CONFIG_ARM_HIGHBANK_CPUIDLE is not set
# errata
# v5/v6
@@ -110,16 +111,21 @@ CONFIG_RCU_FANOUT=32
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
CONFIG_CPU_IDLE_GOV_MENU=y
-CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
+# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
CONFIG_LSM_MMAP_MIN_ADDR=32768
+CONFIG_ARM_GLOBAL_TIMER=y
+
CONFIG_XZ_DEC_ARM=y
+# Power management
+CONFIG_PM_OPP=y
CONFIG_ARM_CPU_SUSPEND=y
+CONFIG_GENERIC_CPUFREQ_CPU0=m
CONFIG_LOCAL_TIMERS=y
CONFIG_UACCESS_WITH_MEMCPY=y
@@ -157,6 +163,13 @@ CONFIG_ARM_SP805_WATCHDOG=m
CONFIG_GPIO_PL061=y
CONFIG_PL320_MBOX=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_SPI=m
+CONFIG_REGMAP_SPMI=m
+CONFIG_REGMAP_MMIO=m
+CONFIG_REGMAP_IRQ=y
+
# usb
CONFIG_USB_OTG=y
# CONFIG_USB_OTG_WHITELIST is not set
@@ -245,23 +258,23 @@ CONFIG_GENERIC_PINCONF=y
# CONFIG_PINCTRL_EXYNOS4 is not set
# GPIO
-CONFIG_GPIO_GENERIC_PLATFORM=m
# CONFIG_GPIO_EM is not set
+CONFIG_GPIO_74X164=m
CONFIG_GPIO_ADNP=m
CONFIG_GPIO_MCP23S08=m
-CONFIG_SERIAL_8250_EM=m
-CONFIG_INPUT_GPIO_TILT_POLLED=m
-CONFIG_MDIO_BUS_MUX_GPIO=m
-CONFIG_MDIO_BUS_MUX_MMIOREG=m
-CONFIG_LEDS_GPIO=m
CONFIG_GPIO_MAX7301=m
CONFIG_GPIO_MC33880=m
-CONFIG_GPIO_74X164=m
CONFIG_GPIO_TPS65910=y
CONFIG_GPIO_TPS65912=m
+CONFIG_LEDS_GPIO=m
+CONFIG_MDIO_BUS_MUX_GPIO=m
+CONFIG_MDIO_BUS_MUX_MMIOREG=m
+CONFIG_INPUT_GPIO_TILT_POLLED=m
+CONFIG_INPUT_MATRIXKMAP=m
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_MATRIX=m
# CONFIG_GPIO_RCAR is not set
CONFIG_W1_MASTER_GPIO=m
-CONFIG_CHARGER_GPIO=m
# SPI
CONFIG_SPI=y
@@ -291,6 +304,11 @@ CONFIG_I2C_DESIGNWARE_PLATFORM=m
# HW crypto and rng
CONFIG_CRYPTO_SHA1_ARM=m
CONFIG_CRYPTO_AES_ARM=m
+# CONFIG_CRYPTO_AES_ARM_BS is not set
+
+# DMA
+CONFIG_TI_PRIV_EDMA=y
+CONFIG_TI_EDMA=y
# EDAC
CONFIG_EDAC=y
@@ -338,6 +356,8 @@ CONFIG_USB_DWC3_EXYNOS=m
CONFIG_USB_DWC3_PCI=m
# CONFIG_USB_DWC3_DEBUG is not set
CONFIG_DW_WATCHDOG=m
+CONFIG_PCIE_DW=y
+CONFIG_PCI_EXYNOS=y
# Sound
CONFIG_SND_SOC=m
@@ -407,6 +427,10 @@ CONFIG_REGULATOR_TPS65912=m
CONFIG_REGULATOR_TPS80031=m
CONFIG_CHARGER_MANAGER=y
+CONFIG_CHARGER_BQ2415X=m
+CONFIG_CHARGER_BQ24190=m
+CONFIG_CHARGER_BQ24735=m
+CONFIG_CHARGER_GPIO=m
CONFIG_CHARGER_TPS65090=m
CONFIG_PDA_POWER=m
CONFIG_GENERIC_ADC_BATTERY=m
@@ -468,6 +492,7 @@ CONFIG_SRAM=y
# Ethernet
CONFIG_KS8851=m
+CONFIG_KS8851_MLL=m
CONFIG_ENC28J60=m
CONFIG_LIBERTAS_SPI=m
CONFIG_P54_SPI=m
@@ -499,8 +524,11 @@ CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_UBIFS_FS_DEBUG is not set
-# Sensors
-CONFIG_SENSORS_HTU21=m
+# Chromebook
+CONFIG_MFD_CROS_EC=m
+CONFIG_MFD_CROS_EC_I2C=m
+CONFIG_MFD_CROS_EC_SPI=m
+CONFIG_KEYBOARD_CROS_EC=m
# Should be in generic
CONFIG_BPF_JIT=y
@@ -529,6 +557,7 @@ CONFIG_BPF_JIT=y
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_M25PXX_USE_FAST_READ is not set
+# CONFIG_SERIAL_8250_EM is not set
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
# CONFIG_SERIAL_IFX6X60 is not set
diff --git a/freed-ora/current/f19/config-armv7-lpae b/freed-ora/current/f19/config-armv7-lpae
index f2cfb02f2..c3b22bcdf 100644
--- a/freed-ora/current/f19/config-armv7-lpae
+++ b/freed-ora/current/f19/config-armv7-lpae
@@ -10,6 +10,7 @@ CONFIG_ARCH_EXYNOS5=y
# CONFIG_ARCH_OMAP4 is not set
# CONFIG_SOC_OMAP5 is not set
# CONFIG_SOC_AM33XX is not set
+# CONFIG_SND_AM33XX_SOC_EVM is not set
# CONFIG_SOC_AM43XX is not set
# CONFIG_ARCH_ROCKCHIP is not set
# CONFIG_ARCH_SOCFPGA is not set
@@ -58,7 +59,6 @@ CONFIG_XEN_GNTDEV=y
CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_XEN_WDT=m
-CONFIG_MACH_EXYNOS5_DT=y
CONFIG_SERIAL_SAMSUNG=y
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
# CONFIG_SAMSUNG_PM_DEBUG is not set
@@ -69,7 +69,6 @@ CONFIG_SOC_EXYNOS5440=y
# CONFIG_ARM_EXYNOS5250_CPUFREQ is not set
# CONFIG_ARM_EXYNOS5440_CPUFREQ is not set
# CONFIG_ARM_EXYNOS_CPUFREQ is not set
-# CONFIG_GENERIC_CPUFREQ_CPU0 is not set
CONFIG_EXYNOS_THERMAL=m
CONFIG_PCI_EXYNOS=y
@@ -139,4 +138,5 @@ CONFIG_S3C_LOWLEVEL_UART_PORT=1
# CONFIG_TEGRA_HOST1X is not set
# CONFIG_SPI_DAVINCI is not set
# CONFIG_I2C_DAVINCI is not set
+# CONFIG_SND_DAVINCI_SOC is not set
# CONFIG_TI_SOC_THERMAL is not set
diff --git a/freed-ora/current/f19/config-debug b/freed-ora/current/f19/config-debug
index fb7df3e38..8000b4e86 100644
--- a/freed-ora/current/f19/config-debug
+++ b/freed-ora/current/f19/config-debug
@@ -104,6 +104,7 @@ CONFIG_KDB_KEYBOARD=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
+CONFIG_PERCPU_TEST=m
CONFIG_TEST_LIST_SORT=y
CONFIG_TEST_STRING_HELPERS=m
diff --git a/freed-ora/current/f19/config-generic b/freed-ora/current/f19/config-generic
index 28149cc69..5aa306e4a 100644
--- a/freed-ora/current/f19/config-generic
+++ b/freed-ora/current/f19/config-generic
@@ -61,7 +61,7 @@ CONFIG_PID_NS=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_NET_NS=y
-# CONFIG_USER_NS is not set
+CONFIG_USER_NS=y
# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set
CONFIG_POSIX_MQUEUE=y
@@ -72,6 +72,7 @@ CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_SLUB=y
CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_SLUB_STATS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_AD525X_DPOT is not set
# CONFIG_ATMEL_PWM is not set
@@ -309,6 +310,7 @@ CONFIG_HOTPLUG_PCI_ACPI_IBM=m
# Block devices
#
CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_FD=m
# CONFIG_PARIDE is not set
@@ -325,6 +327,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_NVME=m
+CONFIG_BLK_DEV_SKD=m # 64-bit only but easier to put here
CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
@@ -786,6 +789,7 @@ CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=y
+CONFIG_IPV6_VTI=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_TUNNEL=m
@@ -982,6 +986,30 @@ CONFIG_NF_NAT_IPV6=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
# CONFIG_IP6_NF_TARGET_NPT is not set
+# nf_tables support
+CONFIG_NF_TABLES=m
+CONFIG_NFT_EXTHDR=m
+CONFIG_NFT_META=m
+CONFIG_NFT_CT=m
+CONFIG_NFT_RBTREE=m
+CONFIG_NFT_HASH=m
+CONFIG_NFT_COUNTER=m
+CONFIG_NFT_LOG=m
+CONFIG_NFT_LIMIT=m
+CONFIG_NFT_NAT=m
+CONFIG_NFT_COMPAT=m
+
+CONFIG_NF_TABLES_IPV4=m
+CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_CHAIN_ROUTE_IPV4=m
+CONFIG_NFT_CHAIN_NAT_IPV4=m
+CONFIG_NF_TABLES_ARP=m
+
+CONFIG_NF_TABLES_IPV6=m
+CONFIG_NFT_CHAIN_ROUTE_IPV6=m
+CONFIG_NFT_CHAIN_NAT_IPV6=m
+
+CONFIG_NF_TABLES_BRIDGE=m
#
# Bridge: Netfilter Configuration
#
@@ -1029,7 +1057,9 @@ CONFIG_IP_SET_HASH_IP=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETIFACE=m
CONFIG_IP_SET_LIST_SET=m
@@ -1112,6 +1142,7 @@ CONFIG_NET_CLS=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_CGROUP=y
+CONFIG_NET_CLS_BPF=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_IND=y
@@ -1594,6 +1625,8 @@ CONFIG_ATH10K_PCI=m
# CONFIG_ATH10K_DEBUG is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_DEBUGFS=y
+CONFIG_WCN36XX=m
+# CONFIG_WCN36XX_DEBUGFS is not set
CONFIG_WIL6210=m
CONFIG_WIL6210_ISR_COR=y
# CONFIG_WIL6210_TRACING is not set
@@ -1775,6 +1808,7 @@ CONFIG_BAYCOM_EPP=m
CONFIG_YAM=m
CONFIG_NFC=m
+CONFIG_NFC_DIGITAL=m
CONFIG_NFC_NCI=m
CONFIG_NFC_HCI=m
CONFIG_NFC_SHDLC=y
@@ -1784,6 +1818,7 @@ CONFIG_NFC_SIM=m
#
# Near Field Communication (NFC) devices
#
+CONFIG_NFC_PORT100=m
CONFIG_NFC_PN544=m
CONFIG_NFC_PN544_I2C=m
CONFIG_NFC_PN533=m
@@ -2050,6 +2085,7 @@ CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_OLPC_APSP is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
+# CONFIG_SERIO_LIBPS2 is not set
#
# Input Device Drivers
@@ -2057,6 +2093,7 @@ CONFIG_SERIO_ARC_PS2=m
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_SH_KEYSC is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_NEWTON is not set
@@ -2141,6 +2178,7 @@ CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
+# CONFIG_TOUCHSCREEN_SUR40 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
CONFIG_TOUCHSCREEN_TSC_SERIO=m
CONFIG_TOUCHSCREEN_TSC2007=m
@@ -2161,6 +2199,7 @@ CONFIG_TOUCHSCREEN_ATMEL_MXT=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TOUCHSCREEN_ZFORCE=m
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
@@ -2207,6 +2246,8 @@ CONFIG_TIFM_7XX1=m
CONFIG_TCG_TPM=m
CONFIG_TCG_TIS=m
# CONFIG_TCG_TIS_I2C_INFINEON is not set
+# CONFIG_TCG_TIS_I2C_ATMEL is not set
+# CONFIG_TCG_TIS_I2C_NUVOTON is not set
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
# CONFIG_TCG_INFINEON is not set
@@ -2495,8 +2536,12 @@ CONFIG_HID_SENSOR_ENUM_BASE_QUIRKS=y
# CONFIG_MCP4725 is not set
# CONFIG_ITG3200 is not set
# CONFIG_APDS9300 is not set
+# CONFIG_CM36651 is not set
+# CONFIG_GP2AP020A00F is not set
# CONFIG_TSL2583 is not set
# CONFIG_TSL2x7x is not set
+# CONFIG_TCS3472 is not set
+# CONFIG_TSL4531 is not set
# CONFIG_NAU7802 is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_EXYNOS_ADC is not set
@@ -2509,6 +2554,7 @@ CONFIG_IIO_ST_ACCEL_3AXIS=m
# CONFIG_SENSORS_TSL2563 is not set
# CONFIG_VCNL4000 is not set
# CONFIG_AK8975 is not set
+# CONFIG_MAG3110 is not set
# CONFIG_TMP006 is not set
# CONFIG_IIO_ST_PRESS is not set
# CONFIG_KXSD9 is not set
@@ -2520,6 +2566,7 @@ CONFIG_IIO_ST_ACCEL_3AXIS=m
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not set
# CONFIG_MCP320X is not set
+# CONFIG_MCP3422 is not set
# CONFIG_AD8366 is not set
# CONFIG_AD5360 is not set
# CONFIG_AD5421 is not set
@@ -2775,6 +2822,7 @@ CONFIG_DRM_MGAG200=m # do not enable on f17 or older
# CONFIG_DRM_SAVAGE is not set
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_I915_FBDEV=y
# CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
CONFIG_DRM_VIA=m
CONFIG_DRM_NOUVEAU=m
@@ -3330,6 +3378,7 @@ CONFIG_SND_FIREWIRE=y
CONFIG_SND_FIREWIRE_SPEAKERS=m
CONFIG_SND_ISIGHT=m
CONFIG_SND_SCS1X=m
+CONFIG_SND_DICE=m
#
# Open Sound System
@@ -3465,6 +3514,7 @@ CONFIG_HID_ROCCAT=m
CONFIG_HID_ROCCAT_KONE=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
+CONFIG_SONY_FF=y
CONFIG_HID_SUNPLUS=m
CONFIG_HID_STEELSERIES=m
CONFIG_HID_GREENASIA=m
@@ -3601,6 +3651,7 @@ CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET=m
CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_HUAWEI_CDC_NCM=m
CONFIG_USB_NET_CDC_MBIM=m
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_NET_CX82310_ETH=m
@@ -3728,6 +3779,9 @@ CONFIG_USB_APPLEDISPLAY=m
# Physical Layer USB driver
CONFIG_USB_PHY=y
+# CONFIG_GENERIC_PHY is not set
+# CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set
+# CONFIG_PHY_EXYNOS_DP_VIDEO is not set
# CONFIG_OMAP_USB2 is not set
# CONFIG_OMAP_USB3 is not set
# CONFIG_OMAP_CONTROL_USB is not set
@@ -3831,6 +3885,7 @@ CONFIG_MFD_VIPERBOARD=m
# CONFIG_HTC_I2CPLD is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_ASIC3 is not set
+# CONFIG_MFD_AS3722 is not set
# CONFIG_HTC_EGPIO is not set
# CONFIG_TPS6507X is not set
# CONFIG_ABX500_CORE is not set
@@ -3995,13 +4050,14 @@ CONFIG_CUSE=m
#
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
-CONFIG_NFS_V2=y
+# CONFIG_NFS_V2 is not set
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_SWAP=y
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
+# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_V4_2=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
@@ -4169,6 +4225,7 @@ CONFIG_OPROFILE_EVENT_MULTIPLEX=y
CONFIG_DEBUG_KERNEL=y
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
CONFIG_DEBUG_INFO=y
CONFIG_FRAME_POINTER=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -4355,6 +4412,7 @@ CONFIG_CRC_CCITT=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=m
CONFIG_CRC8=m
+# CONFIG_RANDOM32_SELFTEST is not set
# CONFIG_CRC7 is not set
CONFIG_CORDIC=m
# CONFIG_DDR is not set
@@ -4366,7 +4424,7 @@ CONFIG_ZLIB_DEFLATE=m
CONFIG_INITRAMFS_SOURCE=""
CONFIG_KEYS=y
CONFIG_PERSISTENT_KEYRINGS=y
-CONFIG_BIG_KEYS=m
+CONFIG_BIG_KEYS=y
CONFIG_TRUSTED_KEYS=m
CONFIG_ENCRYPTED_KEYS=m
CONFIG_KEYS_DEBUG_PROC_KEYS=y
@@ -4382,6 +4440,7 @@ CONFIG_BACKLIGHT_PROGEAR=m
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3630 is not set
+# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_FB_NVIDIA_BACKLIGHT=y
CONFIG_FB_RIVA_BACKLIGHT=y
@@ -4459,6 +4518,7 @@ CONFIG_IBMASR=m
CONFIG_PM=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_DEBUG=y
+# CONFIG_DPM_WATCHDOG is not set # revisit this in debug
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
# CONFIG_PM_TEST_SUSPEND is not set
@@ -4545,6 +4605,7 @@ CONFIG_LEDS_DELL_NETBOOKS=m
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_LP8501 is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA9685 is not set
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
@@ -4655,6 +4716,7 @@ CONFIG_APM_POWER=m
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_BQ24190 is not set
+# CONFIG_CHARGER_BQ24735 is not set
CONFIG_POWER_RESET=y
# CONFIG_PDA_POWER is not set
@@ -4905,6 +4967,8 @@ CONFIG_IEEE802154_FAKELB=m
CONFIG_MAC802154=m
CONFIG_NET_MPLS_GSO=m
+# CONFIG_HSR is not set
+
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_ADC_JACK is not set
# CONFIG_MEMORY is not set
@@ -4961,6 +5025,8 @@ CONFIG_GPIO_VIPERBOARD=m
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_PL061 is not set
+# CONFIG_GPIO_BCM_KONA is not set
# FIXME: Why?
CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
@@ -5024,8 +5090,12 @@ CONFIG_FMC_TRIVIAL=m
CONFIG_FMC_WRITE_EEPROM=m
CONFIG_FMC_CHARDEV=m
+# CONFIG_POWERCAP is not set
+
# CONFIG_HSI is not set
+# CONFIG_ARM_ARCH_TIMER_EVTSTREAM is not set
+
# CONFIG_PM_DEVFREQ is not set
# CONFIG_MODULE_SIG is not set
# CONFIG_SYSTEM_TRUSTED_KEYRING is not set
diff --git a/freed-ora/current/f19/config-nodebug b/freed-ora/current/f19/config-nodebug
index 75fc2200b..f9f43091b 100644
--- a/freed-ora/current/f19/config-nodebug
+++ b/freed-ora/current/f19/config-nodebug
@@ -104,6 +104,7 @@ CONFIG_KDB_KEYBOARD=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set
+# CONFIG_PERCPU_TEST is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_STRING_HELPERS is not set
diff --git a/freed-ora/current/f19/config-powerpc-generic b/freed-ora/current/f19/config-powerpc-generic
index 7ba1a5da5..a2f0dcfeb 100644
--- a/freed-ora/current/f19/config-powerpc-generic
+++ b/freed-ora/current/f19/config-powerpc-generic
@@ -371,6 +371,7 @@ CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_OF_VIDEOMODE is not set
# CONFIG_POWERNV_MSI is not set
+# CONFIG_CPU_LITTLE_ENDIAN is not set
CONFIG_POWER_RESET_GPIO=y
CONFIG_FB_SSD1307=m
diff --git a/freed-ora/current/f19/config-powerpc64 b/freed-ora/current/f19/config-powerpc64
index b430449e0..4cefd1ae1 100644
--- a/freed-ora/current/f19/config-powerpc64
+++ b/freed-ora/current/f19/config-powerpc64
@@ -14,6 +14,8 @@ CONFIG_PPC_PMAC=y
CONFIG_PPC_POWERNV=y
CONFIG_POWERNV_MSI=y
CONFIG_PPC_POWERNV_RTAS=y
+CONFIG_HW_RANDOM_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
@@ -139,7 +141,8 @@ CONFIG_RCU_FANOUT=64
CONFIG_CMA=y
# CONFIG_CMA_DEBUG is not set
CONFIG_KVM_BOOK3S_64=m
-CONFIG_KVM_BOOK3S_64_HV=y
+CONFIG_KVM_BOOK3S_64_HV=m
+CONFIG_KVM_BOOK3S_64_PR=m
# CONFIG_KVM_EXIT_TIMING is not set
CONFIG_KVM_XICS=y
diff --git a/freed-ora/current/f19/config-powerpc64p7 b/freed-ora/current/f19/config-powerpc64p7
index 0e0d957ec..8ff01178e 100644
--- a/freed-ora/current/f19/config-powerpc64p7
+++ b/freed-ora/current/f19/config-powerpc64p7
@@ -10,6 +10,8 @@ CONFIG_PPC_PSERIES=y
CONFIG_PPC_POWERNV=y
CONFIG_POWERNV_MSI=y
CONFIG_PPC_POWERNV_RTAS=y
+CONFIG_HW_RANDOM_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
@@ -130,7 +132,8 @@ CONFIG_RCU_FANOUT=64
CONFIG_CMA=y
# CONFIG_CMA_DEBUG is not set
CONFIG_KVM_BOOK3S_64=m
-CONFIG_KVM_BOOK3S_64_HV=y
+CONFIG_KVM_BOOK3S_64_HV=m
+CONFIG_KVM_BOOK3S_64_PR=m
# CONFIG_KVM_EXIT_TIMING is not set
CONFIG_KVM_XICS=y
diff --git a/freed-ora/current/f19/config-x86-32-generic b/freed-ora/current/f19/config-x86-32-generic
index 868a7e3d4..f3c11b3d8 100644
--- a/freed-ora/current/f19/config-x86-32-generic
+++ b/freed-ora/current/f19/config-x86-32-generic
@@ -73,8 +73,6 @@ CONFIG_APM_CPU_IDLE=y
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_ALLOW_INTS is not set
-CONFIG_ACPI_BLACKLIST_YEAR=1999
-
# CONFIG_X86_POWERNOW_K6 is not set
CONFIG_X86_POWERNOW_K7=y
diff --git a/freed-ora/current/f19/config-x86-generic b/freed-ora/current/f19/config-x86-generic
index 4250e17da..3d42bbcb2 100644
--- a/freed-ora/current/f19/config-x86-generic
+++ b/freed-ora/current/f19/config-x86-generic
@@ -40,6 +40,7 @@ CONFIG_EFI_VARS_PSTORE=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
CONFIG_EFI_PCDP=y
CONFIG_FB_EFI=y
+CONFIG_EARLY_PRINTK_EFI=y
# needs FB_SIMPLE to work correctly
# CONFIG_X86_SYSFB is not set
@@ -95,6 +96,7 @@ CONFIG_ACPI_APEI_MEMORY_FAILURE=y
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_CUSTOM_METHOD=m
CONFIG_ACPI_BGRT=y
+# CONFIG_ACPI_EXTLOG is not set
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_ACPI_CPUFREQ=m
@@ -196,6 +198,7 @@ CONFIG_AMILO_RFKILL=m
CONFIG_ASUS_LAPTOP=m
CONFIG_COMPAL_LAPTOP=m
CONFIG_DELL_LAPTOP=m
+CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_LAPTOP=m
CONFIG_EEEPC_LAPTOP=m
CONFIG_FUJITSU_TABLET=m
@@ -382,6 +385,7 @@ 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
# CONFIG_IBM_RTL is not set
@@ -415,6 +419,7 @@ CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
CONFIG_HYPERV_BALLOON=m
CONFIG_FB_HYPERV=m
+CONFIG_HYPERV_KEYBOARD=m
# Depends on HOTPLUG_PCI_PCIE
CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
@@ -448,9 +453,6 @@ CONFIG_VMWARE_VMCI_VSOCKETS=m
CONFIG_XZ_DEC_X86=y
CONFIG_MPILIB=y
-CONFIG_PKCS7_MESSAGE_PARSER=y
-CONFIG_EFI_SIGNATURE_LIST_PARSER=y
-CONFIG_PE_FILE_PARSER=y
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_MODULE_SIG=y
@@ -458,7 +460,6 @@ 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_BLACKLIST=y
CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE=y
CONFIG_EFI_SIGNATURE_LIST_PARSER=y
diff --git a/freed-ora/current/f19/config-x86_64-generic b/freed-ora/current/f19/config-x86_64-generic
index 4f36d4d89..efd3d9efd 100644
--- a/freed-ora/current/f19/config-x86_64-generic
+++ b/freed-ora/current/f19/config-x86_64-generic
@@ -6,7 +6,8 @@ CONFIG_64BIT=y
CONFIG_GENERIC_CPU=y
# CONFIG_X86_VSMP is not set
-# CONFIG_X86_UV is not set
+CONFIG_X86_UV=y
+CONFIG_UV_MMTIMER=m
CONFIG_NUMA=y
CONFIG_K8_NUMA=y
CONFIG_AMD_NUMA=y
@@ -21,6 +22,9 @@ CONFIG_NR_CPUS=1024
CONFIG_PHYSICAL_START=0x1000000
CONFIG_PHYSICAL_ALIGN=0x1000000
+# https://lists.fedoraproject.org/pipermail/kernel/2013-December/004753.html
+CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
+
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_AOUT is not set
@@ -30,6 +34,7 @@ CONFIG_AMD_IOMMU_V2=m
# CONFIG_IOMMU_DEBUG is not set
CONFIG_SWIOTLB=y
# CONFIG_CALGARY_IOMMU is not set
+# CONFIG_GART_IOMMU is not set
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_CGROUP_HUGETLB=y
@@ -37,11 +42,13 @@ CONFIG_MEM_SOFT_DIRTY=y
CONFIG_KEXEC_JUMP=y
-CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_HOTPLUG_MEMORY=y
# CONFIG_INTEL_SCU_IPC is not set
+CONFIG_INTEL_MIC_HOST=m
+CONFIG_INTEL_MIC_CARD=m
+
# SHPC has half-arsed PCI probing, which makes it load on too many systems
CONFIG_HOTPLUG_PCI_SHPC=m
diff --git a/freed-ora/current/f19/cpufreq-powernow-k8-Initialize-per-cpu-data-structures-properly.patch b/freed-ora/current/f19/cpufreq-powernow-k8-Initialize-per-cpu-data-structures-properly.patch
new file mode 100644
index 000000000..70a553d2c
--- /dev/null
+++ b/freed-ora/current/f19/cpufreq-powernow-k8-Initialize-per-cpu-data-structures-properly.patch
@@ -0,0 +1,138 @@
+Bugzilla: 1054408
+Upstream-status: Queued for 3.14 and CC'd to stable
+Delivered-To: jwboyer@gmail.com
+Received: by 10.76.82.162 with SMTP id j2csp112184oay;
+ Mon, 17 Feb 2014 03:01:52 -0800 (PST)
+X-Received: by 10.68.164.4 with SMTP id ym4mr26078759pbb.53.1392634911720;
+ Mon, 17 Feb 2014 03:01:51 -0800 (PST)
+Return-Path: <linux-kernel-owner@vger.kernel.org>
+Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67])
+ by mx.google.com with ESMTP id xf4si14383267pab.191.2014.02.17.03.01.15
+ for <multiple recipients>;
+ Mon, 17 Feb 2014 03:01:51 -0800 (PST)
+Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67;
+Authentication-Results: mx.google.com;
+ spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mail=linux-kernel-owner@vger.kernel.org
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1752151AbaBQKyA (ORCPT <rfc822;gardner.ben.linux@gmail.com>
+ + 99 others); Mon, 17 Feb 2014 05:54:00 -0500
+Received: from e28smtp06.in.ibm.com ([122.248.162.6]:51044 "EHLO
+ e28smtp06.in.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1752134AbaBQKx6 (ORCPT
+ <rfc822;linux-kernel@vger.kernel.org>);
+ Mon, 17 Feb 2014 05:53:58 -0500
+Received: from /spool/local
+ by e28smtp06.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted
+ for <linux-kernel@vger.kernel.org> from <srivatsa.bhat@linux.vnet.ibm.com>;
+ Mon, 17 Feb 2014 16:23:53 +0530
+Received: from d28dlp03.in.ibm.com (9.184.220.128)
+ by e28smtp06.in.ibm.com (192.168.1.136) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted;
+ Mon, 17 Feb 2014 16:23:50 +0530
+Received: from d28relay01.in.ibm.com (d28relay01.in.ibm.com [9.184.220.58])
+ by d28dlp03.in.ibm.com (Postfix) with ESMTP id 80C82125805C;
+ Mon, 17 Feb 2014 16:25:47 +0530 (IST)
+Received: from d28av03.in.ibm.com (d28av03.in.ibm.com [9.184.220.65])
+ by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id s1HArhEA64749632;
+ Mon, 17 Feb 2014 16:23:44 +0530
+Received: from d28av03.in.ibm.com (localhost [127.0.0.1])
+ by d28av03.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s1HArkHs009945;
+ Mon, 17 Feb 2014 16:23:47 +0530
+Received: from srivatsabhat.in.ibm.com ([9.79.254.57])
+ by d28av03.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id s1HAriQk009844;
+ Mon, 17 Feb 2014 16:23:45 +0530
+From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
+Subject: [PATCH] cpufreq,
+ powernow-k8: Initialize per-cpu data-structures properly
+To: pierre-list@ossman.eu, rjw@rjwysocki.net
+Cc: viresh.kumar@linaro.org, linux-pm@vger.kernel.org,
+ linux-kernel@vger.kernel.org,
+ "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
+Date: Mon, 17 Feb 2014 16:18:21 +0530
+Message-ID: <20140217104821.21147.71463.stgit@srivatsabhat.in.ibm.com>
+User-Agent: StGIT/0.14.3
+MIME-Version: 1.0
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: 7bit
+X-TM-AS-MML: disable
+X-Content-Scanned: Fidelis XPS MAILER
+x-cbid: 14021710-9574-0000-0000-00000BFDA307
+Sender: linux-kernel-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-kernel.vger.kernel.org>
+X-Mailing-List: linux-kernel@vger.kernel.org
+
+The powernow-k8 driver maintains a per-cpu data-structure called powernow_data
+that is used to perform the frequency transitions. It initializes this data-
+structure only for the policy->cpu. So, accesses to this data-structure by
+other CPUs results in various problems because they would have been
+uninitialized.
+
+Specifically, if a cpu (!= policy->cpu) invokes the drivers' ->get() function,
+it returns 0 as the KHz value, since its per-cpu memory doesn't point to
+anything valid. This causes problems during suspend/resume since
+cpufreq_update_policy() tries to enforce this (0 KHz) as the current frequency
+of the CPU, and this madness gets propagated to adjust_jiffies() as well.
+Eventually, lots of things start breaking down, including the r8169 ethernet
+card, in one particularly interesting case reported by Pierre Ossman.
+
+https://bugzilla.kernel.org/show_bug.cgi?id=70311
+
+Fix this by initializing the per-cpu data-structures of _all_ the CPUs
+in the policy appropriately.
+
+Cc: stable@vger.kernel.org
+Reported-by: Pierre Ossman <pierre@ossman.eu>
+Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
+---
+
+ drivers/cpufreq/powernow-k8.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/cpufreq/powernow-k8.c b/drivers/cpufreq/powernow-k8.c
+index e10b646..6684e03 100644
+--- a/drivers/cpufreq/powernow-k8.c
++++ b/drivers/cpufreq/powernow-k8.c
+@@ -1076,7 +1076,7 @@ static int powernowk8_cpu_init(struct cpufreq_policy *pol)
+ {
+ struct powernow_k8_data *data;
+ struct init_on_cpu init_on_cpu;
+- int rc;
++ int rc, cpu;
+
+ smp_call_function_single(pol->cpu, check_supported_cpu, &rc, 1);
+ if (rc)
+@@ -1140,7 +1140,9 @@ static int powernowk8_cpu_init(struct cpufreq_policy *pol)
+ pr_debug("cpu_init done, current fid 0x%x, vid 0x%x\n",
+ data->currfid, data->currvid);
+
+- per_cpu(powernow_data, pol->cpu) = data;
++ /* Point all the CPUs in this policy to the same data */
++ for_each_cpu(cpu, pol->cpus)
++ per_cpu(powernow_data, cpu) = data;
+
+ return 0;
+
+@@ -1155,6 +1157,7 @@ err_out:
+ static int powernowk8_cpu_exit(struct cpufreq_policy *pol)
+ {
+ struct powernow_k8_data *data = per_cpu(powernow_data, pol->cpu);
++ int cpu;
+
+ if (!data)
+ return -EINVAL;
+@@ -1165,7 +1168,8 @@ static int powernowk8_cpu_exit(struct cpufreq_policy *pol)
+
+ kfree(data->powernow_table);
+ kfree(data);
+- per_cpu(powernow_data, pol->cpu) = NULL;
++ for_each_cpu(cpu, pol->cpus)
++ per_cpu(powernow_data, cpu) = NULL;
+
+ return 0;
+ }
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
+Please read the FAQ at http://www.tux.org/lkml/
diff --git a/freed-ora/current/f19/deblob-3.12 b/freed-ora/current/f19/deblob-3.13
index ab002f784..4f0cc30e5 100755
--- a/freed-ora/current/f19/deblob-3.12
+++ b/freed-ora/current/f19/deblob-3.13
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (C) 2008-2013 Alexandre Oliva <lxoliva@fsfla.org>
+# Copyright (C) 2008-2014 Alexandre Oliva <lxoliva@fsfla.org>
# Copyright (C) 2008 Jeff Moe
# Copyright (C) 2009 Rubén Rodríguez <ruben@gnu.org>
#
@@ -48,7 +48,7 @@
# For each kver release, start extra with an empty string, then count
# from 1 if changes are needed that require rebuilding the tarball.
-kver=3.12 extra=
+kver=3.13 extra=
case $1 in
--force)
@@ -275,6 +275,14 @@ for f in \
drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc \
drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h \
drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc \
+ drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h \
+ drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc \
+ drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h \
+ drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc \
+ drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h \
+ drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc \
+ drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h \
+ drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc \
drivers/net/wan/wanxlfw.inc_shipped \
drivers/net/wan/wanxlfw.S \
drivers/net/wireless/atmel.c \
@@ -917,6 +925,13 @@ reject_firmware drivers/media/dvb-frontends/cx24116.c
clean_kconfig drivers/media/dvb-frontends/Kconfig 'DVB_CX24116'
clean_mk CONFIG_DVB_CX24116 drivers/media/dvb-frontends/Makefile
+announce DVB_CX24117 - "Conexant CX24117 based"
+undefault_firmware CX24117 drivers/media/dvb-frontends/cx24117.c
+reject_firmware drivers/media/dvb-frontends/cx24117.c
+clean_blob drivers/media/dvb-frontends/cx24117.c
+clean_kconfig drivers/media/dvb-frontends/Kconfig 'DVB_CX24117'
+clean_mk CONFIG_DVB_CX24117 drivers/media/dvb-frontends/Makefile
+
announce DVB_SP887X - "Spase sp887x based"
undefault_firmware 'SP887X' drivers/media/dvb-frontends/sp887x.c
reject_firmware drivers/media/dvb-frontends/sp887x.c
@@ -1167,6 +1182,12 @@ clean_blob drivers/media/usb/gspca/vicam.c
clean_kconfig drivers/media/usb/gspca/Kconfig 'USB_GSPCA_VICAM'
clean_mk CONFIG_USB_GSPCA_VICAM drivers/media/usb/gspca/Makefile
+announce VIDEO_TI_VPE - "TI VPE (Video Processing Engine) driver"
+reject_firmware drivers/media/platform/ti-vpe/vpdma.c
+clean_blob drivers/media/platform/ti-vpe/vpdma.c
+clean_kconfig drivers/media/platform/Kconfig 'VIDEO_TI_VPE'
+clean_mk CONFIG_VIDEO_TI_VPE drivers/media/platform/ti-vpe/Makefile
+
# radio
announce RADIO_WL1273 - "Texas Instruments WL1273 I2C FM Radio"
@@ -1811,7 +1832,8 @@ clean_kconfig drivers/net/wireless/rtlwifi/Kconfig RTL8188EE
clean_mk CONFIG_RTL8188EE drivers/net/wireless/rtlwifi/rtl8188ee/Makefile
announce R8188EU - "Realtek RTL8188EU Wireless LAN NIC driver"
-clean_blob drivers/staging/rtl8188eu/hal/Hal8188EFWImg_CE.c
+reject_firmware drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
+clean_blob drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
clean_blob drivers/staging/rtl8188eu/include/rtl8188e_hal.h
clean_kconfig drivers/staging/rtl8188eu/Kconfig R8188EU
clean_mk CONFIG_R8188EU drivers/staging/rtl8188eu/Makefile
@@ -1904,6 +1926,13 @@ clean_blob drivers/net/wireless/zd1201.c
clean_kconfig drivers/net/wireless/Kconfig 'USB_ZD1201'
clean_mk CONFIG_USB_ZD1201 drivers/net/wireless/Makefile
+announce WCN36XX - "Qualcomm Atheros WCN3660/3680 support"
+reject_firmware drivers/net/wireless/ath/wcn36xx/smd.c
+clean_blob drivers/net/wireless/ath/wcn36xx/wcn36xx.h
+clean_blob drivers/net/wireless/ath/wcn36xx/main.c
+clean_kconfig drivers/net/wireless/ath/wcn36xx/Kconfig 'WCN36XX'
+clean_mk CONFIG_WCN36XX drivers/net/wireless/ath/wcn36xx/Makefile
+
announce ZD1211RW - "ZyDAS ZD1211/ZD1211B USB-wireless support"
reject_firmware drivers/net/wireless/zd1211rw/zd_usb.c
clean_blob drivers/net/wireless/zd1211rw/zd_usb.c
@@ -1942,10 +1971,15 @@ clean_blob drivers/bluetooth/btusb.c
clean_kconfig drivers/bluetooth/Kconfig 'BT_HCIBTUSB'
clean_mk CONFIG_BT_HCIBTUSB drivers/bluetooth/Makefile
+announce BT_MRVL - "Marvell Bluetooth driver support"
+reject_firmware drivers/bluetooth/btmrvl_main.c
+clean_blob Documentation/btmrvl.txt
+clean_kconfig drivers/bluetooth/Kconfig 'BT_MRVL'
+clean_mk CONFIG_BT_MRVL drivers/bluetooth/Makefile
+
announce BT_MRVL_SDIO - "Marvell BT-over-SDIO driver"
reject_firmware drivers/bluetooth/btmrvl_sdio.c
clean_blob drivers/bluetooth/btmrvl_sdio.c
-clean_blob Documentation/btmrvl.txt
clean_kconfig drivers/bluetooth/Kconfig 'BT_MRVL_SDIO'
clean_mk CONFIG_BT_MRVL_SDIO drivers/bluetooth/Makefile
diff --git a/freed-ora/current/f19/deblob-check b/freed-ora/current/f19/deblob-check
index aebd6a8f2..08b7a27f5 100755
--- a/freed-ora/current/f19/deblob-check
+++ b/freed-ora/current/f19/deblob-check
@@ -1,6 +1,6 @@
#! /bin/sh
-# deblob-check version 2014-02-09
+# deblob-check version 2014-02-13
# Inspired in gNewSense's find-firmware script.
# Written by Alexandre Oliva <lxoliva@fsfla.org>
@@ -3576,6 +3576,13 @@ set_except () {
accept 'P[13]\([\n]#[^\n]*\)*[\n]*\([\n][0-9 ]*\)\+' drivers/video/logo/logo_libre_clut224.ppm
;;
+ */patch-3.13*)
+ # Introduced in 3.13.2.
+ accept '[\t][\t][\t]err[ ]=[ ]request_firmware[(][&]firmware[,][ \t\n]*rtlpriv->cfg' drivers/net/wireless/rtlwifi/core.c
+ defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_sysclk_revd_patch\[\][ ]=' sound/soc/codecs/wm5110.c
+ initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]struct[ ]reg_default[ ]wm5110_s[*][/][;]' sound/soc/codecs/wm5110.c
+ ;;
+
*/patch-3.12*)
# Introduced in 3.12.10.
accept '[\t][\t][\t]err[ ]=[ ]request_firmware[(][&]firmware[,][ \t\n]*rtlpriv->cfg' drivers/net/wireless/rtlwifi/core.c
diff --git a/freed-ora/current/f19/dell-laptop.patch b/freed-ora/current/f19/dell-laptop.patch
deleted file mode 100644
index 906d93519..000000000
--- a/freed-ora/current/f19/dell-laptop.patch
+++ /dev/null
@@ -1,1017 +0,0 @@
-Bugzilla: 958826
-Upstream-status: 3.13
-
-From 4cc8a57425c623753b10b77b15392e5b83baa5a3 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 17 Nov 2013 14:00:16 +0100
-Subject: [PATCH 01/12] Revert "dell-laptop: Remove rfkill code"
-
-Without rfkill functionality in dell-laptop I have the following problems:
--If the hardware radio switch is set to disable the radio, then userspace
- will still think it can use wireless and bluetooth.
--The wwan / 3g modem cannot be soft blocked without the dell-laptop rfkill
- functionality
-
-I know the rfkill functionality was removed from the dell-laptop driver because
-it caused more problems then it fixed, and the blacklist for it was growing out
-of control.
-
-But in the thread discussing this Dell mentioned that they only QA the rfkill
-acpi interface on Latitudes and indeed there have been no blacklist entries
-for Latitudes. Therefor I would like to bring the rfkill functionality back
-only for Latitudes. This patch is a straight-forward revert. The next patch
-in this set will drop the blacklist and replace it with a Latitude check.
-
-This reverts commit a6c2390cd6d2083d27a2359658e08f2d3df375ac.
-
-Conflicts:
- drivers/platform/x86/dell-laptop.c
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- drivers/platform/x86/dell-laptop.c | 289 +++++++++++++++++++++++++++++++++++++
- 1 file changed, 289 insertions(+)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index bb77e18..55f75a2 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -21,6 +21,7 @@
- #include <linux/err.h>
- #include <linux/dmi.h>
- #include <linux/io.h>
-+#include <linux/rfkill.h>
- #include <linux/power_supply.h>
- #include <linux/acpi.h>
- #include <linux/mm.h>
-@@ -89,6 +90,9 @@ static struct platform_driver platform_driver = {
-
- static struct platform_device *platform_device;
- static struct backlight_device *dell_backlight_device;
-+static struct rfkill *wifi_rfkill;
-+static struct rfkill *bluetooth_rfkill;
-+static struct rfkill *wwan_rfkill;
-
- static const struct dmi_system_id dell_device_table[] __initconst = {
- {
-@@ -115,6 +119,53 @@ static const struct dmi_system_id dell_device_table[] __initconst = {
- };
- MODULE_DEVICE_TABLE(dmi, dell_device_table);
-
-+static struct dmi_system_id dell_blacklist[] = {
-+ /* Supported by compal-laptop */
-+ {
-+ .ident = "Dell Mini 9",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-+ DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 910"),
-+ },
-+ },
-+ {
-+ .ident = "Dell Mini 10",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-+ DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1010"),
-+ },
-+ },
-+ {
-+ .ident = "Dell Mini 10v",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-+ DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1011"),
-+ },
-+ },
-+ {
-+ .ident = "Dell Mini 1012",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-+ DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1012"),
-+ },
-+ },
-+ {
-+ .ident = "Dell Inspiron 11z",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-+ DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1110"),
-+ },
-+ },
-+ {
-+ .ident = "Dell Mini 12",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-+ DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1210"),
-+ },
-+ },
-+ {}
-+};
-+
- static struct dmi_system_id dell_quirks[] = {
- {
- .callback = dmi_matched,
-@@ -355,6 +406,94 @@ dell_send_request(struct calling_interface_buffer *buffer, int class,
- return buffer;
- }
-
-+/* Derived from information in DellWirelessCtl.cpp:
-+ Class 17, select 11 is radio control. It returns an array of 32-bit values.
-+
-+ Input byte 0 = 0: Wireless information
-+
-+ result[0]: return code
-+ result[1]:
-+ Bit 0: Hardware switch supported
-+ Bit 1: Wifi locator supported
-+ Bit 2: Wifi is supported
-+ Bit 3: Bluetooth is supported
-+ Bit 4: WWAN is supported
-+ Bit 5: Wireless keyboard supported
-+ Bits 6-7: Reserved
-+ Bit 8: Wifi is installed
-+ Bit 9: Bluetooth is installed
-+ Bit 10: WWAN is installed
-+ Bits 11-15: Reserved
-+ Bit 16: Hardware switch is on
-+ Bit 17: Wifi is blocked
-+ Bit 18: Bluetooth is blocked
-+ Bit 19: WWAN is blocked
-+ Bits 20-31: Reserved
-+ result[2]: NVRAM size in bytes
-+ result[3]: NVRAM format version number
-+
-+ Input byte 0 = 2: Wireless switch configuration
-+ result[0]: return code
-+ result[1]:
-+ Bit 0: Wifi controlled by switch
-+ Bit 1: Bluetooth controlled by switch
-+ Bit 2: WWAN controlled by switch
-+ Bits 3-6: Reserved
-+ Bit 7: Wireless switch config locked
-+ Bit 8: Wifi locator enabled
-+ Bits 9-14: Reserved
-+ Bit 15: Wifi locator setting locked
-+ Bits 16-31: Reserved
-+*/
-+
-+static int dell_rfkill_set(void *data, bool blocked)
-+{
-+ int disable = blocked ? 1 : 0;
-+ unsigned long radio = (unsigned long)data;
-+ int hwswitch_bit = (unsigned long)data - 1;
-+ int ret = 0;
-+
-+ get_buffer();
-+ dell_send_request(buffer, 17, 11);
-+
-+ /* If the hardware switch controls this radio, and the hardware
-+ switch is disabled, don't allow changing the software state */
-+ if ((hwswitch_state & BIT(hwswitch_bit)) &&
-+ !(buffer->output[1] & BIT(16))) {
-+ ret = -EINVAL;
-+ goto out;
-+ }
-+
-+ buffer->input[0] = (1 | (radio<<8) | (disable << 16));
-+ dell_send_request(buffer, 17, 11);
-+
-+out:
-+ release_buffer();
-+ return ret;
-+}
-+
-+static void dell_rfkill_query(struct rfkill *rfkill, void *data)
-+{
-+ int status;
-+ int bit = (unsigned long)data + 16;
-+ int hwswitch_bit = (unsigned long)data - 1;
-+
-+ get_buffer();
-+ dell_send_request(buffer, 17, 11);
-+ status = buffer->output[1];
-+ release_buffer();
-+
-+ rfkill_set_sw_state(rfkill, !!(status & BIT(bit)));
-+
-+ if (hwswitch_state & (BIT(hwswitch_bit)))
-+ rfkill_set_hw_state(rfkill, !(status & BIT(16)));
-+}
-+
-+static const struct rfkill_ops dell_rfkill_ops = {
-+ .set_block = dell_rfkill_set,
-+ .query = dell_rfkill_query,
-+};
-+
- static struct dentry *dell_laptop_dir;
-
- static int dell_debugfs_show(struct seq_file *s, void *data)
-@@ -424,6 +563,108 @@ static const struct file_operations dell_debugfs_fops = {
- .release = single_release,
- };
-
-+static void dell_update_rfkill(struct work_struct *ignored)
-+{
-+ if (wifi_rfkill)
-+ dell_rfkill_query(wifi_rfkill, (void *)1);
-+ if (bluetooth_rfkill)
-+ dell_rfkill_query(bluetooth_rfkill, (void *)2);
-+ if (wwan_rfkill)
-+ dell_rfkill_query(wwan_rfkill, (void *)3);
-+}
-+static DECLARE_DELAYED_WORK(dell_rfkill_work, dell_update_rfkill);
-+
-+
-+static int __init dell_setup_rfkill(void)
-+{
-+ int status;
-+ int ret;
-+
-+ if (dmi_check_system(dell_blacklist)) {
-+ pr_info("Blacklisted hardware detected - not enabling rfkill\n");
-+ return 0;
-+ }
-+
-+ get_buffer();
-+ dell_send_request(buffer, 17, 11);
-+ status = buffer->output[1];
-+ buffer->input[0] = 0x2;
-+ dell_send_request(buffer, 17, 11);
-+ hwswitch_state = buffer->output[1];
-+ release_buffer();
-+
-+ if ((status & (1<<2|1<<8)) == (1<<2|1<<8)) {
-+ wifi_rfkill = rfkill_alloc("dell-wifi", &platform_device->dev,
-+ RFKILL_TYPE_WLAN,
-+ &dell_rfkill_ops, (void *) 1);
-+ if (!wifi_rfkill) {
-+ ret = -ENOMEM;
-+ goto err_wifi;
-+ }
-+ ret = rfkill_register(wifi_rfkill);
-+ if (ret)
-+ goto err_wifi;
-+ }
-+
-+ if ((status & (1<<3|1<<9)) == (1<<3|1<<9)) {
-+ bluetooth_rfkill = rfkill_alloc("dell-bluetooth",
-+ &platform_device->dev,
-+ RFKILL_TYPE_BLUETOOTH,
-+ &dell_rfkill_ops, (void *) 2);
-+ if (!bluetooth_rfkill) {
-+ ret = -ENOMEM;
-+ goto err_bluetooth;
-+ }
-+ ret = rfkill_register(bluetooth_rfkill);
-+ if (ret)
-+ goto err_bluetooth;
-+ }
-+
-+ if ((status & (1<<4|1<<10)) == (1<<4|1<<10)) {
-+ wwan_rfkill = rfkill_alloc("dell-wwan",
-+ &platform_device->dev,
-+ RFKILL_TYPE_WWAN,
-+ &dell_rfkill_ops, (void *) 3);
-+ if (!wwan_rfkill) {
-+ ret = -ENOMEM;
-+ goto err_wwan;
-+ }
-+ ret = rfkill_register(wwan_rfkill);
-+ if (ret)
-+ goto err_wwan;
-+ }
-+
-+ return 0;
-+err_wwan:
-+ rfkill_destroy(wwan_rfkill);
-+ if (bluetooth_rfkill)
-+ rfkill_unregister(bluetooth_rfkill);
-+err_bluetooth:
-+ rfkill_destroy(bluetooth_rfkill);
-+ if (wifi_rfkill)
-+ rfkill_unregister(wifi_rfkill);
-+err_wifi:
-+ rfkill_destroy(wifi_rfkill);
-+
-+ return ret;
-+}
-+
-+static void dell_cleanup_rfkill(void)
-+{
-+ if (wifi_rfkill) {
-+ rfkill_unregister(wifi_rfkill);
-+ rfkill_destroy(wifi_rfkill);
-+ }
-+ if (bluetooth_rfkill) {
-+ rfkill_unregister(bluetooth_rfkill);
-+ rfkill_destroy(bluetooth_rfkill);
-+ }
-+ if (wwan_rfkill) {
-+ rfkill_unregister(wwan_rfkill);
-+ rfkill_destroy(wwan_rfkill);
-+ }
-+}
-+
- static int dell_send_intensity(struct backlight_device *bd)
- {
- int ret = 0;
-@@ -515,6 +756,30 @@ static void touchpad_led_exit(void)
- led_classdev_unregister(&touchpad_led);
- }
-
-+static bool dell_laptop_i8042_filter(unsigned char data, unsigned char str,
-+ struct serio *port)
-+{
-+ static bool extended;
-+
-+ if (str & 0x20)
-+ return false;
-+
-+ if (unlikely(data == 0xe0)) {
-+ extended = true;
-+ return false;
-+ } else if (unlikely(extended)) {
-+ switch (data) {
-+ case 0x8:
-+ schedule_delayed_work(&dell_rfkill_work,
-+ round_jiffies_relative(HZ));
-+ break;
-+ }
-+ extended = false;
-+ }
-+
-+ return false;
-+}
-+
- static int __init dell_init(void)
- {
- int max_intensity = 0;
-@@ -557,10 +822,26 @@ static int __init dell_init(void)
- }
- buffer = page_address(bufferpage);
-
-+ ret = dell_setup_rfkill();
-+
-+ if (ret) {
-+ pr_warn("Unable to setup rfkill\n");
-+ goto fail_rfkill;
-+ }
-+
-+ ret = i8042_install_filter(dell_laptop_i8042_filter);
-+ if (ret) {
-+ pr_warn("Unable to install key filter\n");
-+ goto fail_filter;
-+ }
-+
- if (quirks && quirks->touchpad_led)
- touchpad_led_init(&platform_device->dev);
-
- dell_laptop_dir = debugfs_create_dir("dell_laptop", NULL);
-+ if (dell_laptop_dir != NULL)
-+ debugfs_create_file("rfkill", 0444, dell_laptop_dir, NULL,
-+ &dell_debugfs_fops);
-
- #ifdef CONFIG_ACPI
- /* In the event of an ACPI backlight being available, don't
-@@ -603,6 +884,11 @@ static int __init dell_init(void)
- return 0;
-
- fail_backlight:
-+ i8042_remove_filter(dell_laptop_i8042_filter);
-+ cancel_delayed_work_sync(&dell_rfkill_work);
-+fail_filter:
-+ dell_cleanup_rfkill();
-+fail_rfkill:
- free_page((unsigned long)bufferpage);
- fail_buffer:
- platform_device_del(platform_device);
-@@ -620,7 +906,10 @@ static void __exit dell_exit(void)
- debugfs_remove_recursive(dell_laptop_dir);
- if (quirks && quirks->touchpad_led)
- touchpad_led_exit();
-+ i8042_remove_filter(dell_laptop_i8042_filter);
-+ cancel_delayed_work_sync(&dell_rfkill_work);
- backlight_device_unregister(dell_backlight_device);
-+ dell_cleanup_rfkill();
- if (platform_device) {
- platform_device_unregister(platform_device);
- platform_driver_unregister(&platform_driver);
---
-1.8.3.1
-
-
-From 2a92551845bbbc8421ba908cd14bbdf065e0f454 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 17 Nov 2013 14:00:17 +0100
-Subject: [PATCH 02/12] dell-laptop: Only enable rfkill on Latitudes
-
-The rfkill functionality was removed from the dell-laptop driver because it
-was causing problems on various non Latitude models, and the blacklist kept
-growing and growing. In the thread discussing this Dell mentioned that they
-only QA the rfkill acpi interface on Latitudes and indeed there have been
-no blacklist entries for Latitudes.
-
-Note that the blacklist contained no Vostros either, and most Vostros have
-a hardware switch too, so we could consider supporting Vostros with a
-hardware switch too.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- drivers/platform/x86/dell-laptop.c | 57 +++++---------------------------------
- 1 file changed, 7 insertions(+), 50 deletions(-)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index 55f75a2..bae932b 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -119,53 +119,6 @@ static const struct dmi_system_id dell_device_table[] __initconst = {
- };
- MODULE_DEVICE_TABLE(dmi, dell_device_table);
-
--static struct dmi_system_id dell_blacklist[] = {
-- /* Supported by compal-laptop */
-- {
-- .ident = "Dell Mini 9",
-- .matches = {
-- DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-- DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 910"),
-- },
-- },
-- {
-- .ident = "Dell Mini 10",
-- .matches = {
-- DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-- DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1010"),
-- },
-- },
-- {
-- .ident = "Dell Mini 10v",
-- .matches = {
-- DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-- DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1011"),
-- },
-- },
-- {
-- .ident = "Dell Mini 1012",
-- .matches = {
-- DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-- DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1012"),
-- },
-- },
-- {
-- .ident = "Dell Inspiron 11z",
-- .matches = {
-- DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-- DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1110"),
-- },
-- },
-- {
-- .ident = "Dell Mini 12",
-- .matches = {
-- DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-- DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1210"),
-- },
-- },
-- {}
--};
--
- static struct dmi_system_id dell_quirks[] = {
- {
- .callback = dmi_matched,
-@@ -579,11 +532,15 @@ static int __init dell_setup_rfkill(void)
- {
- int status;
- int ret;
-+ const char *product;
-
-- if (dmi_check_system(dell_blacklist)) {
-- pr_info("Blacklisted hardware detected - not enabling rfkill\n");
-+ /*
-+ * rfkill causes trouble on various non Latitudes, according to Dell
-+ * actually testing the rfkill functionality is only done on Latitudes.
-+ */
-+ product = dmi_get_system_info(DMI_PRODUCT_NAME);
-+ if (!product || strncmp(product, "Latitude", 8))
- return 0;
-- }
-
- get_buffer();
- dell_send_request(buffer, 17, 11);
---
-1.8.3.1
-
-
-From ddde708217af6d5fe43c0086247c05ed317076b4 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 17 Nov 2013 14:00:18 +0100
-Subject: [PATCH 03/12] dell-laptop: If there is no hwswitch, then clear all
- hw-controlled bits
-
-To ensure we don't enter any hw-switch related code paths on machines without
-a hw-switch.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- drivers/platform/x86/dell-laptop.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index bae932b..48fabf6 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -548,6 +548,9 @@ static int __init dell_setup_rfkill(void)
- buffer->input[0] = 0x2;
- dell_send_request(buffer, 17, 11);
- hwswitch_state = buffer->output[1];
-+ /* If there is no hwswitch, then clear all hw-controlled bits */
-+ if (!(status & BIT(0)))
-+ hwswitch_state &= ~7;
- release_buffer();
-
- if ((status & (1<<2|1<<8)) == (1<<2|1<<8)) {
---
-1.8.3.1
-
-
-From d038880efd9dd222c67fd31fbfca3440d0db3a06 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 17 Nov 2013 14:00:19 +0100
-Subject: [PATCH 04/12] dell-laptop: Only get status from BIOS once when
- updating
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- drivers/platform/x86/dell-laptop.c | 28 +++++++++++++++++++---------
- 1 file changed, 19 insertions(+), 9 deletions(-)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index 48fabf6..06f281b 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -425,21 +425,24 @@ out:
- return ret;
- }
-
-+static void dell_rfkill_update(struct rfkill *rfkill, int radio, int status)
-+{
-+ rfkill_set_sw_state(rfkill, !!(status & BIT(radio + 16)));
-+
-+ if (hwswitch_state & (BIT(radio - 1)))
-+ rfkill_set_hw_state(rfkill, !(status & BIT(16)));
-+}
-+
- static void dell_rfkill_query(struct rfkill *rfkill, void *data)
- {
- int status;
-- int bit = (unsigned long)data + 16;
-- int hwswitch_bit = (unsigned long)data - 1;
-
- get_buffer();
- dell_send_request(buffer, 17, 11);
- status = buffer->output[1];
- release_buffer();
-
-- rfkill_set_sw_state(rfkill, !!(status & BIT(bit)));
--
-- if (hwswitch_state & (BIT(hwswitch_bit)))
-- rfkill_set_hw_state(rfkill, !(status & BIT(16)));
-+ dell_rfkill_update(rfkill, (unsigned long)data, status);
- }
-
- static const struct rfkill_ops dell_rfkill_ops = {
-@@ -518,12 +521,19 @@ static const struct file_operations dell_debugfs_fops = {
-
- static void dell_update_rfkill(struct work_struct *ignored)
- {
-+ int status;
-+
-+ get_buffer();
-+ dell_send_request(buffer, 17, 11);
-+ status = buffer->output[1];
-+ release_buffer();
-+
- if (wifi_rfkill)
-- dell_rfkill_query(wifi_rfkill, (void *)1);
-+ dell_rfkill_update(wifi_rfkill, 1, status);
- if (bluetooth_rfkill)
-- dell_rfkill_query(bluetooth_rfkill, (void *)2);
-+ dell_rfkill_update(bluetooth_rfkill, 2, status);
- if (wwan_rfkill)
-- dell_rfkill_query(wwan_rfkill, (void *)3);
-+ dell_rfkill_update(wwan_rfkill, 3, status);
- }
- static DECLARE_DELAYED_WORK(dell_rfkill_work, dell_update_rfkill);
-
---
-1.8.3.1
-
-
-From 33f9359abb9f6ded3e7b6dc98b1468c83404af49 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 17 Nov 2013 14:00:20 +0100
-Subject: [PATCH 05/12] dell-laptop: Don't set sw_state from the query callback
-
-The query callback should only update the hw_state, see the comment in
-net/rfkill/core.c in rfkill_set_block, which is its only caller.
-
-rfkill_set_block will modify the sw_state directly after calling query so
-calling set_sw_state is an expensive NOP.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- drivers/platform/x86/dell-laptop.c | 27 +++++++++++++++++++--------
- 1 file changed, 19 insertions(+), 8 deletions(-)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index 06f281b..7f47396 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -425,10 +425,15 @@ out:
- return ret;
- }
-
--static void dell_rfkill_update(struct rfkill *rfkill, int radio, int status)
-+static void dell_rfkill_update_sw_state(struct rfkill *rfkill, int radio,
-+ int status)
- {
- rfkill_set_sw_state(rfkill, !!(status & BIT(radio + 16)));
-+}
-
-+static void dell_rfkill_update_hw_state(struct rfkill *rfkill, int radio,
-+ int status)
-+{
- if (hwswitch_state & (BIT(radio - 1)))
- rfkill_set_hw_state(rfkill, !(status & BIT(16)));
- }
-@@ -442,7 +447,7 @@ static void dell_rfkill_query(struct rfkill *rfkill, void *data)
- status = buffer->output[1];
- release_buffer();
-
-- dell_rfkill_update(rfkill, (unsigned long)data, status);
-+ dell_rfkill_update_hw_state(rfkill, (unsigned long)data, status);
- }
-
- static const struct rfkill_ops dell_rfkill_ops = {
-@@ -528,12 +533,18 @@ static void dell_update_rfkill(struct work_struct *ignored)
- status = buffer->output[1];
- release_buffer();
-
-- if (wifi_rfkill)
-- dell_rfkill_update(wifi_rfkill, 1, status);
-- if (bluetooth_rfkill)
-- dell_rfkill_update(bluetooth_rfkill, 2, status);
-- if (wwan_rfkill)
-- dell_rfkill_update(wwan_rfkill, 3, status);
-+ if (wifi_rfkill) {
-+ dell_rfkill_update_hw_state(wifi_rfkill, 1, status);
-+ dell_rfkill_update_sw_state(wifi_rfkill, 1, status);
-+ }
-+ if (bluetooth_rfkill) {
-+ dell_rfkill_update_hw_state(bluetooth_rfkill, 2, status);
-+ dell_rfkill_update_sw_state(bluetooth_rfkill, 2, status);
-+ }
-+ if (wwan_rfkill) {
-+ dell_rfkill_update_hw_state(wwan_rfkill, 3, status);
-+ dell_rfkill_update_sw_state(wwan_rfkill, 3, status);
-+ }
- }
- static DECLARE_DELAYED_WORK(dell_rfkill_work, dell_update_rfkill);
-
---
-1.8.3.1
-
-
-From 3f56588a79a06a0499db0077cad6675762ddc40e Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 17 Nov 2013 14:00:21 +0100
-Subject: [PATCH 06/12] dell-laptop: Don't read-back sw_state on machines with
- a hardware switch
-
-On machines with a hardware switch, the blocking settings can not be changed
-through a Fn + wireless-key combo, so there is no reason to read back the
-blocking state from the BIOS.
-
-Reading back is not only not necessary it is actually harmful, since on some
-machines the blocking state will be cleared to all 0 after a wireless switch
-toggle, even for radios not controlled by the hw-switch (yeah firmware bugs).
-
-This causes "magic" changes to the sw_state. This is inconsistent with other
-rfkill drivers which preserve the sw_state over a hw kill on / off.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- drivers/platform/x86/dell-laptop.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index 7f47396..80de0cc 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -428,7 +428,10 @@ out:
- static void dell_rfkill_update_sw_state(struct rfkill *rfkill, int radio,
- int status)
- {
-- rfkill_set_sw_state(rfkill, !!(status & BIT(radio + 16)));
-+ if (!(status & BIT(0))) {
-+ /* No hw-switch, sync BIOS state to sw_state */
-+ rfkill_set_sw_state(rfkill, !!(status & BIT(radio + 16)));
-+ }
- }
-
- static void dell_rfkill_update_hw_state(struct rfkill *rfkill, int radio,
---
-1.8.3.1
-
-
-From 4d39d88ceb83e88953a76df8b1fa10f43f328038 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 17 Nov 2013 14:00:22 +0100
-Subject: [PATCH 07/12] dell-laptop: Allow changing the sw_state while the
- radio is blocked by hw
-
-This makes dell-laptop's rfkill code consistent with other drivers which
-allow sw_state changes while hw blocked.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- drivers/platform/x86/dell-laptop.c | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index 80de0cc..834f499 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -404,7 +404,6 @@ static int dell_rfkill_set(void *data, bool blocked)
- int disable = blocked ? 1 : 0;
- unsigned long radio = (unsigned long)data;
- int hwswitch_bit = (unsigned long)data - 1;
-- int ret = 0;
-
- get_buffer();
- dell_send_request(buffer, 17, 11);
-@@ -412,17 +411,15 @@ static int dell_rfkill_set(void *data, bool blocked)
- /* If the hardware switch controls this radio, and the hardware
- switch is disabled, don't allow changing the software state */
- if ((hwswitch_state & BIT(hwswitch_bit)) &&
-- !(buffer->output[1] & BIT(16))) {
-- ret = -EINVAL;
-+ !(buffer->output[1] & BIT(16)))
- goto out;
-- }
-
- buffer->input[0] = (1 | (radio<<8) | (disable << 16));
- dell_send_request(buffer, 17, 11);
-
- out:
- release_buffer();
-- return ret;
-+ return 0;
- }
-
- static void dell_rfkill_update_sw_state(struct rfkill *rfkill, int radio,
---
-1.8.3.1
-
-
-From 04c9a3a06c47b337b90a91e458716262cc45b103 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 17 Nov 2013 14:00:23 +0100
-Subject: [PATCH 08/12] dell-laptop: Sync current block state to BIOS on hw
- switch change
-
-This is necessary for 3 reasons:
-1) To apply sw_state changes made while hw-blocked
-2) To set all the blocked bits for hw-switch controlled radios to 1 when the
- switch gets changed to off, this is necessary on some models to actually
- turn the radio status LEDs off.
-3) On some models non hw-switch controlled radios will have their block bit
- cleared (potentially undoing a soft-block) on hw-switch toggle, this
- restores the sw-block in this case.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- drivers/platform/x86/dell-laptop.c | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index 834f499..7f59624 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -422,10 +422,16 @@ out:
- return 0;
- }
-
-+/* Must be called with the buffer held */
- static void dell_rfkill_update_sw_state(struct rfkill *rfkill, int radio,
- int status)
- {
-- if (!(status & BIT(0))) {
-+ if (status & BIT(0)) {
-+ /* Has hw-switch, sync sw_state to BIOS */
-+ int block = rfkill_blocked(rfkill);
-+ buffer->input[0] = (1 | (radio << 8) | (block << 16));
-+ dell_send_request(buffer, 17, 11);
-+ } else {
- /* No hw-switch, sync BIOS state to sw_state */
- rfkill_set_sw_state(rfkill, !!(status & BIT(radio + 16)));
- }
-@@ -445,9 +451,10 @@ static void dell_rfkill_query(struct rfkill *rfkill, void *data)
- get_buffer();
- dell_send_request(buffer, 17, 11);
- status = buffer->output[1];
-- release_buffer();
-
- dell_rfkill_update_hw_state(rfkill, (unsigned long)data, status);
-+
-+ release_buffer();
- }
-
- static const struct rfkill_ops dell_rfkill_ops = {
-@@ -531,7 +538,6 @@ static void dell_update_rfkill(struct work_struct *ignored)
- get_buffer();
- dell_send_request(buffer, 17, 11);
- status = buffer->output[1];
-- release_buffer();
-
- if (wifi_rfkill) {
- dell_rfkill_update_hw_state(wifi_rfkill, 1, status);
-@@ -545,6 +551,8 @@ static void dell_update_rfkill(struct work_struct *ignored)
- dell_rfkill_update_hw_state(wwan_rfkill, 3, status);
- dell_rfkill_update_sw_state(wwan_rfkill, 3, status);
- }
-+
-+ release_buffer();
- }
- static DECLARE_DELAYED_WORK(dell_rfkill_work, dell_update_rfkill);
-
---
-1.8.3.1
-
-
-From ed1128989ab242f44664b446702a512e5695c4b7 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 17 Nov 2013 14:00:24 +0100
-Subject: [PATCH 09/12] dell-laptop: Do not skip setting blocked bit rfkill_set
- while hw-blocked
-
-Instead when hw-blocked always write 1 to the blocked bit for the radio in
-question. This is necessary to properly set all the blocked bits for hw-switch
-controlled radios to 1 after power-on and resume.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- drivers/platform/x86/dell-laptop.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index 7f59624..b33b779 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -409,15 +409,14 @@ static int dell_rfkill_set(void *data, bool blocked)
- dell_send_request(buffer, 17, 11);
-
- /* If the hardware switch controls this radio, and the hardware
-- switch is disabled, don't allow changing the software state */
-+ switch is disabled, always disable the radio */
- if ((hwswitch_state & BIT(hwswitch_bit)) &&
- !(buffer->output[1] & BIT(16)))
-- goto out;
-+ disable = 1;
-
- buffer->input[0] = (1 | (radio<<8) | (disable << 16));
- dell_send_request(buffer, 17, 11);
-
--out:
- release_buffer();
- return 0;
- }
---
-1.8.3.1
-
-
-From 26c22d63a70f62e0832c6d9f2a2690ab0155d584 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 17 Nov 2013 14:00:25 +0100
-Subject: [PATCH 10/12] dell-laptop: Wait less long before updating rfkill
- after an rfkill keypress
-
-Some time is needed for the BIOS to do its work, but 250ms should be plenty.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- drivers/platform/x86/dell-laptop.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index b33b779..fe20f67 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -759,7 +759,7 @@ static bool dell_laptop_i8042_filter(unsigned char data, unsigned char str,
- switch (data) {
- case 0x8:
- schedule_delayed_work(&dell_rfkill_work,
-- round_jiffies_relative(HZ));
-+ round_jiffies_relative(HZ / 4));
- break;
- }
- extended = false;
---
-1.8.3.1
-
-
-From 8e0e668d0aa09d2eb0a7a260b6c7801796e01bd3 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 17 Nov 2013 14:00:26 +0100
-Subject: [PATCH 11/12] dell-laptop: Add a force_rfkill module parameter
-
-Setting force_rfkill will cause the dell-laptop rfkill code to skip its
-whitelist checks, this will allow individual users to override the whitelist,
-as well as to gather info from users to improve the checks.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- drivers/platform/x86/dell-laptop.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index fe20f67..bd67c89 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -93,6 +93,10 @@ static struct backlight_device *dell_backlight_device;
- static struct rfkill *wifi_rfkill;
- static struct rfkill *bluetooth_rfkill;
- static struct rfkill *wwan_rfkill;
-+static bool force_rfkill;
-+
-+module_param(force_rfkill, bool, 0444);
-+MODULE_PARM_DESC(force_rfkill, "enable rfkill on non whitelisted models");
-
- static const struct dmi_system_id dell_device_table[] __initconst = {
- {
-@@ -567,7 +571,7 @@ static int __init dell_setup_rfkill(void)
- * actually testing the rfkill functionality is only done on Latitudes.
- */
- product = dmi_get_system_info(DMI_PRODUCT_NAME);
-- if (!product || strncmp(product, "Latitude", 8))
-+ if (!force_rfkill && (!product || strncmp(product, "Latitude", 8)))
- return 0;
-
- get_buffer();
---
-1.8.3.1
-
-
-From 2bd4ac139259bb605fc0325a7dda33e2fbb67ae3 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 17 Nov 2013 14:00:27 +0100
-Subject: [PATCH 12/12] dell-laptop: Only enable rfkill functionality on
- laptops with a hw killswitch
-
-All my testing has been on laptops with a hw killswitch, so to be on the
-safe side disable rfkill functionality on models without a hw killswitch for
-now. Once we gather some feedback on laptops without a hw killswitch this
-decision maybe reconsidered.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- drivers/platform/x86/dell-laptop.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index bd67c89..c608b1d 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -580,11 +580,18 @@ static int __init dell_setup_rfkill(void)
- buffer->input[0] = 0x2;
- dell_send_request(buffer, 17, 11);
- hwswitch_state = buffer->output[1];
-- /* If there is no hwswitch, then clear all hw-controlled bits */
-- if (!(status & BIT(0)))
-- hwswitch_state &= ~7;
- release_buffer();
-
-+ if (!(status & BIT(0))) {
-+ if (force_rfkill) {
-+ /* No hwsitch, clear all hw-controlled bits */
-+ hwswitch_state &= ~7;
-+ } else {
-+ /* rfkill is only tested on laptops with a hwswitch */
-+ return 0;
-+ }
-+ }
-+
- if ((status & (1<<2|1<<8)) == (1<<2|1<<8)) {
- wifi_rfkill = rfkill_alloc("dell-wifi", &platform_device->dev,
- RFKILL_TYPE_WLAN,
---
-1.8.3.1
-
diff --git a/freed-ora/current/f19/dm-cache-policy-mq_fix-large-scale-table-allocation-bug.patch b/freed-ora/current/f19/dm-cache-policy-mq_fix-large-scale-table-allocation-bug.patch
index 71234c1a7..70834ecb4 100644
--- a/freed-ora/current/f19/dm-cache-policy-mq_fix-large-scale-table-allocation-bug.patch
+++ b/freed-ora/current/f19/dm-cache-policy-mq_fix-large-scale-table-allocation-bug.patch
@@ -1,17 +1,20 @@
+Bugzilla: 993744
+Upstream-status: ??
+
diff --git a/drivers/md/dm-cache-policy-mq.c b/drivers/md/dm-cache-policy-mq.c
-index cab6dd2..ec79c8f 100644
+index 416b7b7..9105771 100644
--- a/drivers/md/dm-cache-policy-mq.c
+++ b/drivers/md/dm-cache-policy-mq.c
-@@ -868,7 +868,7 @@ static void mq_destroy(struct dm_cache_policy *p)
+@@ -866,7 +866,7 @@ static void mq_destroy(struct dm_cache_policy *p)
+ {
struct mq_policy *mq = to_mq_policy(p);
- free_bitset(mq->allocation_bitset);
- kfree(mq->table);
+ vfree(mq->table);
- free_entries(mq);
+ epool_exit(&mq->cache_pool);
+ epool_exit(&mq->pre_cache_pool);
kfree(mq);
- }
-@@ -1189,7 +1189,7 @@ static struct dm_cache_policy *mq_create(dm_cblock_t cache_size,
+@@ -1221,7 +1221,7 @@ static struct dm_cache_policy *mq_create(dm_cblock_t cache_size,
mq->nr_buckets = next_power(from_cblock(cache_size) / 2, 16);
mq->hash_bits = ffs(mq->nr_buckets) - 1;
@@ -20,12 +23,3 @@ index cab6dd2..ec79c8f 100644
if (!mq->table)
goto bad_alloc_table;
-@@ -1200,7 +1200,7 @@ static struct dm_cache_policy *mq_create(dm_cblock_t cache_size,
- return &mq->policy;
-
- bad_alloc_bitset:
-- kfree(mq->table);
-+ vfree(mq->table);
- bad_alloc_table:
- free_entries(mq);
- bad_cache_alloc:
diff --git a/freed-ora/current/f19/drm-i915-hush-check-crtc-state.patch b/freed-ora/current/f19/drm-i915-hush-check-crtc-state.patch
new file mode 100644
index 000000000..295cad7b7
--- /dev/null
+++ b/freed-ora/current/f19/drm-i915-hush-check-crtc-state.patch
@@ -0,0 +1,20 @@
+Bugzilla: 1027037 1028785
+Upstream-status: http://lists.freedesktop.org/archives/intel-gfx/2013-November/035948.html
+
+This is _by far_ the most common backtrace for i915 on retrace.fp.o, and
+it's mostly useless noise. There's not enough context when it's generated
+to know if something actually went wrong. Downgrade the message to
+KMS debugging so we can still get it if we want it.
+
+diff -up linux-3.13.0-0.rc0.git2.1.fc21.x86_64/drivers/gpu/drm/i915/intel_display.c.jx linux-3.13.0-0.rc0.git2.1.fc21.x86_64/drivers/gpu/drm/i915/intel_display.c
+--- linux-3.13.0-0.rc0.git2.1.fc21.x86_64/drivers/gpu/drm/i915/intel_display.c.jx 2013-11-03 18:41:51.000000000 -0500
++++ linux-3.13.0-0.rc0.git2.1.fc21.x86_64/drivers/gpu/drm/i915/intel_display.c 2013-11-13 10:12:05.781301624 -0500
+@@ -8803,7 +8803,7 @@ check_crtc_state(struct drm_device *dev)
+
+ if (active &&
+ !intel_pipe_config_compare(dev, &crtc->config, &pipe_config)) {
+- WARN(1, "pipe state doesn't match!\n");
++ DRM_DEBUG_KMS("pipe state doesn't match!\n");
+ intel_dump_pipe_config(crtc, &pipe_config,
+ "[hw state]");
+ intel_dump_pipe_config(crtc, &crtc->config,
diff --git a/freed-ora/current/f19/drm-qxl-backport-fixes-for-Fedora.patch b/freed-ora/current/f19/drm-qxl-backport-fixes-for-Fedora.patch
deleted file mode 100644
index 04848b529..000000000
--- a/freed-ora/current/f19/drm-qxl-backport-fixes-for-Fedora.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-Bugzilla: N/A
-Upstream-status: Queued for 3.13
-
-From db8edc33193879f39c1b52521e20f4d6eb4e9858 Mon Sep 17 00:00:00 2001
-From: Dave Airlie <airlied@redhat.com>
-Date: Fri, 08 Nov 2013 06:36:45 +0000
-Subject: drm/qxl: backport fixes for Fedora
-
-This pulls these changes from drm-next back into Fedora.
-
-drm/qxl: prefer the monitor config resolution (b080742393e2c1)
-drm/qxl: remove unnecessary check (a40a60d912a101e8dfb08ee1)
-drm/qxl: fix disabling extra monitors from client (5cab51cb3381157)
-qxl: avoid an oops in the deferred io code. (cc87509d87696d7cd39)
-drm/qxl: support 64bit surface bar (35541782dcc1e502)
-qxl: add a connector property to denote hotplug should rescan modes. (4695b03970df37)
-
-Signed-off-by: Dave Airlie <airlied@redhat.com>
----
-diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
-index 835caba..1d975eb 100644
---- a/drivers/gpu/drm/qxl/qxl_display.c
-+++ b/drivers/gpu/drm/qxl/qxl_display.c
-@@ -110,7 +110,9 @@ void qxl_display_read_client_monitors_config(struct qxl_device *qdev)
- drm_helper_hpd_irq_event(qdev->ddev);
- }
-
--static int qxl_add_monitors_config_modes(struct drm_connector *connector)
-+static int qxl_add_monitors_config_modes(struct drm_connector *connector,
-+ unsigned *pwidth,
-+ unsigned *pheight)
- {
- struct drm_device *dev = connector->dev;
- struct qxl_device *qdev = dev->dev_private;
-@@ -126,11 +128,15 @@ static int qxl_add_monitors_config_modes(struct drm_connector *connector)
- mode = drm_cvt_mode(dev, head->width, head->height, 60, false, false,
- false);
- mode->type |= DRM_MODE_TYPE_PREFERRED;
-+ *pwidth = head->width;
-+ *pheight = head->height;
- drm_mode_probed_add(connector, mode);
- return 1;
- }
-
--static int qxl_add_common_modes(struct drm_connector *connector)
-+static int qxl_add_common_modes(struct drm_connector *connector,
-+ unsigned pwidth,
-+ unsigned pheight)
- {
- struct drm_device *dev = connector->dev;
- struct drm_display_mode *mode = NULL;
-@@ -159,12 +165,9 @@ static int qxl_add_common_modes(struct drm_connector *connector)
- };
-
- for (i = 0; i < ARRAY_SIZE(common_modes); i++) {
-- if (common_modes[i].w < 320 || common_modes[i].h < 200)
-- continue;
--
- mode = drm_cvt_mode(dev, common_modes[i].w, common_modes[i].h,
- 60, false, false, false);
-- if (common_modes[i].w == 1024 && common_modes[i].h == 768)
-+ if (common_modes[i].w == pwidth && common_modes[i].h == pheight)
- mode->type |= DRM_MODE_TYPE_PREFERRED;
- drm_mode_probed_add(connector, mode);
- }
-@@ -720,16 +723,18 @@ static int qxl_conn_get_modes(struct drm_connector *connector)
- {
- int ret = 0;
- struct qxl_device *qdev = connector->dev->dev_private;
-+ unsigned pwidth = 1024;
-+ unsigned pheight = 768;
-
- DRM_DEBUG_KMS("monitors_config=%p\n", qdev->monitors_config);
- /* TODO: what should we do here? only show the configured modes for the
- * device, or allow the full list, or both? */
- if (qdev->monitors_config && qdev->monitors_config->count) {
-- ret = qxl_add_monitors_config_modes(connector);
-+ ret = qxl_add_monitors_config_modes(connector, &pwidth, &pheight);
- if (ret < 0)
- return ret;
- }
-- ret += qxl_add_common_modes(connector);
-+ ret += qxl_add_common_modes(connector, pwidth, pheight);
- return ret;
- }
-
-@@ -793,7 +798,10 @@ static enum drm_connector_status qxl_conn_detect(
- qdev->client_monitors_config->count > output->index &&
- qxl_head_enabled(&qdev->client_monitors_config->heads[output->index]));
-
-- DRM_DEBUG("\n");
-+ DRM_DEBUG("#%d connected: %d\n", output->index, connected);
-+ if (!connected)
-+ qxl_monitors_config_set(qdev, output->index, 0, 0, 0, 0, 0);
-+
- return connected ? connector_status_connected
- : connector_status_disconnected;
- }
-@@ -835,8 +843,21 @@ static const struct drm_encoder_funcs qxl_enc_funcs = {
- .destroy = qxl_enc_destroy,
- };
-
-+static int qxl_mode_create_hotplug_mode_update_property(struct qxl_device *qdev)
-+{
-+ if (qdev->hotplug_mode_update_property)
-+ return 0;
-+
-+ qdev->hotplug_mode_update_property =
-+ drm_property_create_range(qdev->ddev, DRM_MODE_PROP_IMMUTABLE,
-+ "hotplug_mode_update", 0, 1);
-+
-+ return 0;
-+}
-+
- static int qdev_output_init(struct drm_device *dev, int num_output)
- {
-+ struct qxl_device *qdev = dev->dev_private;
- struct qxl_output *qxl_output;
- struct drm_connector *connector;
- struct drm_encoder *encoder;
-@@ -863,6 +884,8 @@ static int qdev_output_init(struct drm_device *dev, int num_output)
- drm_encoder_helper_add(encoder, &qxl_enc_helper_funcs);
- drm_connector_helper_add(connector, &qxl_connector_helper_funcs);
-
-+ drm_object_attach_property(&connector->base,
-+ qdev->hotplug_mode_update_property, 0);
- drm_sysfs_connector_add(connector);
- return 0;
- }
-@@ -975,6 +998,9 @@ int qxl_modeset_init(struct qxl_device *qdev)
- qdev->ddev->mode_config.max_height = 8192;
-
- qdev->ddev->mode_config.fb_base = qdev->vram_base;
-+
-+ qxl_mode_create_hotplug_mode_update_property(qdev);
-+
- for (i = 0 ; i < qxl_num_crtc; ++i) {
- qdev_crtc_init(qdev->ddev, i);
- qdev_output_init(qdev->ddev, i);
-diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
-index 7e96f4f..18c599d 100644
---- a/drivers/gpu/drm/qxl/qxl_drv.h
-+++ b/drivers/gpu/drm/qxl/qxl_drv.h
-@@ -323,6 +323,8 @@ struct qxl_device {
- struct work_struct gc_work;
-
- struct work_struct fb_work;
-+
-+ struct drm_property *hotplug_mode_update_property;
- };
-
- /* forward declaration for QXL_INFO_IO */
-diff --git a/drivers/gpu/drm/qxl/qxl_kms.c b/drivers/gpu/drm/qxl/qxl_kms.c
-index 9e8da9e..e0ddd5b 100644
---- a/drivers/gpu/drm/qxl/qxl_kms.c
-+++ b/drivers/gpu/drm/qxl/qxl_kms.c
-@@ -120,7 +120,7 @@ int qxl_device_init(struct qxl_device *qdev,
- struct pci_dev *pdev,
- unsigned long flags)
- {
-- int r;
-+ int r, sb;
-
- qdev->dev = &pdev->dev;
- qdev->ddev = ddev;
-@@ -136,21 +136,39 @@ int qxl_device_init(struct qxl_device *qdev,
- qdev->rom_base = pci_resource_start(pdev, 2);
- qdev->rom_size = pci_resource_len(pdev, 2);
- qdev->vram_base = pci_resource_start(pdev, 0);
-- qdev->surfaceram_base = pci_resource_start(pdev, 1);
-- qdev->surfaceram_size = pci_resource_len(pdev, 1);
- qdev->io_base = pci_resource_start(pdev, 3);
-
- qdev->vram_mapping = io_mapping_create_wc(qdev->vram_base, pci_resource_len(pdev, 0));
-- qdev->surface_mapping = io_mapping_create_wc(qdev->surfaceram_base, qdev->surfaceram_size);
-- DRM_DEBUG_KMS("qxl: vram %llx-%llx(%dM %dk), surface %llx-%llx(%dM %dk)\n",
-+
-+ if (pci_resource_len(pdev, 4) > 0) {
-+ /* 64bit surface bar present */
-+ sb = 4;
-+ qdev->surfaceram_base = pci_resource_start(pdev, sb);
-+ qdev->surfaceram_size = pci_resource_len(pdev, sb);
-+ qdev->surface_mapping =
-+ io_mapping_create_wc(qdev->surfaceram_base,
-+ qdev->surfaceram_size);
-+ }
-+ if (qdev->surface_mapping == NULL) {
-+ /* 64bit surface bar not present (or mapping failed) */
-+ sb = 1;
-+ qdev->surfaceram_base = pci_resource_start(pdev, sb);
-+ qdev->surfaceram_size = pci_resource_len(pdev, sb);
-+ qdev->surface_mapping =
-+ io_mapping_create_wc(qdev->surfaceram_base,
-+ qdev->surfaceram_size);
-+ }
-+
-+ DRM_DEBUG_KMS("qxl: vram %llx-%llx(%dM %dk), surface %llx-%llx(%dM %dk, %s)\n",
- (unsigned long long)qdev->vram_base,
- (unsigned long long)pci_resource_end(pdev, 0),
- (int)pci_resource_len(pdev, 0) / 1024 / 1024,
- (int)pci_resource_len(pdev, 0) / 1024,
- (unsigned long long)qdev->surfaceram_base,
-- (unsigned long long)pci_resource_end(pdev, 1),
-+ (unsigned long long)pci_resource_end(pdev, sb),
- (int)qdev->surfaceram_size / 1024 / 1024,
-- (int)qdev->surfaceram_size / 1024);
-+ (int)qdev->surfaceram_size / 1024,
-+ (sb == 4) ? "64bit" : "32bit");
-
- qdev->rom = ioremap(qdev->rom_base, qdev->rom_size);
- if (!qdev->rom) {
---
-cgit v0.9.0.2-2-gbebe
diff --git a/freed-ora/current/f19/ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch b/freed-ora/current/f19/ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch
index e27dba2aa..54d1e9158 100644
--- a/freed-ora/current/f19/ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch
+++ b/freed-ora/current/f19/ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch
@@ -1,3 +1,6 @@
+This patch is made against 3.13 kernel. So it's suitable for F21 and for F20
+later on when F20 is rebased to 3.13.
+
https://bugzilla.redhat.com/show_bug.cgi?id=1056711
NetworkManager depends on IFA_F_NOPREFIXROUTE IFA_F_MANAGETEMPADDR
@@ -5,10 +8,7 @@ in order to do SLAAC in userspace correctly.
Split patches available here:
-http://people.redhat.com/jpirko/f20_backport_of_IFA_F_NOPREFIXROUTE_and_IFA_F_MANAGETEMPADDR/
-
-David S. Miller (1):
- ipv6: Remove privacy config option.
+http://people.redhat.com/jpirko/f21_backport_of_IFA_F_NOPREFIXROUTE_and_IFA_F_MANAGETEMPADDR/
Jiri Pirko (2):
ipv6 addrconf: extend ifa_flags to u32
@@ -26,34 +26,14 @@ Thomas Haller (2):
stephen hemminger (1):
ipv6: addrconf spelling fixes
- include/linux/ipv6.h | 2 -
include/net/addrconf.h | 4 +-
- include/net/if_inet6.h | 7 +-
+ include/net/if_inet6.h | 2 +-
include/uapi/linux/if_addr.h | 6 +
- net/ipv6/Kconfig | 18 --
- net/ipv6/addrconf.c | 448 +++++++++++++++++++++++--------------------
- 6 files changed, 253 insertions(+), 232 deletions(-)
+ net/ipv6/addrconf.c | 409 +++++++++++++++++++++++++------------------
+ 4 files changed, 250 insertions(+), 171 deletions(-)
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
-diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
-index 28ea384..69cbcac 100644
---- a/include/linux/ipv6.h
-+++ b/include/linux/ipv6.h
-@@ -21,13 +21,11 @@ struct ipv6_devconf {
- __s32 force_mld_version;
- __s32 mldv1_unsolicited_report_interval;
- __s32 mldv2_unsolicited_report_interval;
--#ifdef CONFIG_IPV6_PRIVACY
- __s32 use_tempaddr;
- __s32 temp_valid_lft;
- __s32 temp_prefered_lft;
- __s32 regen_max_retry;
- __s32 max_desync_factor;
--#endif
- __s32 max_addresses;
- __s32 accept_ra_defrtr;
- __s32 accept_ra_pinfo;
diff --git a/include/net/addrconf.h b/include/net/addrconf.h
index 86505bf..e70278e 100644
--- a/include/net/addrconf.h
@@ -71,7 +51,7 @@ index 86505bf..e70278e 100644
void addrconf_join_solict(struct net_device *dev, const struct in6_addr *addr);
void addrconf_leave_solict(struct inet6_dev *idev, const struct in6_addr *addr);
diff --git a/include/net/if_inet6.h b/include/net/if_inet6.h
-index 02ef772..b58c36c 100644
+index 65bb130..9650a3f 100644
--- a/include/net/if_inet6.h
+++ b/include/net/if_inet6.h
@@ -50,8 +50,8 @@ struct inet6_ifaddr {
@@ -84,31 +64,6 @@ index 02ef772..b58c36c 100644
__u16 scope;
-@@ -66,11 +66,10 @@ struct inet6_ifaddr {
- struct hlist_node addr_lst;
- struct list_head if_list;
-
--#ifdef CONFIG_IPV6_PRIVACY
- struct list_head tmp_list;
- struct inet6_ifaddr *ifpub;
- int regen_count;
--#endif
-+
- bool tokenized;
-
- struct rcu_head rcu;
-@@ -192,11 +191,9 @@ struct inet6_dev {
- __u32 if_flags;
- int dead;
-
--#ifdef CONFIG_IPV6_PRIVACY
- u8 rndid[8];
- struct timer_list regen_timer;
- struct list_head tempaddr_list;
--#endif
-
- struct in6_addr token;
-
diff --git a/include/uapi/linux/if_addr.h b/include/uapi/linux/if_addr.h
index 23357ab..dea10a8 100644
--- a/include/uapi/linux/if_addr.h
@@ -140,122 +95,11 @@ index 23357ab..dea10a8 100644
struct ifa_cacheinfo {
__u32 ifa_prefered;
-diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig
-index 11b13ea..aac8434 100644
---- a/net/ipv6/Kconfig
-+++ b/net/ipv6/Kconfig
-@@ -21,24 +21,6 @@ menuconfig IPV6
-
- if IPV6
-
--config IPV6_PRIVACY
-- bool "IPv6: Privacy Extensions (RFC 3041) support"
-- ---help---
-- Privacy Extensions for Stateless Address Autoconfiguration in IPv6
-- support. With this option, additional periodically-altered
-- pseudo-random global-scope unicast address(es) will be assigned to
-- your interface(s).
--
-- We use our standard pseudo-random algorithm to generate the
-- randomized interface identifier, instead of one described in RFC 3041.
--
-- By default the kernel does not generate temporary addresses.
-- To use temporary addresses, do
--
-- echo 2 >/proc/sys/net/ipv6/conf/all/use_tempaddr
--
-- See <file:Documentation/networking/ip-sysctl.txt> for details.
--
- config IPV6_ROUTER_PREF
- bool "IPv6: Router Preference (RFC 4191) support"
- ---help---
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
-index cd3fb30..5ebd42e 100644
+index 4b6b720..3c4e25d 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
-@@ -83,11 +83,7 @@
- #include <linux/if_tunnel.h>
- #include <linux/rtnetlink.h>
- #include <linux/netconf.h>
--
--#ifdef CONFIG_IPV6_PRIVACY
- #include <linux/random.h>
--#endif
--
- #include <linux/uaccess.h>
- #include <asm/unaligned.h>
-
-@@ -124,11 +120,9 @@ static inline void addrconf_sysctl_unregister(struct inet6_dev *idev)
- }
- #endif
-
--#ifdef CONFIG_IPV6_PRIVACY
- static void __ipv6_regen_rndid(struct inet6_dev *idev);
- static void __ipv6_try_regen_rndid(struct inet6_dev *idev, struct in6_addr *tmpaddr);
- static void ipv6_regen_rndid(unsigned long data);
--#endif
-
- static int ipv6_generate_eui64(u8 *eui, struct net_device *dev);
- static int ipv6_count_addresses(struct inet6_dev *idev);
-@@ -183,13 +177,11 @@ static struct ipv6_devconf ipv6_devconf __read_mostly = {
- .rtr_solicits = MAX_RTR_SOLICITATIONS,
- .rtr_solicit_interval = RTR_SOLICITATION_INTERVAL,
- .rtr_solicit_delay = MAX_RTR_SOLICITATION_DELAY,
--#ifdef CONFIG_IPV6_PRIVACY
- .use_tempaddr = 0,
- .temp_valid_lft = TEMP_VALID_LIFETIME,
- .temp_prefered_lft = TEMP_PREFERRED_LIFETIME,
- .regen_max_retry = REGEN_MAX_RETRY,
- .max_desync_factor = MAX_DESYNC_FACTOR,
--#endif
- .max_addresses = IPV6_MAX_ADDRESSES,
- .accept_ra_defrtr = 1,
- .accept_ra_pinfo = 1,
-@@ -221,13 +213,11 @@ static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = {
- .rtr_solicits = MAX_RTR_SOLICITATIONS,
- .rtr_solicit_interval = RTR_SOLICITATION_INTERVAL,
- .rtr_solicit_delay = MAX_RTR_SOLICITATION_DELAY,
--#ifdef CONFIG_IPV6_PRIVACY
- .use_tempaddr = 0,
- .temp_valid_lft = TEMP_VALID_LIFETIME,
- .temp_prefered_lft = TEMP_PREFERRED_LIFETIME,
- .regen_max_retry = REGEN_MAX_RETRY,
- .max_desync_factor = MAX_DESYNC_FACTOR,
--#endif
- .max_addresses = IPV6_MAX_ADDRESSES,
- .accept_ra_defrtr = 1,
- .accept_ra_pinfo = 1,
-@@ -371,7 +361,6 @@ static struct inet6_dev *ipv6_add_dev(struct net_device *dev)
- }
- #endif
-
--#ifdef CONFIG_IPV6_PRIVACY
- INIT_LIST_HEAD(&ndev->tempaddr_list);
- setup_timer(&ndev->regen_timer, ipv6_regen_rndid, (unsigned long)ndev);
- if ((dev->flags&IFF_LOOPBACK) ||
-@@ -384,7 +373,7 @@ static struct inet6_dev *ipv6_add_dev(struct net_device *dev)
- in6_dev_hold(ndev);
- ipv6_regen_rndid((unsigned long) ndev);
- }
--#endif
-+
- ndev->token = in6addr_any;
-
- if (netif_running(dev) && addrconf_qdisc_ok(dev))
-@@ -865,12 +854,10 @@ ipv6_add_addr(struct inet6_dev *idev, const struct in6_addr *addr,
- /* Add to inet6_dev unicast addr list. */
- ipv6_link_dev_addr(idev, ifa);
-
--#ifdef CONFIG_IPV6_PRIVACY
- if (ifa->flags&IFA_F_TEMPORARY) {
- list_add(&ifa->tmp_list, &idev->tempaddr_list);
- in6_ifa_hold(ifa);
- }
--#endif
-
- in6_ifa_hold(ifa);
- write_unlock(&idev->lock);
-@@ -890,15 +877,95 @@ out:
+@@ -891,15 +891,95 @@ out:
goto out2;
}
@@ -355,22 +199,18 @@ index cd3fb30..5ebd42e 100644
spin_lock_bh(&ifp->state_lock);
state = ifp->state;
-@@ -912,8 +979,8 @@ static void ipv6_del_addr(struct inet6_ifaddr *ifp)
+@@ -913,7 +993,7 @@ static void ipv6_del_addr(struct inet6_ifaddr *ifp)
hlist_del_init_rcu(&ifp->addr_lst);
spin_unlock_bh(&addrconf_hash_lock);
- write_lock_bh(&idev->lock);
--#ifdef CONFIG_IPV6_PRIVACY
+ write_lock_bh(&ifp->idev->lock);
-+
+
if (ifp->flags&IFA_F_TEMPORARY) {
list_del(&ifp->tmp_list);
- if (ifp->ifpub) {
-@@ -922,47 +989,14 @@ static void ipv6_del_addr(struct inet6_ifaddr *ifp)
- }
+@@ -924,45 +1004,13 @@ static void ipv6_del_addr(struct inet6_ifaddr *ifp)
__in6_ifa_put(ifp);
}
--#endif
- list_for_each_entry_safe(ifa, ifn, &idev->addr_list, if_list) {
- if (ifa == ifp) {
@@ -420,7 +260,7 @@ index cd3fb30..5ebd42e 100644
addrconf_del_dad_timer(ifp);
-@@ -970,41 +1004,9 @@ static void ipv6_del_addr(struct inet6_ifaddr *ifp)
+@@ -970,41 +1018,9 @@ static void ipv6_del_addr(struct inet6_ifaddr *ifp)
inet6addr_notifier_call_chain(NETDEV_DOWN, ifp);
@@ -465,15 +305,7 @@ index cd3fb30..5ebd42e 100644
}
/* clean up prefsrc entries */
-@@ -1013,7 +1015,6 @@ out:
- in6_ifa_put(ifp);
- }
-
--#ifdef CONFIG_IPV6_PRIVACY
- static int ipv6_create_tempaddr(struct inet6_ifaddr *ifp, struct inet6_ifaddr *ift)
- {
- struct inet6_dev *idev = ifp->idev;
-@@ -1025,7 +1026,7 @@ static int ipv6_create_tempaddr(struct inet6_ifaddr *ifp, struct inet6_ifaddr *i
+@@ -1024,7 +1040,7 @@ static int ipv6_create_tempaddr(struct inet6_ifaddr *ifp, struct inet6_ifaddr *i
u32 addr_flags;
unsigned long now = jiffies;
@@ -482,7 +314,7 @@ index cd3fb30..5ebd42e 100644
if (ift) {
spin_lock_bh(&ift->lock);
memcpy(&addr.s6_addr[8], &ift->addr.s6_addr[8], 8);
-@@ -1037,7 +1038,7 @@ static int ipv6_create_tempaddr(struct inet6_ifaddr *ifp, struct inet6_ifaddr *i
+@@ -1036,7 +1052,7 @@ static int ipv6_create_tempaddr(struct inet6_ifaddr *ifp, struct inet6_ifaddr *i
retry:
in6_dev_hold(idev);
if (idev->cnf.use_tempaddr <= 0) {
@@ -491,7 +323,7 @@ index cd3fb30..5ebd42e 100644
pr_info("%s: use_tempaddr is disabled\n", __func__);
in6_dev_put(idev);
ret = -1;
-@@ -1047,7 +1048,7 @@ retry:
+@@ -1046,7 +1062,7 @@ retry:
if (ifp->regen_count++ >= idev->cnf.regen_max_retry) {
idev->cnf.use_tempaddr = -1; /*XXX*/
spin_unlock_bh(&ifp->lock);
@@ -500,7 +332,7 @@ index cd3fb30..5ebd42e 100644
pr_warn("%s: regeneration time exceeded - disabled temporary address support\n",
__func__);
in6_dev_put(idev);
-@@ -1073,7 +1074,7 @@ retry:
+@@ -1072,7 +1088,7 @@ retry:
regen_advance = idev->cnf.regen_max_retry *
idev->cnf.dad_transmits *
idev->nd_parms->retrans_time / HZ;
@@ -509,7 +341,7 @@ index cd3fb30..5ebd42e 100644
/* A temporary address is created only if this calculated Preferred
* Lifetime is greater than REGEN_ADVANCE time units. In particular,
-@@ -1100,7 +1101,7 @@ retry:
+@@ -1099,7 +1115,7 @@ retry:
in6_dev_put(idev);
pr_info("%s: retry temporary address regeneration\n", __func__);
tmpaddr = &addr;
@@ -518,25 +350,7 @@ index cd3fb30..5ebd42e 100644
goto retry;
}
-@@ -1116,7 +1117,6 @@ retry:
- out:
- return ret;
- }
--#endif
-
- /*
- * Choose an appropriate source address (RFC3484)
-@@ -1131,9 +1131,7 @@ enum {
- #endif
- IPV6_SADDR_RULE_OIF,
- IPV6_SADDR_RULE_LABEL,
--#ifdef CONFIG_IPV6_PRIVACY
- IPV6_SADDR_RULE_PRIVACY,
--#endif
- IPV6_SADDR_RULE_ORCHID,
- IPV6_SADDR_RULE_PREFIX,
- IPV6_SADDR_RULE_MAX
-@@ -1204,7 +1202,7 @@ static int ipv6_get_saddr_eval(struct net *net,
+@@ -1200,7 +1216,7 @@ static int ipv6_get_saddr_eval(struct net *net,
* | d is scope of the destination.
* B-d | \
* | \ <- smaller scope is better if
@@ -545,23 +359,7 @@ index cd3fb30..5ebd42e 100644
* | ret = B - scope (-1 <= scope >= d <= 15).
* d-C-1 | /
* |/ <- greater is better
-@@ -1247,7 +1245,6 @@ static int ipv6_get_saddr_eval(struct net *net,
- &score->ifa->addr, score->addr_type,
- score->ifa->idev->dev->ifindex) == dst->label;
- break;
--#ifdef CONFIG_IPV6_PRIVACY
- case IPV6_SADDR_RULE_PRIVACY:
- {
- /* Rule 7: Prefer public address
-@@ -1259,7 +1256,6 @@ static int ipv6_get_saddr_eval(struct net *net,
- ret = (!(score->ifa->flags & IFA_F_TEMPORARY)) ^ preftmp;
- break;
- }
--#endif
- case IPV6_SADDR_RULE_ORCHID:
- /* Rule 8-: Prefer ORCHID vs ORCHID or
- * non-ORCHID vs non-ORCHID
-@@ -1413,7 +1409,7 @@ try_nextdev:
+@@ -1407,7 +1423,7 @@ try_nextdev:
EXPORT_SYMBOL(ipv6_dev_get_saddr);
int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
@@ -570,7 +368,7 @@ index cd3fb30..5ebd42e 100644
{
struct inet6_ifaddr *ifp;
int err = -EADDRNOTAVAIL;
-@@ -1430,7 +1426,7 @@ int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
+@@ -1424,7 +1440,7 @@ int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
}
int ipv6_get_lladdr(struct net_device *dev, struct in6_addr *addr,
@@ -579,39 +377,7 @@ index cd3fb30..5ebd42e 100644
{
struct inet6_dev *idev;
int err = -EADDRNOTAVAIL;
-@@ -1588,7 +1584,6 @@ static void addrconf_dad_stop(struct inet6_ifaddr *ifp, int dad_failed)
- if (dad_failed)
- ipv6_ifa_notify(0, ifp);
- in6_ifa_put(ifp);
--#ifdef CONFIG_IPV6_PRIVACY
- } else if (ifp->flags&IFA_F_TEMPORARY) {
- struct inet6_ifaddr *ifpub;
- spin_lock_bh(&ifp->lock);
-@@ -1602,7 +1597,6 @@ static void addrconf_dad_stop(struct inet6_ifaddr *ifp, int dad_failed)
- spin_unlock_bh(&ifp->lock);
- }
- ipv6_del_addr(ifp);
--#endif
- } else
- ipv6_del_addr(ifp);
- }
-@@ -1851,7 +1845,6 @@ static int ipv6_inherit_eui64(u8 *eui, struct inet6_dev *idev)
- return err;
- }
-
--#ifdef CONFIG_IPV6_PRIVACY
- /* (re)generation of randomized interface identifier (RFC 3041 3.2, 3.5) */
- static void __ipv6_regen_rndid(struct inet6_dev *idev)
- {
-@@ -1919,7 +1912,6 @@ static void __ipv6_try_regen_rndid(struct inet6_dev *idev, struct in6_addr *tmp
- if (tmpaddr && memcmp(idev->rndid, &tmpaddr->s6_addr[8], 8) == 0)
- __ipv6_regen_rndid(idev);
- }
--#endif
-
- /*
- * Add prefix route.
-@@ -2043,6 +2035,73 @@ static struct inet6_dev *addrconf_add_dev(struct net_device *dev)
+@@ -2016,6 +2032,73 @@ static struct inet6_dev *addrconf_add_dev(struct net_device *dev)
return idev;
}
@@ -685,7 +451,7 @@ index cd3fb30..5ebd42e 100644
void addrconf_prefix_rcv(struct net_device *dev, u8 *opt, int len, bool sllao)
{
struct prefix_info *pinfo;
-@@ -2197,6 +2256,7 @@ ok:
+@@ -2170,6 +2253,7 @@ ok:
return;
}
@@ -693,24 +459,21 @@ index cd3fb30..5ebd42e 100644
update_lft = 0;
create = 1;
ifp->cstamp = jiffies;
-@@ -2205,11 +2265,8 @@ ok:
+@@ -2178,9 +2262,8 @@ ok:
}
if (ifp) {
- int flags;
+ u32 flags;
unsigned long now;
--#ifdef CONFIG_IPV6_PRIVACY
- struct inet6_ifaddr *ift;
--#endif
u32 stored_lft;
/* update lifetime (RFC2462 5.5.3 e) */
-@@ -2250,72 +2307,9 @@ ok:
+@@ -2221,70 +2304,8 @@ ok:
} else
spin_unlock(&ifp->lock);
--#ifdef CONFIG_IPV6_PRIVACY
- read_lock_bh(&in6_dev->lock);
- /* update all temporary addresses in the list */
- list_for_each_entry(ift, &in6_dev->tempaddr_list,
@@ -761,9 +524,7 @@ index cd3fb30..5ebd42e 100644
- if (!(flags&IFA_F_TENTATIVE))
- ipv6_ifa_notify(0, ift);
- }
-+ manage_tempaddrs(in6_dev, ifp, valid_lft, prefered_lft,
-+ create, now);
-
+-
- if ((create || list_empty(&in6_dev->tempaddr_list)) && in6_dev->cnf.use_tempaddr > 0) {
- /*
- * When a new public address is created as
@@ -777,11 +538,12 @@ index cd3fb30..5ebd42e 100644
- } else {
- read_unlock_bh(&in6_dev->lock);
- }
--#endif
++ manage_tempaddrs(in6_dev, ifp, valid_lft, prefered_lft,
++ create, now);
+
in6_ifa_put(ifp);
addrconf_verify(0);
- }
-@@ -2393,10 +2387,11 @@ err_exit:
+@@ -2363,10 +2384,11 @@ err_exit:
/*
* Manual configuration of address on an interface
*/
@@ -796,7 +558,7 @@ index cd3fb30..5ebd42e 100644
{
struct inet6_ifaddr *ifp;
struct inet6_dev *idev;
-@@ -2415,6 +2410,9 @@ static int inet6_addr_add(struct net *net, int ifindex, const struct in6_addr *p
+@@ -2385,6 +2407,9 @@ static int inet6_addr_add(struct net *net, int ifindex, const struct in6_addr *p
if (!valid_lft || prefered_lft > valid_lft)
return -EINVAL;
@@ -806,7 +568,7 @@ index cd3fb30..5ebd42e 100644
dev = __dev_get_by_index(net, ifindex);
if (!dev)
return -ENODEV;
-@@ -2447,14 +2445,20 @@ static int inet6_addr_add(struct net *net, int ifindex, const struct in6_addr *p
+@@ -2417,14 +2442,20 @@ static int inet6_addr_add(struct net *net, int ifindex, const struct in6_addr *p
valid_lft, prefered_lft);
if (!IS_ERR(ifp)) {
@@ -829,7 +591,7 @@ index cd3fb30..5ebd42e 100644
in6_ifa_put(ifp);
addrconf_verify(0);
return 0;
-@@ -2888,7 +2892,7 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event,
+@@ -2857,7 +2888,7 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event,
}
/*
@@ -838,23 +600,7 @@ index cd3fb30..5ebd42e 100644
* Stop IPv6 on this interface.
*/
-@@ -2995,7 +2999,6 @@ static int addrconf_ifdown(struct net_device *dev, int how)
- if (!how)
- idev->if_flags &= ~(IF_RS_SENT|IF_RA_RCVD|IF_READY);
-
--#ifdef CONFIG_IPV6_PRIVACY
- if (how && del_timer(&idev->regen_timer))
- in6_dev_put(idev);
-
-@@ -3015,7 +3018,6 @@ static int addrconf_ifdown(struct net_device *dev, int how)
- in6_ifa_put(ifa);
- write_lock_bh(&idev->lock);
- }
--#endif
-
- while (!list_empty(&idev->addr_list)) {
- ifa = list_first_entry(&idev->addr_list,
-@@ -3386,7 +3388,7 @@ static void if6_seq_stop(struct seq_file *seq, void *v)
+@@ -3366,7 +3397,7 @@ static void if6_seq_stop(struct seq_file *seq, void *v)
static int if6_seq_show(struct seq_file *seq, void *v)
{
struct inet6_ifaddr *ifp = (struct inet6_ifaddr *)v;
@@ -863,23 +609,7 @@ index cd3fb30..5ebd42e 100644
&ifp->addr,
ifp->idev->dev->ifindex,
ifp->prefix_len,
-@@ -3528,7 +3530,6 @@ restart:
- in6_ifa_put(ifp);
- goto restart;
- }
--#ifdef CONFIG_IPV6_PRIVACY
- } else if ((ifp->flags&IFA_F_TEMPORARY) &&
- !(ifp->flags&IFA_F_TENTATIVE)) {
- unsigned long regen_advance = ifp->idev->cnf.regen_max_retry *
-@@ -3556,7 +3557,6 @@ restart:
- } else if (time_before(ifp->tstamp + ifp->prefered_lft * HZ - regen_advance * HZ, next))
- next = ifp->tstamp + ifp->prefered_lft * HZ - regen_advance * HZ;
- spin_unlock(&ifp->lock);
--#endif
- } else {
- /* ifp->prefered_lft <= ifp->valid_lft */
- if (time_before(ifp->tstamp + ifp->prefered_lft * HZ, next))
-@@ -3609,6 +3609,7 @@ static const struct nla_policy ifa_ipv6_policy[IFA_MAX+1] = {
+@@ -3593,6 +3624,7 @@ static const struct nla_policy ifa_ipv6_policy[IFA_MAX+1] = {
[IFA_ADDRESS] = { .len = sizeof(struct in6_addr) },
[IFA_LOCAL] = { .len = sizeof(struct in6_addr) },
[IFA_CACHEINFO] = { .len = sizeof(struct ifa_cacheinfo) },
@@ -887,7 +617,7 @@ index cd3fb30..5ebd42e 100644
};
static int
-@@ -3632,16 +3633,22 @@ inet6_rtm_deladdr(struct sk_buff *skb, struct nlmsghdr *nlh)
+@@ -3616,16 +3648,22 @@ inet6_rtm_deladdr(struct sk_buff *skb, struct nlmsghdr *nlh)
return inet6_addr_del(net, ifm->ifa_index, pfx, ifm->ifa_prefixlen);
}
@@ -911,7 +641,7 @@ index cd3fb30..5ebd42e 100644
timeout = addrconf_timeout_fixup(valid_lft, HZ);
if (addrconf_finite_timeout(timeout)) {
expires = jiffies_to_clock_t(timeout * HZ);
-@@ -3661,7 +3668,13 @@ static int inet6_addr_modify(struct inet6_ifaddr *ifp, u8 ifa_flags,
+@@ -3645,7 +3683,13 @@ static int inet6_addr_modify(struct inet6_ifaddr *ifp, u8 ifa_flags,
}
spin_lock_bh(&ifp->lock);
@@ -926,7 +656,7 @@ index cd3fb30..5ebd42e 100644
ifp->tstamp = jiffies;
ifp->valid_lft = valid_lft;
ifp->prefered_lft = prefered_lft;
-@@ -3670,8 +3683,30 @@ static int inet6_addr_modify(struct inet6_ifaddr *ifp, u8 ifa_flags,
+@@ -3654,8 +3698,30 @@ static int inet6_addr_modify(struct inet6_ifaddr *ifp, u8 ifa_flags,
if (!(ifp->flags&IFA_F_TENTATIVE))
ipv6_ifa_notify(0, ifp);
@@ -959,7 +689,7 @@ index cd3fb30..5ebd42e 100644
addrconf_verify(0);
return 0;
-@@ -3687,7 +3722,7 @@ inet6_rtm_newaddr(struct sk_buff *skb, struct nlmsghdr *nlh)
+@@ -3671,7 +3737,7 @@ inet6_rtm_newaddr(struct sk_buff *skb, struct nlmsghdr *nlh)
struct inet6_ifaddr *ifa;
struct net_device *dev;
u32 valid_lft = INFINITY_LIFE_TIME, preferred_lft = INFINITY_LIFE_TIME;
@@ -968,7 +698,7 @@ index cd3fb30..5ebd42e 100644
int err;
err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFA_MAX, ifa_ipv6_policy);
-@@ -3714,14 +3749,17 @@ inet6_rtm_newaddr(struct sk_buff *skb, struct nlmsghdr *nlh)
+@@ -3698,14 +3764,17 @@ inet6_rtm_newaddr(struct sk_buff *skb, struct nlmsghdr *nlh)
if (dev == NULL)
return -ENODEV;
@@ -988,7 +718,7 @@ index cd3fb30..5ebd42e 100644
*/
return inet6_addr_add(net, ifm->ifa_index, pfx, peer_pfx,
ifm->ifa_prefixlen, ifa_flags,
-@@ -3739,7 +3777,7 @@ inet6_rtm_newaddr(struct sk_buff *skb, struct nlmsghdr *nlh)
+@@ -3723,7 +3792,7 @@ inet6_rtm_newaddr(struct sk_buff *skb, struct nlmsghdr *nlh)
return err;
}
@@ -997,7 +727,7 @@ index cd3fb30..5ebd42e 100644
u8 scope, int ifindex)
{
struct ifaddrmsg *ifm;
-@@ -3782,7 +3820,8 @@ static inline int inet6_ifaddr_msgsize(void)
+@@ -3766,7 +3835,8 @@ static inline int inet6_ifaddr_msgsize(void)
return NLMSG_ALIGN(sizeof(struct ifaddrmsg))
+ nla_total_size(16) /* IFA_LOCAL */
+ nla_total_size(16) /* IFA_ADDRESS */
@@ -1007,7 +737,7 @@ index cd3fb30..5ebd42e 100644
}
static int inet6_fill_ifaddr(struct sk_buff *skb, struct inet6_ifaddr *ifa,
-@@ -3830,6 +3869,9 @@ static int inet6_fill_ifaddr(struct sk_buff *skb, struct inet6_ifaddr *ifa,
+@@ -3815,6 +3885,9 @@ static int inet6_fill_ifaddr(struct sk_buff *skb, struct inet6_ifaddr *ifa,
if (put_cacheinfo(skb, ifa->cstamp, ifa->tstamp, preferred, valid) < 0)
goto error;
@@ -1017,37 +747,7 @@ index cd3fb30..5ebd42e 100644
return nlmsg_end(skb, nlh);
error:
-@@ -4128,13 +4170,11 @@ static inline void ipv6_store_devconf(struct ipv6_devconf *cnf,
- jiffies_to_msecs(cnf->mldv1_unsolicited_report_interval);
- array[DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL] =
- jiffies_to_msecs(cnf->mldv2_unsolicited_report_interval);
--#ifdef CONFIG_IPV6_PRIVACY
- array[DEVCONF_USE_TEMPADDR] = cnf->use_tempaddr;
- array[DEVCONF_TEMP_VALID_LFT] = cnf->temp_valid_lft;
- array[DEVCONF_TEMP_PREFERED_LFT] = cnf->temp_prefered_lft;
- array[DEVCONF_REGEN_MAX_RETRY] = cnf->regen_max_retry;
- array[DEVCONF_MAX_DESYNC_FACTOR] = cnf->max_desync_factor;
--#endif
- array[DEVCONF_MAX_ADDRESSES] = cnf->max_addresses;
- array[DEVCONF_ACCEPT_RA_DEFRTR] = cnf->accept_ra_defrtr;
- array[DEVCONF_ACCEPT_RA_PINFO] = cnf->accept_ra_pinfo;
-@@ -4828,7 +4868,6 @@ static struct addrconf_sysctl_table
- .mode = 0644,
- .proc_handler = proc_dointvec_ms_jiffies,
- },
--#ifdef CONFIG_IPV6_PRIVACY
- {
- .procname = "use_tempaddr",
- .data = &ipv6_devconf.use_tempaddr,
-@@ -4864,7 +4903,6 @@ static struct addrconf_sysctl_table
- .mode = 0644,
- .proc_handler = proc_dointvec,
- },
--#endif
- {
- .procname = "max_addresses",
- .data = &ipv6_devconf.max_addresses,
_______________________________________________
kernel mailing list
kernel@lists.fedoraproject.org
-https://admin.fedoraproject.org/mailman/listinfo/kernel
+https://admin.fedoraproject.org/mailman/listinfo/kernel \ No newline at end of file
diff --git a/freed-ora/current/f19/kernel.spec b/freed-ora/current/f19/kernel.spec
index 7972234a6..22f8f4c3a 100644
--- a/freed-ora/current/f19/kernel.spec
+++ b/freed-ora/current/f19/kernel.spec
@@ -62,13 +62,13 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 201
+%global baserelease 100
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
# which yields a base_sublevel of 0.
-%define base_sublevel 12
+%define base_sublevel 13
# librev starts empty, then 1, etc, as the linux-libre tarball
# changes. This is only used to determine which tarball to use.
@@ -78,9 +78,9 @@ Summary: The Linux kernel
%define basegnu -gnu%{?librev}
# To be inserted between "patch" and "-2.6.".
-%define stablelibre -3.12%{?stablegnux}
-#define rcrevlibre -3.12%{?rcrevgnux}
-#define gitrevlibre -3.12%{?gitrevgnux}
+%define stablelibre -3.13%{?stablegnux}
+#define rcrevlibre -3.13%{?rcrevgnux}
+#define gitrevlibre -3.13%{?gitrevgnux}
%if 0%{?stablelibre:1}
%define stablegnu -gnu%{?librev}
@@ -112,7 +112,7 @@ Summary: The Linux kernel
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
-%define stable_update 11
+%define stable_update 3
# Is it a -stable RC?
%define stable_rc 0
# Set rpm version accordingly
@@ -561,28 +561,24 @@ ExclusiveOS: Linux
#
# List the packages used during the kernel build
#
-BuildRequires: module-init-tools, patch >= 2.5.4, bash >= 2.03, sh-utils, tar
-BuildRequires: bzip2, xz, findutils, gzip, m4, perl, make >= 3.78, diffutils, gawk
-BuildRequires: gcc >= 3.4.2, binutils >= 2.12, redhat-rpm-config, hmaccalc
+BuildRequires: kmod, patch, bash, sh-utils, tar
+BuildRequires: bzip2, xz, findutils, gzip, m4, perl, perl-Carp, make, diffutils, gawk
+BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc
BuildRequires: net-tools, hostname, bc
BuildRequires: xmlto, asciidoc
%if %{with_sparse}
-BuildRequires: sparse >= 0.4.1
+BuildRequires: sparse
%endif
%if %{with_perf}
-BuildRequires: elfutils-devel zlib-devel binutils-devel newt-devel python-devel perl(ExtUtils::Embed) bison
+BuildRequires: elfutils-devel zlib-devel binutils-devel newt-devel python-devel perl(ExtUtils::Embed) bison flex
BuildRequires: audit-libs-devel
%endif
%if %{with_tools}
-BuildRequires: pciutils-devel gettext
+BuildRequires: pciutils-devel gettext ncurses-devel
%endif
BuildConflicts: rhbuildsys(DiskFree) < 500Mb
%if %{with_debuginfo}
-# Fancy new debuginfo generation introduced in Fedora 8/RHEL 6.
-# The -r flag to find-debuginfo.sh invokes eu-strip --reloc-debug-sections
-# which reduces the number of relocations in kernel module .ko.debug files and
-# was introduced with rpm 4.9 and elfutils 0.153.
-BuildRequires: rpm-build >= 4.9.0-1, elfutils >= elfutils-0.153-1
+BuildRequires: rpm-build, elfutils
%define debuginfo_args --strict-build-id -r
%endif
@@ -706,16 +702,20 @@ Patch470: die-floppy-die.patch
Patch510: silence-noise.patch
Patch530: silence-fbcon-logo.patch
-Patch600: x86-allow-1024-cpus.patch
+Patch600: 0001-lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
+
+#rhbz 917708
+Patch700: Revert-userns-Allow-unprivileged-users-to-create-use.patch
Patch800: crash-driver.patch
# crypto/
-# keys
-
# secure boot
-Patch1000: devel-pekey-secure-boot-20130502.patch
+Patch1000: secure-modules.patch
+Patch1001: modsign-uefi.patch
+Patch1002: sb-hibernate.patch
+Patch1003: sysrq-secure-boot.patch
# virt + ksm patches
@@ -723,10 +723,9 @@ Patch1000: devel-pekey-secure-boot-20130502.patch
# nouveau + drm fixes
# intel drm is all merged upstream
+Patch1826: drm-i915-hush-check-crtc-state.patch
# Quiet boot fixes
-# silence the ACPI blacklist code
-Patch2802: silence-acpi-blacklist.patch
# fs fixes
@@ -763,11 +762,8 @@ Patch21025: arm-imx6-utilite.patch
# am33xx (BeagleBone)
# https://github.com/beagleboard/kernel
-# Pulled primarily from the above git repo. First patch is all in arm-soc
-# scheduled for 3.13. The others should be landing via other trees
-Patch21030: arm-am33xx-arm-soc-upstream.patch
+# Pulled primarily from the above git repo and should be landing upstream
Patch21031: arm-am33xx-bblack.patch
-Patch21032: arm-am33xx-cpsw.patch
#rhbz 754518
Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
@@ -782,14 +778,9 @@ Patch22000: weird-root-dentry-name-debug.patch
Patch25047: drm-radeon-Disable-writeback-by-default-on-ppc.patch
-#rhbz 896695
-Patch25127: 0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch
-
#rhbz 993744
Patch25128: dm-cache-policy-mq_fix-large-scale-table-allocation-bug.patch
-Patch25140: drm-qxl-backport-fixes-for-Fedora.patch
-
#rhbz 1011362
Patch25148: alx-Reset-phy-speed-after-resume.patch
@@ -802,9 +793,6 @@ Patch25166: sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch
Patch25167: rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch
Patch25168: rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch
-#rhbz 958826
-Patch25164: dell-laptop.patch
-
#rhbz 1030802
Patch25171: elantech-Properly-differentiate-between-clickpads-an.patch
@@ -814,23 +802,19 @@ Patch25179: KVM-MMU-handle-invalid-root_hpa-at-__direct_map.patch
#rhbz 1047892
Patch25180: KVM-VMX-fix-use-after-free-of-vmx-loaded_vmcs.patch
-#rhbz 1044471
-Patch25181: tg3-Add-support-for-new-577xx-device-ids.patch
+#rhbz 1003167 1046238
+Patch25181: 0001-Input-wacom-make-sure-touch_max-is-set-for-touch-dev.patch
+Patch25182: 0002-Input-wacom-add-support-for-three-new-Intuos-devices.patch
+Patch25183: 0003-Input-wacom-add-reporting-of-SW_MUTE_DEVICE-events.patch
#rhbz 953211
-Patch25182: Input-ALPS-add-support-for-Dolphin-devices.patch
-
-#rhbz 1056711
-Patch25183: ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch
-
-#rhbz 1057533
-Patch25155: ipv6-addrconf-revert-if_inet6ifa_flag-format.patch
+Patch25184: Input-ALPS-add-support-for-Dolphin-devices.patch
#rhbz 990955
-Patch25185: ath9k_htc-make-sta_rc_update-atomic-for-most-calls.patch
+Patch25186: ath9k_htc-make-sta_rc_update-atomic-for-most-calls.patch
#rhbz 950630
-Patch25186: xhci-fix-resume-issues-on-renesas-chips-in-samsung-laptops.patch
+Patch25187: xhci-fix-resume-issues-on-renesas-chips-in-samsung-laptops.patch
#CVE-2014-1874 rhbz 1062356 1062507
Patch25188: SELinux-Fix-kernel-BUG-on-empty-security-contexts.patch
@@ -841,13 +825,20 @@ Patch25189: tick-Clear-broadcast-pending-bit-when-switching-to-oneshot.patch
#rhbz 1045755
Patch25195: cgroup-fixes.patch
+#rhbz 1064430 1056711
+Patch25196: ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch
+Patch25197: ipv6-addrconf-revert-if_inet6ifa_flag-format.patch
+
#rhbz 1051918
Patch25198: pinctrl-protect-pinctrl_list-add.patch
-#CVE-2014-0069 rhbz 1064253 1062585
+#CVE-2014-0069 rhbz 1064253 1062584
Patch25200: cifs-ensure-that-uncached-writes-handle-unmapped-areas-correctly.patch
Patch25201: cifs-sanity-check-length-of-data-to-send-before-sending.patch
+#rhbz 1054408
+Patch25203: cpufreq-powernow-k8-Initialize-per-cpu-data-structures-properly.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1449,7 +1440,7 @@ ApplyOptionalPatch upstream-reverts.patch -R
# Architecture patches
# x86(-64)
-ApplyPatch x86-allow-1024-cpus.patch
+ApplyPatch 0001-lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
# ARM64
@@ -1462,9 +1453,7 @@ ApplyPatch arm-omap-load-tfp410.patch
ApplyPatch arm-tegra-usb-no-reset-linux33.patch
ApplyPatch arm-imx6-utilite.patch
-ApplyPatch arm-am33xx-arm-soc-upstream.patch
ApplyPatch arm-am33xx-bblack.patch
-ApplyPatch arm-am33xx-cpsw.patch
#
# bugfixes to drivers and filesystems
@@ -1521,14 +1510,21 @@ ApplyPatch silence-fbcon-logo.patch
# Changes to upstream defaults.
+#rhbz 917708
+ApplyPatch Revert-userns-Allow-unprivileged-users-to-create-use.patch
# /dev/crash driver.
ApplyPatch crash-driver.patch
# crypto/
+# keys
+
# secure boot
-ApplyPatch devel-pekey-secure-boot-20130502.patch
+ApplyPatch secure-modules.patch
+ApplyPatch modsign-uefi.patch
+ApplyPatch sb-hibernate.patch
+ApplyPatch sysrq-secure-boot.patch
# Assorted Virt Fixes
@@ -1537,12 +1533,10 @@ ApplyPatch devel-pekey-secure-boot-20130502.patch
# Nouveau DRM
# Intel DRM
+ApplyPatch drm-i915-hush-check-crtc-state.patch
# Radeon DRM
-# silence the ACPI blacklist code
-ApplyPatch silence-acpi-blacklist.patch
-
# Patches headed upstream
ApplyPatch fs-proc-devtree-remove_proc_entry.patch
@@ -1569,14 +1563,9 @@ ApplyPatch ath9k_rx_dma_stop_check.patch
ApplyPatch drm-radeon-Disable-writeback-by-default-on-ppc.patch
-#rhbz 896695
-ApplyPatch 0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch
-
#rhbz 993744
ApplyPatch dm-cache-policy-mq_fix-large-scale-table-allocation-bug.patch
-ApplyPatch drm-qxl-backport-fixes-for-Fedora.patch
-
#rhbz 1011362
ApplyPatch alx-Reset-phy-speed-after-resume.patch
@@ -1589,9 +1578,6 @@ ApplyPatch rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch
ApplyPatch sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch
ApplyPatch rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch
-#rhbz 958826
-ApplyPatch dell-laptop.patch
-
#rhbz 1030802
ApplyPatch elantech-Properly-differentiate-between-clickpads-an.patch
@@ -1601,16 +1587,14 @@ ApplyPatch KVM-MMU-handle-invalid-root_hpa-at-__direct_map.patch
#rhbz 1047892
ApplyPatch KVM-VMX-fix-use-after-free-of-vmx-loaded_vmcs.patch
-#rhbz 1044471
-ApplyPatch tg3-Add-support-for-new-577xx-device-ids.patch
+#rhbz 1003167 1046238
+ApplyPatch 0001-Input-wacom-make-sure-touch_max-is-set-for-touch-dev.patch
+ApplyPatch 0002-Input-wacom-add-support-for-three-new-Intuos-devices.patch
+ApplyPatch 0003-Input-wacom-add-reporting-of-SW_MUTE_DEVICE-events.patch
#rhbz 953211
ApplyPatch Input-ALPS-add-support-for-Dolphin-devices.patch
-#rhbz 1056711
-ApplyPatch ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch
-ApplyPatch ipv6-addrconf-revert-if_inet6ifa_flag-format.patch
-
#rhbz 990955
ApplyPatch ath9k_htc-make-sta_rc_update-atomic-for-most-calls.patch
@@ -1626,13 +1610,20 @@ ApplyPatch tick-Clear-broadcast-pending-bit-when-switching-to-oneshot.patch
#rhbz 1045755
ApplyPatch cgroup-fixes.patch
+#rhbz 1064430 1056711
+ApplyPatch ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch
+ApplyPatch ipv6-addrconf-revert-if_inet6ifa_flag-format.patch
+
#rhbz 1051918
ApplyPatch pinctrl-protect-pinctrl_list-add.patch
-#CVE-2014-0069 rhbz 1064253 1062585
+#CVE-2014-0069 rhbz 1064253 1062584
ApplyPatch cifs-ensure-that-uncached-writes-handle-unmapped-areas-correctly.patch
ApplyPatch cifs-sanity-check-length-of-data-to-send-before-sending.patch
+#rhbz 1054408
+ApplyPatch cpufreq-powernow-k8-Initialize-per-cpu-data-structures-properly.patch
+
# END OF PATCH APPLICATIONS
@@ -2022,6 +2013,8 @@ make %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false
popd
%endif #turbostat/x86_energy_perf_policy
%endif
+pushd tools/thermal/tmon/
+make
%endif
%if %{with_doc}
@@ -2045,26 +2038,18 @@ find Documentation -type d | xargs chmod u+w
# that will strip the signature off of the modules.
%define __modsign_install_post \
- if [ "%{signmodules}" == "1" ]; then \
+ if [ "%{signmodules}" -eq "1" ]; then \
if [ "%{with_pae}" -ne "0" ]; then \
- mv signing_key.priv.sign.%{pae} signing_key.priv \
- mv signing_key.x509.sign.%{pae} signing_key.x509 \
- %{modsign_cmd} $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.%{pae}/ \
+ %{modsign_cmd} signing_key.priv.sign.%{pae} signing_key.x509.sign+%{pae} $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.%{pae}/ \
fi \
if [ "%{with_debug}" -ne "0" ]; then \
- mv signing_key.priv.sign.debug signing_key.priv \
- mv signing_key.x509.sign.debug signing_key.x509 \
- %{modsign_cmd} $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.debug/ \
+ %{modsign_cmd} signing_key.priv.sign.debug signing_key.x509.sign+debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.debug/ \
fi \
if [ "%{with_pae_debug}" -ne "0" ]; then \
- mv signing_key.priv.sign.%{pae}debug signing_key.priv \
- mv signing_key.x509.sign.%{pae}debug signing_key.x509 \
- %{modsign_cmd} $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.%{pae}debug/ \
+ %{modsign_cmd} signing_key.priv.sign.%{pae}debug signing_key.x509.sign+%{pae}debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.%{pae}debug/ \
fi \
if [ "%{with_up}" -ne "0" ]; then \
- mv signing_key.priv.sign signing_key.priv \
- mv signing_key.x509.sign signing_key.x509 \
- %{modsign_cmd} $RPM_BUILD_ROOT/lib/modules/%{KVERREL}/ \
+ %{modsign_cmd} signing_key.priv.sign signing_key.x509.sign $RPM_BUILD_ROOT/lib/modules/%{KVERREL}/ \
fi \
fi \
%{nil}
@@ -2150,6 +2135,8 @@ find $RPM_BUILD_ROOT/usr/include \
%if %{with_perf}
# perf tool binary and supporting scripts/binaries
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install
+# remove the 'trace' symlink.
+rm -f %{buildroot}%{_bindir}/trace
# python-perf extension
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-python_ext
@@ -2190,6 +2177,9 @@ install -m644 %{SOURCE2001} %{buildroot}%{_sysconfdir}/sysconfig/cpupower
make DESTDIR=%{buildroot} install
popd
%endif #turbostat/x86_energy_perf_policy
+pushd tools/thermal/tmon
+make INSTALL_ROOT=%{buildroot} install
+popd
%endif
%if %{with_firmware}
@@ -2382,6 +2372,7 @@ fi
%{_bindir}/turbostat
%{_mandir}/man8/turbostat*
%endif
+%{_bindir}/tmon
%endif
%if %{with_debuginfo}
@@ -2457,6 +2448,15 @@ fi
# and build.
%changelog
+* Fri Feb 21 2014 Alexandre Oliva <lxoliva@fsfla.org> -libre
+- GNU Linux-libre 3.13.3-gnu.
+
+* Tue Feb 18 2014 Justin M. Forbes <jforbes@fedoraproject.org>
+- Linux v3.13.3
+
+* Tue Feb 18 2014 Josh Boyer <jwboyer@fedoraproject.org>
+- Fix r8169 ethernet after suspend (rhbz 1054408)
+
* Fri Feb 14 2014 Josh Boyer <jwboyer@fedoraproject.org> - 3.12.11-201
- CVE-2014-0069 cifs: incorrect handling of bogus user pointers (rhbz 1064253 1062585)
diff --git a/freed-ora/current/f19/linux-libre-3.12-gnu.tar.xz.sign b/freed-ora/current/f19/linux-libre-3.12-gnu.tar.xz.sign
deleted file mode 100644
index bf8a079e7..000000000
--- a/freed-ora/current/f19/linux-libre-3.12-gnu.tar.xz.sign
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.19 (GNU/Linux)
-
-iEYEABECAAYFAlJ3Ag0ACgkQvLfPh359R6c91ACfeSJP424K9Icx8ljp5qVqetOC
-8n8An3w84pkqTyEIkeKazObyGf+x61Aj
-=Wn7e
------END PGP SIGNATURE-----
diff --git a/freed-ora/current/f19/linux-libre-3.12-gnu.xdelta.xz b/freed-ora/current/f19/linux-libre-3.12-gnu.xdelta.xz
deleted file mode 100644
index 6ff07d5d1..000000000
--- a/freed-ora/current/f19/linux-libre-3.12-gnu.xdelta.xz
+++ /dev/null
Binary files differ
diff --git a/freed-ora/current/f19/linux-libre-3.12-gnu.xdelta.xz.sign b/freed-ora/current/f19/linux-libre-3.12-gnu.xdelta.xz.sign
deleted file mode 100644
index b03c9e6d1..000000000
--- a/freed-ora/current/f19/linux-libre-3.12-gnu.xdelta.xz.sign
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.19 (GNU/Linux)
-
-iEYEABECAAYFAlJ3AhUACgkQvLfPh359R6e2CACgmrRqQBC3UK+il2Y01yU7RJYc
-U2MAn2VqrZ5Ajg7pFbSfDhyaxny4Ocg4
-=cWOe
------END PGP SIGNATURE-----
diff --git a/freed-ora/current/f19/linux-libre-3.13-gnu.tar.xz.sign b/freed-ora/current/f19/linux-libre-3.13-gnu.tar.xz.sign
new file mode 100644
index 000000000..148e874ac
--- /dev/null
+++ b/freed-ora/current/f19/linux-libre-3.13-gnu.tar.xz.sign
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.22 (GNU/Linux)
+
+iEYEABECAAYFAlLcr3EACgkQvLfPh359R6dr+ACeP5huzgg8T+2/903a6c4GoW8v
+gwEAn1Rg0avzfBwJDjnmmW05xMw1DRox
+=q18t
+-----END PGP SIGNATURE-----
diff --git a/freed-ora/current/f19/linux-libre-3.13-gnu.xdelta.xz b/freed-ora/current/f19/linux-libre-3.13-gnu.xdelta.xz
new file mode 100644
index 000000000..f134777dc
--- /dev/null
+++ b/freed-ora/current/f19/linux-libre-3.13-gnu.xdelta.xz
Binary files differ
diff --git a/freed-ora/current/f19/linux-libre-3.13-gnu.xdelta.xz.sign b/freed-ora/current/f19/linux-libre-3.13-gnu.xdelta.xz.sign
new file mode 100644
index 000000000..a54f816b2
--- /dev/null
+++ b/freed-ora/current/f19/linux-libre-3.13-gnu.xdelta.xz.sign
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.22 (GNU/Linux)
+
+iEYEABECAAYFAlLcr3IACgkQvLfPh359R6fopgCaAoqNzg5jePK2KEj+wiXRYbCj
+wJMAn3Ux7mlN4t+o1kMkfrmPlYSDhn2R
+=JJat
+-----END PGP SIGNATURE-----
diff --git a/freed-ora/current/f19/nfs-check-gssd-running-before-krb5i-auth.patch b/freed-ora/current/f19/nfs-check-gssd-running-before-krb5i-auth.patch
index be81fec76..1e282f0d8 100644
--- a/freed-ora/current/f19/nfs-check-gssd-running-before-krb5i-auth.patch
+++ b/freed-ora/current/f19/nfs-check-gssd-running-before-krb5i-auth.patch
@@ -1,5 +1,11 @@
Bugzilla: N/A
-Upstream-status: queued in NFS git tree (for 3.13/3.14?)
+Upstream-status: sent for 3.14
+
+From 6aa23d76a7b549521a03b63b6d5b7880ea87eab7 Mon Sep 17 00:00:00 2001
+From: Jeff Layton <jlayton@redhat.com>
+Date: Thu, 14 Nov 2013 07:25:19 -0500
+Subject: [PATCH] nfs: check if gssd is running before attempting to use krb5i
+ auth in SETCLIENTID call
Currently, the client will attempt to use krb5i in the SETCLIENTID call
even if rpc.gssd isn't running. When that fails, it'll then fall back to
@@ -14,12 +20,13 @@ fail at a later stage of the mount attempt.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
---
- fs/nfs/nfs4client.c | 7 ++++++-
- 1 files changed, 6 insertions(+), 1 deletions(-)
+ fs/nfs/nfs4client.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
-diff -up linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c
---- linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig 2013-09-02 16:46:10.000000000 -0400
-+++ linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c 2013-11-21 10:20:27.288286000 -0500
+diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
+index b4a160a..c1b7a80 100644
+--- a/fs/nfs/nfs4client.c
++++ b/fs/nfs/nfs4client.c
@@ -10,6 +10,7 @@
#include <linux/sunrpc/auth.h>
#include <linux/sunrpc/xprt.h>
@@ -28,10 +35,10 @@ diff -up linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig linux-3.11.9-200.
#include "internal.h"
#include "callback.h"
#include "delegation.h"
-@@ -206,7 +207,11 @@ struct nfs_client *nfs4_init_client(stru
- if (clp->cl_minorversion != 0)
+@@ -370,7 +371,11 @@ struct nfs_client *nfs4_init_client(struct nfs_client *clp,
__set_bit(NFS_CS_INFINITE_SLOTS, &clp->cl_flags);
__set_bit(NFS_CS_DISCRTRY, &clp->cl_flags);
+ __set_bit(NFS_CS_NO_RETRANS_TIMEOUT, &clp->cl_flags);
- error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_GSS_KRB5I);
+
+ error = -EINVAL;
@@ -41,8 +48,6 @@ diff -up linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig linux-3.11.9-200.
if (error == -EINVAL)
error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_UNIX);
if (error < 0)
+--
+1.8.2.1
-_______________________________________________
-kernel mailing list
-kernel@lists.fedoraproject.org
-https://admin.fedoraproject.org/mailman/listinfo/kernel
diff --git a/freed-ora/current/f19/patch-3.12-gnu-3.12.11-gnu.xz.sign b/freed-ora/current/f19/patch-3.12-gnu-3.12.11-gnu.xz.sign
deleted file mode 100644
index 86cf86ac9..000000000
--- a/freed-ora/current/f19/patch-3.12-gnu-3.12.11-gnu.xz.sign
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.22 (GNU/Linux)
-
-iEYEABECAAYFAlL9bFUACgkQvLfPh359R6cZ8gCfWTNz1N7F0FOkF2umNmuKkxAw
-i1UAnRl2XdrbSlUbEdDflgZmPpG4djxY
-=Q2l6
------END PGP SIGNATURE-----
diff --git a/freed-ora/current/f19/patch-3.13-gnu-3.13.3-gnu.xz.sign b/freed-ora/current/f19/patch-3.13-gnu-3.13.3-gnu.xz.sign
new file mode 100644
index 000000000..254c18af3
--- /dev/null
+++ b/freed-ora/current/f19/patch-3.13-gnu-3.13.3-gnu.xz.sign
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.22 (GNU/Linux)
+
+iEYEABECAAYFAlL9XNwACgkQvLfPh359R6fYGQCfd+DkxB0OWi+E4yiO9Mvky7mW
+ZYoAnjBGnfSx6sMjMN3PtA1ccMcRDqQQ
+=5TKw
+-----END PGP SIGNATURE-----
diff --git a/freed-ora/current/f19/secure-modules.patch b/freed-ora/current/f19/secure-modules.patch
index 9d01b9356..21157c933 100644
--- a/freed-ora/current/f19/secure-modules.patch
+++ b/freed-ora/current/f19/secure-modules.patch
@@ -1,4 +1,7 @@
-From 8dea807503a1ba88d9e27595daae7f86ec968711 Mon Sep 17 00:00:00 2001
+Bugzilla: N/A
+Upstream-status: Fedora mustard. Replaced by securelevels, but that was nak'd
+
+From 0fc411ee00c81b8a18b1417d31f2736fad155d89 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 01/14] Add secure_modules() call
@@ -14,10 +17,10 @@ Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
2 files changed, 17 insertions(+)
diff --git a/include/linux/module.h b/include/linux/module.h
-index 46f1ea0..0c266b2 100644
+index 05f2447..de97e77 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
-@@ -509,6 +509,8 @@ int unregister_module_notifier(struct notifier_block * nb);
+@@ -515,6 +515,8 @@ int unregister_module_notifier(struct notifier_block * nb);
extern void print_modules(void);
@@ -26,7 +29,7 @@ index 46f1ea0..0c266b2 100644
#else /* !CONFIG_MODULES... */
/* Given an address, look for it in the exception tables. */
-@@ -619,6 +621,11 @@ static inline int unregister_module_notifier(struct notifier_block * nb)
+@@ -625,6 +627,11 @@ static inline int unregister_module_notifier(struct notifier_block * nb)
static inline void print_modules(void)
{
}
@@ -39,10 +42,10 @@ index 46f1ea0..0c266b2 100644
#ifdef CONFIG_SYSFS
diff --git a/kernel/module.c b/kernel/module.c
-index 2069158..0e94acf 100644
+index dc58274..81206c1 100644
--- a/kernel/module.c
+++ b/kernel/module.c
-@@ -3852,3 +3852,13 @@ void module_layout(struct module *mod,
+@@ -3860,3 +3860,13 @@ void module_layout(struct module *mod,
}
EXPORT_SYMBOL(module_layout);
#endif
@@ -60,7 +63,7 @@ index 2069158..0e94acf 100644
1.8.3.1
-From 9b7b3f6283bf784e4ea1c34e52646b12971b2823 Mon Sep 17 00:00:00 2001
+From b94942e55b519e70366e970cea3665c464d1b7da 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 02/14] PCI: Lock down BAR access when module security is
@@ -80,7 +83,7 @@ Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
-index c0dbe1f..cd4e35f 100644
+index d8eb880..a851ad6 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -29,6 +29,7 @@
@@ -91,7 +94,7 @@ index c0dbe1f..cd4e35f 100644
#include "pci.h"
static int sysfs_initialized; /* = 0 */
-@@ -624,6 +625,9 @@ pci_write_config(struct file* filp, struct kobject *kobj,
+@@ -644,6 +645,9 @@ pci_write_config(struct file* filp, struct kobject *kobj,
loff_t init_off = off;
u8 *data = (u8*) buf;
@@ -101,7 +104,7 @@ index c0dbe1f..cd4e35f 100644
if (off > dev->cfg_size)
return 0;
if (off + count > dev->cfg_size) {
-@@ -930,6 +934,9 @@ pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
+@@ -950,6 +954,9 @@ pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
resource_size_t start, end;
int i;
@@ -111,7 +114,7 @@ index c0dbe1f..cd4e35f 100644
for (i = 0; i < PCI_ROM_RESOURCE; i++)
if (res == &pdev->resource[i])
break;
-@@ -1037,6 +1044,9 @@ pci_write_resource_io(struct file *filp, struct kobject *kobj,
+@@ -1057,6 +1064,9 @@ pci_write_resource_io(struct file *filp, struct kobject *kobj,
struct bin_attribute *attr, char *buf,
loff_t off, size_t count)
{
@@ -179,7 +182,7 @@ index e1c1ec5..bffbf71 100644
1.8.3.1
-From aac2425a2664c09c2a369e1eec6e7a5bc2713cb1 Mon Sep 17 00:00:00 2001
+From 36f34509fe52cc49e1b1f6815a3f235040f64a03 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Thu, 8 Mar 2012 10:35:59 -0500
Subject: [PATCH 03/14] x86: Lock down IO port access when module security is
@@ -252,7 +255,7 @@ index f895a8c..1af8664 100644
1.8.3.1
-From e7f9789c7eedf291972666befee726ff8e7126f6 Mon Sep 17 00:00:00 2001
+From 67d9800dcf60467e076587b0aac67bcdc516cfe2 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 04/14] ACPI: Limit access to custom_method
@@ -284,7 +287,7 @@ index 12b62f2..50647b3 100644
1.8.3.1
-From d81cd6628c821d47bd086354cbc57b1474f3c1a8 Mon Sep 17 00:00:00 2001
+From bdf3761573167c20c72b151c1088b24fd24869ac 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 05/14] asus-wmi: Restrict debugfs interface when module
@@ -339,7 +342,7 @@ index 19c313b..db18ef66 100644
1.8.3.1
-From df75e984729ef50bb691b4d15472529fcd81580b Mon Sep 17 00:00:00 2001
+From 65d88af5a2c6bb6d01da17819d8ba782bd208837 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 06/14] Restrict /dev/mem and /dev/kmem when module loading is
@@ -382,7 +385,7 @@ index 1af8664..61406c8 100644
1.8.3.1
-From 78955913cc46cc5e5c7f2c71c1b07a5c18e06456 Mon Sep 17 00:00:00 2001
+From 4aa42b7fa5d7f79eb1d179e728ffa561fd9cf354 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@redhat.com>
Date: Mon, 25 Jun 2012 19:57:30 -0400
Subject: [PATCH 07/14] acpi: Ignore acpi_rsdp kernel parameter when module
@@ -398,7 +401,7 @@ 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 6ab2c35..e4c4410 100644
+index e5f416c..9311c00 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -45,6 +45,7 @@
@@ -409,7 +412,7 @@ index 6ab2c35..e4c4410 100644
#include <asm/io.h>
#include <asm/uaccess.h>
-@@ -245,7 +246,7 @@ early_param("acpi_rsdp", setup_acpi_rsdp);
+@@ -249,7 +250,7 @@ early_param("acpi_rsdp", setup_acpi_rsdp);
acpi_physical_address __init acpi_os_get_root_pointer(void)
{
#ifdef CONFIG_KEXEC
@@ -422,7 +425,7 @@ index 6ab2c35..e4c4410 100644
1.8.3.1
-From 23aae9143fbece326b3a26bf5ba48956c99cabe4 Mon Sep 17 00:00:00 2001
+From c9e62c2ce588d98a774a3853e56d95e48b9df98c Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Fri, 9 Aug 2013 03:33:56 -0400
Subject: [PATCH 08/14] kexec: Disable at runtime if the kernel enforces module
@@ -438,7 +441,7 @@ Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
1 file changed, 8 insertions(+)
diff --git a/kernel/kexec.c b/kernel/kexec.c
-index 59f7b55..3e2b63a 100644
+index 2a74f30..13601e3 100644
--- a/kernel/kexec.c
+++ b/kernel/kexec.c
@@ -32,6 +32,7 @@
@@ -467,7 +470,7 @@ index 59f7b55..3e2b63a 100644
1.8.3.1
-From 218cd49aa2d6a085c5c4edc0396200864f0b54ad Mon Sep 17 00:00:00 2001
+From d0e3cb2c13dc9634849ddacf75b6f0d94147516a Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 3 Sep 2013 11:23:29 -0400
Subject: [PATCH 09/14] uswsusp: Disable when module loading is restricted
@@ -482,7 +485,7 @@ Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
1 file changed, 4 insertions(+)
diff --git a/kernel/power/user.c b/kernel/power/user.c
-index 4ed81e7..15cb72f 100644
+index 957f061..e570609d 100644
--- a/kernel/power/user.c
+++ b/kernel/power/user.c
@@ -24,6 +24,7 @@
@@ -493,7 +496,7 @@ index 4ed81e7..15cb72f 100644
#include <asm/uaccess.h>
-@@ -48,6 +49,9 @@ static int snapshot_open(struct inode *inode, struct file *filp)
+@@ -49,6 +50,9 @@ static int snapshot_open(struct inode *inode, struct file *filp)
struct snapshot_data *data;
int error;
@@ -507,7 +510,7 @@ index 4ed81e7..15cb72f 100644
1.8.3.1
-From beeaac053d4ae57dc65be1da8b46e5d4bc6542b8 Mon Sep 17 00:00:00 2001
+From b238417ed3c5a0b21bbfcac84f6c70011b8977c0 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Fri, 8 Feb 2013 11:12:13 -0800
Subject: [PATCH 10/14] x86: Restrict MSR access when module loading is
@@ -524,7 +527,7 @@ Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
1 file changed, 7 insertions(+)
diff --git a/arch/x86/kernel/msr.c b/arch/x86/kernel/msr.c
-index 88458fa..d08f7e3 100644
+index 05266b5..e2bd647 100644
--- a/arch/x86/kernel/msr.c
+++ b/arch/x86/kernel/msr.c
@@ -103,6 +103,9 @@ static ssize_t msr_write(struct file *file, const char __user *buf,
@@ -552,7 +555,7 @@ index 88458fa..d08f7e3 100644
1.8.3.1
-From b4331711c52aff0a6a9cef0f4b52fe261874d6f2 Mon Sep 17 00:00:00 2001
+From c3a9afb3b580b4f721d245fc5d13e378b99b9cd8 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 11/14] Add option to automatically enforce module signatures
@@ -588,12 +591,12 @@ index 199f453..ec38acf 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 b32ebf9..6a6c19b 100644
+index 725e157..fe212ef 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -1581,6 +1581,16 @@ config EFI_STUB
+@@ -1604,6 +1604,16 @@ config EFI_STUB
- See Documentation/x86/efi-stub.txt for more information.
+ See Documentation/efi-stub.txt for more information.
+config EFI_SECURE_BOOT_SIG_ENFORCE
+ def_bool n
@@ -609,7 +612,7 @@ index b32ebf9..6a6c19b 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 b7388a4..53bfe4f 100644
+index a7677ba..4e172e9 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
@@ -12,6 +12,7 @@
@@ -620,10 +623,10 @@ index b7388a4..53bfe4f 100644
#undef memcpy /* Use memcpy from misc.c */
-@@ -861,6 +862,37 @@ fail:
- return status;
+@@ -741,6 +742,37 @@ free_mem_map:
}
+
+static int get_secure_boot(void)
+{
+ u8 sb, setup;
@@ -656,9 +659,9 @@ index b7388a4..53bfe4f 100644
+
+
/*
- * Because the x86 boot code expects to be passed a boot_params we
- * need to create one ourselves (usually the bootloader would create
-@@ -1169,6 +1201,10 @@ struct boot_params *efi_main(void *handle, efi_system_table_t *_table,
+ * On success we return a pointer to a boot_params structure, and NULL
+ * on failure.
+@@ -760,6 +792,10 @@ struct boot_params *efi_main(void *handle, efi_system_table_t *_table,
if (sys_table->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE)
goto fail;
@@ -670,7 +673,7 @@ index b7388a4..53bfe4f 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 c15ddaf..85d7685 100644
+index 9c3733c..a7ba210 100644
--- a/arch/x86/include/uapi/asm/bootparam.h
+++ b/arch/x86/include/uapi/asm/bootparam.h
@@ -131,7 +131,8 @@ struct boot_params {
@@ -684,10 +687,10 @@ index c15ddaf..85d7685 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 f8ec578..deeb7bc 100644
+index 918d489..fe429c1 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
-@@ -1129,6 +1129,12 @@ void __init setup_arch(char **cmdline_p)
+@@ -1127,6 +1127,12 @@ void __init setup_arch(char **cmdline_p)
io_delay_init();
@@ -701,10 +704,10 @@ index f8ec578..deeb7bc 100644
* Parse the ACPI tables for possible boot-time SMP configuration.
*/
diff --git a/include/linux/module.h b/include/linux/module.h
-index 0c266b2..5a6374a 100644
+index de97e77..d69fe19 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
-@@ -184,6 +184,12 @@ const struct exception_table_entry *search_exception_tables(unsigned long add);
+@@ -190,6 +190,12 @@ const struct exception_table_entry *search_exception_tables(unsigned long add);
struct notifier_block;
@@ -718,10 +721,10 @@ index 0c266b2..5a6374a 100644
extern int modules_disabled; /* for sysctl */
diff --git a/kernel/module.c b/kernel/module.c
-index 0e94acf..974139b 100644
+index 81206c1..e1428f0 100644
--- a/kernel/module.c
+++ b/kernel/module.c
-@@ -3853,6 +3853,13 @@ void module_layout(struct module *mod,
+@@ -3861,6 +3861,13 @@ void module_layout(struct module *mod,
EXPORT_SYMBOL(module_layout);
#endif
@@ -739,7 +742,7 @@ index 0e94acf..974139b 100644
1.8.3.1
-From bb28516d346e6511f1e012321c48eb142763e539 Mon Sep 17 00:00:00 2001
+From 27a1aa77c7fbaaae8c6a776190a38dcbf3c3d6d2 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@redhat.com>
Date: Tue, 5 Feb 2013 19:25:05 -0500
Subject: [PATCH 12/14] efi: Disable secure boot if shim is in insecure mode
@@ -756,10 +759,10 @@ Signed-off-by: Josh Boyer <jwboyer@redhat.com>
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
-index 53bfe4f..946028b 100644
+index 4e172e9..4905f4d 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
-@@ -864,8 +864,9 @@ fail:
+@@ -744,8 +744,9 @@ free_mem_map:
static int get_secure_boot(void)
{
@@ -770,7 +773,7 @@ index 53bfe4f..946028b 100644
efi_guid_t var_guid = EFI_GLOBAL_VARIABLE_GUID;
efi_status_t status;
-@@ -889,6 +890,23 @@ static int get_secure_boot(void)
+@@ -769,6 +770,23 @@ static int get_secure_boot(void)
if (setup == 1)
return 0;
@@ -798,7 +801,7 @@ index 53bfe4f..946028b 100644
1.8.3.1
-From 4c8824bac8d4284e66c39c365ba84151f2d78e87 Mon Sep 17 00:00:00 2001
+From 2a445ca2c187da4497ef5f68f111574fd2b0d419 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@fedoraproject.org>
Date: Tue, 27 Aug 2013 13:28:43 -0400
Subject: [PATCH 13/14] efi: Make EFI_SECURE_BOOT_SIG_ENFORCE depend on EFI
@@ -812,11 +815,11 @@ 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 6a6c19b..10498ec 100644
+index fe212ef..bf83fd3 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -1582,7 +1582,8 @@ config EFI_STUB
- See Documentation/x86/efi-stub.txt for more information.
+@@ -1605,7 +1605,8 @@ config EFI_STUB
+ See Documentation/efi-stub.txt for more information.
config EFI_SECURE_BOOT_SIG_ENFORCE
- def_bool n
@@ -829,7 +832,7 @@ index 6a6c19b..10498ec 100644
1.8.3.1
-From 871b0ed1847c3c5413a4ca72ecf18735858f7708 Mon Sep 17 00:00:00 2001
+From b1c533cc1d1ca7a03497cc4f2e1b029bde95633c Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@fedoraproject.org>
Date: Tue, 27 Aug 2013 13:33:03 -0400
Subject: [PATCH 14/14] efi: Add EFI_SECURE_BOOT bit
@@ -844,10 +847,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 deeb7bc..08dc16e 100644
+index fe429c1..469fbf0 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
-@@ -1131,7 +1131,9 @@ void __init setup_arch(char **cmdline_p)
+@@ -1129,7 +1129,9 @@ void __init setup_arch(char **cmdline_p)
#ifdef CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE
if (boot_params.secure_boot) {
@@ -858,10 +861,10 @@ index deeb7bc..08dc16e 100644
#endif
diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 5f8f176..eed2202 100644
+index bc5687d..b010a2e 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
-@@ -634,6 +634,7 @@ extern int __init efi_setup_pcdp_console(char *);
+@@ -653,6 +653,7 @@ extern int __init efi_setup_pcdp_console(char *);
#define EFI_RUNTIME_SERVICES 3 /* Can we use runtime services? */
#define EFI_MEMMAP 4 /* Can we use EFI memory map? */
#define EFI_64BIT 5 /* Is the firmware 64-bit? */
diff --git a/freed-ora/current/f19/silence-acpi-blacklist.patch b/freed-ora/current/f19/silence-acpi-blacklist.patch
deleted file mode 100644
index c5997bb6e..000000000
--- a/freed-ora/current/f19/silence-acpi-blacklist.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -up linux-2.6.26.noarch/drivers/acpi/blacklist.c.jx linux-2.6.26.noarch/drivers/acpi/blacklist.c
---- linux-2.6.26.noarch/drivers/acpi/blacklist.c.jx 2008-07-13 17:51:29.000000000 -0400
-+++ linux-2.6.26.noarch/drivers/acpi/blacklist.c 2008-08-12 14:21:39.000000000 -0400
-@@ -81,18 +81,18 @@ static int __init blacklist_by_year(void
-
- /* Doesn't exist? Likely an old system */
- if (!dmi_get_date(DMI_BIOS_DATE, &year, NULL, NULL)) {
-- printk(KERN_ERR PREFIX "no DMI BIOS year, "
-+ printk(KERN_INFO PREFIX "no DMI BIOS year, "
- "acpi=force is required to enable ACPI\n" );
- return 1;
- }
- /* 0? Likely a buggy new BIOS */
- if (year == 0) {
-- printk(KERN_ERR PREFIX "DMI BIOS year==0, "
-+ printk(KERN_INFO PREFIX "DMI BIOS year==0, "
- "assuming ACPI-capable machine\n" );
- return 0;
- }
- if (year < CONFIG_ACPI_BLACKLIST_YEAR) {
-- printk(KERN_ERR PREFIX "BIOS age (%d) fails cutoff (%d), "
-+ printk(KERN_INFO PREFIX "BIOS age (%d) fails cutoff (%d), "
- "acpi=force is required to enable ACPI\n",
- year, CONFIG_ACPI_BLACKLIST_YEAR);
- return 1;
diff --git a/freed-ora/current/f19/sources b/freed-ora/current/f19/sources
index e908a8fd6..4dd33bacb 100644
--- a/freed-ora/current/f19/sources
+++ b/freed-ora/current/f19/sources
@@ -1,2 +1,2 @@
-254f59707b6676b59ce5ca5c3c698319 linux-libre-3.12-gnu.tar.xz
-8d78b7fe81e226b022b331e8a1da74b7 patch-3.12-gnu-3.12.11-gnu.xz
+98a8e803e0ed08557f3cdd4d56b0ddc1 linux-libre-3.13-gnu.tar.xz
+de4e4158ff1711cd57196f323358d0ec patch-3.13-gnu-3.13.3-gnu.xz
diff --git a/freed-ora/current/f19/tg3-Add-support-for-new-577xx-device-ids.patch b/freed-ora/current/f19/tg3-Add-support-for-new-577xx-device-ids.patch
deleted file mode 100644
index 585acbdf4..000000000
--- a/freed-ora/current/f19/tg3-Add-support-for-new-577xx-device-ids.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-Bugzilla: 1044471
-Upstream-status: 3.13
-
-From 68273712a19e9107a498a371532b3b3eb6dbb14c Mon Sep 17 00:00:00 2001
-From: Nithin Sujir <nsujir@broadcom.com>
-Date: Fri, 20 Sep 2013 16:46:56 -0700
-Subject: [PATCH] tg3: Add support for new 577xx device ids
-
-This patch adds support for 57764, 57765, 57787, 57782 and 57786
-devices.
-
-Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom.com>
-Signed-off-by: Michael Chan <mchan@broadcom.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- drivers/net/ethernet/broadcom/tg3.c | 15 +++++++++++++--
- drivers/net/ethernet/broadcom/tg3.h | 3 +++
- 2 files changed, 16 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
-index bcb92d4..c98f6b0 100644
---- a/drivers/net/ethernet/broadcom/tg3.c
-+++ b/drivers/net/ethernet/broadcom/tg3.c
-@@ -337,6 +337,11 @@ static DEFINE_PCI_DEVICE_TABLE(tg3_pci_tbl) = {
- {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5762)},
- {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5725)},
- {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5727)},
-+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57764)},
-+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57767)},
-+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57787)},
-+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57782)},
-+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57786)},
- {PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9DXX)},
- {PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9MXX)},
- {PCI_DEVICE(PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1000)},
-@@ -15761,9 +15766,12 @@ static void tg3_detect_asic_rev(struct tg3 *tp, u32 misc_ctrl_reg)
- tp->pdev->device == TG3PCI_DEVICE_TIGON3_5718 ||
- tp->pdev->device == TG3PCI_DEVICE_TIGON3_5719 ||
- tp->pdev->device == TG3PCI_DEVICE_TIGON3_5720 ||
-+ tp->pdev->device == TG3PCI_DEVICE_TIGON3_57767 ||
-+ tp->pdev->device == TG3PCI_DEVICE_TIGON3_57764 ||
- tp->pdev->device == TG3PCI_DEVICE_TIGON3_5762 ||
- tp->pdev->device == TG3PCI_DEVICE_TIGON3_5725 ||
-- tp->pdev->device == TG3PCI_DEVICE_TIGON3_5727)
-+ tp->pdev->device == TG3PCI_DEVICE_TIGON3_5727 ||
-+ tp->pdev->device == TG3PCI_DEVICE_TIGON3_57787)
- reg = TG3PCI_GEN2_PRODID_ASICREV;
- else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57781 ||
- tp->pdev->device == TG3PCI_DEVICE_TIGON3_57785 ||
-@@ -17411,9 +17419,12 @@ static int tg3_init_one(struct pci_dev *pdev,
- tp->pdev->device == TG3PCI_DEVICE_TIGON3_5718 ||
- tp->pdev->device == TG3PCI_DEVICE_TIGON3_5719 ||
- tp->pdev->device == TG3PCI_DEVICE_TIGON3_5720 ||
-+ tp->pdev->device == TG3PCI_DEVICE_TIGON3_57767 ||
-+ tp->pdev->device == TG3PCI_DEVICE_TIGON3_57764 ||
- tp->pdev->device == TG3PCI_DEVICE_TIGON3_5762 ||
- tp->pdev->device == TG3PCI_DEVICE_TIGON3_5725 ||
-- tp->pdev->device == TG3PCI_DEVICE_TIGON3_5727) {
-+ tp->pdev->device == TG3PCI_DEVICE_TIGON3_5727 ||
-+ tp->pdev->device == TG3PCI_DEVICE_TIGON3_57787) {
- tg3_flag_set(tp, ENABLE_APE);
- tp->aperegs = pci_ioremap_bar(pdev, BAR_2);
- if (!tp->aperegs) {
-diff --git a/drivers/net/ethernet/broadcom/tg3.h b/drivers/net/ethernet/broadcom/tg3.h
-index 7025780..5c3835a 100644
---- a/drivers/net/ethernet/broadcom/tg3.h
-+++ b/drivers/net/ethernet/broadcom/tg3.h
-@@ -68,6 +68,9 @@
- #define TG3PCI_DEVICE_TIGON3_5762 0x1687
- #define TG3PCI_DEVICE_TIGON3_5725 0x1643
- #define TG3PCI_DEVICE_TIGON3_5727 0x16f3
-+#define TG3PCI_DEVICE_TIGON3_57764 0x1642
-+#define TG3PCI_DEVICE_TIGON3_57767 0x1683
-+#define TG3PCI_DEVICE_TIGON3_57787 0x1641
- /* 0x04 --> 0x2c unused */
- #define TG3PCI_SUBVENDOR_ID_BROADCOM PCI_VENDOR_ID_BROADCOM
- #define TG3PCI_SUBDEVICE_ID_BROADCOM_95700A6 0x1644
---
-1.8.4.2
-
diff --git a/freed-ora/current/f19/x86-allow-1024-cpus.patch b/freed-ora/current/f19/x86-allow-1024-cpus.patch
deleted file mode 100644
index decafd6ef..000000000
--- a/freed-ora/current/f19/x86-allow-1024-cpus.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index f67e839..d726b2d 100644
---- a/arch/x86/Kconfig
-+++ b/arch/x86/Kconfig
-@@ -825,7 +825,7 @@ config MAXSMP
- config NR_CPUS
- int "Maximum number of CPUs" if SMP && !MAXSMP
- range 2 8 if SMP && X86_32 && !X86_BIGSMP
-- range 2 512 if SMP && !MAXSMP
-+ range 2 1024 if SMP && !MAXSMP
- default "1" if !SMP
- default "4096" if MAXSMP
- default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000)
OpenPOWER on IntegriCloud