Lines Matching full:mdio
3 * Lynx PCS MDIO helpers
6 #include <linux/mdio.h>
25 struct mdio_device *mdio; member
112 phylink_mii_c22_pcs_get_state(lynx->mdio, neg_mode, state); in lynx_pcs_get_state()
115 lynx_pcs_get_state_2500basex(lynx->mdio, state); in lynx_pcs_get_state()
118 lynx_pcs_get_state_usxgmii(lynx->mdio, state); in lynx_pcs_get_state()
121 phylink_mii_c45_pcs_get_state(lynx->mdio, state); in lynx_pcs_get_state()
127 dev_dbg(&lynx->mdio->dev, in lynx_pcs_get_state()
201 return lynx_pcs_config_giga(lynx->mdio, ifmode, advertising, in lynx_pcs_config()
205 dev_err(&lynx->mdio->dev, in lynx_pcs_config()
211 return lynx_pcs_config_usxgmii(lynx->mdio, advertising, in lynx_pcs_config()
227 phylink_mii_c22_pcs_an_restart(lynx->mdio); in lynx_pcs_an_restart()
314 lynx_pcs_link_up_sgmii(lynx->mdio, neg_mode, speed, duplex); in lynx_pcs_link_up()
317 lynx_pcs_link_up_2500basex(lynx->mdio, neg_mode, speed, duplex); in lynx_pcs_link_up()
346 static struct phylink_pcs *lynx_pcs_create(struct mdio_device *mdio) in lynx_pcs_create() argument
355 mdio_device_get(mdio); in lynx_pcs_create()
356 lynx->mdio = mdio; in lynx_pcs_create()
369 struct mdio_device *mdio; in lynx_pcs_create_mdiodev() local
372 mdio = mdio_device_create(bus, addr); in lynx_pcs_create_mdiodev()
373 if (IS_ERR(mdio)) in lynx_pcs_create_mdiodev()
374 return ERR_CAST(mdio); in lynx_pcs_create_mdiodev()
376 pcs = lynx_pcs_create(mdio); in lynx_pcs_create_mdiodev()
379 * successful. If lynx_create() fails, this will free the mdio in lynx_pcs_create_mdiodev()
382 * lynx_destroy() to automatically free the mdio device. in lynx_pcs_create_mdiodev()
384 mdio_device_put(mdio); in lynx_pcs_create_mdiodev()
402 struct mdio_device *mdio; in lynx_pcs_create_fwnode() local
408 mdio = fwnode_mdio_find_device(node); in lynx_pcs_create_fwnode()
409 if (!mdio) in lynx_pcs_create_fwnode()
412 pcs = lynx_pcs_create(mdio); in lynx_pcs_create_fwnode()
415 * successful. If lynx_create() fails, this will free the mdio in lynx_pcs_create_fwnode()
418 * lynx_destroy() to automatically free the mdio device. in lynx_pcs_create_fwnode()
420 mdio_device_put(mdio); in lynx_pcs_create_fwnode()
430 mdio_device_put(lynx->mdio); in lynx_pcs_destroy()