public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/8] imx: i2c: Zap unnecessary malloc() calls
@ 2014-12-16 13:09 Marek Vasut
  2014-12-16 13:09 ` [U-Boot] [PATCH 2/8] arm: mx6: gw_ventana: Define CONFIG_SYS_MALLOC_F_LEN Marek Vasut
                   ` (9 more replies)
  0 siblings, 10 replies; 22+ messages in thread
From: Marek Vasut @ 2014-12-16 13:09 UTC (permalink / raw)
  To: u-boot

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 <marex@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Cc: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Sean Cross <xobs@kosagi.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
---
 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

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

end of thread, other threads:[~2014-12-30 15:34 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-16 13:09 [U-Boot] [PATCH 1/8] imx: i2c: Zap unnecessary malloc() calls Marek Vasut
2014-12-16 13:09 ` [U-Boot] [PATCH 2/8] arm: mx6: gw_ventana: Define CONFIG_SYS_MALLOC_F_LEN Marek Vasut
2014-12-30 13:35   ` Stefano Babic
2014-12-16 13:09 ` [U-Boot] [PATCH 3/8] arm: mx6: novena: " Marek Vasut
2014-12-30 13:35   ` Stefano Babic
2014-12-16 13:09 ` [U-Boot] [PATCH 4/8] arm: mx6: novena: Minor coding style fix Marek Vasut
2014-12-30 13:35   ` Stefano Babic
2014-12-16 13:09 ` [U-Boot] [PATCH 5/8] arm: mx6: novena: Minor config file fix Marek Vasut
2014-12-30 13:35   ` Stefano Babic
2014-12-16 13:09 ` [U-Boot] [PATCH 6/8] arm: mx6: novena: Pull GPIO definitions into header Marek Vasut
2014-12-30 13:35   ` Stefano Babic
2014-12-16 13:09 ` [U-Boot] [PATCH 7/8] arm: mx6: novena: Pull video handling into separate file Marek Vasut
2014-12-30 13:36   ` Stefano Babic
2014-12-16 13:09 ` [U-Boot] [PATCH 8/8] arm: mx6: novena: Add proper LVDS display support Marek Vasut
2014-12-16 16:22   ` Simon Glass
2014-12-16 16:59     ` Marek Vasut
2014-12-30 13:37   ` Stefano Babic
2014-12-16 15:34 ` [U-Boot] [PATCH 1/8] imx: i2c: Zap unnecessary malloc() calls Christian Gmeiner
2014-12-16 16:27 ` Simon Glass
2014-12-16 17:00   ` Marek Vasut
2014-12-30 13:34 ` Stefano Babic
2014-12-30 15:34   ` Marek Vasut

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