diff options
author | Alexandre Oliva <lxoliva@fsfla.org> | 2014-02-22 13:17:34 +0000 |
---|---|---|
committer | Alexandre Oliva <lxoliva@fsfla.org> | 2014-02-22 13:17:34 +0000 |
commit | 3a21bee1ead8d31f22f5c6dd0d8f2a4dd0ec6622 (patch) | |
tree | ba3729a183ef0aa65e30ab24e4dc286287650c5e /freed-ora/current/f19 | |
parent | 20d1eb3468d34d8e60dbe1e1c8a2885e35596b58 (diff) | |
download | linux-libre-raptor-3a21bee1ead8d31f22f5c6dd0d8f2a4dd0ec6622.tar.gz linux-libre-raptor-3a21bee1ead8d31f22f5c6dd0d8f2a4dd0ec6622.zip |
3.13.3-100.fc19.gnu
Diffstat (limited to 'freed-ora/current/f19')
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 Binary files differdeleted file mode 100644 index 6ff07d5d1..000000000 --- a/freed-ora/current/f19/linux-libre-3.12-gnu.xdelta.xz +++ /dev/null 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 Binary files differnew file mode 100644 index 000000000..f134777dc --- /dev/null +++ b/freed-ora/current/f19/linux-libre-3.13-gnu.xdelta.xz 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) |