diff --git a/KERNEL_VERSION b/KERNEL_VERSION
index 83e4ab6..2ba6040 100644
--- a/KERNEL_VERSION
+++ b/KERNEL_VERSION
@@ -1 +1 @@
-4.9.47
+4.9.51
diff --git a/patches.renesas/0001-drm-bridge-adv7511-Add-Audio-support.patch b/patches.renesas/0001-drm-bridge-adv7511-Add-Audio-support.patch
index 68098bc..718ed1e 100644
--- a/patches.renesas/0001-drm-bridge-adv7511-Add-Audio-support.patch
+++ b/patches.renesas/0001-drm-bridge-adv7511-Add-Audio-support.patch
@@ -85,7 +85,7 @@
  
  	unsigned int current_edid_segment;
  	uint8_t edid_buf[256];
-@@ -334,6 +336,7 @@ struct adv7511 {
+@@ -336,6 +338,7 @@ struct adv7511 {
  	bool use_timing_gen;
  
  	enum adv7511_type type;
@@ -93,7 +93,7 @@
  };
  
  #ifdef CONFIG_DRM_I2C_ADV7533
-@@ -389,4 +392,17 @@ static inline int adv7533_parse_dt(struc
+@@ -391,4 +394,17 @@ static inline int adv7533_parse_dt(struc
  }
  #endif
  
@@ -329,7 +329,7 @@
 +}
 --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
 +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
-@@ -1037,6 +1037,8 @@ static int adv7511_probe(struct i2c_clie
+@@ -1060,6 +1060,8 @@ static int adv7511_probe(struct i2c_clie
  		goto err_unregister_cec;
  	}
  
@@ -338,7 +338,7 @@
  	return 0;
  
  err_unregister_cec:
-@@ -1058,6 +1060,8 @@ static int adv7511_remove(struct i2c_cli
+@@ -1081,6 +1083,8 @@ static int adv7511_remove(struct i2c_cli
  
  	drm_bridge_remove(&adv7511->bridge);
  
diff --git a/patches.renesas/0001-drm-bridge-adv7511-Initialize-regulators.patch b/patches.renesas/0001-drm-bridge-adv7511-Initialize-regulators.patch
index 3126469..fcca4b0 100644
--- a/patches.renesas/0001-drm-bridge-adv7511-Initialize-regulators.patch
+++ b/patches.renesas/0001-drm-bridge-adv7511-Initialize-regulators.patch
@@ -29,7 +29,7 @@
  
  #include <drm/drm_crtc_helper.h>
  #include <drm/drm_mipi_dsi.h>
-@@ -329,6 +330,9 @@ struct adv7511 {
+@@ -331,6 +332,9 @@ struct adv7511 {
  
  	struct gpio_desc *gpio_pd;
  
@@ -41,7 +41,7 @@
  	struct mipi_dsi_device *dsi;
 --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
 +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
-@@ -839,6 +839,58 @@ static struct drm_bridge_funcs adv7511_b
+@@ -860,6 +860,58 @@ static struct drm_bridge_funcs adv7511_b
   * Probe & remove
   */
  
@@ -100,7 +100,7 @@
  static int adv7511_parse_dt(struct device_node *np,
  			    struct adv7511_link_config *config)
  {
-@@ -939,6 +991,7 @@ static int adv7511_probe(struct i2c_clie
+@@ -960,6 +1012,7 @@ static int adv7511_probe(struct i2c_clie
  	if (!adv7511)
  		return -ENOMEM;
  
@@ -108,7 +108,7 @@
  	adv7511->powered = false;
  	adv7511->status = connector_status_disconnected;
  
-@@ -956,13 +1009,21 @@ static int adv7511_probe(struct i2c_clie
+@@ -977,13 +1030,21 @@ static int adv7511_probe(struct i2c_clie
  	if (ret)
  		return ret;
  
@@ -132,7 +132,7 @@
  
  	if (adv7511->gpio_pd) {
  		mdelay(5);
-@@ -970,12 +1031,14 @@ static int adv7511_probe(struct i2c_clie
+@@ -991,12 +1052,14 @@ static int adv7511_probe(struct i2c_clie
  	}
  
  	adv7511->regmap = devm_regmap_init_i2c(i2c, &adv7511_regmap_config);
@@ -150,7 +150,7 @@
  	dev_dbg(dev, "Rev. %d\n", val);
  
  	if (adv7511->type == ADV7511)
-@@ -985,7 +1048,7 @@ static int adv7511_probe(struct i2c_clie
+@@ -1006,7 +1069,7 @@ static int adv7511_probe(struct i2c_clie
  	else
  		ret = adv7533_patch_registers(adv7511);
  	if (ret)
@@ -159,7 +159,7 @@
  
  	regmap_write(adv7511->regmap, ADV7511_REG_EDID_I2C_ADDR, edid_i2c_addr);
  	regmap_write(adv7511->regmap, ADV7511_REG_PACKET_I2C_ADDR,
-@@ -995,10 +1058,11 @@ static int adv7511_probe(struct i2c_clie
+@@ -1016,10 +1079,11 @@ static int adv7511_probe(struct i2c_clie
  
  	adv7511_packet_disable(adv7511, 0xffff);
  
@@ -174,7 +174,7 @@
  
  	if (adv7511->type == ADV7533) {
  		ret = adv7533_init_cec(adv7511);
-@@ -1045,6 +1109,8 @@ err_unregister_cec:
+@@ -1068,6 +1132,8 @@ err_unregister_cec:
  	adv7533_uninit_cec(adv7511);
  err_i2c_unregister_edid:
  	i2c_unregister_device(adv7511->i2c_edid);
@@ -183,7 +183,7 @@
  
  	return ret;
  }
-@@ -1058,6 +1124,8 @@ static int adv7511_remove(struct i2c_cli
+@@ -1081,6 +1147,8 @@ static int adv7511_remove(struct i2c_cli
  		adv7533_uninit_cec(adv7511);
  	}
  
diff --git a/patches.renesas/0002-drm-bridge-adv7511-Use-work_struct-to-defer-hotplug-.patch b/patches.renesas/0002-drm-bridge-adv7511-Use-work_struct-to-defer-hotplug-.patch
deleted file mode 100644
index c888175..0000000
--- a/patches.renesas/0002-drm-bridge-adv7511-Use-work_struct-to-defer-hotplug-.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 4f389283ad4ecc0bceb09cccb825df1822fca6e3 Mon Sep 17 00:00:00 2001
-From: John Stultz <john.stultz@linaro.org>
-Date: Mon, 16 Jan 2017 16:52:47 -0800
-Subject: [PATCH 002/255] drm/bridge: adv7511: Use work_struct to defer hotplug
- handing to out of irq context
-
-I was recently seeing issues with EDID probing, where
-the logic to wait for the EDID read bit to be set by the
-IRQ wasn't happening and the code would time out and fail.
-
-Digging deeper, I found this was due to the fact that
-IRQs were disabled as we were running in IRQ context from
-the HPD signal.
-
-Thus this patch changes the logic to handle the HPD signal
-via a work_struct so we can be out of irq context.
-
-With this patch, the EDID probing on hotplug does not time
-out.
-
-Cc: David Airlie <airlied@linux.ie>
-Cc: Archit Taneja <architt@codeaurora.org>
-Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
-Cc: Lars-Peter Clausen <lars@metafoo.de>
-Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Cc: dri-devel@lists.freedesktop.org
-Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Signed-off-by: John Stultz <john.stultz@linaro.org>
-Signed-off-by: Archit Taneja <architt@codeaurora.org>
-Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-2-git-send-email-john.stultz@linaro.org
-(cherry picked from commit 518cb7057a59b9441336d2e88a396d52b6ab0cce)
-Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
----
- drivers/gpu/drm/bridge/adv7511/adv7511.h     |    2 ++
- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c |   11 ++++++++++-
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
---- a/drivers/gpu/drm/bridge/adv7511/adv7511.h
-+++ b/drivers/gpu/drm/bridge/adv7511/adv7511.h
-@@ -318,6 +318,8 @@ struct adv7511 {
- 	bool edid_read;
- 
- 	wait_queue_head_t wq;
-+	struct work_struct hpd_work;
-+
- 	struct drm_bridge bridge;
- 	struct drm_connector connector;
- 
---- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
-+++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
-@@ -402,6 +402,13 @@ static bool adv7511_hpd(struct adv7511 *
- 	return false;
- }
- 
-+static void adv7511_hpd_work(struct work_struct *work)
-+{
-+	struct adv7511 *adv7511 = container_of(work, struct adv7511, hpd_work);
-+
-+	drm_helper_hpd_irq_event(adv7511->connector.dev);
-+}
-+
- static int adv7511_irq_process(struct adv7511 *adv7511, bool process_hpd)
- {
- 	unsigned int irq0, irq1;
-@@ -419,7 +426,7 @@ static int adv7511_irq_process(struct ad
- 	regmap_write(adv7511->regmap, ADV7511_REG_INT(1), irq1);
- 
- 	if (process_hpd && irq0 & ADV7511_INT0_HPD && adv7511->bridge.encoder)
--		drm_helper_hpd_irq_event(adv7511->connector.dev);
-+		schedule_work(&adv7511->hpd_work);
- 
- 	if (irq0 & ADV7511_INT0_EDID_READY || irq1 & ADV7511_INT1_DDC_ERROR) {
- 		adv7511->edid_read = true;
-@@ -1070,6 +1077,8 @@ static int adv7511_probe(struct i2c_clie
- 			goto err_i2c_unregister_edid;
- 	}
- 
-+	INIT_WORK(&adv7511->hpd_work, adv7511_hpd_work);
-+
- 	if (i2c->irq) {
- 		init_waitqueue_head(&adv7511->wq);
- 
diff --git a/patches.renesas/0003-drm-bridge-adv7511-Switch-to-using-drm_kms_helper_ho.patch b/patches.renesas/0003-drm-bridge-adv7511-Switch-to-using-drm_kms_helper_ho.patch
deleted file mode 100644
index 2ed38c0..0000000
--- a/patches.renesas/0003-drm-bridge-adv7511-Switch-to-using-drm_kms_helper_ho.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 399870f6fae9864ccc6a72db51b05cbdddfe5af5 Mon Sep 17 00:00:00 2001
-From: John Stultz <john.stultz@linaro.org>
-Date: Mon, 16 Jan 2017 16:52:48 -0800
-Subject: [PATCH 003/255] drm/bridge: adv7511: Switch to using
- drm_kms_helper_hotplug_event()
-
-In chasing down a previous issue with EDID probing from calling
-drm_helper_hpd_irq_event() from irq context, Laurent noticed
-that the DRM documentation suggests that
-drm_kms_helper_hotplug_event() should be used instead.
-
-Thus this patch replaces drm_helper_hpd_irq_event() with
-drm_kms_helper_hotplug_event(), which requires we update the
-connector.status entry and only call _hotplug_event() when the
-status changes.
-
-Cc: David Airlie <airlied@linux.ie>
-Cc: Archit Taneja <architt@codeaurora.org>
-Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
-Cc: Lars-Peter Clausen <lars@metafoo.de>
-Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Cc: dri-devel@lists.freedesktop.org
-Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Signed-off-by: John Stultz <john.stultz@linaro.org>
-Signed-off-by: Archit Taneja <architt@codeaurora.org>
-Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-3-git-send-email-john.stultz@linaro.org
-(cherry picked from commit 6d5104c5a6b56385426e15047050584794bb6254)
-Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
----
- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c |   16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
---- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
-+++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
-@@ -405,8 +405,22 @@ static bool adv7511_hpd(struct adv7511 *
- static void adv7511_hpd_work(struct work_struct *work)
- {
- 	struct adv7511 *adv7511 = container_of(work, struct adv7511, hpd_work);
-+	enum drm_connector_status status;
-+	unsigned int val;
-+	int ret;
- 
--	drm_helper_hpd_irq_event(adv7511->connector.dev);
-+	ret = regmap_read(adv7511->regmap, ADV7511_REG_STATUS, &val);
-+	if (ret < 0)
-+		status = connector_status_disconnected;
-+	else if (val & ADV7511_STATUS_HPD)
-+		status = connector_status_connected;
-+	else
-+		status = connector_status_disconnected;
-+
-+	if (adv7511->connector.status != status) {
-+		adv7511->connector.status = status;
-+		drm_kms_helper_hotplug_event(adv7511->connector.dev);
-+	}
- }
- 
- static int adv7511_irq_process(struct adv7511 *adv7511, bool process_hpd)
diff --git a/series b/series
index a618ca3..df9109e 100644
--- a/series
+++ b/series
@@ -314,8 +314,6 @@
 patches.renesas/0299-drm-bridge-add-DesignWare-HDMI-I2S-audio-support.patch
 
 patches.renesas/0001-drm-bridge-adv7511-Initialize-regulators.patch
-patches.renesas/0002-drm-bridge-adv7511-Use-work_struct-to-defer-hotplug-.patch
-patches.renesas/0003-drm-bridge-adv7511-Switch-to-using-drm_kms_helper_ho.patch
 patches.renesas/0004-drm-bridge-adv7511-Enable-HPD-interrupts-to-support-.patch
 patches.renesas/0005-drm-bridge-adv7511-Rework-adv7511_power_on-off-so-th.patch
 patches.renesas/0006-drm-bridge-adv7511-Reuse-__adv7511_power_on-off-when.patch
