On Mon, Sep 17, 2007 at 11:57:35AM -0500, Scott Wood wrote:
> This is a library that board code can use to extract information from the
> PlanetCore configuration keys.  PlanetCore is used on various boards from
> Embedded Planet.
> 
> Signed-off-by: Scott Wood <[EMAIL PROTECTED]>

[snip]
> +void planetcore_set_mac_addrs(const char *table)
> +{
> +     char addr[4][6];
> +     u64 int_addr;
> +     u32 i;
> +     int j;
> +     void *node;
> +
> +     if (!planetcore_get_hex(table, PLANETCORE_KEY_MAC_ADDR, &int_addr))
> +             return;
> +
> +     for (i = 0; i < 4; i++) {
> +             u64 this_dev_addr = int_addr | mac_table[i];
> +
> +             for (j = 5; j >= 0; j--) {
> +                     addr[i][j] = this_dev_addr & 0xff;
> +                     this_dev_addr >>= 8;
> +             }
> +
> +             node = find_node_by_prop_value(NULL, "linux,network-index",
> +                                            (void *)&i, 4);
> +             if (node) {
> +                     printf("ENET%u: local-mac-address <-"
> +                            " %02x:%02x:%02x:%02x:%02x:%02x\n\r", i,
> +                            addr[i][0], addr[i][1], addr[i][2],
> +                            addr[i][3], addr[i][4], addr[i][5]);
> +
> +                     setprop(node, "local-mac-address", addr[i], 6);

Hrm.  When I said to extract the logic of fixup_mac_addrs(), I meant
to create a new one-address version of the function in devtree.c then
use it both here and in the fixup_mac_addrs() function.  Rather than
duplicating it inline here.

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to