diff --git a/openpower/linux/0001-xhci-Use-xhci_pci_remove-for-xhci-device-shutdown.patch b/openpower/linux/0001-xhci-Use-xhci_pci_remove-for-xhci-device-shutdown.patch
index 93e6a6d..79b06df 100644
--- a/openpower/linux/0001-xhci-Use-xhci_pci_remove-for-xhci-device-shutdown.patch
+++ b/openpower/linux/0001-xhci-Use-xhci_pci_remove-for-xhci-device-shutdown.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From 7cbcf3b28bbf626e9c98029a057c5ab3ec148d28 Mon Sep 17 00:00:00 2001
 From: Thadeu Lima De Souza Cascardo <thadeul@br.ibm.com>
 Date: Tue, 25 Mar 2014 10:45:16 -0400
-Subject: [PATCH 01/11] xhci: Use xhci_pci_remove for xhci device shutdown
+Subject: [PATCH 01/10] xhci: Use xhci_pci_remove for xhci device shutdown
 
 Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
 Signed-off-by: Joel Stanley <joel@jms.id.au>
@@ -11,10 +11,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
-index cbf3be66f89c..2c5527bd3341 100644
+index 5af57af..cbc2aba 100644
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -465,7 +465,7 @@ static struct pci_driver xhci_pci_driver = {
+@@ -481,7 +481,7 @@ static struct pci_driver xhci_pci_driver = {
  	.remove =	xhci_pci_remove,
  	/* suspend and resume implemented later */
  
@@ -23,3 +23,6 @@
  #ifdef CONFIG_PM
  	.driver = {
  		.pm = &usb_hcd_pci_pm_ops
+-- 
+1.9.4
+
diff --git a/openpower/linux/0002-drivers-drm-ast-Switch-SCU-to-VGA-output-on-POST.patch b/openpower/linux/0002-drivers-drm-ast-Switch-SCU-to-VGA-output-on-POST.patch
index 4d06a46..492d202 100644
--- a/openpower/linux/0002-drivers-drm-ast-Switch-SCU-to-VGA-output-on-POST.patch
+++ b/openpower/linux/0002-drivers-drm-ast-Switch-SCU-to-VGA-output-on-POST.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From a8fbb62a66d62451e2078610f60203a4b290b82e Mon Sep 17 00:00:00 2001
 From: Jeremy Kerr <jk@ozlabs.org>
 Date: Wed, 2 Mar 2016 11:25:47 +0800
-Subject: [PATCH 02/11] drivers/drm/ast: Switch SCU to VGA output on POST
+Subject: [PATCH 02/10] drivers/drm/ast: Switch SCU to VGA output on POST
 
 On AST BMC platforms, the BMC may be using the VGA device for UART
 mirroring. In this case, we need to switch the DAC output to
@@ -15,7 +15,7 @@
  1 file changed, 33 insertions(+)
 
 diff --git a/drivers/gpu/drm/ast/ast_post.c b/drivers/gpu/drm/ast/ast_post.c
-index c7c58becb25d..a31158ed5928 100644
+index c7c58be..a31158e 100644
 --- a/drivers/gpu/drm/ast/ast_post.c
 +++ b/drivers/gpu/drm/ast/ast_post.c
 @@ -32,6 +32,7 @@
@@ -69,3 +69,6 @@
 +
 +	ast_moutdwm(ast, scu_addr | 0x2c, val);
 +}
+-- 
+1.9.4
+
diff --git a/openpower/linux/0003-net-mlx4_core-Set-UAR-page-size-to-4KB-regardless-of.patch b/openpower/linux/0003-net-mlx4_core-Set-UAR-page-size-to-4KB-regardless-of.patch
index f02445a..4c42fb0 100644
--- a/openpower/linux/0003-net-mlx4_core-Set-UAR-page-size-to-4KB-regardless-of.patch
+++ b/openpower/linux/0003-net-mlx4_core-Set-UAR-page-size-to-4KB-regardless-of.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From 55cf7cd9949d7c4a3b7eb1821a30a4c41a2b3b81 Mon Sep 17 00:00:00 2001
 From: Huy Nguyen <huyn@mellanox.com>
 Date: Wed, 17 Feb 2016 17:24:26 +0200
-Subject: [PATCH 03/11] net/mlx4_core: Set UAR page size to 4KB regardless of
+Subject: [PATCH 03/10] net/mlx4_core: Set UAR page size to 4KB regardless of
  system page size
 
 problem description:
@@ -58,7 +58,7 @@
  8 files changed, 84 insertions(+), 22 deletions(-)
 
 diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c
-index 348828271cb0..fef3ea60bdcd 100644
+index ecd461e..6563fe3 100644
 --- a/drivers/infiniband/hw/mlx4/qp.c
 +++ b/drivers/infiniband/hw/mlx4/qp.c
 @@ -1594,9 +1594,12 @@ static int __mlx4_ib_modify_qp(struct ib_qp *ibqp,
@@ -77,7 +77,7 @@
  	if (attr_mask & IB_QP_DEST_QPN)
  		context->remote_qpn = cpu_to_be32(attr->dest_qp_num);
 diff --git a/drivers/net/ethernet/mellanox/mlx4/cq.c b/drivers/net/ethernet/mellanox/mlx4/cq.c
-index 6eba58044456..6b8635378f1f 100644
+index 6eba580..6b86353 100644
 --- a/drivers/net/ethernet/mellanox/mlx4/cq.c
 +++ b/drivers/net/ethernet/mellanox/mlx4/cq.c
 @@ -320,7 +320,9 @@ int mlx4_cq_alloc(struct mlx4_dev *dev, int nent,
@@ -92,7 +92,7 @@
  	cq_context->log_page_size   = mtt->page_shift - MLX4_ICM_PAGE_SHIFT;
  
 diff --git a/drivers/net/ethernet/mellanox/mlx4/en_resources.c b/drivers/net/ethernet/mellanox/mlx4/en_resources.c
-index 12aab5a659d3..02e925d6f734 100644
+index 12aab5a..02e925d 100644
 --- a/drivers/net/ethernet/mellanox/mlx4/en_resources.c
 +++ b/drivers/net/ethernet/mellanox/mlx4/en_resources.c
 @@ -58,7 +58,8 @@ void mlx4_en_fill_qp_context(struct mlx4_en_priv *priv, int size, int stride,
@@ -106,7 +106,7 @@
  	context->pri_path.ackto = 1 & 0x07;
  	context->pri_path.sched_queue = 0x83 | (priv->port - 1) << 6;
 diff --git a/drivers/net/ethernet/mellanox/mlx4/en_tx.c b/drivers/net/ethernet/mellanox/mlx4/en_tx.c
-index e4019a803a9c..0debb611da8b 100644
+index e4019a8..0debb61 100644
 --- a/drivers/net/ethernet/mellanox/mlx4/en_tx.c
 +++ b/drivers/net/ethernet/mellanox/mlx4/en_tx.c
 @@ -213,7 +213,9 @@ int mlx4_en_activate_tx_ring(struct mlx4_en_priv *priv,
@@ -121,10 +121,10 @@
  	err = mlx4_qp_to_ready(mdev->dev, &ring->wqres.mtt, &ring->context,
  			       &ring->qp, &ring->qp_state);
 diff --git a/drivers/net/ethernet/mellanox/mlx4/eq.c b/drivers/net/ethernet/mellanox/mlx4/eq.c
-index ff77b8b608bd..d527c5fa5c59 100644
+index 7417605..cbcfaf3 100644
 --- a/drivers/net/ethernet/mellanox/mlx4/eq.c
 +++ b/drivers/net/ethernet/mellanox/mlx4/eq.c
-@@ -929,9 +929,10 @@ static void __iomem *mlx4_get_eq_uar(struct mlx4_dev *dev, struct mlx4_eq *eq)
+@@ -930,9 +930,10 @@ static void __iomem *mlx4_get_eq_uar(struct mlx4_dev *dev, struct mlx4_eq *eq)
  
  	if (!priv->eq_table.uar_map[index]) {
  		priv->eq_table.uar_map[index] =
@@ -139,7 +139,7 @@
  			mlx4_err(dev, "Couldn't map EQ doorbell for EQN 0x%06x\n",
  				 eq->eqn);
 diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c
-index a7d3144c2388..fdd85a3989ca 100644
+index b774ba6..e95f3d7 100644
 --- a/drivers/net/ethernet/mellanox/mlx4/main.c
 +++ b/drivers/net/ethernet/mellanox/mlx4/main.c
 @@ -168,6 +168,20 @@ struct mlx4_port_config {
@@ -237,7 +237,7 @@
  		if (dev->caps.flags & MLX4_DEV_CAP_FLAG_MEM_WINDOW ||
  		    dev->caps.bmme_flags & MLX4_BMME_FLAG_TYPE_2_WIN)
 diff --git a/drivers/net/ethernet/mellanox/mlx4/pd.c b/drivers/net/ethernet/mellanox/mlx4/pd.c
-index 609c59dc854e..b3cc3ab63799 100644
+index 609c59d..b3cc3ab 100644
 --- a/drivers/net/ethernet/mellanox/mlx4/pd.c
 +++ b/drivers/net/ethernet/mellanox/mlx4/pd.c
 @@ -269,9 +269,15 @@ EXPORT_SYMBOL_GPL(mlx4_bf_free);
@@ -260,7 +260,7 @@
  		return -ENODEV;
  	}
 diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h
-index 7fde8af9b87e..e990cae8a959 100644
+index 7fde8af..e990cae 100644
 --- a/include/linux/mlx4/device.h
 +++ b/include/linux/mlx4/device.h
 @@ -44,6 +44,8 @@
@@ -295,3 +295,6 @@
 +	return (128 >> (PAGE_SHIFT - dev->uar_page_shift));
 +}
  #endif /* MLX4_DEVICE_H */
+-- 
+1.9.4
+
diff --git a/openpower/linux/0004-xhci-do-not-halt-the-secondary-HCD.patch b/openpower/linux/0004-xhci-do-not-halt-the-secondary-HCD.patch
index 0cfdd39..b6760c9 100644
--- a/openpower/linux/0004-xhci-do-not-halt-the-secondary-HCD.patch
+++ b/openpower/linux/0004-xhci-do-not-halt-the-secondary-HCD.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From de6c0cd214bbf94627c302db2c8101542f9b9e52 Mon Sep 17 00:00:00 2001
 From: Joel Stanley <joel@jms.id.au>
 Date: Tue, 19 Jul 2016 22:43:26 +0930
-Subject: [PATCH 04/11] xhci: do not halt the secondary HCD
+Subject: [PATCH 04/10] xhci: do not halt the secondary HCD
 
 We can't halt the secondary HCD, because it's also the primary HCD,
 which will cause problems if we have devices attached to the primary
@@ -15,10 +15,10 @@
  1 file changed, 15 insertions(+), 5 deletions(-)
 
 diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index f2e9f59c90d6..28fad2949308 100644
+index af4e681..af702ba 100644
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -682,6 +682,21 @@ void xhci_stop(struct usb_hcd *hcd)
+@@ -680,6 +680,21 @@ void xhci_stop(struct usb_hcd *hcd)
  
  	mutex_lock(&xhci->mutex);
  
@@ -40,7 +40,7 @@
  	if (!(xhci->xhc_state & XHCI_STATE_HALTED)) {
  		spin_lock_irq(&xhci->lock);
  
-@@ -693,11 +708,6 @@ void xhci_stop(struct usb_hcd *hcd)
+@@ -691,11 +706,6 @@ void xhci_stop(struct usb_hcd *hcd)
  		spin_unlock_irq(&xhci->lock);
  	}
  
@@ -52,3 +52,6 @@
  	xhci_cleanup_msix(xhci);
  
  	/* Deleting Compliance Mode Recovery Timer */
+-- 
+1.9.4
+
diff --git a/openpower/linux/0005-net-mlx5-Add-pci-shutdown-callback.patch b/openpower/linux/0005-net-mlx5-Add-pci-shutdown-callback.patch
index 56e3ae6..1cad2eb 100644
--- a/openpower/linux/0005-net-mlx5-Add-pci-shutdown-callback.patch
+++ b/openpower/linux/0005-net-mlx5-Add-pci-shutdown-callback.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From b2d5f1737ff524778727e390353b06e244d5647e Mon Sep 17 00:00:00 2001
 From: Carol L Soto <clsoto@linux.vnet.ibm.com>
 Date: Tue, 12 Jul 2016 17:04:07 -0500
-Subject: [PATCH 05/11] net/mlx5: Add pci shutdown callback
+Subject: [PATCH 05/10] net/mlx5: Add pci shutdown callback
 
 Backport of commit 5fc7197d3a256 ("net/mlx5: Add pci shutdown callback")
 so we can use for the OpenPower kernel.
@@ -31,10 +31,10 @@
  3 files changed, 36 insertions(+), 9 deletions(-)
 
 diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
-index 90e876ecc720..984668ec8a0b 100644
+index 26d25ec..566a3f1 100644
 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
 +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
-@@ -2241,7 +2241,16 @@ static void mlx5e_destroy_netdev(struct mlx5_core_dev *mdev, void *vpriv)
+@@ -2255,7 +2255,16 @@ static void mlx5e_destroy_netdev(struct mlx5_core_dev *mdev, void *vpriv)
  	schedule_work(&priv->set_rx_mode_work);
  	mlx5e_disable_async_events(priv);
  	flush_scheduled_work();
@@ -52,7 +52,7 @@
  	mlx5e_destroy_flow_tables(priv);
  	mlx5e_destroy_tirs(priv);
  	mlx5e_destroy_rqt(priv, MLX5E_SINGLE_RQ_RQT);
-@@ -2252,7 +2261,9 @@ static void mlx5e_destroy_netdev(struct mlx5_core_dev *mdev, void *vpriv)
+@@ -2266,7 +2275,9 @@ static void mlx5e_destroy_netdev(struct mlx5_core_dev *mdev, void *vpriv)
  	mlx5_dealloc_transport_domain(priv->mdev, priv->tdn);
  	mlx5_core_dealloc_pd(priv->mdev, priv->pdn);
  	mlx5_unmap_free_uar(priv->mdev, &priv->cq_uar);
@@ -64,10 +64,10 @@
  
  static void *mlx5e_get_netdev(void *vpriv)
 diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c
-index f5c1f4acc57b..aa39ff18b4f0 100644
+index e88605d..84c08672 100644
 --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c
 +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c
-@@ -921,7 +921,7 @@ static int mlx5_load_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv)
+@@ -913,7 +913,7 @@ static int mlx5_load_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv)
  	int err;
  
  	mutex_lock(&dev->intf_state_mutex);
@@ -76,7 +76,7 @@
  		dev_warn(&dev->pdev->dev, "%s: interface is up, NOP\n",
  			 __func__);
  		goto out;
-@@ -1079,7 +1079,8 @@ static int mlx5_load_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv)
+@@ -1071,7 +1071,8 @@ static int mlx5_load_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv)
  	if (err)
  		pr_info("failed request module on %s\n", MLX5_IB_MOD);
  
@@ -86,7 +86,7 @@
  out:
  	mutex_unlock(&dev->intf_state_mutex);
  
-@@ -1141,7 +1142,7 @@ static int mlx5_unload_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv)
+@@ -1133,7 +1134,7 @@ static int mlx5_unload_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv)
  	int err = 0;
  
  	mutex_lock(&dev->intf_state_mutex);
@@ -95,7 +95,7 @@
  		dev_warn(&dev->pdev->dev, "%s: interface is down, NOP\n",
  			 __func__);
  		goto out;
-@@ -1171,7 +1172,8 @@ static int mlx5_unload_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv)
+@@ -1163,7 +1164,8 @@ static int mlx5_unload_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv)
  	mlx5_cmd_cleanup(dev);
  
  out:
@@ -105,7 +105,7 @@
  	mutex_unlock(&dev->intf_state_mutex);
  	return err;
  }
-@@ -1381,6 +1383,18 @@ static const struct pci_error_handlers mlx5_err_handler = {
+@@ -1361,6 +1363,18 @@ static const struct pci_error_handlers mlx5_err_handler = {
  	.resume		= mlx5_pci_resume
  };
  
@@ -124,7 +124,7 @@
  static const struct pci_device_id mlx5_core_pci_table[] = {
  	{ PCI_VDEVICE(MELLANOX, 0x1011) }, /* Connect-IB */
  	{ PCI_VDEVICE(MELLANOX, 0x1012) }, /* Connect-IB VF */
-@@ -1398,6 +1412,7 @@ static struct pci_driver mlx5_core_driver = {
+@@ -1378,6 +1392,7 @@ static struct pci_driver mlx5_core_driver = {
  	.id_table       = mlx5_core_pci_table,
  	.probe          = init_one,
  	.remove         = remove_one,
@@ -133,7 +133,7 @@
  };
  
 diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h
-index 412aa988c6ad..dc26d9942120 100644
+index 626139d..6effb3e 100644
 --- a/include/linux/mlx5/driver.h
 +++ b/include/linux/mlx5/driver.h
 @@ -493,8 +493,9 @@ enum mlx5_device_state {
@@ -157,3 +157,6 @@
  	void			(*event) (struct mlx5_core_dev *dev,
  					  enum mlx5_dev_event event,
  					  unsigned long param);
+-- 
+1.9.4
+
diff --git a/openpower/linux/0006-powerpc-boot-Add-OPAL-console-to-epapr-wrappers.patch b/openpower/linux/0006-powerpc-boot-Add-OPAL-console-to-epapr-wrappers.patch
index b900a60..a682da0 100644
--- a/openpower/linux/0006-powerpc-boot-Add-OPAL-console-to-epapr-wrappers.patch
+++ b/openpower/linux/0006-powerpc-boot-Add-OPAL-console-to-epapr-wrappers.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From 04f36ee342ad739e3c3991480f5c5df0d6aeed0e Mon Sep 17 00:00:00 2001
 From: Oliver O'Halloran <oohall@gmail.com>
 Date: Fri, 24 Jun 2016 17:28:43 +1000
-Subject: [PATCH 06/11] powerpc/boot: Add OPAL console to epapr wrappers
+Subject: [PATCH 06/10] powerpc/boot: Add OPAL console to epapr wrappers
 
 This patch adds an OPAL console backend to the powerpc boot wrapper so
 that decompression failures inside the wrapper can be reported to the
@@ -33,19 +33,19 @@
  create mode 100644 arch/powerpc/boot/opal.c
 
 diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
-index 99e4487248ff..321a603f6ae3 100644
+index 57003d1..31eac62 100644
 --- a/arch/powerpc/boot/Makefile
 +++ b/arch/powerpc/boot/Makefile
 @@ -70,7 +70,7 @@ $(addprefix $(obj)/,$(zlib) cuboot-c2k.o gunzip_util.o main.o): \
  libfdt       := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c
  libfdtheader := fdt.h libfdt.h libfdt_internal.h
  
--$(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o epapr.o): \
-+$(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o epapr.o opal.o): \
+-$(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o epapr.o \
++$(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o epapr.o opal.o \
+ 	treeboot-akebono.o treeboot-currituck.o treeboot-iss4xx.o): \
  	$(addprefix $(obj)/,$(libfdtheader))
  
- src-wlib-y := string.S crt0.S crtsavres.S stdio.c main.c \
-@@ -78,7 +78,7 @@ src-wlib-y := string.S crt0.S crtsavres.S stdio.c main.c \
+@@ -79,7 +79,7 @@ src-wlib-y := string.S crt0.S crtsavres.S stdio.c main.c \
  		ns16550.c serial.c simple_alloc.c div64.S util.S \
  		gunzip_util.c elf_util.c $(zlib) devtree.c stdlib.c \
  		oflib.c ofconsole.c cuboot.c mpsc.c cpm-serial.c \
@@ -56,7 +56,7 @@
  src-wlib-$(CONFIG_8xx) += mpc8xx.c planetcore.c fsl-soc.c
 diff --git a/arch/powerpc/boot/opal-calls.S b/arch/powerpc/boot/opal-calls.S
 new file mode 100644
-index 000000000000..ff2f1b97bc53
+index 00000000..ff2f1b9
 --- /dev/null
 +++ b/arch/powerpc/boot/opal-calls.S
 @@ -0,0 +1,58 @@
@@ -120,7 +120,7 @@
 +OPAL_CALL(opal_console_flush,			OPAL_CONSOLE_FLUSH);
 diff --git a/arch/powerpc/boot/opal.c b/arch/powerpc/boot/opal.c
 new file mode 100644
-index 000000000000..3a2ce1e1f048
+index 00000000..3a2ce1e
 --- /dev/null
 +++ b/arch/powerpc/boot/opal.c
 @@ -0,0 +1,97 @@
@@ -222,7 +222,7 @@
 +}
 +#endif
 diff --git a/arch/powerpc/boot/ops.h b/arch/powerpc/boot/ops.h
-index 5e75e1c5518e..e19b64ef977a 100644
+index 5e75e1c..e19b64e 100644
 --- a/arch/powerpc/boot/ops.h
 +++ b/arch/powerpc/boot/ops.h
 @@ -89,6 +89,7 @@ int mpsc_console_init(void *devp, struct serial_console_data *scdp);
@@ -234,7 +234,7 @@
  			unsigned long granularity, unsigned long max_allocs);
  extern void flush_cache(void *, unsigned long);
 diff --git a/arch/powerpc/boot/ppc_asm.h b/arch/powerpc/boot/ppc_asm.h
-index 35ea60c1f070..b03373d8b386 100644
+index 35ea60c..b03373d 100644
 --- a/arch/powerpc/boot/ppc_asm.h
 +++ b/arch/powerpc/boot/ppc_asm.h
 @@ -61,6 +61,10 @@
@@ -249,7 +249,7 @@
  #define FIXUP_ENDIAN						   \
  	tdi   0, 0, 0x48; /* Reverse endian of b . + 8		*/ \
 diff --git a/arch/powerpc/boot/serial.c b/arch/powerpc/boot/serial.c
-index 167ee9433de6..e04c1e4063ae 100644
+index 167ee943..e04c1e4 100644
 --- a/arch/powerpc/boot/serial.c
 +++ b/arch/powerpc/boot/serial.c
 @@ -132,6 +132,8 @@ int serial_console_init(void)
@@ -262,7 +262,7 @@
  	/* Add other serial console driver calls here */
  
 diff --git a/arch/powerpc/boot/types.h b/arch/powerpc/boot/types.h
-index 31393d17a9c1..85565a89bcc2 100644
+index 31393d1..85565a8 100644
 --- a/arch/powerpc/boot/types.h
 +++ b/arch/powerpc/boot/types.h
 @@ -12,6 +12,16 @@ typedef short			s16;
@@ -282,3 +282,6 @@
  #define min(x,y) ({ \
  	typeof(x) _x = (x);	\
  	typeof(y) _y = (y);	\
+-- 
+1.9.4
+
diff --git a/openpower/linux/0007-tty-hvc-Use-opal-irqchip-interface-if-available.patch b/openpower/linux/0007-tty-hvc-Use-opal-irqchip-interface-if-available.patch
index e93d8f4..15ad0a4 100644
--- a/openpower/linux/0007-tty-hvc-Use-opal-irqchip-interface-if-available.patch
+++ b/openpower/linux/0007-tty-hvc-Use-opal-irqchip-interface-if-available.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From d78eb515d2be3b7cdc8fa60b517ab1ce8fcbce4b Mon Sep 17 00:00:00 2001
 From: Samuel Mendoza-Jonas <sam@mendozajonas.com>
 Date: Wed, 13 Jul 2016 11:15:42 +1000
-Subject: [PATCH 07/11] tty/hvc: Use opal irqchip interface if available
+Subject: [PATCH 07/10] tty/hvc: Use opal irqchip interface if available
 
 Update the hvc driver to use the OPAL irqchip if made available by the
 running firmware. If it is not present, the driver falls back to the
@@ -15,7 +15,7 @@
  1 file changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/tty/hvc/hvc_opal.c b/drivers/tty/hvc/hvc_opal.c
-index 47b54c6aefd2..276b796b24e4 100644
+index 9f660e5..046fd62 100644
 --- a/drivers/tty/hvc/hvc_opal.c
 +++ b/drivers/tty/hvc/hvc_opal.c
 @@ -214,7 +214,13 @@ static int hvc_opal_probe(struct platform_device *dev)
@@ -33,3 +33,6 @@
  	if (!irq) {
  		pr_err("hvc_opal: Unable to map interrupt for device %s\n",
  			dev->dev.of_node->full_name);
+-- 
+1.9.4
+
diff --git a/openpower/linux/0008-tty-hvc-Use-IRQF_SHARED-for-OPAL-hvc-consoles.patch b/openpower/linux/0008-tty-hvc-Use-IRQF_SHARED-for-OPAL-hvc-consoles.patch
index 3471e48..e3303a0 100644
--- a/openpower/linux/0008-tty-hvc-Use-IRQF_SHARED-for-OPAL-hvc-consoles.patch
+++ b/openpower/linux/0008-tty-hvc-Use-IRQF_SHARED-for-OPAL-hvc-consoles.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From d5c71bd9fe93ffe1c743d8b58bc31fe87a2d2524 Mon Sep 17 00:00:00 2001
 From: Samuel Mendoza-Jonas <sam@mendozajonas.com>
 Date: Wed, 13 Jul 2016 11:15:41 +1000
-Subject: [PATCH 08/11] tty/hvc: Use IRQF_SHARED for OPAL hvc consoles
+Subject: [PATCH 08/10] tty/hvc: Use IRQF_SHARED for OPAL hvc consoles
 
 Commit 2def86a7200c
 ("hvc: Convert to using interrupts instead of opal events")
@@ -33,7 +33,7 @@
  3 files changed, 9 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/tty/hvc/hvc_console.h b/drivers/tty/hvc/hvc_console.h
-index 913101980827..798c48d0d32c 100644
+index 9131019..798c48d 100644
 --- a/drivers/tty/hvc/hvc_console.h
 +++ b/drivers/tty/hvc/hvc_console.h
 @@ -60,6 +60,7 @@ struct hvc_struct {
@@ -45,7 +45,7 @@
  
  /* implemented by a low level driver */
 diff --git a/drivers/tty/hvc/hvc_irq.c b/drivers/tty/hvc/hvc_irq.c
-index c9adb0559f61..57d9df7ee1c9 100644
+index c9adb05..57d9df7 100644
 --- a/drivers/tty/hvc/hvc_irq.c
 +++ b/drivers/tty/hvc/hvc_irq.c
 @@ -14,6 +14,9 @@ static irqreturn_t hvc_handle_interrupt(int irq, void *dev_instance)
@@ -70,7 +70,7 @@
  		hp->irq_requested = 1;
  	return rc;
 diff --git a/drivers/tty/hvc/hvc_opal.c b/drivers/tty/hvc/hvc_opal.c
-index 276b796b24e4..510799311099 100644
+index 046fd62..1fc5d5b 100644
 --- a/drivers/tty/hvc/hvc_opal.c
 +++ b/drivers/tty/hvc/hvc_opal.c
 @@ -230,6 +230,9 @@ static int hvc_opal_probe(struct platform_device *dev)
@@ -83,3 +83,6 @@
  	dev_set_drvdata(&dev->dev, hp);
  
  	return 0;
+-- 
+1.9.4
+
diff --git a/openpower/linux/0009-usb-xhci-allow-xhci_check_bandwith-in-XHCI_STATE_REM.patch b/openpower/linux/0009-usb-xhci-allow-xhci_check_bandwith-in-XHCI_STATE_REM.patch
index 24851a3..f73028e 100644
--- a/openpower/linux/0009-usb-xhci-allow-xhci_check_bandwith-in-XHCI_STATE_REM.patch
+++ b/openpower/linux/0009-usb-xhci-allow-xhci_check_bandwith-in-XHCI_STATE_REM.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From 6bc7d4cebf82330f913a20dad3ce360fd7999a60 Mon Sep 17 00:00:00 2001
 From: Jeremy Kerr <jk@ozlabs.org>
 Date: Thu, 1 Dec 2016 18:15:59 +0800
-Subject: [PATCH 09/11] usb/xhci: allow xhci_check_bandwith in
+Subject: [PATCH 09/10] usb/xhci: allow xhci_check_bandwith in
  XHCI_STATE_REMOVING
 
 Change 98d74f9ce (and backported as 0eb1e16bf9) introduced
@@ -46,10 +46,10 @@
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 28fad2949308..c808e2e1f499 100644
+index af702ba..bd545b8 100644
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -2757,8 +2757,7 @@ int xhci_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -2803,8 +2803,7 @@ int xhci_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev)
  	if (ret <= 0)
  		return ret;
  	xhci = hcd_to_xhci(hcd);
@@ -59,3 +59,6 @@
  		return -ENODEV;
  
  	xhci_dbg(xhci, "%s called for udev %p\n", __func__, udev);
+-- 
+1.9.4
+
diff --git a/openpower/linux/0011-Release-v4.4.116-openpower1.patch b/openpower/linux/0010-Release-v4.4.227-openpower1.patch
similarity index 62%
rename from openpower/linux/0011-Release-v4.4.116-openpower1.patch
rename to openpower/linux/0010-Release-v4.4.227-openpower1.patch
index 6e8c1fc..a244752 100644
--- a/openpower/linux/0011-Release-v4.4.116-openpower1.patch
+++ b/openpower/linux/0010-Release-v4.4.227-openpower1.patch
@@ -1,23 +1,27 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From 780e77f6af4a104e43cc2ff74b7064f58ffd1828 Mon Sep 17 00:00:00 2001
 From: Joel Stanley <joel@jms.id.au>
 Date: Thu, 22 Feb 2018 13:36:09 +1030
-Subject: [PATCH 11/11] Release v4.4.116-openpower1
+Subject: [PATCH 10/10] Release v4.4.227-openpower1
 
 Signed-off-by: Joel Stanley <joel@jms.id.au>
+Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
 ---
  Makefile | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile b/Makefile
-index 71acaecd7899..c32911e36702 100644
+index f13f464..b8cbfb6 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -1,7 +1,7 @@
  VERSION = 4
  PATCHLEVEL = 4
- SUBLEVEL = 116
+ SUBLEVEL = 227
 -EXTRAVERSION =
 +EXTRAVERSION = -openpower1
  NAME = Blurry Fish Butt
  
  # *DOCUMENTATION*
+-- 
+1.9.4
+
diff --git a/openpower/linux/0010-powerpc-boot-Request-no-dynamic-linker-for-boot-wrap.patch b/openpower/linux/0010-powerpc-boot-Request-no-dynamic-linker-for-boot-wrap.patch
deleted file mode 100644
index 7967906..0000000
--- a/openpower/linux/0010-powerpc-boot-Request-no-dynamic-linker-for-boot-wrap.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Nicholas Piggin <npiggin@gmail.com>
-Date: Mon, 28 Nov 2016 12:42:26 +1100
-Subject: [PATCH 10/11] powerpc/boot: Request no dynamic linker for boot
- wrapper
-
-The boot wrapper performs its own relocations and does not require
-PT_INTERP segment. However currently we don't tell the linker that.
-
-Prior to binutils 2.28 that works OK. But since binutils commit
-1a9ccd70f9a7 ("Fix the linker so that it will not silently generate ELF
-binaries with invalid program headers. Fix readelf to report such
-invalid binaries.") binutils tries to create a program header segment
-due to PT_INTERP, and the link fails because there is no space for it:
-
-  ld: arch/powerpc/boot/zImage.pseries: Not enough room for program headers, try linking with -N
-  ld: final link failed: Bad value
-
-So tell the linker not to do that, by passing --no-dynamic-linker.
-
-Cc: stable@vger.kernel.org
-Reported-by: Anton Blanchard <anton@samba.org>
-Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
-[mpe: Drop dependency on ld-version.sh and massage change log]
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-(cherry picked from commit ff45000fcb56b5b0f1a14a865d3541746d838a0a)
-Signed-off-by: Joel Stanley <joel@jms.id.au>
-Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
----
- arch/powerpc/boot/wrapper | 25 ++++++++++++++++++++++++-
- 1 file changed, 24 insertions(+), 1 deletion(-)
-
-diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
-index ceaa75d5a684..8c8394e4e164 100755
---- a/arch/powerpc/boot/wrapper
-+++ b/arch/powerpc/boot/wrapper
-@@ -161,6 +161,28 @@ case "$elfformat" in
-     elf32-powerpc)	format=elf32ppc	;;
- esac
- 
-+ld_version()
-+{
-+    # Poached from scripts/ld-version.sh, but we don't want to call that because
-+    # this script (wrapper) is distributed separately from the kernel source.
-+    # Extract linker version number from stdin and turn into single number.
-+    awk '{
-+	gsub(".*\\)", "");
-+	gsub(".*version ", "");
-+	gsub("-.*", "");
-+	split($1,a, ".");
-+	print a[1]*100000000 + a[2]*1000000 + a[3]*10000;
-+	exit
-+    }'
-+}
-+
-+# Do not include PT_INTERP segment when linking pie. Non-pie linking
-+# just ignores this option.
-+LD_VERSION=$(${CROSS}ld --version | ld_version)
-+LD_NO_DL_MIN_VERSION=$(echo 2.26 | ld_version)
-+if [ "$LD_VERSION" -ge "$LD_NO_DL_MIN_VERSION" ] ; then
-+	nodl="--no-dynamic-linker"
-+fi
- 
- platformo=$object/"$platform".o
- lds=$object/zImage.lds
-@@ -412,7 +434,8 @@ if [ "$platform" != "miboot" ]; then
-     if [ -n "$link_address" ] ; then
-         text_start="-Ttext $link_address"
-     fi
--    ${CROSS}ld -m $format -T $lds $text_start $pie -o "$ofile" \
-+#link everything
-+    ${CROSS}ld -m $format -T $lds $text_start $pie $nodl -o "$ofile" \
- 	$platformo $tmp $object/wrapper.a
-     rm $tmp
- fi
