mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Andrey Smirnov <andrew.smirnov@gmail.com>
To: barebox@lists.infradead.org
Cc: Andrey Smirnov <andrew.smirnov@gmail.com>
Subject: [PATCH v2 02/21] i.MX: ocotp: Move memory reversing into a subroutine
Date: Mon, 12 Dec 2016 10:02:49 -0800	[thread overview]
Message-ID: <1481565788-9115-3-git-send-email-andrew.smirnov@gmail.com> (raw)
In-Reply-To: <1481565788-9115-1-git-send-email-andrew.smirnov@gmail.com>

Move memory reversing, found in imx_ocotp_get_mac and
imx_ocotp_set_mac, into a subroutine to avoid code duplication.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/mach-imx/ocotp.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-imx/ocotp.c b/arch/arm/mach-imx/ocotp.c
index 68ff0ce..7f625d8 100644
--- a/arch/arm/mach-imx/ocotp.c
+++ b/arch/arm/mach-imx/ocotp.c
@@ -397,19 +397,26 @@ static void imx_ocotp_init_dt(struct device_d *dev, void __iomem *base)
 	}
 }
 
+static void memreverse(void *dest, const void *src, size_t n)
+{
+	char *destp = dest;
+	const char *srcp = src + n - 1;
+
+	while(n--)
+		*destp++ = *srcp--;
+}
+
 static int imx_ocotp_get_mac(struct param_d *param, void *priv)
 {
 	struct ocotp_priv *ocotp_priv = priv;
 	char buf[8];
-	int i, ret;
+	int ret;
 
 	ret = regmap_bulk_read(ocotp_priv->map, MAC_OFFSET, buf, MAC_BYTES);
 	if (ret < 0)
 		return ret;
 
-	for (i = 0; i < 6; i++)
-		ocotp_priv->ethaddr[i] = buf[5 - i];
-
+	memreverse(ocotp_priv->ethaddr, buf, 6);
 	return 0;
 }
 
@@ -417,10 +424,9 @@ static int imx_ocotp_set_mac(struct param_d *param, void *priv)
 {
 	struct ocotp_priv *ocotp_priv = priv;
 	char buf[8];
-	int i, ret;
+	int ret;
 
-	for (i = 0; i < 6; i++)
-		buf[5 - i] = ocotp_priv->ethaddr[i];
+	memreverse(buf, ocotp_priv->ethaddr, 6);
 	buf[6] = 0; buf[7] = 0;
 
 	ret = regmap_bulk_write(ocotp_priv->map, MAC_OFFSET, buf, MAC_BYTES);
-- 
2.5.5


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

  parent reply	other threads:[~2016-12-12 18:03 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-12 18:02 [PATCH v2 00/21] Vybrid related patches Andrey Smirnov
2016-12-12 18:02 ` [PATCH v2 01/21] i.MX: esdhc: Enable host->clk during initialization Andrey Smirnov
2016-12-12 18:02 ` Andrey Smirnov [this message]
2016-12-12 18:02 ` [PATCH v2 03/21] i.MX: ocotp: Simplify MAC address storing logic Andrey Smirnov
2017-01-09 11:18   ` Sascha Hauer
2017-01-09 11:28     ` Sascha Hauer
2017-01-10 15:02     ` Andrey Smirnov
2016-12-12 18:02 ` [PATCH v2 04/21] i.MX: ocotp: Add provisions for storing multiple MAC addresses Andrey Smirnov
2016-12-13  9:56   ` Stefan Lengfeld
2016-12-12 18:02 ` [PATCH 05/21] i.MX: ocotp: Initialize OCOTP as early as possible Andrey Smirnov
2016-12-12 18:02 ` [PATCH v2 06/21] i.MX: clk: Add IMX_PLLV3_SYS_VF610 subtype Andrey Smirnov
2016-12-12 18:02 ` [PATCH v2 07/21] i.MX: ocotp: Add imx_ocotp_sense_enable() Andrey Smirnov
2016-12-12 18:02 ` [PATCH v2 08/21] i.MX: imx6-fusemap: Fix SJC_RESP_LOCK width Andrey Smirnov
2016-12-12 18:02 ` [PATCH v2 09/21] i.MX: Add fusemap for VF610 Andrey Smirnov
2016-12-12 18:02 ` [PATCH v2 10/21] i.MX: vf610: Ramp CPU clock to maximum frequency Andrey Smirnov
2016-12-12 18:02 ` [PATCH v2 11/21] i.MX: iomuxv3: Add low-level pad code to headers Andrey Smirnov
2016-12-12 18:02 ` [PATCH v2 12/21] i.MX: iomuxv3: Add helper type to deconstruct iomux_v3_cfg_t values Andrey Smirnov
2017-01-09 12:00   ` Sascha Hauer
2017-01-10 15:01     ` Andrey Smirnov
2016-12-12 18:03 ` [PATCH v2 13/21] i.MX: iomuxv3: Add low-level pad configuration routine Andrey Smirnov
2016-12-12 18:03 ` [PATCH v2 14/21] i.MX6: sabresd: Remove magic numbers in setup_uart Andrey Smirnov
2016-12-12 18:03 ` [PATCH v2 15/21] i.MX: iomuxv3: Use helper functions in iomux-v3.h Andrey Smirnov
2016-12-12 18:03 ` [PATCH v2 16/21] i.MX: vf610: Add low-level pin configuration helper Andrey Smirnov
2016-12-12 18:03 ` [PATCH v2 17/21] i.MX: iomux-vf610: Add missing pad definitions Andrey Smirnov
2016-12-12 18:03 ` [PATCH v2 18/21] i.MX: imx-usb-phy: Add VF610 OF compatiblity string Andrey Smirnov
2016-12-12 18:03 ` [PATCH v2 19/21] i.MX: Default CONFI_USB_IMX_PHY to 'y' on Vybrid Andrey Smirnov
2017-01-09 12:03   ` Sascha Hauer
2017-01-10 15:02     ` Andrey Smirnov
2016-12-12 18:03 ` [PATCH v2 20/21] i.MX: imx-usb-misc: Add Vybrid support Andrey Smirnov
2016-12-12 18:03 ` [PATCH v2 21/21] i.MX: vf610-twr: Remove MSCM setup code Andrey Smirnov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1481565788-9115-3-git-send-email-andrew.smirnov@gmail.com \
    --to=andrew.smirnov@gmail.com \
    --cc=barebox@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox