From: Arnd Bergmann <arnd@arndb.de>
To: Mark Salter <msalter@redhat.com>
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Subject: Re: [PATCH v3 21/24] C6X: general SoC support
Date: Wed, 28 Sep 2011 16:19:07 +0200 [thread overview]
Message-ID: <201109281619.07213.arnd@arndb.de> (raw)
In-Reply-To: <1317155405-26235-22-git-send-email-msalter@redhat.com>
On Tuesday 27 September 2011, Mark Salter wrote:
> +int soc_mac_addr(unsigned int index, u8 *addr)
> +{
> + int i, have_cmdline_mac = 0, have_fuse_mac = 0;
> +
> + for (i = 0; i < 6; i++) {
> + if (cmdline_mac[i])
> + have_cmdline_mac = 1;
> + if (c6x_fuse_mac[i])
> + have_fuse_mac = 1;
> + }
> +
> + /* cmdline overrides hardware fuse MAC */
> + if (have_cmdline_mac)
> + memcpy(addr, cmdline_mac, 6);
> + else if (have_fuse_mac)
> + memcpy(addr, c6x_fuse_mac, 6);
> + else
> + return 0;
IMHO it's more important to let the user override the MAC address through
the device tree than the command line, although if you allow both, the
command line should take precedence. If you think you need to keep the
command line option, please add a way to read it from the device tree
as a fallback before falling back to the fused mac address.
Also, a final fallback on random_mac_address() would be reasonable here.
Finally, how about passing a struct device pointer from the driver, rather
than the index? That would seem more logical and make it easier to get
to the device tree properties.
> + /* adjust for specific EMAC device */
> + addr[5] += index * c6x_num_cores;
> + return 1;
> +}
> +EXPORT_SYMBOL(soc_mac_addr);
EXPORT_SYMBOL_GPL()
Arnd
next prev parent reply other threads:[~2011-09-28 14:19 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-27 20:29 [PATCH v3 00/24] C6X: New architecture Mark Salter
2011-09-27 20:29 ` [PATCH v3 01/24] fix default __strnlen_user macro Mark Salter
2011-09-28 13:20 ` Arnd Bergmann
2011-09-28 13:20 ` Arnd Bergmann
2011-09-27 20:29 ` [PATCH v3 02/24] fixed generic page.h for non-zero PAGE_OFFSET Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-27 20:29 ` [PATCH v3 03/24] add ELF machine define for TI C6X DSPs Mark Salter
2011-09-27 20:29 ` [PATCH v3 04/24] add missing __iomem to generic iounmap declaration Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-28 13:19 ` Arnd Bergmann
2011-09-27 20:29 ` [PATCH v3 05/24] C6X: build infrastructure Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-28 13:23 ` Arnd Bergmann
2011-09-28 14:32 ` Mark Salter
2011-09-28 14:57 ` Arnd Bergmann
2011-09-28 14:57 ` Arnd Bergmann
2011-09-27 20:29 ` [PATCH v3 06/24] C6X: early boot code Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-28 13:26 ` Arnd Bergmann
2011-09-28 14:06 ` Mark Salter
2011-09-28 15:00 ` Arnd Bergmann
2011-09-28 15:00 ` Arnd Bergmann
2011-09-27 20:29 ` [PATCH v3 07/24] C6X: devicetree support Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-28 13:31 ` Arnd Bergmann
2011-09-28 14:44 ` Mark Salter
2011-09-28 14:57 ` Arnd Bergmann
2011-09-28 23:11 ` Grant Likely
2011-09-28 23:11 ` Grant Likely
2011-09-27 20:29 ` [PATCH v3 08/24] C6X: memory management and DMA support Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-28 13:46 ` Arnd Bergmann
2011-09-27 20:29 ` [PATCH v3 09/24] C6X: process management Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-28 13:47 ` Arnd Bergmann
2011-09-27 20:29 ` [PATCH v3 10/24] C6X: signal management Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-28 13:48 ` Arnd Bergmann
2011-09-27 20:29 ` [PATCH v3 11/24] C6X: time management Mark Salter
2011-09-27 23:41 ` Thomas Gleixner
2011-09-28 12:48 ` Mark Salter
2011-09-27 20:29 ` [PATCH v3 12/24] C6X: interrupt handling Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-27 23:30 ` Thomas Gleixner
2011-09-27 20:29 ` [PATCH v3 13/24] C6X: syscalls Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-28 13:49 ` Arnd Bergmann
2011-09-27 20:29 ` [PATCH v3 14/24] C6X: traps Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-28 13:50 ` Arnd Bergmann
2011-09-28 13:50 ` Arnd Bergmann
2011-09-27 20:29 ` [PATCH v3 15/24] C6X: clocks Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-28 13:51 ` Arnd Bergmann
2011-09-27 20:29 ` [PATCH v3 16/24] C6X: cache control Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-28 13:52 ` Arnd Bergmann
2011-09-28 13:52 ` Arnd Bergmann
2011-09-27 20:29 ` [PATCH v3 17/24] C6X: loadable module support Mark Salter
2011-09-27 20:29 ` Mark Salter
2011-09-28 13:54 ` Arnd Bergmann
2011-09-27 20:29 ` [PATCH v3 18/24] C6X: ptrace support Mark Salter
2011-09-28 13:57 ` Arnd Bergmann
2011-09-28 13:57 ` Arnd Bergmann
2011-09-27 20:30 ` [PATCH v3 19/24] C6X: headers Mark Salter
2011-09-27 20:30 ` Mark Salter
2011-09-28 14:07 ` Arnd Bergmann
2011-09-28 14:07 ` Arnd Bergmann
2011-09-29 13:32 ` Mark Salter
2011-09-29 13:32 ` Mark Salter
2011-09-29 14:24 ` Mark Salter
2011-09-29 14:41 ` Arnd Bergmann
2011-09-27 20:30 ` [PATCH v3 20/24] C6X: library code Mark Salter
2011-09-27 20:30 ` Mark Salter
2011-09-28 14:09 ` Arnd Bergmann
2011-09-28 14:09 ` Arnd Bergmann
2011-09-27 20:30 ` [PATCH v3 21/24] C6X: general SoC support Mark Salter
2011-09-28 14:19 ` Arnd Bergmann [this message]
2011-09-27 20:30 ` [PATCH v3 22/24] C6X: EMIF - External Memory Interface Mark Salter
2011-09-28 14:13 ` Arnd Bergmann
2011-09-27 20:30 ` [PATCH v3 23/24] C6X: DSCR - Device State Configuration Registers Mark Salter
2011-09-27 20:30 ` Mark Salter
2011-09-28 14:11 ` Arnd Bergmann
2011-09-27 20:30 ` [PATCH v3 24/24] C6X: MAINTAINERS Mark Salter
2011-09-27 20:30 ` Mark Salter
2011-09-28 14:09 ` Arnd Bergmann
2011-09-28 14:09 ` Arnd Bergmann
2011-09-27 23:15 ` [PATCH v3 00/24] C6X: New architecture Stephen Rothwell
2011-09-28 14:33 ` Arnd Bergmann
2011-09-28 21:49 ` Valdis.Kletnieks
2011-09-29 10:33 ` Arnd Bergmann
2011-09-29 12:21 ` Mark Salter
2011-09-29 12:42 ` Valdis.Kletnieks
2011-09-29 13:02 ` Mark Salter
2011-09-29 13:02 ` Mark Salter
2011-09-29 13:18 ` Arnd Bergmann
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=201109281619.07213.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=msalter@redhat.com \
/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;
as well as URLs for NNTP newsgroup(s).