[PATCH v2 03/21] i.MX: ocotp: Simplify MAC address storing logic
Andrey Smirnov
andrew.smirnov at gmail.com
Tue Jan 10 07:02:57 PST 2017
On Mon, Jan 9, 2017 at 3:18 AM, Sascha Hauer <s.hauer at pengutronix.de> wrote:
> On Mon, Dec 12, 2016 at 10:02:50AM -0800, Andrey Smirnov wrote:
>> Store MAC addresses as 8 byte buffer to avoid the need to have extra
>> code to deal with "6 into 8" conversions and the need to have various
>> magic numbers.
>>
>> Signed-off-by: Andrey Smirnov <andrew.smirnov at gmail.com>
>> ---
>> arch/arm/mach-imx/ocotp.c | 11 +++++------
>> 1 file changed, 5 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/arm/mach-imx/ocotp.c b/arch/arm/mach-imx/ocotp.c
>> index 7f625d8..f549c94 100644
>> --- a/arch/arm/mach-imx/ocotp.c
>> +++ b/arch/arm/mach-imx/ocotp.c
>> @@ -84,7 +84,7 @@ struct ocotp_priv {
>> struct device_d dev;
>> int permanent_write_enable;
>> int sense_enable;
>> - char ethaddr[6];
>> + char ethaddr[MAC_BYTES];
>> struct regmap_config map_config;
>> const struct imx_ocotp_data *data;
>> };
>> @@ -409,25 +409,24 @@ static void memreverse(void *dest, const void *src, size_t n)
>> static int imx_ocotp_get_mac(struct param_d *param, void *priv)
>> {
>> struct ocotp_priv *ocotp_priv = priv;
>> - char buf[8];
>> + char buf[MAC_BYTES];
>> int ret;
>>
>> ret = regmap_bulk_read(ocotp_priv->map, MAC_OFFSET, buf, MAC_BYTES);
>> if (ret < 0)
>> return ret;
>>
>> - memreverse(ocotp_priv->ethaddr, buf, 6);
>> + memreverse(ocotp_priv->ethaddr, buf, MAC_BYTES);
>> return 0;
>> }
>>
>> static int imx_ocotp_set_mac(struct param_d *param, void *priv)
>> {
>> struct ocotp_priv *ocotp_priv = priv;
>> - char buf[8];
>> + char buf[MAC_BYTES];
>> int ret;
>>
>> - memreverse(buf, ocotp_priv->ethaddr, 6);
>> - buf[6] = 0; buf[7] = 0;
>> + memreverse(buf, ocotp_priv->ethaddr, MAC_BYTES);
>
> Unless I have knots in my mind this does not work. dev_add_param_mac()
> expects the MAC address in the given buffer. We pass priv->ethaddr, but
> now with this change the MAC address is in priv->ethaddr + 2. Anything I
> don't see here?
No, you are right, this patch is pretty dumb. I'll drop it in v3.
Sorry for the noise.
Thanks,
Andrey
More information about the barebox
mailing list