Update KERNEL_VERSION to 4.9.51
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