Release 4.4-openpower2 kernel

 - Updated defconfig for 4.4
 - Adds EEH PE patch
 - Restores xhci driver workarounds for USB bugs
 - aacraid driver is now usptream
 - Powerpc kexec patches are upstream

Tested on palmetto and habanero systems.

Signed-off-by: Joel Stanley <joel@jms.id.au>
diff --git a/openpower/linux/linux-0004-powerpc-eeh-Fix-PE-location-code.patch b/openpower/linux/linux-0004-powerpc-eeh-Fix-PE-location-code.patch
new file mode 100644
index 0000000..155133c
--- /dev/null
+++ b/openpower/linux/linux-0004-powerpc-eeh-Fix-PE-location-code.patch
@@ -0,0 +1,75 @@
+From 3cbe4777b9d0640df25fa4eb41b15199f78f9e99 Mon Sep 17 00:00:00 2001
+From: Gavin Shan <gwshan@linux.vnet.ibm.com>
+Date: Thu, 28 Jan 2016 16:18:37 +1100
+Subject: [PATCH 4/5] powerpc/eeh: Fix PE location code
+
+In eeh_pe_loc_get(), the PE location code is retrieved from the
+"ibm,loc-code" property of the device node for the bridge of the
+PE's primary bus. It's not correct because the property indicates
+the parent PE's location code.
+
+This reads the correct PE location code from "ibm,io-base-loc-code"
+or "ibm,slot-location-code" property of PE parent bus's device node.
+
+Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
+Signed-off-by: Sam Mendoza-Jonas <sam@mendozajonas.com>
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/kernel/eeh_pe.c | 33 +++++++++++++++------------------
+ 1 file changed, 15 insertions(+), 18 deletions(-)
+
+diff --git a/arch/powerpc/kernel/eeh_pe.c b/arch/powerpc/kernel/eeh_pe.c
+index 8654cb166c19..ca9e5371930e 100644
+--- a/arch/powerpc/kernel/eeh_pe.c
++++ b/arch/powerpc/kernel/eeh_pe.c
+@@ -883,32 +883,29 @@ void eeh_pe_restore_bars(struct eeh_pe *pe)
+ const char *eeh_pe_loc_get(struct eeh_pe *pe)
+ {
+ 	struct pci_bus *bus = eeh_pe_bus_get(pe);
+-	struct device_node *dn = pci_bus_to_OF_node(bus);
++	struct device_node *dn;
+ 	const char *loc = NULL;
+ 
+-	if (!dn)
+-		goto out;
++	while (bus) {
++		dn = pci_bus_to_OF_node(bus);
++		if (!dn) {
++			bus = bus->parent;
++			continue;
++		}
+ 
+-	/* PHB PE or root PE ? */
+-	if (pci_is_root_bus(bus)) {
+-		loc = of_get_property(dn, "ibm,loc-code", NULL);
+-		if (!loc)
++		if (pci_is_root_bus(bus))
+ 			loc = of_get_property(dn, "ibm,io-base-loc-code", NULL);
++		else
++			loc = of_get_property(dn, "ibm,slot-location-code",
++					      NULL);
++
+ 		if (loc)
+-			goto out;
++			return loc;
+ 
+-		/* Check the root port */
+-		dn = dn->child;
+-		if (!dn)
+-			goto out;
++		bus = bus->parent;
+ 	}
+ 
+-	loc = of_get_property(dn, "ibm,loc-code", NULL);
+-	if (!loc)
+-		loc = of_get_property(dn, "ibm,slot-location-code", NULL);
+-
+-out:
+-	return loc ? loc : "N/A";
++	return "N/A";
+ }
+ 
+ /**
+-- 
+2.7.0.rc3
+