mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 1/4] nvmem: rave-sp-eeprom: Remove VLA usage
@ 2018-07-04  4:10 Andrey Smirnov
  2018-07-04  4:10 ` [PATCH 2/4] nvmem: rave-sp-eeprom: Add support for "zii,eeprom-name" Andrey Smirnov
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Andrey Smirnov @ 2018-07-04  4:10 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

This is a backport of patch [1] by Kees Cook

[1] https://lkml.kernel.org/r/20180620182600.GA24297@beast

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 drivers/nvmem/rave-sp-eeprom.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/nvmem/rave-sp-eeprom.c b/drivers/nvmem/rave-sp-eeprom.c
index 5fd429f16..ff91f39f7 100644
--- a/drivers/nvmem/rave-sp-eeprom.c
+++ b/drivers/nvmem/rave-sp-eeprom.c
@@ -55,6 +55,7 @@ enum rave_sp_eeprom_header_size {
 	RAVE_SP_EEPROM_HEADER_SMALL = 4U,
 	RAVE_SP_EEPROM_HEADER_BIG   = 5U,
 };
+#define RAVE_SP_EEPROM_HEADER_MAX	RAVE_SP_EEPROM_HEADER_BIG
 
 #define	RAVE_SP_EEPROM_PAGE_SIZE	32U
 
@@ -115,9 +116,12 @@ static int rave_sp_eeprom_io(struct rave_sp_eeprom *eeprom,
 	const unsigned int rsp_size =
 		is_write ? sizeof(*page) - sizeof(page->data) : sizeof(*page);
 	unsigned int offset = 0;
-	u8 cmd[cmd_size];
+	u8 cmd[RAVE_SP_EEPROM_HEADER_MAX + sizeof(page->data)];
 	int ret;
 
+	if (WARN_ON(cmd_size > sizeof(cmd)))
+		return -EINVAL;
+
 	cmd[offset++] = eeprom->address;
 	cmd[offset++] = 0;
 	cmd[offset++] = type;
-- 
2.17.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/4] nvmem: rave-sp-eeprom: Add support for "zii,eeprom-name"
  2018-07-04  4:10 [PATCH 1/4] nvmem: rave-sp-eeprom: Remove VLA usage Andrey Smirnov
@ 2018-07-04  4:10 ` Andrey Smirnov
  2018-07-04  4:10 ` [PATCH 3/4] ARM: dts: rdu1: Make use of "zii,eeprom-name" Andrey Smirnov
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Andrey Smirnov @ 2018-07-04  4:10 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Upstream kernel driver allows specifying EEPROM name via
"zii,eeprom-name" property. Add code to support that in Barebox as
well.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 drivers/nvmem/rave-sp-eeprom.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/nvmem/rave-sp-eeprom.c b/drivers/nvmem/rave-sp-eeprom.c
index ff91f39f7..6c6ed17f1 100644
--- a/drivers/nvmem/rave-sp-eeprom.c
+++ b/drivers/nvmem/rave-sp-eeprom.c
@@ -337,6 +337,11 @@ static int rave_sp_eeprom_probe(struct device_d *dev)
 		eeprom->header_size = RAVE_SP_EEPROM_HEADER_SMALL;
 
 	config.name      = dev_name(dev);
+	/*
+	 * If a name is specified via DT, override the above with it.
+	 */
+	of_property_read_string(dev->device_node, "zii,eeprom-name",
+				&config.name);
 	config.dev       = dev;
 	config.word_size = 1;
 	config.stride    = 1;
-- 
2.17.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 3/4] ARM: dts: rdu1: Make use of "zii,eeprom-name"
  2018-07-04  4:10 [PATCH 1/4] nvmem: rave-sp-eeprom: Remove VLA usage Andrey Smirnov
  2018-07-04  4:10 ` [PATCH 2/4] nvmem: rave-sp-eeprom: Add support for "zii,eeprom-name" Andrey Smirnov
@ 2018-07-04  4:10 ` Andrey Smirnov
  2018-07-04  4:10 ` [PATCH 4/4] ARM: dts: rdu2: " Andrey Smirnov
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Andrey Smirnov @ 2018-07-04  4:10 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Convert RAVE SP EEPROMs to use "zii,eeprom-name" instead of aliases in
order to minimize differences with upstream Linux DT.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/dts/imx51-zii-rdu1.dts | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/arch/arm/dts/imx51-zii-rdu1.dts b/arch/arm/dts/imx51-zii-rdu1.dts
index f0a279bf0..979c4c9de 100644
--- a/arch/arm/dts/imx51-zii-rdu1.dts
+++ b/arch/arm/dts/imx51-zii-rdu1.dts
@@ -24,13 +24,6 @@
 			device-path = &spinor, "partname:barebox-environment";
 		};
 	};
-	aliases {
-		/*
-		 * Aliases to match Linux kernel naming in /dev/
-		 */
-		main-eeprom = &main_eeprom;
-		dds-eeprom = &dds_eeprom;
-	};
 };
 
 &ecspi1 {
@@ -68,18 +61,20 @@
 			nvmem-cell-names = "boot-source";
 		};
 
-		dds_eeprom: eeprom@a3 {
+		eeprom@a3 {
 			compatible = "zii,rave-sp-eeprom";
 			reg = <0xa3 0x4000>;
 			#address-cells = <1>;
 			#size-cells = <1>;
+			zii,eeprom-name = "dds-eeprom";
 		};
 
-		main_eeprom: eeprom@a4 {
+		eeprom@a4 {
 			compatible = "zii,rave-sp-eeprom";
 			reg = <0xa4 0x4000>;
 			#address-cells = <1>;
 			#size-cells = <1>;
+			zii,eeprom-name = "main-eeprom";
 
 			boot_source: boot-source@83 {
 				reg = <0x83 1>;
-- 
2.17.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 4/4] ARM: dts: rdu2: Make use of "zii,eeprom-name"
  2018-07-04  4:10 [PATCH 1/4] nvmem: rave-sp-eeprom: Remove VLA usage Andrey Smirnov
  2018-07-04  4:10 ` [PATCH 2/4] nvmem: rave-sp-eeprom: Add support for "zii,eeprom-name" Andrey Smirnov
  2018-07-04  4:10 ` [PATCH 3/4] ARM: dts: rdu1: Make use of "zii,eeprom-name" Andrey Smirnov
@ 2018-07-04  4:10 ` Andrey Smirnov
  2018-07-04  8:07 ` [PATCH 1/4] nvmem: rave-sp-eeprom: Remove VLA usage Lucas Stach
  2018-07-05  6:15 ` Sascha Hauer
  4 siblings, 0 replies; 6+ messages in thread
From: Andrey Smirnov @ 2018-07-04  4:10 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Convert RAVE SP EEPROMs to use "zii,eeprom-name" instead of aliases in
order to minimize differences with upstream Linux DT.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/dts/imx6qdl-zii-rdu2.dtsi | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/arch/arm/dts/imx6qdl-zii-rdu2.dtsi b/arch/arm/dts/imx6qdl-zii-rdu2.dtsi
index b5bba1a38..a74fb4783 100644
--- a/arch/arm/dts/imx6qdl-zii-rdu2.dtsi
+++ b/arch/arm/dts/imx6qdl-zii-rdu2.dtsi
@@ -52,11 +52,6 @@
 	aliases {
 		ethernet0 = &fec;
 		ethernet1 = &i210;
-		/*
-		 * Aliases to match Linux kernel naming in /dev/
-		 */
-		main-eeprom = &main_eeprom;
-		dds-eeprom = &dds_eeprom;
 	};
 };
 
@@ -71,16 +66,18 @@
 			nvmem-cell-names = "boot-source";
 		};
 
-		dds_eeprom: eeprom@a3 {
+		eeprom@a3 {
 			compatible = "zii,rave-sp-eeprom";
 			reg = <0xa3 0x4000>;
+			zii,eeprom-name = "dds-eeprom";
 		};
 
-		main_eeprom: eeprom@a4 {
+		eeprom@a4 {
 			compatible = "zii,rave-sp-eeprom";
 			reg = <0xa4 0x4000>;
 			#address-cells = <1>;
 			#size-cells = <1>;
+			zii,eeprom-name = "main-eeprom";
 
 			boot_source: boot-source@83 {
 				reg = <0x83 1>;
-- 
2.17.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/4] nvmem: rave-sp-eeprom: Remove VLA usage
  2018-07-04  4:10 [PATCH 1/4] nvmem: rave-sp-eeprom: Remove VLA usage Andrey Smirnov
                   ` (2 preceding siblings ...)
  2018-07-04  4:10 ` [PATCH 4/4] ARM: dts: rdu2: " Andrey Smirnov
@ 2018-07-04  8:07 ` Lucas Stach
  2018-07-05  6:15 ` Sascha Hauer
  4 siblings, 0 replies; 6+ messages in thread
From: Lucas Stach @ 2018-07-04  8:07 UTC (permalink / raw)
  To: Andrey Smirnov, barebox

Am Dienstag, den 03.07.2018, 21:10 -0700 schrieb Andrey Smirnov:
> This is a backport of patch [1] by Kees Cook
> 
> [1] https://lkml.kernel.org/r/20180620182600.GA24297@beast
> 
> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>

Thanks. Series is:
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>

> ---
>  drivers/nvmem/rave-sp-eeprom.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/nvmem/rave-sp-eeprom.c b/drivers/nvmem/rave-sp-eeprom.c
> index 5fd429f16..ff91f39f7 100644
> --- a/drivers/nvmem/rave-sp-eeprom.c
> +++ b/drivers/nvmem/rave-sp-eeprom.c
> @@ -55,6 +55,7 @@ enum rave_sp_eeprom_header_size {
> >  	RAVE_SP_EEPROM_HEADER_SMALL = 4U,
> >  	RAVE_SP_EEPROM_HEADER_BIG   = 5U,
>  };
> > +#define RAVE_SP_EEPROM_HEADER_MAX	RAVE_SP_EEPROM_HEADER_BIG
>  
> > >  #define	RAVE_SP_EEPROM_PAGE_SIZE	32U
>  
> @@ -115,9 +116,12 @@ static int rave_sp_eeprom_io(struct rave_sp_eeprom *eeprom,
> >  	const unsigned int rsp_size =
> >  		is_write ? sizeof(*page) - sizeof(page->data) : sizeof(*page);
> >  	unsigned int offset = 0;
> > -	u8 cmd[cmd_size];
> > +	u8 cmd[RAVE_SP_EEPROM_HEADER_MAX + sizeof(page->data)];
> >  	int ret;
>  
> > +	if (WARN_ON(cmd_size > sizeof(cmd)))
> > +		return -EINVAL;
> +
> >  	cmd[offset++] = eeprom->address;
> >  	cmd[offset++] = 0;
> >  	cmd[offset++] = type;

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/4] nvmem: rave-sp-eeprom: Remove VLA usage
  2018-07-04  4:10 [PATCH 1/4] nvmem: rave-sp-eeprom: Remove VLA usage Andrey Smirnov
                   ` (3 preceding siblings ...)
  2018-07-04  8:07 ` [PATCH 1/4] nvmem: rave-sp-eeprom: Remove VLA usage Lucas Stach
@ 2018-07-05  6:15 ` Sascha Hauer
  4 siblings, 0 replies; 6+ messages in thread
From: Sascha Hauer @ 2018-07-05  6:15 UTC (permalink / raw)
  To: Andrey Smirnov; +Cc: barebox

On Tue, Jul 03, 2018 at 09:10:21PM -0700, Andrey Smirnov wrote:
> This is a backport of patch [1] by Kees Cook
> 
> [1] https://lkml.kernel.org/r/20180620182600.GA24297@beast
> 
> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> ---

Applied, thanks

Sascha

>  drivers/nvmem/rave-sp-eeprom.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/nvmem/rave-sp-eeprom.c b/drivers/nvmem/rave-sp-eeprom.c
> index 5fd429f16..ff91f39f7 100644
> --- a/drivers/nvmem/rave-sp-eeprom.c
> +++ b/drivers/nvmem/rave-sp-eeprom.c
> @@ -55,6 +55,7 @@ enum rave_sp_eeprom_header_size {
>  	RAVE_SP_EEPROM_HEADER_SMALL = 4U,
>  	RAVE_SP_EEPROM_HEADER_BIG   = 5U,
>  };
> +#define RAVE_SP_EEPROM_HEADER_MAX	RAVE_SP_EEPROM_HEADER_BIG
>  
>  #define	RAVE_SP_EEPROM_PAGE_SIZE	32U
>  
> @@ -115,9 +116,12 @@ static int rave_sp_eeprom_io(struct rave_sp_eeprom *eeprom,
>  	const unsigned int rsp_size =
>  		is_write ? sizeof(*page) - sizeof(page->data) : sizeof(*page);
>  	unsigned int offset = 0;
> -	u8 cmd[cmd_size];
> +	u8 cmd[RAVE_SP_EEPROM_HEADER_MAX + sizeof(page->data)];
>  	int ret;
>  
> +	if (WARN_ON(cmd_size > sizeof(cmd)))
> +		return -EINVAL;
> +
>  	cmd[offset++] = eeprom->address;
>  	cmd[offset++] = 0;
>  	cmd[offset++] = type;
> -- 
> 2.17.1
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-07-05  6:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-04  4:10 [PATCH 1/4] nvmem: rave-sp-eeprom: Remove VLA usage Andrey Smirnov
2018-07-04  4:10 ` [PATCH 2/4] nvmem: rave-sp-eeprom: Add support for "zii,eeprom-name" Andrey Smirnov
2018-07-04  4:10 ` [PATCH 3/4] ARM: dts: rdu1: Make use of "zii,eeprom-name" Andrey Smirnov
2018-07-04  4:10 ` [PATCH 4/4] ARM: dts: rdu2: " Andrey Smirnov
2018-07-04  8:07 ` [PATCH 1/4] nvmem: rave-sp-eeprom: Remove VLA usage Lucas Stach
2018-07-05  6:15 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox