* [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