[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100331101120.GJ4837@datarespons.se>
Date: Wed, 31 Mar 2010 12:11:20 +0200
From: Anders Darander <anders.darander@...arespons.se>
To: Jiri Pirko <jpirko@...hat.com>
Cc: Haavard Skinnemoen <hskinnemoen@...el.com>,
"David S. Miller" <davem@...emloft.net>,
Erik Waling <erik.waling@...ftel.com>,
Patrick McHardy <kaber@...sh.net>,
Grant Likely <grant.likely@...retlab.ca>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] MACB: Set PHY address in kernel parameters
* Jiri Pirko <jpirko@...hat.com> [100331 12:03]:
> Wed, Mar 31, 2010 at 09:51:42AM CEST, anders.darander@...il.com wrote:
> >
> >- phydev = phy_find_first(bp->mii_bus);
> >+ if (phy_addr >= PHY_MAX_ADDRESS)
> >+ phydev = phy_find_first(bp->mii_bus);
> >+ else
> >+ phydev = bp->mii_bus->phy_map[phy_addr];
> >+
> > if (!phydev) {
> > printk (KERN_ERR "%s: no PHY found\n", dev->name);
> > return -1;
>
> This is really ugly :( Should be done differently, more general. I've been
> thinking about this for a while. Maybe the solution is to integrate the switch
> into DSA subsystem. See net/dsa. Not sure though...
A more general solution is always welcome...
However, although I've not tested it, I think that Marc Kleine-Budde
came up with the correct solution. That was using phy_mask, and set it
up in the *eth_data structure in the board setup code.
Thus, it seems that the needed functionality is readily available.
(Working in the embedded field, I've no problem with defining HW-related
things in the board setup code, as opposite of having it dynamically
defined).
Regards,
Anders
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists