diff --git a/KERNEL_VERSION b/KERNEL_VERSION
index 37dd9ea..8cd9821 100644
--- a/KERNEL_VERSION
+++ b/KERNEL_VERSION
@@ -1 +1 @@
-3.14.23
+3.14.24
diff --git a/patches.ltsi/ltsi-makefile-addition.patch b/patches.ltsi/ltsi-makefile-addition.patch
index c330ecb..3b3de89 100644
--- a/patches.ltsi/ltsi-makefile-addition.patch
+++ b/patches.ltsi/ltsi-makefile-addition.patch
@@ -18,7 +18,7 @@
 @@ -1,7 +1,7 @@
  VERSION = 3
  PATCHLEVEL = 14
- SUBLEVEL = 23
+ SUBLEVEL = 24
 -EXTRAVERSION =
 +EXTRAVERSION = -ltsi
  NAME = Remembering Coco
diff --git a/patches.renesas/0150-of-add-functions-to-count-number-of-elements-in-a-pr.patch b/patches.renesas/0150-of-add-functions-to-count-number-of-elements-in-a-pr.patch
index 9c36263..5783f46 100644
--- a/patches.renesas/0150-of-add-functions-to-count-number-of-elements-in-a-pr.patch
+++ b/patches.renesas/0150-of-add-functions-to-count-number-of-elements-in-a-pr.patch
@@ -18,15 +18,13 @@
 (cherry picked from commit ad54a0cfbeb4bd4033d09017557ccbc423f9d5ff)
 Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
 ---
- drivers/of/base.c  | 32 +++++++++++++++++++++++
- include/linux/of.h | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ drivers/of/base.c  |   32 ++++++++++++++++++++++
+ include/linux/of.h |   76 +++++++++++++++++++++++++++++++++++++++++++++++++++++
  2 files changed, 108 insertions(+)
 
-diff --git a/drivers/of/base.c b/drivers/of/base.c
-index 89e888a78899..1b95a405628f 100644
 --- a/drivers/of/base.c
 +++ b/drivers/of/base.c
-@@ -904,6 +904,38 @@ struct device_node *of_find_node_by_phandle(phandle handle)
+@@ -904,6 +904,38 @@ struct device_node *of_find_node_by_phan
  EXPORT_SYMBOL(of_find_node_by_phandle);
  
  /**
@@ -65,11 +63,9 @@
   * of_find_property_value_of_size
   *
   * @np:		device node from which the property value is to be read.
-diff --git a/include/linux/of.h b/include/linux/of.h
-index 435cb995904d..83d1ac80c91e 100644
 --- a/include/linux/of.h
 +++ b/include/linux/of.h
-@@ -198,6 +198,8 @@ extern struct device_node *of_find_node_with_property(
+@@ -198,6 +198,8 @@ extern struct device_node *of_find_node_
  extern struct property *of_find_property(const struct device_node *np,
  					 const char *name,
  					 int *lenp);
@@ -78,7 +74,7 @@
  extern int of_property_read_u32_index(const struct device_node *np,
  				       const char *propname,
  				       u32 index, u32 *out_value);
-@@ -390,6 +392,12 @@ static inline struct device_node *of_find_compatible_node(
+@@ -388,6 +390,12 @@ static inline struct device_node *of_fin
  	return NULL;
  }
  
@@ -91,7 +87,7 @@
  static inline int of_property_read_u32_index(const struct device_node *np,
  			const char *propname, u32 index, u32 *out_value)
  {
-@@ -536,6 +544,74 @@ static inline struct device_node *of_find_matching_node(
+@@ -592,6 +600,74 @@ static inline int of_property_read_strin
  }
  
  /**
@@ -166,6 +162,3 @@
   * of_property_read_bool - Findfrom a property
   * @np:		device node from which the property value is to be read.
   * @propname:	name of the property to be searched.
--- 
-2.1.2
-
diff --git a/patches.renesas/0405-ata-use-CONFIG_PM_SLEEP-instead-of-CONFIG_PM-where-a.patch b/patches.renesas/0405-ata-use-CONFIG_PM_SLEEP-instead-of-CONFIG_PM-where-a.patch
index ec3bf02..5687cc6 100644
--- a/patches.renesas/0405-ata-use-CONFIG_PM_SLEEP-instead-of-CONFIG_PM-where-a.patch
+++ b/patches.renesas/0405-ata-use-CONFIG_PM_SLEEP-instead-of-CONFIG_PM-where-a.patch
@@ -880,8 +880,8 @@
  #endif
 --- a/drivers/ata/pata_serverworks.c
 +++ b/drivers/ata/pata_serverworks.c
-@@ -437,7 +437,7 @@ static int serverworks_init_one(struct p
- 	return ata_pci_bmdma_init_one(pdev, ppi, &serverworks_sht, NULL, 0);
+@@ -446,7 +446,7 @@ static int serverworks_init_one(struct p
+ 	return ata_pci_bmdma_init_one(pdev, ppi, sht, NULL, 0);
  }
  
 -#ifdef CONFIG_PM
@@ -889,7 +889,7 @@
  static int serverworks_reinit_one(struct pci_dev *pdev)
  {
  	struct ata_host *host = pci_get_drvdata(pdev);
-@@ -469,7 +469,7 @@ static struct pci_driver serverworks_pci
+@@ -478,7 +478,7 @@ static struct pci_driver serverworks_pci
  	.id_table	= serverworks,
  	.probe 		= serverworks_init_one,
  	.remove		= ata_pci_remove_one,
diff --git a/patches.renesas/0767-media-of-move-graph-helpers-from-drivers-media-v4l2-.patch b/patches.renesas/0767-media-of-move-graph-helpers-from-drivers-media-v4l2-.patch
index 6f98f7a..e1ed55a 100644
--- a/patches.renesas/0767-media-of-move-graph-helpers-from-drivers-media-v4l2-.patch
+++ b/patches.renesas/0767-media-of-move-graph-helpers-from-drivers-media-v4l2-.patch
@@ -25,23 +25,21 @@
 (cherry picked from commit fd9fdb78a9bf85b94fb2190c82ff280c8f8375cc)
 Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
 ---
- drivers/media/i2c/adv7343.c                   |   4 +-
- drivers/media/i2c/mt9p031.c                   |   4 +-
- drivers/media/i2c/s5k5baf.c                   |   3 +-
- drivers/media/i2c/tvp514x.c                   |   3 +-
- drivers/media/i2c/tvp7002.c                   |   3 +-
- drivers/media/platform/exynos4-is/fimc-is.c   |   6 +-
- drivers/media/platform/exynos4-is/media-dev.c |   3 +-
- drivers/media/platform/exynos4-is/mipi-csis.c |   3 +-
- drivers/media/v4l2-core/v4l2-of.c             | 117 -------------------------
- drivers/of/base.c                             | 118 ++++++++++++++++++++++++++
- include/linux/of_graph.h                      |  46 ++++++++++
- include/media/v4l2-of.h                       |  25 +-----
+ drivers/media/i2c/adv7343.c                   |    4 
+ drivers/media/i2c/mt9p031.c                   |    4 
+ drivers/media/i2c/s5k5baf.c                   |    3 
+ drivers/media/i2c/tvp514x.c                   |    3 
+ drivers/media/i2c/tvp7002.c                   |    3 
+ drivers/media/platform/exynos4-is/fimc-is.c   |    6 -
+ drivers/media/platform/exynos4-is/media-dev.c |    3 
+ drivers/media/platform/exynos4-is/mipi-csis.c |    3 
+ drivers/media/v4l2-core/v4l2-of.c             |  117 -------------------------
+ drivers/of/base.c                             |  118 ++++++++++++++++++++++++++
+ include/linux/of_graph.h                      |   46 ++++++++++
+ include/media/v4l2-of.h                       |   25 -----
  12 files changed, 182 insertions(+), 153 deletions(-)
  create mode 100644 include/linux/of_graph.h
 
-diff --git a/drivers/media/i2c/adv7343.c b/drivers/media/i2c/adv7343.c
-index d4e15a617c3b..9d38f7b36cd1 100644
 --- a/drivers/media/i2c/adv7343.c
 +++ b/drivers/media/i2c/adv7343.c
 @@ -26,12 +26,12 @@
@@ -58,7 +56,7 @@
  
  #include "adv7343_regs.h"
  
-@@ -410,7 +410,7 @@ adv7343_get_pdata(struct i2c_client *client)
+@@ -410,7 +410,7 @@ adv7343_get_pdata(struct i2c_client *cli
  	if (!IS_ENABLED(CONFIG_OF) || !client->dev.of_node)
  		return client->dev.platform_data;
  
@@ -67,8 +65,6 @@
  	if (!np)
  		return NULL;
  
-diff --git a/drivers/media/i2c/mt9p031.c b/drivers/media/i2c/mt9p031.c
-index e5ddf47030fd..192c4aad05d6 100644
 --- a/drivers/media/i2c/mt9p031.c
 +++ b/drivers/media/i2c/mt9p031.c
 @@ -21,6 +21,7 @@
@@ -87,7 +83,7 @@
  #include <media/v4l2-subdev.h>
  
  #include "aptina-pll.h"
-@@ -943,7 +943,7 @@ mt9p031_get_pdata(struct i2c_client *client)
+@@ -943,7 +943,7 @@ mt9p031_get_pdata(struct i2c_client *cli
  	if (!IS_ENABLED(CONFIG_OF) || !client->dev.of_node)
  		return client->dev.platform_data;
  
@@ -96,8 +92,6 @@
  	if (!np)
  		return NULL;
  
-diff --git a/drivers/media/i2c/s5k5baf.c b/drivers/media/i2c/s5k5baf.c
-index 77e10e0fd8d6..2d768ef67cc5 100644
 --- a/drivers/media/i2c/s5k5baf.c
 +++ b/drivers/media/i2c/s5k5baf.c
 @@ -21,6 +21,7 @@
@@ -108,7 +102,7 @@
  #include <linux/regulator/consumer.h>
  #include <linux/slab.h>
  
-@@ -1855,7 +1856,7 @@ static int s5k5baf_parse_device_node(struct s5k5baf *state, struct device *dev)
+@@ -1855,7 +1856,7 @@ static int s5k5baf_parse_device_node(str
  	if (ret < 0)
  		return ret;
  
@@ -117,8 +111,6 @@
  	if (!node_ep) {
  		dev_err(dev, "no endpoint defined at node %s\n",
  			node->full_name);
-diff --git a/drivers/media/i2c/tvp514x.c b/drivers/media/i2c/tvp514x.c
-index 83d85df4853a..ca001178c5bf 100644
 --- a/drivers/media/i2c/tvp514x.c
 +++ b/drivers/media/i2c/tvp514x.c
 @@ -36,6 +36,7 @@
@@ -129,7 +121,7 @@
  
  #include <media/v4l2-async.h>
  #include <media/v4l2-device.h>
-@@ -1068,7 +1069,7 @@ tvp514x_get_pdata(struct i2c_client *client)
+@@ -1068,7 +1069,7 @@ tvp514x_get_pdata(struct i2c_client *cli
  	if (!IS_ENABLED(CONFIG_OF) || !client->dev.of_node)
  		return client->dev.platform_data;
  
@@ -138,8 +130,6 @@
  	if (!endpoint)
  		return NULL;
  
-diff --git a/drivers/media/i2c/tvp7002.c b/drivers/media/i2c/tvp7002.c
-index 912e1cccdd1c..c4e1e2cb3094 100644
 --- a/drivers/media/i2c/tvp7002.c
 +++ b/drivers/media/i2c/tvp7002.c
 @@ -30,6 +30,7 @@
@@ -150,7 +140,7 @@
  #include <linux/v4l2-dv-timings.h>
  #include <media/tvp7002.h>
  #include <media/v4l2-async.h>
-@@ -957,7 +958,7 @@ tvp7002_get_pdata(struct i2c_client *client)
+@@ -957,7 +958,7 @@ tvp7002_get_pdata(struct i2c_client *cli
  	if (!IS_ENABLED(CONFIG_OF) || !client->dev.of_node)
  		return client->dev.platform_data;
  
@@ -159,8 +149,6 @@
  	if (!endpoint)
  		return NULL;
  
-diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c
-index 13a4228952e3..9bdfa4599bc3 100644
 --- a/drivers/media/platform/exynos4-is/fimc-is.c
 +++ b/drivers/media/platform/exynos4-is/fimc-is.c
 @@ -24,13 +24,13 @@
@@ -178,7 +166,7 @@
  #include <media/videobuf2-dma-contig.h>
  
  #include "media-dev.h"
-@@ -167,10 +167,10 @@ static int fimc_is_parse_sensor_config(struct fimc_is_sensor *sensor,
+@@ -167,10 +167,10 @@ static int fimc_is_parse_sensor_config(s
  	u32 tmp = 0;
  	int ret;
  
@@ -191,8 +179,6 @@
  	if (!np)
  		return -ENXIO;
  
-diff --git a/drivers/media/platform/exynos4-is/media-dev.c b/drivers/media/platform/exynos4-is/media-dev.c
-index c1bce170df6f..d0f82da59ac5 100644
 --- a/drivers/media/platform/exynos4-is/media-dev.c
 +++ b/drivers/media/platform/exynos4-is/media-dev.c
 @@ -20,6 +20,7 @@
@@ -203,7 +189,7 @@
  #include <linux/platform_device.h>
  #include <linux/pm_runtime.h>
  #include <linux/types.h>
-@@ -473,7 +474,7 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd,
+@@ -473,7 +474,7 @@ static int fimc_md_parse_port_node(struc
  
  	pd->mux_id = (endpoint.port - 1) & 0x1;
  
@@ -212,8 +198,6 @@
  	of_node_put(ep);
  	if (rem == NULL) {
  		v4l2_info(&fmd->v4l2_dev, "Remote device at %s not found\n",
-diff --git a/drivers/media/platform/exynos4-is/mipi-csis.c b/drivers/media/platform/exynos4-is/mipi-csis.c
-index f3c3591fdc5d..fd1ae6549607 100644
 --- a/drivers/media/platform/exynos4-is/mipi-csis.c
 +++ b/drivers/media/platform/exynos4-is/mipi-csis.c
 @@ -20,6 +20,7 @@
@@ -224,7 +208,7 @@
  #include <linux/phy/phy.h>
  #include <linux/platform_data/mipi-csis.h>
  #include <linux/platform_device.h>
-@@ -762,7 +763,7 @@ static int s5pcsis_parse_dt(struct platform_device *pdev,
+@@ -762,7 +763,7 @@ static int s5pcsis_parse_dt(struct platf
  				 &state->max_num_lanes))
  		return -EINVAL;
  
@@ -233,11 +217,9 @@
  	if (!node) {
  		dev_err(&pdev->dev, "No port node at %s\n",
  				pdev->dev.of_node->full_name);
-diff --git a/drivers/media/v4l2-core/v4l2-of.c b/drivers/media/v4l2-core/v4l2-of.c
-index 42e3e8a5e361..f919db358bbe 100644
 --- a/drivers/media/v4l2-core/v4l2-of.c
 +++ b/drivers/media/v4l2-core/v4l2-of.c
-@@ -152,120 +152,3 @@ int v4l2_of_parse_endpoint(const struct device_node *node,
+@@ -152,120 +152,3 @@ int v4l2_of_parse_endpoint(const struct
  	return 0;
  }
  EXPORT_SYMBOL(v4l2_of_parse_endpoint);
@@ -358,8 +340,6 @@
 -	return of_get_next_parent(np);
 -}
 -EXPORT_SYMBOL(v4l2_of_get_remote_port);
-diff --git a/drivers/of/base.c b/drivers/of/base.c
-index 1b95a405628f..2aad560cef84 100644
 --- a/drivers/of/base.c
 +++ b/drivers/of/base.c
 @@ -21,6 +21,7 @@
@@ -370,7 +350,7 @@
  #include <linux/spinlock.h>
  #include <linux/slab.h>
  #include <linux/proc_fs.h>
-@@ -2014,3 +2015,120 @@ struct device_node *of_find_next_cache_node(const struct device_node *np)
+@@ -1970,3 +1971,120 @@ struct device_node *of_find_next_cache_n
  
  	return NULL;
  }
@@ -491,9 +471,6 @@
 +	return of_get_next_parent(np);
 +}
 +EXPORT_SYMBOL(of_graph_get_remote_port);
-diff --git a/include/linux/of_graph.h b/include/linux/of_graph.h
-new file mode 100644
-index 000000000000..3bbeb609a360
 --- /dev/null
 +++ b/include/linux/of_graph.h
 @@ -0,0 +1,46 @@
@@ -543,8 +520,6 @@
 +#endif /* CONFIG_OF */
 +
 +#endif /* __LINUX_OF_GRAPH_H */
-diff --git a/include/media/v4l2-of.h b/include/media/v4l2-of.h
-index 541cea4122e9..3a49735c56a0 100644
 --- a/include/media/v4l2-of.h
 +++ b/include/media/v4l2-of.h
 @@ -17,6 +17,7 @@
@@ -567,7 +542,7 @@
  #else /* CONFIG_OF */
  
  static inline int v4l2_of_parse_endpoint(const struct device_node *node,
-@@ -85,25 +81,6 @@ static inline int v4l2_of_parse_endpoint(const struct device_node *node,
+@@ -85,25 +81,6 @@ static inline int v4l2_of_parse_endpoint
  	return -ENOSYS;
  }
  
@@ -593,6 +568,3 @@
  #endif /* CONFIG_OF */
  
  #endif /* _V4L2_OF_H */
--- 
-2.1.2
-
