Re: [U-Boot] [PATCH 1/8] imx: i2c: Zap unnecessary malloc() calls

2014-12-30 Thread Marek Vasut
On Tuesday, December 30, 2014 at 02:34:47 PM, Stefano Babic wrote:
> On 16/12/2014 14:09, Marek Vasut wrote:
> > The malloc() calls are unnecessary, just allocate the stuff on stack.
> > While at it, reorder the code a little, so that only one variable is
> > used for the text, use snprintf() instead of sprintf() and use %01d
> > as a formatting string to avoid any possible overflows.
> > 
> > Signed-off-by: Marek Vasut 
> > Cc: Igor Grinberg 
> > Cc: Nikita Kiryanov 
> > Cc: Sean Cross 
> > Cc: Simon Glass 
> > Cc: Stefano Babic 
> > Cc: Tim Harvey 
> > ---
> 
> Applied to u-boot-imx, thanks !

Hey!

hope you had a nice holiday :) You might want to apply 2/8 and 3/8 to current 
codebase and send it to Tom, since they fix real problem and the board doesn't
boot without this. I should have separated them out, sorry.

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/8] imx: i2c: Zap unnecessary malloc() calls

2014-12-30 Thread Stefano Babic
On 16/12/2014 14:09, Marek Vasut wrote:
> The malloc() calls are unnecessary, just allocate the stuff on stack.
> While at it, reorder the code a little, so that only one variable is
> used for the text, use snprintf() instead of sprintf() and use %01d
> as a formatting string to avoid any possible overflows.
> 
> Signed-off-by: Marek Vasut 
> Cc: Igor Grinberg 
> Cc: Nikita Kiryanov 
> Cc: Sean Cross 
> Cc: Simon Glass 
> Cc: Stefano Babic 
> Cc: Tim Harvey 
> ---


Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic


-- 
=
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/8] imx: i2c: Zap unnecessary malloc() calls

2014-12-16 Thread Marek Vasut
On Tuesday, December 16, 2014 at 05:27:53 PM, Simon Glass wrote:
> Hi Marek,
> 
> On 16 December 2014 at 06:09, Marek Vasut  wrote:
> > The malloc() calls are unnecessary, just allocate the stuff on stack.
> > While at it, reorder the code a little, so that only one variable is
> > used for the text, use snprintf() instead of sprintf() and use %01d
> > as a formatting string to avoid any possible overflows.
> > 
> > Signed-off-by: Marek Vasut 
> > Cc: Igor Grinberg 
> > Cc: Nikita Kiryanov 
> > Cc: Sean Cross 
> > Cc: Simon Glass 
> > Cc: Stefano Babic 
> > Cc: Tim Harvey 
> > ---
> > 
> >  arch/arm/imx-common/i2c-mxv7.c | 24 
> >  1 file changed, 8 insertions(+), 16 deletions(-)
> > 
> > diff --git a/arch/arm/imx-common/i2c-mxv7.c
> > b/arch/arm/imx-common/i2c-mxv7.c index 34f5387..1a632e7 100644
> > --- a/arch/arm/imx-common/i2c-mxv7.c
> > +++ b/arch/arm/imx-common/i2c-mxv7.c
> > @@ -73,26 +73,21 @@ static void * const i2c_bases[] = {
> > 
> >  int setup_i2c(unsigned i2c_index, int speed, int slave_addr,
> >  
> >   struct i2c_pads_info *p)
> >  
> >  {
> > 
> > -   char *name1, *name2;
> > +   char name[9];
> > 
> > int ret;
> > 
> > if (i2c_index >= ARRAY_SIZE(i2c_bases))
> > 
> > return -EINVAL;
> > 
> > -   name1 = malloc(9);
> > -   name2 = malloc(9);
> > -   if (!name1 || !name2)
> > -   return -ENOMEM;
> > -
> > -   sprintf(name1, "i2c_sda%d", i2c_index);
> > -   sprintf(name2, "i2c_scl%d", i2c_index);
> > -   ret = gpio_request(p->sda.gp, name1);
> > +   snprintf(name, sizeof(name), "i2c_sda%01d", i2c_index);
> > +   ret = gpio_request(p->sda.gp, name);
> 
> Does this board use driver model? If not it should be easy to convert
> since one MX6 board supports it. With driver model there is
> gpio_requestf("i2c_sda%01d", i2c_index);

No, not yet, but it's in the pipeline. I am already keeping an eye on a few
conversion patches to get this done.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/8] imx: i2c: Zap unnecessary malloc() calls

2014-12-16 Thread Simon Glass
Hi Marek,

On 16 December 2014 at 06:09, Marek Vasut  wrote:
> The malloc() calls are unnecessary, just allocate the stuff on stack.
> While at it, reorder the code a little, so that only one variable is
> used for the text, use snprintf() instead of sprintf() and use %01d
> as a formatting string to avoid any possible overflows.
>
> Signed-off-by: Marek Vasut 
> Cc: Igor Grinberg 
> Cc: Nikita Kiryanov 
> Cc: Sean Cross 
> Cc: Simon Glass 
> Cc: Stefano Babic 
> Cc: Tim Harvey 
> ---
>  arch/arm/imx-common/i2c-mxv7.c | 24 
>  1 file changed, 8 insertions(+), 16 deletions(-)
>
> diff --git a/arch/arm/imx-common/i2c-mxv7.c b/arch/arm/imx-common/i2c-mxv7.c
> index 34f5387..1a632e7 100644
> --- a/arch/arm/imx-common/i2c-mxv7.c
> +++ b/arch/arm/imx-common/i2c-mxv7.c
> @@ -73,26 +73,21 @@ static void * const i2c_bases[] = {
>  int setup_i2c(unsigned i2c_index, int speed, int slave_addr,
>   struct i2c_pads_info *p)
>  {
> -   char *name1, *name2;
> +   char name[9];
> int ret;
>
> if (i2c_index >= ARRAY_SIZE(i2c_bases))
> return -EINVAL;
>
> -   name1 = malloc(9);
> -   name2 = malloc(9);
> -   if (!name1 || !name2)
> -   return -ENOMEM;
> -
> -   sprintf(name1, "i2c_sda%d", i2c_index);
> -   sprintf(name2, "i2c_scl%d", i2c_index);
> -   ret = gpio_request(p->sda.gp, name1);
> +   snprintf(name, sizeof(name), "i2c_sda%01d", i2c_index);
> +   ret = gpio_request(p->sda.gp, name);

Does this board use driver model? If not it should be easy to convert
since one MX6 board supports it. With driver model there is
gpio_requestf("i2c_sda%01d", i2c_index);

> if (ret)
> -   goto err_req1;
> +   return ret;
>
> -   ret = gpio_request(p->scl.gp, name2);
> +   snprintf(name, sizeof(name), "i2c_scl%01d", i2c_index);
> +   ret = gpio_request(p->scl.gp, name);
> if (ret)
> -   goto err_req2;
> +   goto err_req;
>
> /* Enable i2c clock */
> ret = enable_i2c_clk(1, i2c_index);
> @@ -112,11 +107,8 @@ int setup_i2c(unsigned i2c_index, int speed, int 
> slave_addr,
>  err_idle:
>  err_clk:
> gpio_free(p->scl.gp);
> -err_req2:
> +err_req:
> gpio_free(p->sda.gp);
> -err_req1:
> -   free(name1);
> -   free(name2);
>
> return ret;
>  }
> --
> 2.1.3
>

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/8] imx: i2c: Zap unnecessary malloc() calls

2014-12-16 Thread Christian Gmeiner
2014-12-16 14:09 GMT+01:00 Marek Vasut :
> The malloc() calls are unnecessary, just allocate the stuff on stack.
> While at it, reorder the code a little, so that only one variable is
> used for the text, use snprintf() instead of sprintf() and use %01d
> as a formatting string to avoid any possible overflows.
>
> Signed-off-by: Marek Vasut 
> Cc: Igor Grinberg 
> Cc: Nikita Kiryanov 
> Cc: Sean Cross 
> Cc: Simon Glass 
> Cc: Stefano Babic 
> Cc: Tim Harvey 
> ---
>  arch/arm/imx-common/i2c-mxv7.c | 24 
>  1 file changed, 8 insertions(+), 16 deletions(-)
>
> diff --git a/arch/arm/imx-common/i2c-mxv7.c b/arch/arm/imx-common/i2c-mxv7.c
> index 34f5387..1a632e7 100644
> --- a/arch/arm/imx-common/i2c-mxv7.c
> +++ b/arch/arm/imx-common/i2c-mxv7.c
> @@ -73,26 +73,21 @@ static void * const i2c_bases[] = {
>  int setup_i2c(unsigned i2c_index, int speed, int slave_addr,
>   struct i2c_pads_info *p)
>  {
> -   char *name1, *name2;
> +   char name[9];
> int ret;
>
> if (i2c_index >= ARRAY_SIZE(i2c_bases))
> return -EINVAL;
>
> -   name1 = malloc(9);
> -   name2 = malloc(9);
> -   if (!name1 || !name2)
> -   return -ENOMEM;
> -
> -   sprintf(name1, "i2c_sda%d", i2c_index);
> -   sprintf(name2, "i2c_scl%d", i2c_index);
> -   ret = gpio_request(p->sda.gp, name1);
> +   snprintf(name, sizeof(name), "i2c_sda%01d", i2c_index);
> +   ret = gpio_request(p->sda.gp, name);
> if (ret)
> -   goto err_req1;
> +   return ret;
>
> -   ret = gpio_request(p->scl.gp, name2);
> +   snprintf(name, sizeof(name), "i2c_scl%01d", i2c_index);
> +   ret = gpio_request(p->scl.gp, name);
> if (ret)
> -   goto err_req2;
> +   goto err_req;
>
> /* Enable i2c clock */
> ret = enable_i2c_clk(1, i2c_index);
> @@ -112,11 +107,8 @@ int setup_i2c(unsigned i2c_index, int speed, int 
> slave_addr,
>  err_idle:
>  err_clk:
> gpio_free(p->scl.gp);
> -err_req2:
> +err_req:
> gpio_free(p->sda.gp);
> -err_req1:
> -   free(name1);
> -   free(name2);
>
> return ret;
>  }
> --
> 2.1.3
>

Reviewed-by: Christian Gmeiner 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 1/8] imx: i2c: Zap unnecessary malloc() calls

2014-12-16 Thread Marek Vasut
The malloc() calls are unnecessary, just allocate the stuff on stack.
While at it, reorder the code a little, so that only one variable is
used for the text, use snprintf() instead of sprintf() and use %01d
as a formatting string to avoid any possible overflows.

Signed-off-by: Marek Vasut 
Cc: Igor Grinberg 
Cc: Nikita Kiryanov 
Cc: Sean Cross 
Cc: Simon Glass 
Cc: Stefano Babic 
Cc: Tim Harvey 
---
 arch/arm/imx-common/i2c-mxv7.c | 24 
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/arch/arm/imx-common/i2c-mxv7.c b/arch/arm/imx-common/i2c-mxv7.c
index 34f5387..1a632e7 100644
--- a/arch/arm/imx-common/i2c-mxv7.c
+++ b/arch/arm/imx-common/i2c-mxv7.c
@@ -73,26 +73,21 @@ static void * const i2c_bases[] = {
 int setup_i2c(unsigned i2c_index, int speed, int slave_addr,
  struct i2c_pads_info *p)
 {
-   char *name1, *name2;
+   char name[9];
int ret;
 
if (i2c_index >= ARRAY_SIZE(i2c_bases))
return -EINVAL;
 
-   name1 = malloc(9);
-   name2 = malloc(9);
-   if (!name1 || !name2)
-   return -ENOMEM;
-
-   sprintf(name1, "i2c_sda%d", i2c_index);
-   sprintf(name2, "i2c_scl%d", i2c_index);
-   ret = gpio_request(p->sda.gp, name1);
+   snprintf(name, sizeof(name), "i2c_sda%01d", i2c_index);
+   ret = gpio_request(p->sda.gp, name);
if (ret)
-   goto err_req1;
+   return ret;
 
-   ret = gpio_request(p->scl.gp, name2);
+   snprintf(name, sizeof(name), "i2c_scl%01d", i2c_index);
+   ret = gpio_request(p->scl.gp, name);
if (ret)
-   goto err_req2;
+   goto err_req;
 
/* Enable i2c clock */
ret = enable_i2c_clk(1, i2c_index);
@@ -112,11 +107,8 @@ int setup_i2c(unsigned i2c_index, int speed, int 
slave_addr,
 err_idle:
 err_clk:
gpio_free(p->scl.gp);
-err_req2:
+err_req:
gpio_free(p->sda.gp);
-err_req1:
-   free(name1);
-   free(name2);
 
return ret;
 }
-- 
2.1.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot