OpenWrt – Diff between revs 2 and 3
?pathlinks?
Rev 2 | Rev 3 | |||
---|---|---|---|---|
Line 271... | Line 271... | |||
271 | .phy_write16 = b53_mdio_phy_write16, |
271 | .phy_write16 = b53_mdio_phy_write16, |
|
272 | }; |
272 | }; |
|
Line 273... | Line 273... | |||
273 | |
273 | |
|
274 | static int b53_phy_probe(struct phy_device *phydev) |
274 | static int b53_phy_probe(struct phy_device *phydev) |
|
275 | { |
275 | { |
|
276 | struct b53_device *dev; |
276 | struct b53_device dev; |
|
Line 277... | Line 277... | |||
277 | int ret; |
277 | int ret; |
|
278 | |
278 | |
|
279 | /* allow the generic phy driver to take over */ |
279 | /* allow the generic phy driver to take over */ |
|
Line -... | Line 280... | |||
- | 280 | if (phydev->mdio.addr != B53_PSEUDO_PHY && phydev->mdio.addr != 0) |
||
280 | if (phydev->mdio.addr != B53_PSEUDO_PHY && phydev->mdio.addr != 0) |
281 | return -ENODEV; |
|
281 | return -ENODEV; |
282 | |
|
282 | |
283 | dev.current_page = 0xff; |
|
- | 284 | dev.priv = phydev->mdio.bus; |
||
Line 283... | Line -... | |||
283 | dev = b53_switch_alloc(&phydev->mdio.dev, &b53_mdio_ops, phydev->mdio.bus); |
- | ||
284 | if (!dev) |
- | ||
285 | return -ENOMEM; |
- | ||
286 | |
- | ||
287 | dev->current_page = 0xff; |
- | ||
288 | dev->priv = phydev->mdio.bus; |
- | ||
289 | dev->ops = &b53_mdio_ops; |
285 | dev.ops = &b53_mdio_ops; |
|
290 | dev->pdata = NULL; |
286 | dev.pdata = NULL; |
|
291 | mutex_init(&dev->reg_mutex); |
287 | mutex_init(&dev.reg_mutex); |
|
Line 292... | Line 288... | |||
292 | |
288 | |
|
293 | ret = b53_switch_detect(dev); |
289 | ret = b53_switch_detect(&dev); |
|
294 | if (ret) |
290 | if (ret) |
|
295 | return ret; |
291 | return ret; |
|
Line 296... | Line 292... | |||
296 | |
292 | |
|
Line 297... | Line -... | |||
297 | if (is5325(dev) || is5365(dev)) |
- | ||
298 | phydev->supported = SUPPORTED_100baseT_Full; |
- | ||
299 | else |
- | ||
300 | phydev->supported = SUPPORTED_1000baseT_Full; |
- | ||
301 | |
- | ||
302 | phydev->advertising = phydev->supported; |
- | ||
303 | |
- | ||
304 | ret = b53_switch_register(dev); |
- | ||
305 | if (ret) { |
293 | if (is5325(&dev) || is5365(&dev)) |
|
306 | dev_err(dev->dev, "failed to register switch: %i\n", ret); |
294 | phydev->supported = SUPPORTED_100baseT_Full; |
|
Line 307... | Line 295... | |||
307 | return ret; |
295 | else |
|
308 | } |
296 | phydev->supported = SUPPORTED_1000baseT_Full; |
|
309 | |
297 | |
|
- | 298 | phydev->advertising = phydev->supported; |
||
- | 299 | |
||
- | 300 | return 0; |
||
- | 301 | } |
||
- | 302 | |
||
Line 310... | Line 303... | |||
310 | phydev->priv = dev; |
303 | static int b53_phy_config_init(struct phy_device *phydev) |
|
311 | |
304 | { |
|
312 | return 0; |
305 | struct b53_device *dev; |
|
313 | } |
306 | int ret; |
|
Line -... | Line 307... | |||
- | 307 | |
||
- | 308 | dev = b53_switch_alloc(&phydev->mdio.dev, &b53_mdio_ops, phydev->mdio.bus); |
||
- | 309 | if (!dev) |
||
- | 310 | return -ENOMEM; |
||
- | 311 | |
||
- | 312 | /* we don't use page 0xff, so force a page set */ |
||
- | 313 | dev->current_page = 0xff; |
||
- | 314 | /* force the ethX as alias */ |
||
314 | |
315 | dev->sw_dev.alias = phydev->attached_dev->name; |
|
315 | static int b53_phy_config_init(struct phy_device *phydev) |
316 | |
|
Line 316... | Line 317... | |||
316 | { |
317 | ret = b53_switch_register(dev); |
|
317 | struct b53_device *dev = phydev->priv; |
318 | if (ret) { |