On Wed, 2013-12-11 at 16:53 -0600, Dan Williams wrote:Yes, CAL is stored in /dev/mtd1, a dedicated partition in the NAND flash. But reading the data stored in it from the kernel is not a trivial task, as it uses its own pseudo-fs format etc. Not impossible (I RE-ed libcal a while ago [0], so there is a code that could be reused, calvaria works too afaik), but still doesn't sound like a very good idea.On Wed, 2013-12-11 at 22:15 +0000, Ben Hutchings wrote:Oh, from my quick look I got the impression that this 'CAL' was storedOn Wed, 2013-12-11 at 23:35 +0200, Ivajlo Dimitrov wrote:I'm uncomfortable with it too, and yes the permanent MAC should reallyOn 11.12.2013 23:17, Ben Hutchings wrote:1. Boot loader reads the MAC address from NVRAM and puts it in the DTI think that's an even worse idea. This is not firmware and it alreadyAnd how will that work with DT when board files will be in the history?
exists in separate storage.
I think that rx51_init_wl1251() in
arch/arm/mach-omap2/board-rx51-peripherals.c should either copy the MAC
address out of NVRAM, or if it's too early to do that, then schedule a
function to run later and only then set up wl1251 platform data.
Ben.
node.
or
2. NVRAM reading is done by a tiny driver that is loaded based on the
platform name and updates the DT node in memory. (But I don't know how
wl1251 should decide to defer probing if it's probed before that other
driver.)
be known before the interface is even registered, but...
Imagine if the MAC address for your ethernet device was stored
in /etc/my-mac-addr.txt, except that /etc was a read-only protected
partition from a very small SSD. That's essentially the N900; it's
stored in a file in a normal ext2/ext3 (?) filesystem on a partition of
the internal flash.
directly in a specific flash partition.
It seems like overkill to write a small driver that[...]
duplicates the ext3 + MTD drivers just to read the MAC.
I don't see that anything would need to be duplicated. But reading
files from the kernel is really ugly, and deciding when to read the file
would be another problem (as you noted).
Ben